La Coctelera

Verbose mode

Categoría: Tecnología

11 Diciembre 2006

Java 6 lanzado oficialmente

Sun ha decidido lanzar oficialmente la nueva versión de Java justo hoy, el día que en el que comienza la edición de este año de Javapolis y justo el día que yo he comenzado a escribir las primeras líneas de código de un pequeño gran proyecto con Java 6. La nota de prensa de su lanzamiento se puede leer en onjava.com, pero para los que quieran saber que les espera les dejo un peuqeño resumen con algunas novedades:

  • Soporte para lenguajes de script, ahora puedes invocar tus métodos javascript desde el propio código java. Lo primero que probé y de lo mejorcito.
  • Soporte nativo de xml. Mapear archivos xml con anotations es los más intuitivo que he visto nunca.
  • Soporte nativo de web services, muy facil partiendo del punto anterior.
  • Acceso al API del compilador, ¡ahora puedes compilar clases desde tu propío código!
  • JDBC 4, por si alguien aun no usa algún ORM.
  • Y muchas otras mejoras en anotations, networking, swing...

Pero si hay algo que realmente me ha llamado la atención y siempre echaba de menos es ¡un método para recorrer los Collections al reves! ya era hora XD.

Tags: java 6

servido por verbosemode sin comentarios compártelo

22 Septiembre 2006

De XML a objetos Ruby con ROXML

ROXML es una librería que nos permite transformar documentos xml a objetos usando anotaciones. El uso de documentos xml se hace mucho más transparente y se agiliza el desarrollo de aplicaciones RESTful.

Lo primero que hay que hacer es instalar la librería. Para esto ejecutamos:

Para ver como usar la librería veamos un ejemplo paso a paso.

Supongamos que queremos invocar un servicio web que nos devuelve el siguiente documento xml:


<response>

<query></query>

<results>

<result id="1">

<description><![CDATA[The description!]]></description>

<url></url>

<date></date>

</result>

<result id="2">

<description><![CDATA[Other description!]]></description>

<url></url>

<date></date>

</result>

</results>

</response>

Se podría recorrer todo el documento usando ReXML e ir creando los objectos pero veamos como se simplifica con ROXML.

Primero crearemos la clase Result, que será la encargada de mapear los elementos result que incluya el documento. Cada elemento de texto que queramos incluir dentro de la clase result lo indicaremos con la etiqueta xml_text y cada atributo del elemento lo indicaremos con la etiqueta xml_attribute. Para indicar que un texto incluye la etiqueta CDATA lo declararemos con ROXML::TAG_CDATA.

Vemos como queda ahora el códico de la clase Result:


class Result

include ROXML

xml_attribute :id

xml_text :description ROXML::TAG_CDATA

xml_text :url

xml_text :date

end

La creación de la clase Response es prácticamente identica salvo que tendremos que declarar la lista de elementos result creando un xml_object con la etiqueta ROXML::TAG_ARRAY. Con lo que la clase Response de nuestro ejemplo quedaría como se ve a continuación:


class Response

include ROXML

xml_text :query

xml_object :results, Result, ROXML::TAG_ARRAY, "results"

end

Una vez que ya tenemos la estructura de clases que van a almacenar nuestro documento veamos como quedaría el método que llama al servicio web y nos devuelve un objecto Response con los datos del documento:


 def invoke_service
 #Creamos la conexión con el servicio

Net::HTTP.start('web_service_url', 80) do |http|

service_response = @connection.get('search_url', 'Accept' => 'text/xml')

#Creamos un documento xml con la respuesta del servicio

document = Document.new service_response.body

#Parseamos el documento con nuestra clase Resonse

@response = Response.parse document.root

end

end

Como se puede ver, gracias a ROXML podemos transformar todo un documento xml con el método parse. Más facil imposible.

Tags: tutorial, rails, roxml

servido por verbosemode sin comentarios compártelo

1 Septiembre 2006

Microsoft vuelve a la carga con su DRM

Vaya notición me encuentro esta maána en The Register. Palabras textuales de Marcus Matthias, jefe de producto de la división de cliente de Windows:

