viernes, 28 de agosto de 2009

Estamos en OSUM - Open Source University Meetup

Los "Apuntes de Java" ahora están en OSUM.

http://osum.sun.com/group/apuntesdejava

Cuenta con espacio de foros, comentarios, y todo lo que podría tener una red social.

miércoles, 26 de agosto de 2009

Curso de AJAX

El 06 de octubre, en BitNet Perú se dictará el curso "AJAX para Java". Será dirigido a desarrolladores que tienen conocimiento en programación Web con Java.

Usaremos NetBeans como IDE, aunque eso no restringe que solo vaya a funcionar en ese IDE.

Serán 36 horas académicas (09 días) en que desarrollaremos una solución usando Ajax, desde un parser hecho por nosotros mismos, hasta usando frameworks completos.

Este es el temario propuesto. Aún estamos haciendo ajustes. Pero es la idea general.

  1. Programación avanzada con JavaScript
    1. Programación con objetos DOM
    2. Manejo de estilos
    3. Manejo de peticiones HttpRequest
    4. Manejo de archivos XML
  2. Frameworks para el desarrollo de Ajax
    1. Scriptaculous
    2. Dojo Toolkit
    3. ProtoType
    4. JSON
    5. jQuery
    6. jMaki
    7. Direct Web Remoting (DWR)
    8. Google Web Toolkit (GWT)
La primera parte se va aprender a programar con JavaScript + DOM + CSS como loco.
Luego desde la parte 2.1 al 2.5 veremos frameworks genéricos que pueden funcionar con PHP, Java, ASP, etc.. pero lo veremos desde la perspectiva Java.
En los puntos 2.6 al 2.8 usaremos frameworks más especializados en Java.

Si estás interesado en el curso, ahí nos vemos.!

Encuesta: conferencias

Hace un buen tiempo hice una encuesta sobre cómo participarían en un seminario o conferencia tecnológica.
Solo respondieron la mitad de los visitantes a mi blog.. o sea 15, jejeje

Hice esa encuesta porque quería conocer cual es la tendencia de los participantes a una conferencia. Porque si queremos desarrollar uno presencial, no queremos desilusionarnos con la poca concurrencia y el harto esfuerzo en desarrollar el contenido.

No estoy diciendo que mañana vamos a poner una conferencia. Pero está en nuestros planes, y según los resultados de esta encuesta, todo apunta a realizar uno virtual... de esos que llaman webminar.

Naturalmente no haremos uno simplón, que lo podría hacer cualquiera. Vamos a desarrollar uno que de verdad valga la pena... y no solo uno.. sino varios, todo referido a la tecnología Java.

Así que no se desesperen... habrá pronto una serie de webminars sobre Java.

Sugerencias para realizar un proyecto

