Charla de PyCon 2010 primero en Perú (27 de Enero 2010)

Spring Community Day 2009

El día de ayer se realizó por 2da vez el Spring Community Day, esta vez 2009. Recuerden que la última se dio el año pasado en Cibertec. Este año el evento fue en la UPC, en el aula magna, la asistencia fue MASIVA, al parecer los organizadores del evento, no esperaban que de los 500 que se inscribieron al evento, vayan más de 100.

Siendo las 6:40pm en la puerta de la UPC ya no dejaban pasar a las personas, decían que el auditorio estaba repleto y por lo tanto nadie más entraba. Fue una gran sorpresa para mí, pues sacrifiqué el evento de WebDays de Microsoft, estaba con cámara de fotos en mano con ganas de traerles todo lo relacionado al evento. Pero gracias a ......un amigo, pude pasar solapa e ingresar al auditorio para poder ganarme con todo lo que sucedió en el evento.

El evento comenzó muy bien con la presentación de la comunidad de Spring que fue creada desde el año pasado. Un poco de introducción a lo que es Spring, su historia desde su creación hasta la adquisición de Spring por parte de VMWare. Así también se explicó la filosofía que se tiene con Spring, el uso de POJOs, el no reinventar la rueda, las best practices, etc.

Entonces explicaron el cómo va ser esta charla, ya no será la clásica conferencia donde cada uno tiene 45 minutos para hablar del tema que investigó, mostrar cada uno su propio ejemplo y listo, YA NO. Ahora para demostrar el poder de spring y la integración que tienen sus componentes, se decidió resolver un problema completo. En sí el problema que plantearon era algo sencillo (para una charla, no se necesita un problema complejísimo), se requiere una aplicación para Gaston Acurio donde pueda registrar sus recetas y sus aprendices puedan ver éstas, pero no modificarlas (es decir, se tiene alguien que puede registrar y modificar, pero otro que solo puede ver). Se mostró el análisis realizado así como las fases que tomaría el desarrollo.

Luego de esto se pasó a mostrar las herramientas a usar para este desarrollo como: "Spring Source Tool Suite", "SpringSource TC Server", Cloud Foundry, entre otros.

Entonces, luego de toda la introducción del tema, se procedió a explicar el desarrollo y solución que se dio.

Lennon Shimokawa - Arquitectura
Se explicó la arquitectura que formaron entre la comunidad, así tb se mostró el uso de Maven para manejar las dependencias del proyecto (aunque tiene más usos). Luego dio una introducción a algunos temas de Spring como inyección de dependencia, el uso de las interfaces para reducir las dependencias, su ventaja, el papel del Application Context, entre otros. La explicación fue un buen resumen en sí para que la gente nueva no se pierda de lo demás que se iba a explicar.

Jonathan y Mayer Horna - DAO
Se puntualizó en la capa de acceso a datos, mostraron la diferencia de usar JDBC puro, a comparación de usar Hibernate integrado con Spring, la forma tan fácil que se puede hacer un "Save" o "update", entre otros. Se pudo ver los xml de los mapeos que realmente son muchas veces complejos, pero se mencionó la herramienta Hibernate Tools que ayuda en el mapeo para no complicarnos la vida, o también se dio la alternativa de poder usar anotaciones. Lo que me gustó más fue que se resaltaron las ventajas de usar un ORM como Hibernate, así como tb su integración tan limpia que tiene con Spring.

Gustavo Quiroz - Testing
Uno de los puntos más importantes de un desarrollo es su testing, algunos preguntarán "¿Por qué?" o sino "¿Testing? Yo nunca lo he hecho y me ha ido bien". Pero justo para eso era esta parte de la charla, porque pudimos ver las ventajas de hacer Test de integración y test unitarios, los primeros se hacen más que todo con Spring, mientras que el último con JUnit. Gracias a estos tipos de test, podemos probar las funcionalidades antes de usarlas, encontrar bugs, ver excepciones, entre otros. El resaltar las ventajas del testing fue lo mejor de esta parte.

Ricardo Ávila - Susan Inga - Spring MVC
Se mostró de forma separada el uso de las demás partes de las cuales ya se explicaron. Se concentró bastante en el modelo MVC, los prototipos que se tuvieron, una página 404 muy buena para controlar los errores (lol), entre otros. Lo que más puedo resaltar de esta parte de la exposición fue el explicar el flujo completo que cumple el Spring MVC, el cómo se mapea un request, la forma cómo se captura desde java, entre otros. Muy bueno para aquellos que querían entender un poco más sobre Spring MVC.

Edson Chávez - Seguridad
Tal como se dijo al inicio, se desea controlar que los chefs sean los únicos que puedan agregar y modificar recetas, mientras que los aprendices solo puedan ver éstas. Por lo tanto se tenía que restringir por medio de seguridad esto, es acá donde entra la seguridad, donde se explicó una buena parte de seguridad que te brinda Spring, su flexibilidad que tiene frente a casos (como el del problema) donde se tiene que acomodar la seguridad de cierta forma que se acomode a lo solicitado por Spring. Se hicieron las pruebas de cada uno de los roles para mostrar lo simple que puede ser esto. Fue bastante práctico el ejemplo en sí, para mostrar lo básico que se puede hacer con la seguridad de Spring =)

