Java

  • Una situación anormal en Java que puede resultar muy molesta: al ejecutar los tests de nuestro proyecto, el stacktrace de las excepciones que puedan surgir aparece "abreviado" (o mejor dicho, cortado: sólo aparecen las primeras 2 líneas!). Por suerte, es algo muy simple de solucionar.

  •  En este artículo vamos a hacer una breve introducción a los portlets. Así como también, como crear uno con spring.

  • En esta ocasión vamos a ver que ventajas tenemos con la utilización de @ResourceMapping por sobre @ActionMapping y que trae esto como consecuencia. Vamos!

  • Hace ya varias semanas está disponible el release estable de Apache NetBeans 11. Para el proyecto es un enorme avance y esfuerzo. Y con algunos detalles podemos aprovechar al máximo este IDE. Veamos como instalarlo, configurarlo y dejarlo listo para usar!

  • En el post anterior vimos qué era la arquitectura de software y para qué nos sera. En este nuevo post vamos a ver más en detalle la arquitectura de capas. 

    Se destaca por ser fácil de implementar en el comienzo del proyecto y fácil de entender para principiantes en el desarrollo de software.  

  • Imaginemos el siguiente escenario: estamos codificando el test para guardar un cliente, y necesitamos que ya exista en la base de datos la empresa a la cual pertenence. ¿Qué hacemos? Una primera solución rápida es contar con datos de tests ya existentes en la base de datos, y confiar en que dichos datos sirvan para nuestro test (o, si no alcanzan, agregar los datos de tests necesarios a la base). Y sin embargo... hacer esto es el comienzo de graves problemas.

  • En las plataformas Linux, la JVM utiliza /dev/random para la generación de números aleatorios. Este servicio del sistema operativo necesita de cierta cantidad de "ruido" (entrada por teclado, movimiento de mouse, transferencia de red, etc) antes de retornar un resultado. Y mientras espera este "ruido aleatorio"... se bloquea. Esto puede ocasionar bloqueos en procesos que requieren de números aleatorios, como WebLogic o Apache Tomcat. Por suerte, hay una solución simple.

  • JUnit 5 es la nueva versión del framework de testing para Java, que trae muchísimos cambios y mejoras... y es muy tentandor para empezar a usar. Sin embargo, si usamos Spring Boot sabemos que todavía no hay soporte directo para JUnit 5. Por suerte, vamos a ver que con unos pequeños cambios podemos aprovechar esta nueva versión del framework.


  • Cuando desarrollamos microservicios, o cualquier aplicación que durante su ciclo de vida pasa por varios entornos diferentes. El mantenimiento de estas configuraciones deja de ser una tarea trivial. En este post veremos cómo utilizar Spring Cloud Config para facilitarnos esta labor!

  • En Spring 3 se introduce el paquete core.convert que proporciona una manera de conversión de tipo genérica. Define un SPI (Service Provider Interface) para implementar la lógica de conversión de tipos, así como una API para ejecutar conversiones de tipo en tiempo de ejecución. Esta manera es una alternativa a PropertyEditors que se encarga de convertir las propiedades a los tipos requeridos.

  • Quizá te toca desarrollar un sistema que envía facturas, comprobantes de pago, turnos o contratos, todos documentos digitales que te interesa validar que no te los alteren o falsifiquen. Si los generás en PDF y estás trabajando en JAVA, este post es para vos.

  • ¡Bienvenidos al tercer post de Machine Learning del blog! En el vamos utilizar el algoritmo inteligente creado en el anteriorpost y vamos a importarlo en un aplicación Web en JAVA. Para terminar vamos a exponer un servicio REST al cual vamos a consultarlo para realizar predicciones. Así que ¡Manos a la obra!

  • Las pruebas de carga se realizan para conocer la capacidad máxima de un sistema bajo una carga determinada y poder dar con las causas que puedan condicionar su rendimiento. Algo fundamental cuando queremos mejorar la experiencia del usuario en nuestra aplicación.
    Para esto una herramienta muy recomendada es Apache JMeter. Por eso hoy vamos a ver de qué trata y cómo usarla, ¡adelante!

  • Normalmente los métodos de Spring Data retornan una o más instancias de la entidad raíz con la que tipamos el repositorio. Sin embargo, en algunas ocasiones necesitamos obtener proyecciones de estas entidades.

  • El desarrollo de software busca resolver distintas problemáticas con ayuda de la tecnología. Pero estas problemáticas suelen ser variadas y distintas, por lo que nuestro producto tiene que ser acorde al problema a resolver. O sea, no es lo mismo resolver la gestión de finanzas de una empresa que resolver la integración de un sistema con la AFIP. 

    Como tenemos distintos problemas que resolver debemos suponer que no todos los problemas se resuelven de la misma manera. Pero ¿Por dónde empiezo para saber que estrategia usar para resolverlo? 

    Es ahí donde debemos emplear una de las primeras herramientas a tener en cuenta en el desarrollo de software. “La arquitectura de software”. 

  • La validación de los datos ingresados por un usuario es una tarea habitual en la mayoría de las aplicaciones web. Los invito a explorar una manera de realizar las validaciones en aplicaciones java.

  • En la parte I de este artículo vimos cómo usar las anotaciones de Bean Validation para validar atributos y parámetros. ¿Qué pasa si queremos hacer validaciones que no están implementadas por el estándar?