• Cambiar y personalizar los estilos de la documentación Javadoc

    java planeta-codigo programacion

    Java

    La documentación generada por la herramienta Javadoc se puede adaptar a las necesidades propias ya que tiene mecanismos para extenderla. Crear un taglet propio es una forma pero también se pueden modificar los estilos aplicados al HTML generado, por ejemplo, para adaptar el Javadoc a los colores de la organización o para incluir un logotipo en la cabecera o un texto en el pie de página.

    El comando javadoc con el que se genera la documentación posee opciones para modificar la cabecera, el pie de página o usar una hoja de estilos propia. Estas opciones son -header, -footer y -stylesheetfile. Un punto de partida para modificar los estilos es usar la hoja de estilos generada por defecto, realizar en ella las modificaciones oportunas y finalmente indicar que se use con el opción -stylesheetfile.


    Continuar leyendo...

  • Crear anotaciones de Javadoc personalizadas con taglets

    java planeta-codigo programacion

    Java

    La herramienta de documentación es Javadoc de Java permite a partir del código fuente de un programa o librería generar un conjunto de documentos en formato HTML enlazados entre si consultables con un navegador web y accesibles desde internet si son accesibles con un servidor web. La documentación se genera a partir de las clases y métodos del código fuente y también a partir de los comentarios de las clases y métodos.


    Continuar leyendo...

  • Cómo generar la documentación Javadoc con Gradle

    java planeta-codigo programacion

    Java

    Habiendo explicado qué es la herramienta Javadoc, y en otros artículos como crear taglets para incluirlos en los comentarios y generar contenido con los mecanismos de extensión que ofrece y explicado como cambiar los estilos que se usan por defecto en el Javadoc para por ejemplo cambiar los colores según la organización o incluir un texto de derechos de autor en el pie de página, hay que generar la documentación javadoc usando la herramienta de construcción que usemos. En este artículo muestro como generar la documentación javadoc con Gradle.


    Continuar leyendo...

  • La herramienta de documentación Javadoc de Java

    java planeta-codigo programacion

    Java

    Programar y desarrollar requiere además de poseer diversos conocimientos disponer de una buena documentación de consulta y referencia. Una de las cosas buenas que me gustaron de Java cuando empecé a programar en este lenguaje, cuando aún estaba lejos de tener internet y aún me lo sigue pareciendo, fue su documentación Javadoc de toda la API de clases incluidas en el JDK.

    La documentación Javadoc es una colección de páginas HTML de todas las clases, métodos, parámetros y retornos junto con la información y especificaciones que quiera incluir el desarrollador de la API que en el caso de las clases de JDK incluye abundantes e interesantes detalles de implementación a tener en cuenta al usar las clases. El Javadoc es también es una herramienta de línea de comandos que permite generar la colección de páginas HTML a partir del código fuente Java.


    Continuar leyendo...

  • Los tipos de referencias débiles soft, weak y phantom en Java

    java planeta-codigo programacion

    Java

    Cuando un objeto ya no es alcanzable a través de ninguna referencia directa o cadena de referencias fuertes el objeto es seleccionable para reclamar su memoria y el recolector de basura o garbage collector de Java lo hace cuando estima oportuno, liberándonos a los programadores de esta tarea, simplificando el código y evitando fugas de memoria. El lenguaje Java le debe al recolector de basura entre otras varias cosas una buena parte de su éxito.


    Continuar leyendo...

  • Los cuantificadores greedy, reluctant y possessive en expresiones regulares

    java planeta-codigo programacion

    En el mundo de las expresiones regulares hay tres tipos de cuantificadores que varían el comportamiento según el número caracteres que toman para encontrar ocurrencias. Son greedy o avaricioso, reluctant o reacio y possessive o posesivo. Cada cuantificador tiene una expresión en una expresión regular. La opción más habitual es el cuantificador greedy, añadiendo una ? se convierte en reluctant y añadiendo un + se convierte en possessive.

    Greedy  Reluctant  Possessive  Significado
    X?      X??        X?+         X, uno o ninguno
    X*      X*?        X*+         X, cero o mas
    X+      X+?        X++         X, uno o más
    X{n}    X{n}?      X{n}+       X, exactamente n veces
    X{n,}   X{n,}?     X{n,}+      X, al menos n veces
    X{n,m}  X{n,m}?    X{n,m}+     X, al menos n veces pero no mas de m
    

    Aparentemente cada uno de los cuantificadores realiza lo mismo, sin embargo, hay diferencias en su comportamiento al hacer emparejamientos entre los elementos de la expresión regular y la cadena en la que se está aplicando.


    Continuar leyendo...

  • Cómo seleccionar y hacer germinar facilmente semillas de roble

    fuera-de-tema

    Las semillas de roble son sencillas de hacer germinar, básicamente lo único que necesitan es humedad durante unas semanas. Puede emplearse algodón u otro material que haga que la bellota permanezca húmeda. En el caso de querer hacer germinar muchas bellotas el algodón en mis pruebas no es lo más adecuado por tener que gastar este elemento y no ofrecer el mejor resultado. No hace falta más que una simple bolsa de plástico cerrada con algo de agua sin que las belletas esten encharcadas pero si húmedas es suficiente y da muy buen resultado.
    Continuar leyendo...

  • Cache simple de datos y con Ehcache en Java

    java planeta-codigo programacion

    Java

    En ocasiones es necesario usar una cache que contenga un número de elementos hasta un límite y que cuando se vayan añadiendo más se vayan borrando otros según algún criterio. En Java si no queremos añadir una nueva dependencia al proyecto con una librería especializada como Ehcache la clase LinkedHashMap sirve para aquellos casos de uso simples sin necesidad de dependencias adicionales.

    Si el coste de obtener algunos datos es costoso ya sean porque hay que obtenerlos de una base de datos, mediante una operación de disco o red o hay que hacer algún cálculo sobre ellos en estos casos guardar los datos en una cache supondrá un aumento notable de rendimiento de mayor o menor medida según el coste de la operación que evita la cache. Usar una cache es viable si es posible usar datos no completamente actualizados y dedicar algo de espacio en memoria para la cache. Si en la mayor parte de las búsquedas que se hacen en la cache el elemento buscado está ya presente se considera un acierto o hit y si no está presente un fallo o miss, cuando mayor sea el número de aciertos en la cache mayor será el aumento rendimiento percibido.


    Continuar leyendo...

  • 37 buenos libros sobre sobre Java, Linux, DevOps y desarrollo que he leído

    blog gnu-linux java planeta-codigo programacion

    Con el buscador Google y usando las palabras clave adecuadas es raro no encontrar información sobre aquello que estemos buscando. Pero en internet la información suele estar muy dispersa y en cada sitio la información no es completa y con profundidad, internet esta muy bien como apoyo o para precisar una determinada cuestión. Sin embargo, los libros siguen siendo un buen material de aprendizaje, entre sus ventajas está que la información está mejor organizada con una estructura más didáctica y dependiendo del libro el tema tratado es explicado con profundidad. Desde el 2014 son unos cuantos libros más los que he leído.
    Continuar leyendo...

  • El antipatrón de inicialización de variables con dobles llaves en Java

    java planeta-codigo programacion

    Java

    Java es un lenguaje más verboso y con menos azúcar sintáctico (o veneno para ratas, según se mire) que otros lenguajes. Esto hace que por ejemplo para declarar e inicializar objetos tan comunes en un programa de tipo Map, List o Set que contengan un número fijo de elementos haya que escribir varias líneas de código. Estas clases de estructuras de datos del grupo de colecciones son de las más usadas en una aplicación Java. A la fecha de escribir este artículo Java no soporta literales para las colecciones que reduzca las lineas de código para inicializarlas y mejore la legibilidad del código aunque en versiones recientes si se han incorporado métodos de utilidad que cubren el requerimiento.


    Continuar leyendo...

  • Sustituir caldera de gas por un termo eléctrico Fleck Duo 7 50

    Tener una caldera es cara, bien por el coste fijo del gas tanto por el alquiler del contador como por el precio de la disponibilidad pero también por las revisiones obligatorias que hay que hacerles por motivos de seguridad. Con motivo de que me tocaba hacer la revisión de la caldera me he decidido a hacer la sustitución por un termo eléctrico, finalmente elegí un Fleck Duo 7 de 50 litros.
    Continuar leyendo...

  • La búsqueda de ejemplares de roble común

    fuera-de-tema

    Quercus Robur

    Hace ya mucho tiempo de pequeño planté alguna semilla de manzana por curiosidad para ver si germinaba, y sí germinó, pero al cabo de unos meses por desconocimiento de la forma de como cuidar una planta, excesivo riego o tierra no adecuada el retoño de manzano pereció. También planté alguna bellota de algún tipo de roble que alguno de mis hermanos trajo a casa, y sí germinó, y al igual que el manzano duró unos cuantos meses pero sucumbió de la misma forma.


    Continuar leyendo...

  • Desempaquetado maletín herramientas Mannesmann y bandejas melamina Balvi

    Tener en casa un pequeño conjunto de herramientas es necesario para realizar pequeñas tareas domésticas, desde quitar un grifo a atornillar algún elemento. Buscando en el gran catálogo del que dispone Amazon en su web quería uno que fuese bastante completo sin ser muy caro y aunque no fuese de calidad profesional cumpliese con las tarea. Hay muchos modelos pero me fijé en uno de Mannesmann modelo M29085. También necesitaba unas bandejas para la cocina y salón.


    Continuar leyendo...