Esto es un espacio para hablar de programación, algoritmos y tecnología. Aquí trato de publicar artículos que contengan un valor adicional y (ojalá) de utilidad para todos lo que los lean.

Rompiendo el silencio de más de 7 meses les traigo un tip muy útil cuando se requiere acceder a las bondades del debugger de Eclipse sobre una aplicación que no está ejecutándose localmente o que está corriendo de forma local pero que no podemos ejecutarla desde Eclipse.

Aunque esto aplica para todo tipo de aplicaciones Java, un buen ejemplo es un servidor de aplicaciones J2EE. En este caso usaré Weblogic.

La parte más “difícil” es agregar algunos argumentos al comando que inicia al Weblogic. Para ello hay que abrir la pantalla Server Start de la instancia de Weblogic que queremos debuggear. La ruta es Environment >> Servers >> [servername] >> Server Start.

En esta pantalla hay un campo Arguments que nos permite mandar parámetros a la máquina virtual al momento de iniciar la instancia de Weblogic. En este campo agregamos lo siguiente:

-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n


Hace falta reiniciar la instancia de Weblogic que afectamos para que los cambios surtan efecto.

Ahora solo hay que crear una nueva configuración de Debug para conectarse a la aplicación Java remota. Para ello haz clic sobre Run >> Debug Configurations. En seguida crea una nueva configuración bajo la categoría de Remote Java Application y usa los siguientes datos como referencia:

Eclipse Debug Configurations

Asegúrate de que el servidor Weblogic esté corriendo y que alguno de tus proyectos de Eclipse esté corriendo sobre el servidor. Ahora haz clic sobre el botón Debug para conectarse al servidor Weblogic y empezar a cachar las llamadas al debugger.

Eso fue todo. Es bastante sencillo pero muy útil cuando se requiere depurar una aplicación web que está un ambiente remoto.

¡Al fin un modelador gratis más que decente! Mmh… creo que no hay mucho más que decir después de eso. Solo me queda listar algunas de las características de esta maravilla:

MySQL Workbench

  • Diagramas E/R.
  • Modelado de tablas, índices, vistas, etc.
  • Modelado de stored procedures, triggers y funciones.
  • Generación de un script SQL.
  • Generación del modelo a partir de un script SQL.
  • Actualización del modelo o del script en cualquier dirección.
  • Guarda el modelo como imagen o PDF.

Bueno, esas son algunas de las características de la versión Community. La versión completa cuesta USD$99 al año y cuenta con algunas otras monerías, como interactuar con una base de datos real en lugar de un script SQL, generar documentación y algunas otras cosas más. Sin embargo, la versión gratuita está muy completa.

Spring MVC es un framework para desarrollar aplicaciones Java basadas en Web. Dos de los objetivos más importantes de Spring MVC es permitir que el desarrollo se concentre en la lógica del negocio y que se haga empleando buenos principios de diseño orientado a objetos.

Spring 2.5

Para lograrlo se utiliza un concepto muy interesante llamado Inversión del Control, también conocido como el principio Hollywood: “No nos llames, nosotros te llamaremos.” Esto permite que el código escrito por los desarrolladores para la lógica principal del sistema no tenga dependencias sobre las clases del framework; lo cual redunda en un código mucho más limpio y con la posibilidad de utilizar todas las ventajas de la programación orientada a objetos (específicamente la herencia).

Ya que tenemos una idea de la utilidad de Spring MVC, pongamos manos a la obra.

Objetivos:

  • Configurar un ambiente de desarrollo con Eclipse, Tomcat y Spring MVC.
  • Escribir una aplicación básica para demostrar el funcionamiento del framework.

Prerequisitos:

Leer más »

Libro Gratis: Starting Struts 2

January 31st, 2008

Con el pretexto de no dejar que enero se quede sin posts decidí que publicaría este recurso para que quien quiera dejar la obsolesencia y comenzar a escribir aplicaciones Web con uno de los mejores frameworks Java que existen, estoy hablando de Struts 2. Este framework mejora y reemplaza muchas de las prácticas que se tenían en la versión 1 de Struts y no me sorprendería que llegue a tener la misma aceptación que su antecesor en un futuro cercano; ya que a diferencia de Struts 1, esta versión no apesta.

Starting Struts 2

La única condición para hacerse de una copia digital de este libro es registrarse a InfoQ, que por cierto yo recomendaría que se registren aunque no quieran el libro. Bueno, ya basta de preámbulos y vayan por su copia.

No hace mucho que comencé a interesarme (otra vez) por el diseño gráfico y comencé a buscar algunos tutoriales. Todo esto a pesar de que generalmente la información en Internet es prácticamente inútil al respecto. Pero esta vez tuve un poco de suerte al encontrarme con PSDTUTS. Es de los pocos sitios de tutoriales que conozco que no solo ayudan a lograr un resultado final, sino que te permite comprender como funcionan las cosas; lo cual es una gran diferencia, ya que esa comprensión libera al aprendiz del caso específico del tutorial para poder crear sus propios diseños.

Esta vez recomiendo el tutorial de la tarjeta de presentación que aunque ya lo había visto hace un tiempo, no tiene mucho que me animé a seguirlo; sorprendentemente con muy buenos resultados. He aquí lo que obtuve siguiendo el tutorial:

Tarjeta Posterior Tarjeta Frente

Aunque a los autores les toma un par de días actualizar la página, vale la pena visitarla periódicamente. Para comenzar de inmediato visita el tutorial original (en inglés) o la traducción a español.

Juego: Escapa!

December 14th, 2007

Este juego, aunque ya tiene un par de años, está muy bueno. Según la descripción que lo acompaña, si llegas a durar más de 18 segundos eres un fenómeno.
Las reglas son muy sencillas: solo hay que arrastrar el cuadro rojo sin tocar a los bordes y evitando el contacto con los cuadros azules.

Escapa!

Ahora mis sospechas quedan fundamentadas: ¡soy un freak! Lo más que pude hacer fueron 23.8 segundos.

(Haz click en la imagen para jugar)

Gracias al Mosh, por mandarlo.
Leer más »