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.

  • 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!

  • 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.

  • 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!

  • 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.

  • 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?