• Introducción a la programación funcional con Java y la librería Vavr

    java planeta-codigo programacion

    Ciertas propiedades de la programación funcional fueron una de las características más destacadas añadidas a Java 8. La librería Javaslang y más tarde renombrada a Vavr basándose en estas nueva características añade algunas otras que no están incluidas en el propio JDK y están presentes en otros lenguajes más recientes y con programación funcional desde sus inicios. En esta breve introducción a la librería Vavr comentaré cuales son las propiedades que proporciona para simplificar algunas aspectos de la tarea de programación.
    Continuar leyendo...

  • Películas sobre tecnología o informática, series, documentales, vídeos, libros, GNU/Linux y software libre

    gnu-linux planeta-codigo

    Si estás interesado en la tecnología, informática en general y en el software libre, código abierto y GNU/Linux estoy más que seguro que las siguientes listas de películas, series, documentales y libros te gustarán bastante. Probablemente algunas ya hayas visto pero otra quizá no conocías o aún no has visto y este artículo te anima a ver. En el momento de escribir esto aún no he visto todo el contenido de este artículo pero con esta lista lo tengo anotado y pendiente de ver.


    Continuar leyendo...

  • El buscador que respeta tu privacidad, DuckDuckGo

    planeta-codigo

    DuckDuckGo

    En la WWW o simplemente en la web hay una cantidad ingente de información y conocimiento distribuido entre los millones de computadoras interconectados por internet. La creación de la WWW por Tim_Berners-Lee en 1989, hace no tanto, y su crecimiento exponencial desde entonces ha hecho que se haya convertido en uno de los recipientes de conocimiento más importantes de la humanidad. La información o conocimiento está ahí, la dificultad radica en que buscar y como encontrarla. Para atender a la necesidad de encontrar la información se han creado los buscadores, a día de hoy el más popular es Google pero hay otros como Bing, Yahoo o con cierta popularidad en algunas regiones como Yandex en Rusia o Baidu en China.


    Continuar leyendo...

  • Definir nuevos tipos de datos escalares en GraphQL

    java planeta-codigo programacion

    GraphQL

    GraphQL es una alternativa a una interfaz REST con las ventajas de permitir al consumidor obtener únicamente los datos que requiere y realizar varias consultas en una misma petición.

    GraphQL por defecto soporta un conjunto de tipos escalares en los datos entre los que están varios numéricos, cadenas, booleanos, enumerados además de los tipos o estructuras de datos definidos en la interfaz del servicio. Sin embargo, si es necesario es posible definir nuevos tipos de datos escalares como podría ser el caso de un tipo de dato para representar una fecha y otro de importe monetario.


    Continuar leyendo...

  • Paginación usando cursores en GraphQL y Java

    java planeta-codigo programacion

    GraphQL

    El conjunto de datos de una entidad en algunos casos será grande, miles o cientos de miles de registros, y por tanto no es viable devolverlos todos en una misma consulta por lo que es necesario realizar paginación devolviéndolos en pequeños grupos. La paginación se puede implementar de varias formas, habitualmente con un parámetro que limite el número de elementos a incluir en la página y otro parámetro offset que deseche los primeros elementos hasta el primero deseado. Sin embargo, utilizar los parámetros limit y offset puede producir resultados inesperados si mientras la obtención de una página y la siguiente se insertan nuevos elementos anteriores al offset ocasionando que lo que sería por ejemplo el décimo elemento pase a ser el undécimo.


    Continuar leyendo...

  • Consultas con parámetros para filtrar datos en GraphQL

    java planeta-codigo programacion

    GraphQL

    No será extraño que en una API para obtener datos esté la necesidad de realizar algún tipo de filtrado para recuperar únicamente la colección de datos deseados de todos los existentes en un repositorio. A las consultas de GraphQL se les pueden pasar argumentos que son recibidos por los métodos que actúan como punto de entrada de las consultas. Con los argumentos es posible implementar cualquier funcionalidad que se necesite, entre ellas el filtrado. Los argumentos pueden ser datos escalares o más complejos que se definen con la palabra reservada input en el esquema.


    Continuar leyendo...

  • 8+ ideas de productos tecnológicos para comprar o regalar

    Los productos de tecnología de consumo son regalos siempre bien recibidos por las posibilidades y el entretenimiento que proporcionan. Son productos de tecnología pero permiten disfrutar de otras aficiones y en algunos casos de varias con un mismo dispositivo, desde la fotografía con un smartphone con buena cámara fotográfica que no tienen mucho que envidiar a cámaras específicas para un usuario aficionado, los juegos de móvil, comunicaciones y redes sociales, smart tv para disfrutar de películas de cine y series en gran calidad de sonido e imagen en pantallas grandes, libros electrónicos para la lectura y consolas para los juegos. Incluidos los ordenadores y portátiles que también permiten hacer un poco de todo lo anterior además de para el estudio y trabajo.
    Continuar leyendo...

  • Usar un resolver para recuperar propiedades en GraphQL

    java planeta-codigo programacion

    GraphQL

    Cuando en una consulta de GraphQL se indican las propiedades a devolver GraphQL usa para cada una de ellas lo que en la implementación de Java se llama un resolver y en otras implementaciones data fetcher. En la mayoría de casos las propiedades serán propiedades de un objeto y en estos casos se usará un PropertyDataFetcher usando en Java la convención de los java beans o la clave de un mapa. En el caso de que cierto dato no esté almacenado en el objeto sino en un repositorio externo es necesario usar un resolver para devolver esa propiedad en la consulta.


    Continuar leyendo...

  • Devolver mensajes de error descriptivos en GraphQL

    java planeta-codigo programacion

    GraphQL

    Por defecto GraphQL devuelve errores con mensajes descriptivos para los errores del cliente como son los errores de sintaxis en la sentencia de consulta o mutación, en el caso de que el campo solicitado no exista o no se ha indicado ninguno. En el caso de Java si se lanza una excepción en la clase repositorio que guarda los datos o en la lógica de negocio y no se captura GraphQL indicará que se ha producido un error interno en el servidor. Esto no es muy descriptivo y es mejor indicar errores más útiles para el usuario de la API como podría ser que no se tienen permisos para realizar la modificación o el error que se ha producido al validar los datos y por los que la operación no se ha completado.


    Continuar leyendo...

  • Me cambio a la eléctrica Holaluz

    opinion

    Como consumidor y como todo el mundo trato de elegir compañías que ofrezcan buen precio en sus servicios pero también que me traten con respeto, no me hacen falta descuentos promocionales ni regalos. Este fue el caso de elegir Pepephone como proveedor de internet y en este artículo el caso de elegir Holaluz como compañía eléctrica.
    Continuar leyendo...

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