Seleccionados para el Seedrocket Madrid Stage

Jueves, 5 de noviembre de 2009 chechu Sin comentarios

El título del post lo dice todo: Thuest es uno de los 16 proyectos seleccionados para participar en la primera edición del Seedrocket Madrid Stage. El premio es poder asistir a diversas ponencias durante 3 días, recibir consejos de los mentores y la posibilidad de presentar el proyecto ante inversores.

Además asistiré a las sesiones magistrales impartidas después de las ponencias, donde algunos emprendedores de Internet con éxito nos hablarán de temas cruciales.

El programa completo ya es público y reconozco que en principio me gusta y me ilusiona (sí, así de bobo soy). Pase lo que pase, eso que me llevo. La semana que viene os contaré como ha ido.

Categories: Thuest Tags:

Lanzado Thuest 0.4

Miércoles, 4 de noviembre de 2009 chechu Sin comentarios

Intentando cumplir con el compromiso adquirido aquí está la nueva versión de Thuest. La verdad es que estas dos semanas no han sido tan productivas como las anteriores, pero las circunstancias no han permitido otra cosa.

Los cambios en esta versión se limitan a pequeñas correciones internas, que afectan mínimamente al usuario final. Las nuevas características que tenía planeadas para esta versión las trasladaré a la siguiente y asunto resuelto. La ventaja de crear tu propio producto :-)

Ya estoy trabajando en un par de ideas que van a mejorar mucho la funcionalidad de la aplicación, espera un par de semanas y verás como la versión 0.5 sí que vale la pena.

Categories: Thuest Tags:

Ejecutar un subconjunto de pruebas en Grails

Lunes, 19 de octubre de 2009 chechu Sin comentarios

El comando para ejecutar las pruebas en Grails es el siguiente:

>$ grails test-app

Con este comando ejecutamos todas las pruebas que tengamos definidas, las unitarias y las de integración. Cuando estás codificando las pruebas unitarias y quieres lanzarlas poco a poco resulta molesto tener que esperar a que arranque todo el framework y que se ejecuten también las pruebas de integración.

Si quieres ejecutar sólo las pruebas unitarias ejecuta el siguiente comando:

>$ grails test-app -unit

Para ejecutar sólo las pruebas de integración:

>$ grails test-app -integration

Y en cualquier caso, si quieres filtrar para ejecutar sólo las pruebas que has definido en un fichero, añade el nombre de dicho fichero al final de la línea de comandos (sin el sufijo “Tests“):

1
2
3
>$ grails test-app -integration MisPruebas
>$ grails test-app -unit MisPruebas
>$ grails test-app MisPruebas

El comando de la línea 1 ejecutaría las pruebas de integración definidas en el fichero MisPruebasTests.groovy. El comando de la línea 2 ejecutaría las pruebas unitarias definidas en el fichero MisPruebasTests.groovy, y el tercer comando ejecutaría todas las pruebas que hallara en un fichero con nombre MisPruebasTests.groovy. Recuerda que grails distingue entre las pruebas unitarias y las de integración en función de la carpeta en la que estén colocados los ficheros de prueba: test/unit para las primeras y test/integration para las segundas.

Categories: Grails Tags:

Lanzado Thuest 0.3

Sábado, 17 de octubre de 2009 chechu Sin comentarios

Release early, release often. Aunque por ahora mi desarrollo no tiene mucho que ver con el que comenzó Linus en su momento, creo que sacar nuevas versiones cada poco tiempo es beneficioso. Me he marcado un ritmo de 2 semanas por versión y lo estoy siguiendo bastante bien. Hoy he desplegado Thuest 0.3, respetando los (pocos) datos de usuarios que tenía de la versión anterior.

Además de seguir corrigiendo errores que detecto constatemente, las principales novedades de esta versión son:

  • Posibilidad de mostrar todos los checkpoints de un quest desde el comienzo, nada de tener que superarlos secuencialmente.
  • Tags para los quests.
  • Mayor integración con twitter.
  • Más facilidad para añadir quests a grupos de quests y a la listas de objetivos de los clanes.
  • Exportación en CSV de datos estadísticos de los quests.

Continúa leyendo el post para ver los detalles de cada punto.

Leer más…

Categories: Thuest Tags:

Probando URL Mappings en Grails

Miércoles, 14 de octubre de 2009 chechu Sin comentarios

Llegó el momento de las pruebas, no se pueden posponer más. En Grails existía un plugin que facilitaba mucho esto de las pruebas unitarias y de integración. Facilitaba tanto la labor que a partir de la versión 1.1 decicieron integrarlo en la rama principal de Grails. Y yo que me alegro porque merece la pena.

Son muchas las cosas que podemos probar y Grails nos ayuda en muchos temas específicos proporcionándonos clases de las que extender para desarrollar nuestros tests. Tendremos que dejar nuestras pruebas en los directorios test/integration o test/unit, siguiendo la jerarquía de paquetes de los elementos a probar y heredando de determinadas clases en función de lo que estemos probando:

