• Hemeroteca #16

    blog gnu-linux java planeta-codigo

    Se acaba otro año y en este caso además la década, en el siguiente 2020 harán 10 años ya desde que empecé a escribir artículos técnicos principalmente sobre GNU/Linux y Java, algunos artículos de opinión y desempaquetados los productos que compro relacionados con la tecnología. Una década escribiendo uno o dos artículos semanales, no es fácil aguantar durante todo este tiempo y conservar la motivación y tener el tiempo que requieren cada uno de los artículos.
    Continuar leyendo...

  • Artículo #7 de Yo apoyo al software libre

    planeta-codigo software-libre

    Continuando con la serie de artículos comentando las donaciones que voy realizando a los proyectos de software libre en este caso comentaré otro programa que uso habitualmente. En este caso de trata del programa el gestor gestor de libros electrónicos y conversor entre diferentes formatos de libro electrónicos Calibre que que quizá no tiene la interfaz de usuario más atractiva pero es muy útil, funciona realmente bien y permite tener organizada la biblioteca digital.
    Continuar leyendo...

  • Sobre los planes de pensiones, analizando sus ventajas fiscales y rentabilidad

    fuera-de-tema opinion

    En los últimos años un producto financiero que se ha puesto de moda son los denominados planes de pensiones. Dada la nula o escasa rentabilidad de productos más tradicionales como los depósitos a plazo, la incertidumbre de cómo se van a financiar las pensiones en unas décadas con la baja tasa de natalidad o dependiendo de los que gobiernen los futuros pensionistas de la seguridad social pierdan poder adquisitivo, los planes de pensiones puede parecer un producto más atractivo por las ventajas fiscales que poseen ¿realmente son interesantes?.
    Continuar leyendo...

  • Generar documentos, informes y facturas en formato PDF con JasperReports y Java

    java planeta-codigo

    Para generar documentos PDF sencillos en Java está la librería PDFBox que mediante código permite insertar la información y los elementos del documento. Con PDFBox el documento es generado completamente mediante código, para separar el estilo del documento y la información que contiene y para documentos más complejos está JasperReports que mediante una plantilla hace que si cambia el estilo del documento el código no requiera cambios.
    Continuar leyendo...

  • Buscar en el historial desde la barra de direcciones inteligente de Firefox

    planeta-codigo software

    Los navegadores web guardan un historial de todas las páginas a las que se acceden, además de los marcadores que los usuarios creen. Este historial en Firefox se guarda en orden cronológico pudiendo consultar todas las páginas accedidas en el día actual, el de ayer y anteriores fechas. También es posible realizar búsquedas para encontrar una cierta página. En Firefox al historial se accede desde en menú con la opción Historial > Mostrar todo el historial.
    Continuar leyendo...

  • Comando para convertir imágenes a WebP con menor tamaño desde JPEG y PNG

    gnu-linux planeta-codigo

    Las velocidades de conexión actuales de 100 Mbps y de 600 Mbps en los hogares permiten no darle tanta importancia al tamaño de una imagen y aunque los dispositivos móviles también tienen unas velocidades de conexión rápidas reducir el tamaño de las imágenes puede significar que una página web cargue algo más rápido. El ahorro está en un 30% y 60% lo que en colecciones grandes de imágenes el ahorro es considerable. WebP proporciona un ahorro de tamaño en las imágenes con una calidad similar que jpg y png.
    Continuar leyendo...

  • Nube privada para documentos personales con Nextcloud y OnlyOffice

    planeta-codigo software software-libre

    Empresas como Google ofrecen servicios gratuitos que los usuarios pueden utilizar, algunos de ellos a cambio de entregrarles documentos con información personal con la consiguiente potencial pérdida de privacidad. Algunos de estos servicios son sustituibles con alternativas como Nextcloud y OnlyOffice que permiten a sus usuarios ser dueños de su información ya sea utilizando una Raspberry Pi como servidor que debe ser administrada o incluso en la nube con servicios como DigitalOcean o AWS.
    Continuar leyendo...

  • Implementar un segundo factor de autenticación en una aplicación web Java con Spring

    java planeta-codigo programacion seguridad spring

    El segundo factor de autenticación es una medida adicional en la autenticación que proporciona una notable mayor seguridad que utilizar solo un usuario y contraseña. Utilizando Spring y la aplicación para smatphone Google Authenticator se puede implementar en una aplicación Java el segundo factor de autenticación o 2FA con códigos temporales o TOTP.
    Continuar leyendo...

  • Extraer información del navegador del usuario en el servidor de una aplicación web Java

    java planeta-codigo programacion

    En una aplicación web dependiendo de las características del cliente si es de escritorio, móvil u otro dispositivo y tamaño, lenguaje o dependiendo de la ubicación mediante su dirección IP puede servirse diferente contenido adaptado a las propiedades del cliente. La comprobación desde el navegador se realiza con JavaScript, con la propiedad window.navigator.userAgent se obtienen propiedades básicas del agente del usuario como navegador, versión y plataforma. Con la librería JavaScript Modernizr se obtiene las características que soporta el navegador.
    Continuar leyendo...

  • Rotar los archivos de trazas con log4j por fecha o tamaño

    java planeta-codigo

    La librería log4j 2 es configurable para que si se guardan las trazas en un archivo estos se roten en una fecha indicada en una expresión cron, cuando lleguen a un cierto tamaño o cuando se inicie la aplicación. El rotado además de para archivar las trazas de la aplicación y clasificarlas por fecha sirve para evitar que lleguen a consumir todo el espacio de almacenamiento disponible.
    Continuar leyendo...

  • Interfaz de monitorización e instrumentalización con JMX en aplicaciones Java

    java planeta-codigo programacion

    JMX es una forma sencilla e integrada en la plataforma Java de monitorizar e instrumentalizar ciertas operaciones de funcionamiento interno de la aplicación que no tenga que ver con el ámbito de negocio que resuelve sino en el aspecto técnico. Unos casos de uso son activar una característica de la aplicación mientras la aplicación está funcionando o limpiar una cache de modo que los datos que almacena se actualicen de nuevo de la fuente origen en tiempo real y sin necesidad de reniciarla, cualquier otro realizable con código Java es posible.
    Continuar leyendo...

  • Cambiar la ubicación por defecto de los directorios de usuario en GNU/Linux

    gnu-linux planeta-codigo

    Los directorios de Descargas, Documentos, Música, Imágenes, Vídeos, Escritorio, Plantillas y Público «bien conocidos» por defecto se encuentran en el directorio de inicio o home del usuario, en mi caso sería /home/picodotdev/ o abreviadamente ~/. Por preferencias o necesidad según el usuario, la ubicación de cada uno de estos directorios se puede cambiar individualmente. Por ejemplo, si en la carpeta Documentos, Música e Imágenes se tiene un montón de archivos que ocupan varias decenas de gigabytes que no se usan de forma habitual ni se desea tener en el SSD ocupando espacio la ubicación de estos directorios se puede cambiar por uno que se encuentra en un disco mecánico USB o tarjeta microSD externa.
    Continuar leyendo...

  • Información básica del sistema y entorno de escritorio desde la terminal de GNU/Linux

    gnu-linux planeta-codigo

    Los comandos neofetch y screenfetch permiten obtener una información básica del sistema desde la terminal. Esta información incluye la distribución GNU/Linux que se esté usando, la versión del kernel de Linux, el número de paquetes instalados, que intérprete de comandos se usa y su versión, la resolución de la pantalla, el gestor de ventanas y su tema, la colección de iconos, terminal y fuente de la terminal, CPU, GPU y cantidad de memoria usada y total del sistema.
    Continuar leyendo...

  • Cobertura de código y mutation testing en pruebas unitarias con JaCoCo y PIT en Java

    java planeta-codigo programacion

    En el caso extremo una cobertura de código del cien por cien pero que no tenga ningún assert pasa los teses pero que en realidad no comprueba nada así que por si sola no es garantía de tener teses efectivos. Mutation testing da una medida adicional a la cobertura de los teses más completa y efectiva que simplemente la cobertura de código ejecutado por los teses unitarios.
    Continuar leyendo...