"Microsoft is aware that a tool recently surfaced that circumvents Windows Media Digital Rights Management technology. Fortunately, the Windows Media DRM system has built-in renewability, we have an update to address the circumvention, and are working with our partners to deploy this solution"


Tras leer el resto del artículo, abro mi correo y ahi está "Windows Media License Agreements" con esa fantástica solución:

"On August 25th, 2006, Engadget.com reported on a software tool that would allow consumers to decrypt WMDRM protected content. In response, on August 28, 2006, Microsoft released an update to the individualized blackbox component (IBX) designed to ensure that client applications using the Windows Media Format SDK version 9.5 who individualize to this latest version are robust against a new circumvention tool."

...

"Consequently, the only way to determine if the update is installed is to query the build number of the IBX. This requires code executing on the client."

...


¡¡Que guay, Microsoft me acaba de dar permiso para que ejecute mi própio código en todos los Windows de mundo!!

Para colmo, me adjuntan un archivo ".doc" con ocho folios de código en Visual Basic Script (no se para que tienen C# si ni ellos lo usan) explicandome con detalle cómo controlar a los usuarios para que se descarguen la mierda de actualización o se queden sin su música.

Tags: drm

servido por verbosemode sin comentarios compártelo

30 Agosto 2006

web2logo

Web2logo es un frontend muy curioso para web2list. Puedes ver los logos de las compañías Web 2.0 más relevantes. Cada logo enlaza con la información de dicha compañía que web2list mantiene.

Dentro de poco seguro que sale tractis en portada XD.


Via: Micropersuasion

Tags: web 2 0

servido por verbosemode sin comentarios compártelo

29 Agosto 2006

Cheatsheets

Ahora que están de moda los cheatsheets creo que me voy a hacer un poster con los que uso normalmente para tenerlo bien a la vista. Aqui van algunos de mi colección:

Y si estas no son suficientes siempre se puede buscar en del.icio.us.


Actualización:Buff!! esta me acaba de salvar la vida:

Apache mod_rewrite cheatsheet

servido por verbosemode sin comentarios compártelo

29 Agosto 2006

Uso justo para windows media

Ya han pasado cuatro días desde que Engadget confirmara que un nuevo "super programa", llamado FairUse4WM, venía a salvar el mundo para permitirnos eliminar la protección DRM de los archivos de Windows Media. Pero a pesar de eso todavía me encuentro blogs donde lo postean como si fuera la gran derrota de Microsoft.

Por suerte o por desgracia, me ha tocado pelearme con el sistema de gestión de "derechos" digitales de Microsoft durante los ultimos meses, para integrarlo en un proyecto. Digo pelearme por no decir sufrirlo porque la documentación se limita al archivo de ayuda con el que viene el SDK, y no busques por internet porque ni el "dios" google encuentra algo util, los ejemplos está hechos con Visual Basic Script, que no se quien lo usa o ha usado alguna vez, ¡y porque nunca me han gustado los sistemas que restringen la libertad de usuario!

Por una parte me entristece pensar que mi esfuerzo ha servido para poco o nada, pero creo que mi parte más activista vence y me alegra pensar que los pobres usuarios que se gasten dinero por comprar música en una tienda online podrán disfurtar de ella sin restricciones impuestas por gente que sólo quiere llenarse los bolsillos. Aunque me pongo a pensar y no entiendo por qué hay gente que sigue pagando por descargarse música con restricciones cuando, como dice Enrique Dans, ¡la música es gratis!

Tags: fairuse4wm, drm

servido por verbosemode sin comentarios compártelo


Sobre mí

David Calavera, programador oscense en el exilio madrileño, intentando hablar sobre tecnología, programación, java, rails o lo que vaya surgiendo.

Fotos

verbosemode todavía no ha subido ninguna foto.

¡Anímale a hacerlo!

Buscar

suscríbete

Selecciona el agregador que utilices para suscribirte a este blog (también puedes obtener la URL de los feeds):

¿Qué es esto?

Crea tu blog gratis en La Coctelera