Publicidad

RSS java

Voy a hablar de las herramientas que considero imprescindibles para un desarrollador Java, en concreto para desarrollo J2EE. Puede que alguna se pueda obviar, como por ejemplo, Maven, pero la verdad es que yo no puedo vivir sin él. No incluyo en la lista la maquina virtual, es obvio que sin eso no puedes hacer nada:

Lo primero es un IDE. Yo uso el Eclipse, que es el mas extendido, es opensource y es el que mas plugins tiene. Yo aconsejo descargarlo desde este enlace. Es una aplicacion web que te permite crearte tu propio paquete de plugins y descargarlo todo en un zip. Es muy útil para trabajar en un proyecto en equipo, ya que puedes distribuir ese zip entre los programadores, y te ahorras tiempo instalando los plugins desde el propio IDE. Otras opciones son Netbeans de Oracle (antes de SUN) o el premiado Intellij IDEA. Este último es comercial, aunque tienen edición community.

Apache Ant o sucedáneos. Es una herramienta para realizar tareas, como puede ser compilar y empaquetar un proyecto, aunque puedes configurar todo tipo de tareas, como desplegar un war en un servidor de aplicaciones, o subirlo por ftp por ejemplo. Utiliza un lenguaje XML para definirlas en un fichero build.xml en la raíz del proyecto. Se integra muy bien en la mayoria de los IDEs. Existen en el mercado alternativas mejores que ant, como Gradle o buildr, pero ant esta muy implantado y sigue siendo el que mas se usa. Apache Maven. Como ya he comentado, no puedo vivir sin maven. Es una herramienta de gestión de proyectos. Tiene infinidad de plugins. Su caracteristica mas útil, es que te descarga y añade a tu classpath las librerias que usa tu proyecto. Solo tienes que definirlas en un fichero xml. La mayoria de IDEs lo soportan. Para Eclipse, necesitas instalar m2eclipse de SonaType. Un sistema de control de versiones no puede faltar, ni con java ni con cualquier otro lenguaje. El que mas he utilizado es Subversion. La mayoría tienen plugins para los IDEs mas conocidos. Un editor de texto ligero con coloreado de sintáxis. Yo uso Notepad++ o PsPad en windows. En linux uso el GEdit. Cygwin. Es como un emulador de linux sobre windows. Siempre lo instalo cuando trabajo en windows porque no me gusta su terminal. Puedes instalar muchos programas de la linea de comandos de linux que puedes elegir en el instalador. Putty. Sirve para conectarse a un terminal remoto por SSH o telnet desde windows. Si estoy en linux, utilizo el comando ssh desde el terminal. Un frontend para la base de datos. Dependera con cual este trabajando. Ahora mismo utilizo DbVisualizer. Navegador con depurador JavaScript. Estoy usando Chrome, que viene con un depurador muy bueno. Antes usaba Firefox junto con el plugin Firebug. Servidor de aplicaciones. Actualmente uso el Glassfish. Bugtracker. Imprescindible para llevar un seguimiento de los bugs. Actualmente uso Jira, que es el mas extendido. Tambien he usado Redmine, Trac y Bugzilla. Uso un plugin para el eclipse, que me permite conectarme al bugtracker, ver los bugs disponibles y gestionarlos sin salirme del IDE. Servidor de integración contínua. Uso Jenkins (hasta hace nada llamado Hudson). Sirve para programar los builds de los proyectos. Para configurar los “builds” lo habitual es conectarlo con el servidor de control de versiones. Puedes configurar que ejecute tareas de ant, ‘goals’ de maven por ejemplo o cualquier otro tipo de script. Google. Imprescindible, esto lo usamos todos los programadores, de cualquier lenguaje. Una aplicación de notas. Yo uso Evernote. Es un programa para crear notas y capturar páginas web o fragmentos de estas. Yo lo utilizo para almacenar artículos y tutoriales interesantes para futuras referencias, o fragmentos de código, todo clasificado por carpetas y etiquetas. Dispone de aplicación para Windows, Mac, Android e iOS que se sincroniza con la aplicación web . Servicio de almacenamiento en la nube. Yo uso Dropbox. Lo utilizo para guardar documentos relacionados con Java, como manuales de referencia de diversas tecnologías y frameworks. Teniendolos en un sitio, ahorro tiempo a la hora de consultarlos. Repositorios de código opensource. Github, google code y sourceforge. Muchas veces busco código que me pueda ser de utilidad en el proyecto que estoy trabajando. Papel y lápiz. A pesar de todos los avances tecnológicos, aún uso este primitivo modo de escritura, jeje.

