Secciones

@Internet

Algo sobre mi

Bienvenido a frangarcia.net. Mi nombre es Fran García y soy un Ingeniero en Informática por la Universidad de Alicante que actualmente trabaja como Director de Ingeniería en Cheetah Digital. En esta web encontrarás sobre todo noticias relacionadas con las nuevas tecnologías, Internet, programación y de vez en cuando soltaré algo sobre mi vida privada, aunque no esperes que esto sea un blog demasiado íntimo.
Espero que lo que veas y leas aquí, sea de tu interés.

Templates en Grails

2 July 2010, 11:15
¿Has modificado alguna vez las plantillas de Grails?


Una de las cosas que más me gustan en Grails es que, a partir de un esquema de clases de dominios, con un simple comando sea capaz de generar una aplicación completa. Pero, ¿cómo hace esto Grails?

Si nos movemos un poco por el núcleo de Grails encontraremos el directorio $GRAILS_HOME/src/grails/templates/scaffolding, en el que veremos una serie de archivos que son:

  • Controller.groovy
  • create.gsp
  • edit.gsp
  • list.gsp
  • renderEditor.template
  • show.gsp

Si echamos un vistazo rápido a estos archivos, nos daremos cuenta de que esas son las plantillas que Grails utiliza cuando hacemos un grails generate-all. Pero, ¿qué pasa si estas plantillas no nos gustan y queremos modificarlas?

Podemos optar por dos opciones. La primera de ellas supone modificar directamente y con mucho cuidado los archivos del directorio $GRAILS_HOME/src/grails/templates/scaffolding para que queden a nuestro gusto y con las necesidad de la aplicación a desarrollar. Sin embargo, esta opción tiene dos inconvenientes. El primero de ellos es que todas las aplicaciones generadas automáticamente con el scaffolding de Grails tendrán la misma apariencia, lo cual es muy probable que no queramos. Y el segundo inconveniente es que si actualizamos la versión de Grails, esas plantillas modificadas se perderán y tendremos que copiarlas de nuevo al núcleo de Grails.

La segunda opción pasa por utilizar esas mismas plantillas del núcleo de Grails pero que pasen a formar parte de la propia aplicación desarrollada. En Grails tenemos el comando grails install-templates que lo que hace básicamente es copiar esas plantillas del núcleo de Grails a un directorio propio del proyecto, en este caso $GRAILS_PROJECT/src/templates/scaffolding. Una vez estén las plantillas en ese directorio, ya podremos modificarlas a nuestro gusto. De esta forma, cuando ejecutemos un grails generate-all y Grails detecte que en ese directorio hay unas plantillas, utilizará éstas en lugar de las existentes en el núcleo de Grails.


Menea esta noticia Busca en Technorati enlaces a esta nota Diggea esta noticia Añádeme a tu del.icio.us

¿Qué está detrás de ManagerT1?

22 June 2010, 13:53
¿Tienes alojada alguna aplicación en Stax?


Cuando empecé a desarrollar ManagerT1 una de las preguntas que me hacía era, ¿dónde lo voy a alojar? La idea era muy clara. Debía ser muy económico, cuando no gratuito, así que lancé una pregunta en twitter pidiendo ayuda sobre donde alojar mi aplicación desarrollada en Grails y gracias a Rafa Alemán, que al instante me recomendó una serie de sitios para alojar la aplicación, empecé a utilizar Stax.

Stax es un claro ejemplo de lo que ahora se llama Cloud Computing y que la verdad, aunque no sea muy modesto por mi parte, llevo más de 10 años haciendo desde que empecé a trabajar.

Stax es muy sencillo y rápido de utilizar. Simplemente debes bajar y configurar su SDK propio y a partir de ahí, empezar a desplegar los archivos war de tu aplicación desde la línea de comandos. Además, desde la propia consola de Stax podemos administrar tanto la base de datos asociada a la aplicación como la propia aplicación desplegada.

En definitiva, un buen servicio disponible para todos aquellos que empiezan con Grails y no quieren gastar mucho dinero en un hosting.


Menea esta noticia Busca en Technorati enlaces a esta nota Diggea esta noticia Añádeme a tu del.icio.us

3ª edición del curso Groovy&Grails: desarrollo rápido de aplicaciones

16 June 2010, 21:55
Espero tus comentarios...


La 3ª edición del curso Groovy&Grails: desarrollo rápido de aplicaciones se celebrará del 1 al 10 de Septiembre en la Escuela Politécnica Superior de la Universidad de Alicante con una duración de 30 horas lectivas convalidables por 3 créditos de libre elección o por 30 horas por el ICE.

Groovy&Grails Septiembre 2010 El curso empieza el miércoles 1 de Septiembre y termina el viernes 10 de Septiembre con un horario de 16:00h a 20:30h. Cada sesión tiene una duración de 2 horas y habrá un descanso de 30 minutos entre sesiones. En esta nueva edición utilizaremos la última versión de Groovy así como la última versión estable de Grails.

En las 4 primeras sesiones hablaremos sobre Groovy para pasar a hablar de Grails que serán las 11 sesiones restantes. La última sesión del curso es eminentemente práctica y se realizará el desarrollo completo de una aplicación completa. Esta aplicación será una mini-copia de Twitter.

El coste del curso es de 120€ y si tenéis cualquier tipo de duda con respecto al mismo, no tenéis más que contactar conmigo directamente a mi email fgarciarico@gmail.com. El plazo de inscripción ya está abierto y simplemente debes enviar un email a Domingo Gallardo con tu nombre, apellidos, DNI, teléfono de contacto y e-mail de contacto. También puedes hacerlo llamando al teléfono 965903900 o bien acudiendo directamente a la secretaría del Departamento de Ciencia de la Computación e Inteligencia Artificial.


Menea esta noticia Busca en Technorati enlaces a esta nota Diggea esta noticia Añádeme a tu del.icio.us

Las interioridades del ManagerT1

3 June 2010, 17:17
¿Alguna sugerencia para ManagerT1?


En el anterior post os comentaba que acababa de publicar una nueva aplicación desarrollada íntegramente en Grails llamada ManagerT1. La aplicación une en un mismo sitio la afición por la Fórmula 1, Twitter y las apuestas, ya que permite enviar tus predicciones sobre el resultado del próximo Gran Premio de Fórmula mediante un mensaje de Twitter.

En esta entrada os voy a comentar como está hecha la aplicación, aunque por el momento no voy a dejar el código de la misma, no sea que alguien esté pensando en comprármela y vaya yo y se la regale.

La aplicación está desarrollada utilizando la última versión de Grails, la 1.3.1 y por un lado tenemos la parte pública, que es la que todos podéis ver y por otro un backend donde puedo controlar toda la información necesaria en la misma.

El desarrollo del backend ha sido íntegramente desarrollado utilizando el scaffolding estático que me permite Grails, no sin antes modificar las plantillas de Grails para que me generará unas plantillas tal y como yo quería.

La aplicación tiene 7 clases de dominio que son:

  1. User: que se encarga de almacenar la información de los usuarios registrados de la aplicación. Por el momento esta clase de dominio se encarga de gestionar el único usuario administrador de la aplicación, que soy yo.
  2. GrandPrix: que almacena la información de los grandes premios de esta temporada
  3. Pilot: con la información de todos los pilotos de todas las escuderías
  4. PilotName: que se encarga de relacionar posibles nombres de los pilotos en los tweets enviados con los pilotos oficiales. Por ejemplo, si alguien envia alonzo en su tweet, el sistema sabrá que alonzo se refiere al piloto Fernando Alonso.
  5. GrandPrixResult: una clase de dominio encargada de gestionar la información del podium de cada uno de los grandes premios
  6. ForecastGrandPrix: cada una de las predicciones enviadas por los usuarios de twitter será gestionar mediante esta clase de dominio
  7. GeneralClassification: que contendrá la puntuación de todos los usuarios que han participado en el ManagerT1

En cuanto a los controladores, cada una de las clases de dominio anteriormente comentadas tiene su propio controlador, a los cuales hay que añadir uno nuevo que encarga de gestionar la aplicación en la parte pública, al cual he llamado PublicController.

Para facilitar la labor del diseñador, que por el momento he sido yo mismo cogiendo una plantilla de Template World (aunque animo a que si alguien me quiere echar una mano con el diseño me escriba un mail a fgarciarico@gmail.com), he creado también una librería de etiquetas que se utilizan en la parte pública. En esta librería aparecen etiquetas para mostrar por pantalla la clasificación general, el último gran premio disputado o bien el próximo gran premio a disputar. Todo ello para facilitar la labor del diseñador que simplemente tendrá que invocar a una etiqueta tipo HTML sin preocuparse de lo que viene detrás.

En cuanto a los plugins instalados y necesarios para la aplicación están:

  1. hibernate: por defecto instalado por Grails
  2. jquery: lo he utilizado muy poco aunque espero hacer más cosas con él
  3. quartz: lo necesito para realizar tareas periódicas, como son la lectura de las tweets enviados a @managert1
  4. rest: necesario para leer el RSS con los tweets donde aparece una mención a @managert1
  5. social-bookmarks: para facilitar a los usuarios el uso de los favoritos en cualquiera de los servicios conocidos
  6. tomcat: para desarrollar la aplicación he trabajado con tomcat en local

Por último, comentar que los servicios de la aplicación simplemente se basan la lectura de los tweets que nombran a @managert1 para analizarlos y añadir la predicción en caso de que tengan el formato adecuado y también he utilizado un servicio para cada vez que se añada un resultado de un gran premio, se calcule la clasificación general.

Esto es el resumen de como está hecha la aplicación ManagerT1. La verdad es que la aplicación es muy sencilla y no se tardaría más de 15 horas desarrollarla desde cero teniendo claro desde el primer momento la estructura de la misma. Quizás lo más complicado de la misma ha estado en la lectura del RSS que me permite saber quien ha nombrado en la Twittersfera al usuario @managert1, pero solventado esto la aplicación no tiene grandes complicaciones.

¿Me echas una mano?


Menea esta noticia Busca en Technorati enlaces a esta nota Diggea esta noticia Añádeme a tu del.icio.us

ManagerT1, Fórmula 1, Twitter y apuestas

28 May 2010, 11:11
Espero tus comentarios... [1]


Durante esta semana he publicado una aplicación desarrollada íntegramente en Grails que me ha servido para seguir disfrutando de lo sencillo, rápido y organizado que es desarrollar aplicaciones con Grails.

La aplicación en cuestión se llama ManagerT1 y trata de unir en una única web la Fórmula 1, Twitter y las apuestas. ManagerT1 es un juego que consiste en que los usuarios que tengan cuentas en Twitter puedan escribir tweets con un formato determinado indicando cual creen que será el podium en el próximo Gran Premio de Fórmula 1 a disputar.

Si por ejemplo crees que en el próximo Gran Premio, Fernando Alonso terminará ganando, seguido de Pedro de la Rosa y como tercero Jaime Alguersuari debes escribir un tweet a través de tu cuenta en Twitter con el siguiente texto:

@managert1 alonso delarosa alguersuari

Muy sencillo, ¿verdad? No tienes que hacerte seguidor de @managert1, ni escribirle un mensaje directo y ni tan siquiera registrarte en la propia web. Simplemente utiliza tu cuenta en Twitter para convertirte en el mejor manager de la Fórmula 1 en Twitter.

ManagerT1

En el próximo post, hablaré sobre como está desarrollada la aplicación contando todos los entresijos de la misma y el tiempo que me ha llevado desarrollarla, que ya os adelanto que ha sido muy poco.


Menea esta noticia Busca en Technorati enlaces a esta nota Diggea esta noticia Añádeme a tu del.icio.us

Cambiar el idioma por defecto en una aplicación en Grails

12 May 2010, 13:48
¿Conoces otra forma de cambiar el idioma por defecto de una aplicación en Grails? [2]


En los últimos días he estado buscando información sobre como cambiar el idioma por defecto de una aplicación en Grails y como no he encontrado demasiado y la que hay, la he visto un tanto enrevesado, me he decidido a escribir este artículo.

Como ya sabéis, cuando creamos una aplicación en Grails, por defecto se crean una serie de archivos de propiedades en el directorio grails-app/i18n. Pues bien, por defecto, nuestra aplicación cogerá aquel idioma que tengamos configurado por defecto en nuestro navegador como idioma preferido.

Si queremos modificar este comportamiento que hace que dependa de nuestro navegador el idioma en el que vemos la aplicación, debemos configurar el archivo grails-app/conf/spring/resources.groovy para establecer el idioma y el país en el que queremos ver nuestra aplicación. El siguiente código dejaría nuestra aplicación lista para ser vista por defecto en español.