Para lanzar las pruebas deberemos ejecutar la siguiente orden desde la línea de comandos:

$> grails test-app

En futuros posts iré hablando del resto de pruebas, pero ahora me centraré en las relacionadas con los mapeos de URL’s.

Leer más…

Categories: Grails Tags:

Groovy Vs. Prolog Vs. Python

Domingo, 11 de octubre de 2009 chechu 5 comentarios

Esto no va a ser una comparativa exhaustiva entre Groovy, Prolog y Python, simplemente unos snippets que intercambiamos mi colega fortran y yo hace un tiempo.

Contextualizemos: yo no sé Python, él no sabe Groovy, y probablemente el conocimiento que tiene él sobre Python es mayor que el que tengo yo sobre Groovy. Lo de Prolog tiene que ver con la universidad, el ansia por terminar prácticas y espinitas clavadas :-) . Lo cierto es que hoy por hoy él controla mucho más que yo en programación lógica.

Quizás a alguien le resulte interesante, y en cualquier caso servirá en el futuro para recordar lo que éramos capaces de hacer (en ocasiones las mierdas del pasaso parecen ahora inalcanzables, no me lo negarás).

Leer más…

Categories: Desarrollo, Groovy Tags:

Lanzado Thuest 0.2

Miércoles, 30 de septiembre de 2009 chechu Sin comentarios

Después de tres semanas desde la anterior versión, he desplegado Thuest 0.2. Los objetivos fundamentales eran corregir errores y dotarle de alguna funcionalidad nueva que hicera más atractivo el proyecto.

  • Más tipos de respuestas
  • Conexión con twitter
  • Ranking de jugadores en cada quest
  • Nuevo criterio de búsqueda de quests: recompensas
  • Búsquedas de usuarios
  • Búsquedas en los foros

Continúa leyendo el post para ver los detalles de cada punto.

Leer más…

Categories: Funcionalidad, Thuest Tags:

Plan de despliegue para thuest 0.2

Miércoles, 30 de septiembre de 2009 chechu 2 comentarios

En la versión 0.2 de thuest se han introducido algunos cambios que han complicado un poco el despliegue. Recordemos que contamos con un servidor glassfish con un clúster que tiene asociada una instancia, sólo tenemos una máquina :-)

Los cambios en la nueva versión a los que me refería son básicamente la actualización a Grail 1.2-M2, con su nueva gestión de dependencias transitivas con ivy (que te trae más mierda de la que necesitas) y el uso de JMS mediante el plugin de grails.

Leer más…

Categories: Thuest Tags:

Grails + JMS + Clustering en glassfish

Miércoles, 30 de septiembre de 2009 chechu Sin comentarios

Este post es una continuación de Grails + JMS + Email, donde se explicaba cómo configurar Grails 1.0.4 para que se enviaran emails mediante JMS. Una vez actualizado a Grails 1.2-M2 algunas de las cosas que comenté en su momento dejan de ser válidas.

Además se repasan los pasos básicos para definir un clúster en glassfish y se dan algunos consejos sobre aspectos a tener en cuenta y que pueden provocar errores dificilmente detectables.

Leer más…

Categories: Desarrollo Tags:

Grails + JMS + Email

Miércoles, 26 de agosto de 2009 chechu Sin comentarios

La situación es la siguiente: un usuario origina la ejecución de una acción en el servidor, la cual debe realizar una o varias tareas que pueden requerir una gran cantidad de tiempo y cuyo estado final no influye en la respuesta que se envíe al usuario. Nuestro caso concreto: envío de emails como consecuencia de una acción solicitada por un usuario.

En Thuest esta situación se repite bastantes veces. Por ejemplo, cuando un usuario se hace fan de otro se le envía un correo a este último informando. Un primer desarrollo de la acción convertirseEnFan podría ser:

1º Recuperar de la BBDD el nuevo ídolo
2º Crear y guardar una nueva instancia Fan, que relacione al usuario de sesión y al ídolo recuperado
3º Mandar un email al ídolo
4º Renderizar la respuesta al usuario

El paso que nos interesa es el tercero. Si ese envío se realiza de forma síncrona la acción completa sufrirá una penalización bastante grande respecto al tiempo necesario. La comunicación con el servidor SMTP puede retrasarse y si a esto le sumamos que podemos tener acciones que conlleven el envío de muchos emails, realizar esta operación de forma asíncrona resulta muy interesante.

Podríamos tirar por el camio de en medio y crearnos threads para que hicieran el trabajo, incluso podríamos usar un pool de threads si queremos ser más elegantes. Pero en Java tenemos JMS, que a mi es lo primero que se me viene a la cabeza en estos casos. Además, una vez configurado JMS verás como se te ocurren muchas aplicaciones (el tema los topics da mucho juego y puedes montar un sistema de notificaciones bastante chulo).

Leer más…

Categories: Desarrollo Tags: