yaml, una alternativa para XML

yaml es un lenguaje de serialización de datos, una alternativa al lenguaje de marcado XML. Es muy interesante, y es muy útil usarlo por que es más legible para el ojo humano que un archivo XML. Está enfocado a la simplicidad. Vamos a ver un ejemplo tomado de la realidad, así es como luciría un archivo de mapeo de NHibernate si fuera escrito en yaml:

Si usas NHiberante, debes darte cuenta que esto es mucho más fácil de leer. Como se puede apreciar la delimitación es hecha por identación. Si conoces lenguajes como Python esto te resultará muy familiar. Por supuesto, esto no está soportado en NHibernate, pero quien sabe, quizás alguien quiere donar algunas horas al OSS y hacerlo ;)

Quizás una notoria desventaja es que yaml no posee esquema (schema). Y podés darte cuenta de las características que nos estamos perdiendo por esto, la más importante: validación de un documento yaml.

En .Net-landia no es tan popular, de hecho no lo es, pero en lenguajes como Python, Php, Perl, C++ se usa mucho. En el nuevo bebé de Google: Google App Engine, el cual tiene como lenguaje principal a Python (actualmente es el único lenguaje que soporta), usa yaml para los archivos de configuración.

XUnit 1.0 - Usando ReSharper como Runner

Hoy me enteré de este lanzamiento que de manera particular lo estaba esperando. Hace un tiempo atrás cuando este proyecto estaba en pañales, estuvimos hablando un poco sobre él.

Recordemos que existen muchos frameworks para realizar Unit Testing, y XUnit es un proyecto particular, tiene diferencias bien marcadas con respecto a otros frameworks como por ejemplo NUnit. Si bien el creador de XUnit es el mismo que creó NUnit, la principal idea de la creación de otro framework de testeo fue alejarse de algunos aspectos intrínsecos que NUnit los tenía fuertemente heredados de su fuente de inspiración JUnit.


Descargar XUnit 1.0

Para correr los tests podemos utilizar diferentes runners:

  • xunit.console (se distribuye con los binarios de XUnit)
  • xunit.gui (se distribuye con los binarios de XUnit)
  • TestDriven (se integra con Visual Studio)
  • Resharper 3.1 (se integra con Visual Studio)

Aquí tienen una captura para que vean en acción a XUnit corriendo desde ReSharper:

NHibernate.Burrow 1.0 alpha1 liberado !

Me pone contento anunciar esta noticia. Si, NHibernate Burrow está listo para descargar aquí, pruebalo, necesitamos feedback.

Pero, que es NHibernate Burrow ?

NHibernate.Burrow is a light weight middleware developed to support .Net applications using NHibernate as ORM framework by providing advanced and smart session/transaction management and other facilitates.

Kailuo Wang, líder de NHibernate.Burrow, estuvo trabajando duramente en este proyecto que finalmente sale a la luz (y de hecho lo sigue haciendo). También obtuvo ayuda de Nelo Pauselli, y Fabio Maulo (cualquier parecido con la gente de NHibernate-Hispano es pura coincidencia :D). El anuncio oficial se hizo aquí.

Kailuo, es un buen programador, por suerte hace buenas wikies también :) Podemos encontrar documentación acerca de Burrow aquí.

Si alguna vez necesitaste usar NHibernate en Aplicaciones Web, Burrow puede ser una opción a tener en cuenta. También entonces recordarás este articulo por demás ponderado en Code Project. Este articulo habla sobre buenas practicas de NHibernate, inclusive en un entorno web. Por suerte los ejemplos de Burrow están basados en este articulo. Estos ejemplos pueden ser encontrados en el SVN de NHibernate.Contrib aquí.

NHibernate 2.0 Offers Many New Features

Hoy en la lista de NHibernate Hispano, Rodrigo Juarez nos envía el siguiente enlace. 

Un articulo que sacó InfoQ que habla sobre las nuevas bondades de NHibernate 2.0 y es interesante para enterarnos de que está pasando en el desarrollo de NHibernate, y que se vendrá. Habla un poco sobre algunos proyectos de NHibernate.Contrib como Search, Shards, Validators. También nombra a nuestro humilde uNHAddins (vease NHibernate AddIns) y sobre algunos experimentos que hicimos ahí.

Articulo en InfoQ