José Díaz - Spring CloudFoundry
Luego de haber hecho todo el proyecto necesitamos que éste se vea para todos en internet, y si tenemos un hosting en amazon, podemos usar www.cloudfoundry.com para subir el proyecto. Se mostró la facilidad que es subir un proyecto usando este servicio de CloudFoundry que por el momento es gratuito, pero quizás más adelante tenga un precio.

Esto fue todo el proyecto que se mostró en la conferencia. A opinión propia, puedo decir que estuvo bien armado y preparado el proyecto, las caídas que tuvieron fue casi nula (solo la clave del cloudfoundry) y los expositores contaron de una forma bastante real el cómo afrontaron cada uno de los problemas, sus puntos de vista sobre spring y un poco de teoría de cada uno de esos temas. Es decir, se tuvo como un equipo real de una empresa donde todos van hacia un mismo objetivo, avanzando en paralelo (no secuencial) para una solución.

Felicitaciones para los organizadores del evento por esta gran conferencia y espero que el otro año tengan un mejor local para más personas (que lamentablemente llegaron tarde y quedaron fuera), más temas para mostrarnos y que el apoyo de los auspiciadores se siga dando para impulsar este tipo de eventos que permiten compartir conocimiento.

Espero les haya gustado la info que les traje del evento. Mas bien, se me olvidó decir que hubieron sorteos de maletines de Spring, así como también, JoeDayz llevó unas anfitrionas para el evento y muchos ya ni veían el código que se mostraba xD

Les dejo acá algunas fotos del evento:



Shinji

MCPD en ASP .Net :D




PRO: Designing and Developing Web-Based Applications by Using
the Microsoft .Net Framework :D

Al fin lo logré =)!!!

Luego de tiempo me animé a dar el examen de MCPD para desarrollo
Web en .Net y logré pasarlo con puntaje perfecto =)

Les juro que estoy muuuuuuuuy feliz, porque tenía la espina de
darlo hace tiempo, pero por cuestiones económicas y de tiempo no pude darlo :(.

Es el momento de investigar nuevas cosas y si se puede certificar
en eso (lo cual ayuda a pesar de todo) lo haré =)

En este caso no pude hacer resumen debido a que tuve poco tiempo
de preparación :(.

Gracias a todos los que me animaron antes del examen y a los que
me felicitaron tb =)!!!

Saludos a todos, esperen el próximo posteo que será bien entretenido :D

shinjiDev

Feliz Día del Programador

FELIZ DÍA DEL PROGRAMADOR A TODOS!!!! =)

Bueno, este post no puede ir solo con ese título, cierto?xD

Un poco de información: desde hace unos años se celebra el 13 de setiembre como día del programador, fue impulsado por http://www.programmerday.info/, e incluso se tiene un hashtag en twitter para esto #programmerday.

Como ya muchos habrán contado los días hasta el 13 de setiembre (o no muchos), el 13 de setiembre es el día 256 del año, el cual es un número muy conocido por nosotros al tratar de elevar 2 a la 8. Al momento de conocer esto, me puse a pensar sobre este número en mi historia de programación, un claro caso es el byte, que llega a 256 - 1.

Pero vamos a algo más complejo y que apenas cuando vimos dijimos "Eso es problema por el byte!!!" (como buenos geeks XD).



Este nivel de Pacman es llamado el "split screen", lo pueden buscar en varios lados con eso. Esta fase es la número 256 de Pacman en Arcade, aquellos que hayan llegado a esa fase podrán ver este error, o si quieren llegar ahí, pueden usar el Mame para jugarlo =). Incluso, la wikipedia muestra información acerca de esta fase http://en.wikipedia.org/wiki/Pac-Man

Uds tienen algún ejemplo particular del 256? Sería chévere conocerlo al menos por este día =)!!!!!!

Y nuevamente, FELIZ DÍA DEL PROGRAMADOR a todos =). Si son Jefes de Proyecto y demás, aprovechen en saludar a sus desarrolladores =D

Nos vemos

shinjiDev

Resultados de la Conferencia de Python en Infosoft2009

Empezaré este post agradeciendo a todas las personas que asistieron a la conferencia de Python en Infosoft 2009, de paso agradecer a la gente de Infosoft que fueron muy amables conmigo y a la twittera @paolavc por haber asistido :D

La conferencia, a mi parecer, resultó mejor de lo esperado, teniendo varios asistentes, muchas preguntas al respecto de Python, comparaciones con RoR, con Java, PHP y otros lenguajes. Aparte de eso se regalaron 2 discos de Ubuntu 9.04(con sticker) y un speaker de BizTalk Server :D!!!

Me gustó muchísimo la participación del público que no se quedaron en silencio y en especial esas ganas de querer ver código Python. Con esos ánimos creo que más adelante se puede dictar algún taller en la PUCP, que en lo posible será gratuito.

Y como lo prometido es deuda, acá les entrego la presentación que se hizo en Infosoft2009

http://rapidshare.com/files/273084383/PythonInfosoft2009Last.zip

El programa con el que se hizo las diapositivas está acá:

http://rapidshare.com/files/273113373/Ovation_1.0.1472.zip

Tb publicaré algunas fotos que me tomaron en el evento, gracias a todos y no dejen de visitar el blog.

Nos vemos

ShinjiDev