• Hemeroteca #12

    blog java planeta-codigo programacion software software-libre tapestry gnu-linux

    Cuarto año de Blog Bitix y en febrero serán ocho desde que empecé con El blog del pico.dev. En los últimos seis meses he seguido publicando casi a dos artículos por semana y durante el 2017 ha sido casi siempre así, en este semestre han sido 48 artículos, que juntos con los 39 del primero son 87 durante el año 2017, mi mayor tasa de publicación en un año. En estas hemerotecas siempre repaso cual es la evolución de visitas e ingresos de AdSense que quizá a alguien más le resulte de interés.
    Continuar leyendo...

  • GitLab, la completa herramienta integrada para desarrollo de software

    planeta-codigo software software-libre

    Al desarrollar software una herramienta de control de versiones como Git y otras como un gestor de peticiones, una herramienta de integración continua o despliegue contínuo o una wiki para documentación son necesarias. Hay productos específicos para cada uno de ellos pero GitLab proporciona en una único producto todas estas facilitando su instalación y administración estando integradas en el mismo producto.
    Continuar leyendo...

  • Como eliminar metainformación de las fotos en GNU/Linux

    gnu-linux planeta-codigo software-libre

    En los archivos de las fotos e imágenes además de su información visual gráfica, los millones de píxeles, se guarda información adicional relacionada con la misma, por ejemplo, con que modelo de cámara se realizó, la fecha y la hora a la que se realizó, e incluso la localización si la cámara dispone de GPS u otro medio de ubicación como posicionamiento mediante la red de datos móvil o WIFI.
    Continuar leyendo...

  • 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

    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.
    Continuar leyendo...

  • Definir nuevos tipos de datos escalares en GraphQL

    java planeta-codigo programacion

    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

    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.
    Continuar leyendo...

  • Consultas con parámetros para filtrar datos en GraphQL

    java planeta-codigo programacion

    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.
    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. Incluídos 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

    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.
    Continuar leyendo...

  • Devolver mensajes de error descriptivos en GraphQL

    java planeta-codigo programacion

    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.
    Continuar leyendo...

  • Me cambio a la eléctrica Holaluz

    desempaquetado-otros 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...