• Comparando la factura entre caldera de gas y termo eléctrico

    Cambié una caldera por un termo eléctrico. Haciendo unas estimaciones previas pensaba que si pero ahora que tengo una factura con el importe completo teniendo la cadera de gas y habiendo llegado otra con un periodo completo con termo eléctrico puedo comparar y comprobar cuales son los importes reales de cada una de las opciones, ¿el importe que pago en la factura con el termo eléctrico será menor?.
    Continuar leyendo...

  • La forma correcta de ordenar alfabéticamente cadenas en Java

    java planeta-codigo programacion

    Sin usar la clase Collator incluida en el JDK al ordenar alfabéticamente una lista de cadenas obtendremos en algún caso un resultado que nos extrañará y seguramente no sea lo esperado. La clase String implementa la interfaz Comprable pero esta ordenación es en base al valor del código unicode sin tener en cuenta los diferentes niveles de diferencias propios del idioma para algunos caracteres de la cadena como tildes o caracteres únicos como la ñ. La forma correcta de ordenar cadenas en Java es utilizando la clase Collator.
    Continuar leyendo...

  • Qué es GraphQL y ejemplo para una interfaz de un servicio con Spring Boot y Java

    java planeta-codigo programacion spring

    GraphQL es una forma alternativa a una interfaz REST para crear una interfaz de un servicio basado en la comunicación utilizando los protocolos web HTTP y JSON como formato de intercambio de datos. Tiene varias ventajas sobre REST al poder realizar varias consultas en una misma petición y devolviendo únicamente los datos que requiera el cliente. Es una especificación y hay una implementación para los lenguajes de programación más populares entre ellos Java. Este artículo es una introducción con un ejemplo completo que muestra cómo se hacen consultas y modificaciones en los datos.
    Continuar leyendo...

  • Consejos para empresas y gente de recursos humanos que busquen talento

    opinion

    En multitud de ocasiones habrás oído consejos a seguir para como candidato a una oferta de trabajo. Desde informarte previamente a la entrevista de trabajo sobre el puesto y la empresa, ser puntual, revisar el curriculum vitae y la carta de presentación para enviarlos sin faltas de ortografía, sobre actitud en la entrevista, … en Infojobs se ofrecen cantidad de ellos. La mayoría son consejos para los aspirantes a un puesto de trabajo y al igual que hay consejos para los candidatos también se me ocurren algunos para las empresas. Aquí algunos que yo sigo para archivar empresas candidatas interesantes para un futurible aún en un momento determinado no estando buscando activamente un nuevo puesto de trabajo.


    Continuar leyendo...

  • Visualizar datos y generar gráficas en Java con JFreeChart

    java planeta-codigo programacion

    Visualizar datos de forma gŕafica ayuda a comprender un conjunto de datos grande mucho mejor que leyendo los valores en una tabla con varias columnas. En Java con la librería JFreeChart podemos generar gráficas de diferentes tipos que podremos incluir en los archivos pdf que generemos en un aplicación o podremos mostrar en forma de imagen en el navegador si se trata de una aplicación web.
    Continuar leyendo...

  • Formas de reducir el código de las clases POJO de Java

    java planeta-codigo programacion

    La clases POJO o beans de Java son clases que en su mayor parte únicamente tiene la definición de sus propiedades. En Java al ser un lenguaje que promueve el ser explícito requiere definir mucho código que aporta poco valor. Cuando el número de estas clases simples es grande el código aún siendo simple se convierte en un problema de mantenimiento. Las librerías Immutables, Lombok y los records de Java incorporados en la versión 14 permite reducir en gran medida esa cantidad de código, mantener la consistencia y adicionalmente proporcionar clases que implementan el patrón Builder.
    Continuar leyendo...

  • Obtener información de la pila de las excepciones

    java planeta-codigo programacion

    Java

    Las excepciones son un mecanismo incorporado en algunos lenguajes como Java para el manejo de errores y condiciones de error. En la implementación de las excepciones en los lenguajes hay diferencias, por ejemplo, en Java hay excepciones checked y unchecked y en lenguajes como C# o Groovy todas las excepciones son consideradas unchecked. En cualquier caso son una mejor forma de forzar a gestionar las condiciones de error que se producen que el comprobar no obligatoriamente el valor de retorno de una función, incluso JavaScript incorpora excepciones.


    Continuar leyendo...

  • Las excepciones para gestionar errores en Java

    java planeta-codigo programacion

    Java

    En la ejecución de los programas se pueden producir numerosas condiciones de error, algunas condiciones son un dato con un formato inesperado como una letra cuando se espera un número o fallos en la entrada o salida al trabajar con archivos o comunicación por red si un archivo que se quiere utilizar en realidad no existe en el sistema de archivos o el servidor no está disponible en la comunicación por red, estos son solo unos pocos ejemplo de errores posibles en un programa. Pero hay muchas otras condiciones de error que se puedan producir para las que un programa ha de estar preparado.


    Continuar leyendo...

  • Obtener el mínimo o máximo de dos, una lista o stream de valores en Java

    java planeta-codigo programacion

    Java

    Si tenemos dos valores y queremos obtener el menor con una línea de código, podemos obtenerlo con un a sentencia if o con el operador condicional ? :. Si queremos obtener el menor de tres valores con sentencias if o el operador ? : el problema aparentemente sencillo se complica y si optamos por usar una lista de valores tratándola como si el tamaño fuese desconocido quizá usemos un bucle for junto con una variable que mantenga el menor valor encontrado hasta el momento usando un if que compare el valor menor encontrado con el valor actual de la lista.


    Continuar leyendo...

  • Ejemplo con el cliente HTTP/2 de Java

    java planeta-codigo programacion

    Java

    Otra de las nuevas funcionalidades incluidas en Java 9 aunque en modo incubación e incorporado en Java 11 de forma estable es el cliente con soporte para HTTP/2 para realizar peticiones a recursos usando este protocolo más eficiente y rápido. Al mismo tiempo se ha simplificado el código necesario para realizar una petición y obtener el resultado de una URL. También se ha añadido la funcionalidad de realizar peticiones asíncronas y creación de conexiones de WebSockets.


    Continuar leyendo...

  • Evitar niveles de anidación de sentencias condicionales con guard clauses

    java planeta-codigo programacion

    Java

    Al escribir el código de un método es habitual hacer algunas comprobaciones sobre los parámetros, por ejemplo, para comprobar que el parámetro tiene una referencia, si es nulo o cumple alguna condición, si es una lista que no esté vacía o para validar mediante alguna otra regla. Estas validaciones o aserciones se realizan al inicio del método con sentencias if que añaden un nivel de tabulación al código si se anidan. Estos niveles de tabulación con sentencias if anidadas hacen poco legible el código.


    Continuar leyendo...

  • La triste realidad de Java, versiones antiguas

    java planeta-codigo opinion

    Java

    Algunos desarrolladores que utilizan el lenguaje de programación Java desearían que el tiempo que pasa entre publicación de una nueva versión y la siguiente fuese menor. Las nuevas versiones incorporan modificaciones en el lenguaje y en la API que facilitan el trabajo de los desarrolladores haciendo que escriban menos líneas de código, haciendo que el código fuente sea más legible que al final redunda en software con menos bugs, con más funcionalidades, un tiempo de desarrollo menor y con menos costes.


    Continuar leyendo...

  • JShell la herramienta REPL incorporada en Java 9

    java planeta-codigo programacion

    Java

    Una de las novedades de Java 9 es la incorporación de una herramienta Read-Evaluation-Print-Loop o REPL similar a las disponibles en otros lenguajes dinámicos para permitir evaluar pequeños ejemplos de código, hacer pruebas o como herramienta para alguien que esté aprendiendo a programar sin la necesidad de utilizar un entorno integrado de desarrollo, una herramienta de construcción y los varios archivos y comandos necesarios para compilar y ejecutar el código Java.


    Continuar leyendo...