Desarrollo
Patrones de diseño en Java y Revista gratuíta
En The Design Patterns Java Companion está disponible para descargar un libro sobre patrones de diseño en Java
[PDF] [Código Fuente].
Por otro lado, ha sido publicado el primer número de una revista online ideal para los desarrolladores Java: Java Jazz Up, que incluye noticias y artículos sobre Patrones de Diseño, Eclipse, Spring, Tomcat,... así como otras tecnologías ampliamente utilizadas en el desarrollo de aplicaciones J2EE.
[PDF #1]
Buildix, plataforma para desarrolladores
Buildix es una distribución de Linux basada en Knoppix (Debian) que empaqueta varias utilidades básicas para mantener un sistema de desarrollo e integración ágil y productivo basado en Java, para ello incluye:
- Subversion, como sistema control de versiones
- Trac, como Wiki, control de incidencias y gestión de proyectos y tareas.
- CruiseControl, para Integración Contínua.
- Maven2, para la construcción de los proyectos.
- Y herramientas de gestión al respecto.
[Bash Script] Descargar módulos de Drupal 4.7.x
Recientemente ha salido una nueva versión de Drupal, uno de los gestores de contenidos más utilizados en Internet (y sobre el que se basa estas páginas que estás leyendo), que tiene además una gran cantidad de módulos que mejoran y añaden funcionalidades al sistema, el problema es que habría que ir bajando uno a uno cada uno de los 220 módulos disponibles actualmente, una tarea bastante tediosa que vamos a intentar solucionar mediante la potencia del intérprete de comandos bash.
Vamos a hacerlo poco a poco para luego ver la posibilidad de realizarlo en una sóla línea haciendo uso de la concatenación de comandos usando tuberías.
1. Primero habría que descargar y guardar en disco la url: http://drupal.org/project/Modules que o bien se hace desde el navegador o con algún comando como por ejemplo wget o curl.
wget http://drupal.org/project/Modules
2. A continuación habría que ver el código fuente del fichero HTML para conocer la estructura, y lo más importante ver cómo son las urls de los paquetes que contiene cada módulo, como por ejemplo:
<div class="links"><a href="http://ftp.osuosl.org/pub/drupal/files/projects/views-4.7.0.tar.gz">Download</a>
Así que para quedarse sólo con las líneas que incluyan enlaces a los paquetes .tar.gz se haría mediante:
grep tar.gz Modules.html
Que devolvería todas las líneas como la anterior, esto lo devolvería por pantalla, lo suyo sería guardarlo en otro fichero así que se podría redirigir la salida estándar mediante > urls.txt al final del comando
3. Analizando el resultado se ve que la parte interesante estaría en el tercer token (contando como separación el espacio en blanco), para obtener sólo esa parte se puede hacer uso del comando awk (existen más posibilidades, pero a mí me gusta ésta :P):
awk '{ print $3 }' urls.txt
que devolvería como resultado:
href="http://ftp.osuosl.org/pub/drupal/files/projects/acidfree-4.7.0.tar.gz">Download</a>
El resultado también se podría redigirir a otro fichero mediante > urls2.txt (que sea distinto fichero sino nos cargaremos el anterior)
4. De ese fichero ahora se podría delimitar por las comillas dobles y coger el token 2, esta vez se hará uso del comando cut:
cut -d '"' -f 2 urls2.txt
(OJO que es comillasimple comilladoble comillasimple)
Esto ya daría como resultado el listado de urls que estamos persiguiendo, de nuevo se redirige a un fichero de texto con > modulos.txt
5. Y ya sólo falta decirle a wget que se descargue todos los módulos:
wget --input-file=modulos.txt
Y ahora lo mejor ¿se puede hacer todo ésto de un tirón? por supuesto, para ello se utilizará links para descargar el código HTML de la página de módulos, y haciendo uso de tuberías, la salida de un comando se le pasará como entrada al siguiente y así sucesivamente:
links -source http://drupal.org/project/Modules | grep tar.gz | awk '{ print $3 }' | cut -d '"' -f 2 | xargs wget
Es posible que los comandos grep + awk + cut se puedan fusionar en uno solo haciendo uso de expresiones regulares, pero eso lo dejaremos para una segunda parte o como tarea del lector ;P
Ni que decir tiene que no se trata de explicar qué hace y para qué sirve cada uno de los comandos utilizados aquí (links, grep, awk, cut, xargs y wget), que para eso ya están las páginas man.
Huelga decir que toda corrección/mejora/comentario/crítica será bienvenida.
Ruby on Rails y Apache2 en Debian Sarge
Ruby on Rails (RoR) es un framework de desarrollo web basado en el lenguaje de programación Ruby, que se caracteriza por la optimización de facilidad y productividad del desarrollo de sitios web, tal y como enseñó David Sedeño en su charla en las Jornadas de Linux-Málaga.
Pues de mano de HowtoForge, y como viene siendo habitual, han publicado un extenso artículo sobre como configurar RoR con Apache2, bajo la distribución de Linux Debian Sarge, así con un poco de documentación sobre RoR, ya se puede uno poner a hacer sus pinitos.
http://www.howtoforge.com/ruby_on_rails_apache2_fastcgi_debian
Cómo hacer una galería dinámica de fotos con Ajax
Siguiendo con la serie de artículos de desarrollo en Ajax del portal IBM DeveloperWorks, ahora le toca el turno a cómo realizar una galería tipo SlideShow:
PyQt: manejando ventanas y botones
Segunda parte de Introducción a PyQt, esta vez, se trata de mostrar como crear y gestionar ventanas, y cómo reaccionar ante eventos al pulsar un botón.