Groovy:
// Place your Spring DSL code here
"es","ES"

Pero, ¿qué pasa si nuestra aplicación está en varios idiomas y queremos que sea el propio usuario quien tenga la posibilidad de cambiar de idioma?

Aquí supongo que habrán muchas posibles soluciones, pero una posible implementación de la misma podría ser crear un método en un controlador que se encargue de cambiar este idioma por defecto. Para hacer esto, en primer lugar debemos mostrarle al usuario un par de enlaces para que sea capaz de seleccionar en que idioma accede a la aplicación.

HTML:
<g:link controller="public" action="changeLocale" params="[lang:'es', country:'ES']">Español</g:link>
<g:link controller="public" action="changeLocale" params="[lang:'en', country:'US']">English</g:link>
 

Con estos enlaces, necesitaría una controlador de la clase Public y un método en él llamado changeLocale() que se encargue de la gestión del idioma por defecto de nuestra aplicación.

Groovy:
span style="color: #ff0000;">"/")
    }

}
 

Con esto ya tendríamos nuestra aplicación accesible en varios idiomas.

Actualización: si seguimos los pasos indicados en el artículo, se modificará el lenguaje por defecto de la JVM de nuestro servidor. Si simplemente queremos modificar el lenguaje de la aplicación en cuestión, debemos hacer uso de la explicación existente en la documentación oficial de Grails y que consiste en pasar el parámetro lang a través de la url indicando queremos seleccionar en cada momento.

La confusión venía, porque al intentar poner la aplicación en inglés utilizando el parámetro lang=en, la aplicación quedaba en el idioma anterior y no se modificaba el idioma. Esto es debido a que los ficheros de propiedades se llaman de la siguiente forma: – message.properties: para el inglés – message_es.properties: para el español
_ message_de.properties: para el alemán

Esto provoca que si queremos poner la aplicación en inglés, o bien modificamos el nombre de message.properties por message_en.properties y le pasamos el parámetro lang=en o bien dejamos el archivo message.properties sin modificar y le pasamos el parámetro lang vacio con lang=


Menea esta noticia Busca en Technorati enlaces a esta nota Diggea esta noticia Añádeme a tu del.icio.us

Presentación de la III Conferencia ADWA sobre Groovy&Grails

22 January 2010, 09:46
¿Te ha gustado la presentación? [8]


Ayer tarde impartí en la fnac de Alicante una charla sobre Groovy&Grails y aquí os dejo la presentación que utilicé.

La verdad es que me esperaba algo más de gente y quizás el sitio no acompañaba demasiado (la cafetería de la fnac) con demasiado ruido de fondo y gente que pasaba y se me quedaba mirando como diciendo, “¿de qué diablos está hablando?”, pero al menos creo que la gente que estuvo allí, se fue con una idea clara de lo que es Groovy&Grails.

Ahora lo próximo, el curso de Groovy&Grails que empieza el 5 de febrero, al cual os animo a asistir si estáis interesado en conocer los beneficios de este entorno de trabajo.


Menea esta noticia Busca en Technorati enlaces a esta nota Diggea esta noticia Añádeme a tu del.icio.us

III Conferencia ADWA sobre Groovy&Grails

21 December 2009, 21:15
Espero tus comentarios... [3]


El próximo jueves 21 de Enero se celebrará la III Conferencia organizada por la Asociación de Desarrolladores Web de Alicante y que en este caso tratará sobre el desarrollo rápido de aplicaciones con Groovy&Grails y que además, la impartiré yo mismo.

La conferencia tendrá lugar a partir de las 19:00h en la fnac de Alicante y en ella trataré de resumir durante una hora y media los aspectos más relevantes tanto del lenguaje de programación Groovy como del framework de desarrollo Grails.

La asistencia es gratuita pero podéis inscribiros en el evento publicado en la red social Facebook.

Groovy&Grails ADWA


Menea esta noticia Busca en Technorati enlaces a esta nota Diggea esta noticia Añádeme a tu del.icio.us

Segunda edición del curso Groovy&Grails:desarrollo rápido de aplicaciones

18 December 2009, 11:01
Espero tus comentarios... [1]