He estado desaparecido por un tiempo. Tanto que a mi blog le han crecido telarañas. ¿Por qué? Porque estaba liado con tres proyectos, además de mi trabajo, además de mi licenciatura en la univ. (que por cierto, hoy acabo!)
Y en todo este tiempo, he aprendido algunos puntos para hacer mejor los proyectos.
No pretendo mostrar los top-10, ni top-5 de hacer un proyecto perfecto... solo quiero opinar y compartir de cómo debería hacerse un proyecto de acuerdo a mi experiencia.
Comencemos:
  1. Documenta todo los acuerdos con el cliente. Esto suena trillado..unos dirían "es obvio". Sí, es obvio.. pero por eso mismo que es obvio, a veces lo ignoramos. Si quieres ser más exquisito, usa un formato como sugiere RUP, o XP. La cuestión es que en cada reunión con el cliente, se debe documentar lo que se debe hacer y lo que NO se debe hacer. Esto es define el ALCANCE DEL PROYECTO.
  2. Utiliza alguna herramienta electrónica SIMPLE para documentar desde el Alcance del proyecto, hasta los avances del desarrollo del proyecto. Sugiero que sea SIMPLE. Puedes usar el MS Project, Primavera, dotProject, etc. Son efectivos y son muy visuales. Pero el punto exacto es que se debe documentar lo que se tiene que hacer y qué ya se hizo. Puedes usar el Google Sites, o si tienes un host, instala un wiki. Si tienes un host propio, instala el jspwiki. Así trabajan en NetBeans.
  3. Utiliza SIEMPRE un sistema de control de versiones. Un compañero de trabajo guardaba todo su proyecto en su disco duro, hasta que se malogró. Se logró recuperar los archivos y ponerlos en un disco temporal. Pero cuando se trató de restaurar del disco temporal a uno nuevo, hubieron carpetas (justo el del proyecto principal) que no se pudieron restaurar. Es una historia muy larga... pero puedo resumir que después de algunos días se pudo recuperar el código fuente.  Puedes usar el Project Hosting de Google Code, y ocultar la parte de "explorar código", para que tu código no pueda ser accedido por terceros (si es que no quieres que tu código sea accedido por terceros). También puedes usar tu pendrive (USB) para que sea el repositorio de tu código fuente de manera local. Lo importante es guardarlo bajo un esquema de control de versiones tales como Mercurial o SVN. Si no usas un IDE que utilice SVN o Mercurial, existen herramientas como TortoiseSVN y TortoiseHG (para SVN y Mercurial respectivamente), que hace que el explorador de tu Windows (si usas windows) haga el control de versiones. Es muy interesante, y lo recomiendo mucho.
  4. Separa un momento para agradecer a Dios. Gracias a Dios tienes un proyecto entre manos. ¿Por qué no una pequeña oración sincera a quien permitió que tuvieras ese proyecto y que te deje tener un ingreso?
  5. No juntes dos o más proyectos para desarrollarlos a la vez. Primero acaba uno, para luego hacer el otro. Si quieres hacer tres proyectos, y cada uno toma dos meses en hacerse. Mejor has uno por uno. Porque si lo haces todo junto, los tres proyectos durarán dos meses, pero no terminarán después de dos meses... sino después de seis meses. La duración del proyecto no asegura la fecha de culminación de él.
  6. Si eres casado, utiliza a tu esposa como la mejor tester de tu proyecto. Esto tiene beneficios por partida doble.
    1. Tienes alguien de confianza que te puede decir exactamente lo que está bien o mal del producto que estás desarrollando. La puedes tener 24 horas al día, y no te cobra!. Y si es de las que les gusta el Internet.. con mucha más razón, porque verá tu software desde el punto de vista de usuario. Si te dice cosas que podría despreciar tu proyecto, no te molestes... considera sus puntos de vista... estarás muy agradecido por las opiniones de ella.
    2. Ella se sentirá útil hacía ti. Una mujer siempre quiere ser útil hacía su pareja. Y si su pareja le dice "no, tú no lo hagas, yo lo hago solo" cuando ella quiere ayudar, ella se sentirá rechazada. No estoy diciendo que haga todo nuestro trabajo. Solo digo que hay que darle lugar a nuestra esposa ya que es nuestra AYUDA IDÓNEA de entre toda la creación.
  7. En tus tiempos libres (cuando no tienes un proyecto entre manos) revisa otras aplicaciones o páginas web, así no tengan que ver con los proyectos que estás acostumbrado a hacer. Eso te daría más ideas para desarrollar los nuevos proyectos. Quizás haya un ícono, o alguna acción especial que no es común pero efectiva para ciertas circunstancias... y que podría estar en tus proyectos.
  8. Si tienes familia: del tiempo que estás con tu ella, separa un tiempo prudente para realizar tu proyecto. No al revés: no separes un tiempo del desarrollo de tu proyecto para estar con tu familia. Si tienes hijos, una línea óptima de código no hará que ellos tengan una sonrisa.
  9. Utiliza siempre pruebas unitarias. Recuerda que cuando construyen un auto, no lo prueban cuando todo esté construido. Sino prueban cada parte en standalone (como el motor, el sistema de ventilación, etc), y luego lo ensamblan todo para hacer la prueba final. Existen el JUnit (para Java),  PHPUnit (para PHP), .NetUnit (Para .Net), JMeter (para diversos componentes.. muy bueno). 
  10. Implementa log en la aplicación. Eso te permitirá saber qué está haciendo la aplicación en un determinando momento. Si bien es cierto que implica hasta duplicar la cantidad de líneas de código, lo estarás bien agradecido, ya que si hubiera un problema, no tendrías porque desarmar la aplicación para ver qué pasa, tienes un control en producción de lo que está haciendo, y puedes hasta tener un histórico del acceso que está pasando en tu aplicación, tanto que podría enviarte un mail si hay un error fatal. Existe el log4j, Commons logging, y el Java Log.
Estos son algunos. Espero que te sea de utilidad.

miércoles, 5 de agosto de 2009

Java SE 6 Update 15 disponible (y cómo revivir a Glassfish con una nueva version de Java)

Ya está disponible la actualización 15 de Java SE 6. Incluye mejoras de seguridad, rendimiento y el nuevo colector de basura G1.

Lo pueden descargar desde aquí http://java.sun.com/javase/downloads/index.jsp.

¿Y si malogro mi Glassfish?

Quizás te pasó esto: tienes tu GF funcionando de las mil maravillas, y quieres actualizar tu JDK. Luego, tratas de ejecutar el GF nuevamente (ya sea directamente desde asadmin o desde el NB) y no funciona. Y lo que puedes  hacer es reinstalar todo el GF... o peor aún: regresar a la versión anterior del JDK.

la solución:
  • Si estás en Windows
    1. Edita el archivo %GLASSFISH_HOME%\config\asenv.bat
    2. busca la línea que comienza con set AS_JAVA=
    3. Cambia la ruta para que apunte a la dirección del JDK que acabas de instalar. Por ejemplo, si acabas de instalar el JDK 6u15, escribe así
      set AS_JAVA=c:\Archivos de programa\Java\jdk1.6.0_15
    4. Guardas e inicias el GF.
%GLASSFISH_HOME% es el directorio donde instalaste el GF, ya sea el que vino con el NB (por lo general, está en C:\Sun), o el que instalaste independientemente (por ejemplo,  c:\glassfish)