Estas son las herramientas que yo considero imprescindibles, aunque puede haber más, dependiendo el proyecto en el que este trabajando.

Mockito 2: la librería de mocks por excelencia en Java adquiere nuevos poderes

3 Comentarios
Mockito 2: la librería de mocks por excelencia en Java adquiere nuevos poderes

Es innegable que Mockito se ha convertido en una librería de referencia para crear Mocks en los tests unitarios escritos en Java y algunos otros lenguajes de la JVM.

Su simplicidad de uso unida a su potencia la han hecho una de las preferidas entre aquellos que quieren escribir tests para validar su software.

Hace algunos meses, el equipo que desarrolla Mockito lanzó por fin la versión final de Mockito 2. Una actualización que ha añadido un buen número de novedades muy interesantes, y que hoy quiero presentarte.

Leer más »

Groovy está bastante vivo, conferencias como la G3 Summit lo demuestran (resumen y opinión)

4 Comentarios
Groovy está bastante vivo, conferencias como la G3 Summit lo demuestran (resumen y opinión)

La última semana de Noviembre estuve en Fort Lauderdale, Florida, en la conferencia G3 Summit en la que dí dos charlas. Se trata de la primera edición de una conferencia centrada en Groovy, Grails y Gradle, y organizada por el mismo equipo que se encargaba de la SpringOne 2GX. Debo admitir que Miami es un muy buen lugar para organizar una conferencia a finales de Noviembre. Pasar de los 8ºC y la lluvia de Madrid a los más de 25ºC y el sol de Miami es algo de agradecer.

La agenda incluía más de 50 charlas y a los principales líderes de los distintos proyectos del ecosistema Groovy. En G3 Summit estuvieron presentes tanto Graeme Rocher, líder del proyecto Grails como Jeff Brown, co-fundador del mismo framework; Guillaume Laforge líder de Groovy o Ken Kousen de Groovy Podcast y autor del libro Making Java Groovy.

Leer más »
Publicidad

Kotlin llega a Gradle: Escribe tus scripts de Gradle usando Kotlin script

2 Comentarios
Kotlin llega a Gradle: Escribe tus scripts de Gradle usando Kotlin script

Hace tiempo que Kotlin se está convirtiendo en una alternativa real para muchos desarrolladores, principalmente en el mundo del desarrollo Android, donde aún seguimos anclados a versiones muy antiguas de Java.

Ya hablamos en su momento sobre cuáles eran las bondades de este lenguaje.

La gente de Gradle se ha dado cuenta de ello, y desde hace unos meses están trabajando con Jetbrains para crear Kotlin Script e integrarlo en Gradle 3.

Leer más »

Otros 12 canales más de Youtube de desarrollo en Español que no te puedes perder

7 Comentarios
Otros 12 canales más de Youtube de desarrollo en Español que no te puedes perder

Hace unos meses os trajimos los 12 canales de Youtube de desarrollo en Español que merecía la pena seguir. Obviamente era un número arbitrario (porque en algún momento hay que parar) pero hay muchos más. Por eso hoy os traemos otros 12 canales de Youtube de desarrollo en Español que merece la pena seguir (algunos de ellos recomendación directa vuestra). Venga, va, ve preparándote que el material es muy jugoso, ¡prometido!

Leer más »

Nueve anotaciones de Groovy que te harán la vida más fácil al desarrollar

Comentar
Nueve anotaciones de Groovy que te harán la vida más fácil al desarrollar

Los desarrolladores somos vagos. Es un hecho. Si podemos solucionar un problema escribiendo menos código y la solución es eficiente, mantenible, legible,... vamos a optar por ella sin pensarlo. Escribir menos código significa menos bugs, menos código que manterner y menos código que testear.

Después de haber aprendido en el artículo anterior la teoría sobre la metaprogramación en compile-time con Groovy en esta ocasión vamos a ver qué transformaciones nos ofrece Groovy out-of-the-box para hacernos la vida más fácil a la hora de desarrollar.

Leer más »

Resolvamos las grandes disyuntivas del mundo del desarrollo

13 Comentarios
Resolvamos las grandes disyuntivas del mundo del desarrollo

El ser humano se mueve entre dualidades, dicotomías, ya sabes: el ying y el yang. Elegimos entre Madrid y Barcelona, entre ColaCao y Nesquick, entre tortilla con cebolla y sin cebolla, entre Marvel y DC y así ad infinitum. Los desarrolladores, mientras no se demuestre lo contrario, también somos personas y en nuestra profesión también nos enfrentamos a terribles dualidades diariamente. Pero para eso estamos en Genbeta Dev, para acabar con estas peleas ancestrales... con tu ayuda (y la de las polls de Google), claro.

Me explico: presentaremos a continuación las mayores disyuntivas del mundo del desarrollo y las acompañaremos de una encuesta, votáis y la semana que viene os traemos los resultados. ¡Que hable el pueblo ahora o que calle para siempre!

Leer más »
Publicidad

Metaprogramación en compile-time con Groovy

Comentar
Metaprogramación en compile-time con Groovy

En el anterior artículo sobre Metaprogramación en runtime con Groovy explicamos qué es la metaprogramación y vimos las distintas técnicas que ofrece Groovy de metaprogramación en runtime.

En esta ocasión lo que vamos a aprender son las distintas posibilidades de metaprogramación en tiempo de compilación. Este tipo de técnicas lo que nos van a permitir es intervenir durante las distintas fases de compilación y, de esta forma, generar código en tiempo de compilación.

Leer más »

Test automáticos con QuickCheck ¿Cómo analizar nuestro código en busca de bugs?

5 Comentarios
Test automáticos con QuickCheck ¿Cómo analizar nuestro código en busca de bugs?

Verificar que nuestro código está libre de bugs es una tarea muchísimo más complicada de lo que pudiera parecer en un principio. El número de relaciones que se producen entre las piezas de código que vamos añadiendo aumenta de forma vertiginosa y desgraciadamente nadie parece saber aún la forma de escribir código libre de bugs. No deja de ser sorprendente que el datamining y en particular el machine learning no se apliquen de forma efectiva dada la ingente cantidad de programadores que hay en el mundo escribiendo cabezonamente el mismo código y cometiendo una y otra vez los mismos errores.

Hasta entonces, una de las herramientas que puede sernos de utilidad a la hora de validar nuestro código es QuickCheck, que nos permite escrutar automática y probabilísticamente nuestros algoritmos para encontrar errores.

Leer más »

Metaprogramación en runtime con Groovy

15 Comentarios
Metaprogramación en runtime con Groovy

Una de las características que hacen de Groovy un lenguaje tan potente es su capacidad de Metaprogramación. El hecho de que sea un lenguaje dinámico (opcionalmente como ya vimos) hace que podamos postponer hasta tiempo de ejecución ciertas comprobaciones y decisiones que normalmente se harían en tiempo de compilación. Así podremos interceptar, inyectar e incluso sintetizar nuevas clases y métodos bajo demanda en tiempo de ejecución.

La metaprogramación es una técnica avanzada que básicamente nos permite escribir código que escribe código. Este tipo de técnicas, que a priori pueden no significar nada, hacen que podamos resolver nuestros problemas con un enfoque distinto y en ocasiones la solución puede ser mucho más elegante, eficiente y adecuada que si usamos un enfoque más tradicional.

Si eres desarrollador Java probablemente te vengan a la cabeza reflection, programación orientada a aspectos o incluso manipulación de bytecode o generación de código y pienses que esto es algo muy complicado, ¡nada más lejos de la realidad!
En este artículo nos vamos a centrar en la Metaprogramación en Runtime de Groovy, veremos qué es, cómo y por qué funciona en Groovy y explicaremos las distintas técnicas con ejemplos de código para que todo se entienda mejor.

Leer más »

¿Por qué deberías pensar en Gradle 3.0 como sustituto de Maven?

10 Comentarios
¿Por qué deberías pensar en Gradle 3.0 como sustituto de Maven?

Hace unas semanas el equipo de Gradle presentó la esperada versión 3.0 de esta herramienta open source de construcción de software. Aunque en el mundo Java el lider lleva siendo durante mucho tiempo Maven ya es hora de dejar atrás los interminables archivos XML de configuración y dar el paso algo más moderno y potente como Gradle.

En este artículo veremos las principales novedades de la versión 3.0 que puede que os den el empujón que falta para que migreis de Maven a Gradle.

Leer más »
Publicidad
Inicio
Inicio

Ver más artículos