Acaba de ser aprobado por el CECLEC de la Universidad de Alicante la segunda edición del curso Groovy&Grails:desarrollo rápido de aplicaciones que impartiré yo mismo en las instalaciones de la Escuela Politécnica Superior de Alicante entre los próximos 5 y 27 de febrero en un aula todavía por determinar.

El curso tendrá una duración de 30 horas lectivas repartidas en 15 sesiones de dos horas cada una de ellas y se impartirá durante todo el mes de febrero con el siguiente horario:

  • Viernes de 16:00h a 20:30h
  • Sábados de 9:00h a 13:30h

El curso tiene un coste de 120€ y desde ya mismo se puede realizar la matrícula desde la secretaría del Departamento de Ciencia de la Computación e Inteligencia Artificial en horario de 9:00 a 14:00, así como llamando por teléfono (965903900), o bien por e-mail.

La aprobación por parte del CECLEC supone también el reconocimiento del curso con 3 créditos de libre elección, así que si estás interesado, no tardes en tramitar la matrícula, puesto que el año pasado las plazas volaron literalmente.

Curso Groovy&Grails: desarrollo rápido de aplicaciones

Artículos relacionados
Signing instagram request
Testing your REST API endpoints with Groovy and Spock
Presentación sobre Spock
Algo de metaprogramación en tus proyectos Groovy
Zipping using password protection with Groovy
Almacenando y sobreescribiendo métodos en Groovy con metaprogramación
Testeando condiciones asíncronas con Spock
Actualizando aplicaciones a Grails 2.3.0
Dejo Secret Escapes en Londres para volver a Alicante
Mis primeros dos meses en Secret Escapes


Menea esta noticia Busca en Technorati enlaces a esta nota Diggea esta noticia Añádeme a tu del.icio.us

III Jornada de Tecnologías Java

18 November 2009, 10:49
¿Qué esperas de las Jornadas?


El próximo martes 1 de Diciembre tendrá en el Salón de Actos de la Escuela Politécnica Superior de Alicante la tercera edición de la Jornada de Tecnologías Java organizada por el Departamento de Ciencia de la Computación e Inteligencia Artificial en las que se pasará toda la mañana hablando sobre tecnologías Java, metodologías ágiles, software libre e incluso habrá tiempo para ver cosas de Google Web Toolkit

Los conferenciantes son gente con una amplia experiencia en el desarrollo de proyectos, tanto de software como empresariales. En primer lugar, Emilio Bravo, antiguo alumno de la Universidad de Alicante y actualmente socio fundador de i2e, una empresa alicantina dedicada al desarrollo de software. Emilio nos hablará sobre el framework Google Web Toolkit

Martin Pérez, uno de los creadores de Jobsket, un portal en que los candidatos pueden publicar los currículums y que sean las propias empresas quienes se encarguen de buscar a su candidato ideal. Por cierto, que Jobsket está desarrollado utilizando Grails. El título de la charla de Martín será Desarrollo y pruebas de proyectos Java en un entorno ágil y es que Martín es una de las personas más activas en temas de desarrollo ágil en España y de ello puedes darte cuenta leyendo su blog, Pensamientos Ágiles

Posteriormente será el turno de Sergio Montoro, socio fundador de KnowGate y lider del proyecto open source Hipergate, una aplicación Java para soporte empresarial de Intranets, gestión de relaciones con clientes, e-Marketing y groupWare. Sergio expondrá los posibles modelos de negocio que se crean alrededor del software libre.

Por último, también vendrá un representante de Sun Microsystems, Francisco Peyrona, miembro del grupo de coordinación de Sun con Universidades y que trabaja principalmente en el área de SQA y en los sectores de Banca y Administraciones Públicas. Ha dirigido el desarrollo de proyectos Java durante diez años, entre ellos el proyecto Open Source JDBC Manager que se ha integrado en el entorno de desarrollo NetBeans. Francisco es un gran divulgador Java y es conocido por sus numerosas charlas, libros y artículos.

La entrada será gratuita, aunque antes deberás registrarte para poder acceder a la sala, ya que las plazas son limitadas al aforo de la sala y entre los asistentes se sorteará una iPod nano.


Menea esta noticia Busca en Technorati enlaces a esta nota Diggea esta noticia Añádeme a tu del.icio.us

« Entradas antiguas Entradas recientes »