• Novedades de Java 19

    java planeta-codigo

    Las versiones de Java más confiables por su soporte extendido son las LTS, las no LTS dan la oportunidad de probar e ir adaptándose a las novedades que se publicarán de forma definitiva en las LTS. Por ello las empresas seguramente prefieran ir cambiando de versiones de LTS a LTS, los usuarios y desarrolladores a nivel individual o las empresas que alguna novedad supone un cambio importante opten por usar una no LTS. La versión de Java 19 es una no LTS pero incorpora una novedad muy importante aún en vista previa, los virtual threads que permitirán a las aplicaciones pasar de usar miles a millones de threads y usar programación estructurada más sencilla en vez de programación asíncrona o concurrente para resolver problemas de concurrencia.
    Continuar leyendo...

  • Análisis del juego espacial de combates por turnos Spaceland

    juegos

    Spaceland es un juego sencillo y simple pero con todas las mecánicas del género de juegos de combates por turnos y de estrategia. Varios tipos de personajes cada uno con unas armas y habilidades únicas, varios tipos de enemigos, un pequeño árbol de habilidades, 28 misiones algunas de supervivencia y 3 jefes junto a una pequeña historia que hace de hilo conductor entre las misiones. Al ser un juego indie se nota que es más simple y menos elaborado que otros juegos similares triple A como XCOM 2 o Wasteland 3 pero que proporciona la misma diversión a los jugadores que les gusta este tipo de juegos.
    Continuar leyendo...

  • Cómo refrescar el access token de un cliente OAuth cuando caduca

    java planeta-codigo

    Dado que el protocolo HTTP es un protocolo sin estado los access token se envían en cada petición que se hace al endpoint de un recurso ofrecido por una aplicación mediante una interfaz REST. Para limitar el periodo de que un access tokens sea utilizable en caso de ser filtrado estos se crean con un tiempo de vida corto, los clientes para seguir realizando peticiones han de solicitar al servidor de autorización un nuevo access token. La librería OkHttp permite realizar la renovación de forma transparente para el cliente y en el código donde se usa.
    Continuar leyendo...

  • Introducción al protocolo OAuth 2 para delegar la autorización

    planeta-codigo programacion

    El protocolo OAuth es un protocolo en el ámbito de la seguridad que permite que el dueño de los recursos conceda permisos a un cliente sin necesidad de compartir las credenciales, el servidor de recursos unicamente necesita un token que certifique el cliente tiene permisos para acceder a los recursos, el token es emitido por el servidor de autorización en el que el usuario se autentica y en el que servidor de recursos confía en los tokens de autorización que emite. Gracias a la flexibilidad del protocolo OAuth y estar basado en la ubicuidad del protocolo HTTP este es el mecanismo de autorización adoptado predominantemente en la web por los diferentes servicios que ofrecen sus APIs mediante REST sin limitarse a este tipo de APIs. OAuth se compone de varias especificaciones que permiten delegar la autorización, OpenID Connect construido sobre OAuth proporciona otro aspecto de la seguridad, la autenticación.
    Continuar leyendo...

  • Análisis del juego de la aventura galáctica Ratchet & Clank

    juegos

    El juego Ratchet & Clank es un juego icónico de las consolas PlayStation, la versión para la PS4 es un buen juego que entretiene con una historia sencilla de los típicos villanos junto a unos muy buenos gráficos. Un juego para todos los públicos que quizá a parte del público más adulto no sea un juego que les emocione tanto como otros juegos de la generación de la PS4.
    Continuar leyendo...

  • Desempaquetado y análisis de la interfaz de audio Maonocaster E2

    hardware

    Para grabar contenido de audio un micrófono es esencial para un audio de calidad, una interfaz de audio no es imprescindible pero si muy recomendable. Las interfaces de audio son un dispositivo hardware capaz de realizar varias funciones. Entre las ventajas de una interfaz de audio están que proporciona un gran número de conexiones que una computadora no suele tener, mezcla el audio de varias fuentes, permite aplicar algunos efectos básicos pero muy útiles y permite realizar grabaciones sin necesidad de un ordenador. En este artículo realizo el desempaquetado y análisis de la interfaz de audio Maonocaster E2 que tiene un conjunto de características y funciones que cubren las necesidades de la mayoría de usuarios que realizan grabaciones por afición, algunos con resultados casi profesionales en el contenido que crean, e incluso es capaz e cubrir las necesidades a nivel profesional, todo con un precio económico para lo que proporciona.
    Continuar leyendo...

  • Prueba de velocidad de unidad de almacenamiento en GNU/Linux

    gnu-linux hardware

    En un dispositivo de almacenamiento hay que tener en cuenta el tipo de la interfaz del dispositivo que determina la tasa de transferencia máxima teórica, el tipo de almacenamiento que determina en qué rangos de tasa de transferencia ofrecen la mayoría de dispositivos, el dispositivo en concreto que dependiendo del fabricante y calidad determina en qué parte del rango está la tasa de transferencia el modelo usado, la capacidad de almacenamiento y finalmente el precio que está en función de todo lo anterior.
    Continuar leyendo...

  • Ejemplo de patrón Builder para las clases Record de Java

    java planeta-codigo

    Java se ha caracterizado por ser un lenguaje verboso y necesitar declarar todo de forma explícita, esto tiene la ventaja de que el código es muy explícito sin apenas convenciones que es necesario conocer para saber cómo se comporta el código. Por el contrario esta verbosidad requiere declarar gran cantidad de código que se hace repetitivo en muchas clases. Los Records de Java 16 permite declarar clases de datos en muy pocas líneas de código, esto lo consiguen introduciendo algunas convenciones que son de uso común en el lenguaje. Un aspecto que no resuelven los Records es el crear clases Builder que son una necesidad asociada para esas clases de datos.
    Continuar leyendo...

  • Análisis del juego con combates épicos God of War

    juegos

    Haber llegado tarde a la generación de PS4 hace que tenga disponible la totalidad del catálogo de PS4. Estoy jugando a muchos de los mejores juegos de la PS4 y del God of War me esperaba un buen juego pero me ha sorprendido por ser mucho mejor de lo que pensaba en historia, mundo y mitología, combates, habilidades, diálogos, puzzles, coleccionables, … Muy completo.
    Continuar leyendo...

  • Opciones de arquitectura para emitir trazas en una aplicación Java

    java planeta-codigo programacion

    Incluso para emitir trazas que en principio es algo sencillo y que se da por hecho surgen varias opciones de arquitectura o diseño. Dos de esas decisiones son acoplarse o no a la librería de logging que se use e inyectar de forma estática o por el constructor la instancia de la clase con la que se emiten trazas. Estas decisiones conviene recogerlas en un documento de Architecture Decision Record por si en un futuro hay que revisar las decisiones tomadas con anterioridad o para que una persona en un futuro tenga el contexto y un registro de las decisiones que se han tomado, el contexto, opciones evaluadas, argumentos y decisiones tomadas.
    Continuar leyendo...

  • Desempaquetado y análisis del micrófono MAONO HD300T

    hardware

    El MAONO HD300T es un micrófono dinámico cardioide muy polivalente gracias a sus múltiples conexiones tanto USB, XLR como jack 3.5mm que incluye además en su contenido cables, una peana con soporte antigolpes y un filtro pop. Ofrece el conjunto completo básico para la captura de audio ya sea vocal o instrumental con fin de crear contenido en video blogs, un canal de YouTube, realizar streaming de juegos, contenido en tiempo real o para ser usado en programas de videoconferencia. Un micrófono más que suficiente para un ámbito de usuario, una calidad de audio muy superior a un micrófono interno de un portátil y muy completo con precio muy atractivo que hace de él una adquisición recomendable.
    Continuar leyendo...

  • Interfaz web para JMX con Hawtio

    java planeta-codigo

    Una cosa es la funcionalidad que proporciona una aplicación y otra las tareas de administración y mantenimiento relacionas con la aplicación. Estas tareas de administración y mantenimiento no son tareas destinadas a los usuarios sino destinadas a los administradores de la aplicación. Estas tareas pueden ser manuales y ejecutadas a conveniencia siendo muy útil poder ejecutarlas sin necesidad de realizar cambios en el código ni un despliegue de la aplicación. La tecnología JMX de Java define una arquitectura para administrar y monitorizar aplicaciones que se puede utilizar para estas tareas administrativas, Hawtio es una interfaz que permite el acceso y ejecución a JMX mediante un navegador y proporciona una librería para integrase con Spring Boot.
    Continuar leyendo...

  • Generar releases de un proyecto Java con Gradle

    java planeta-codigo

    Utilizar las etiquetas de las herramientas de control de versiones permite conservar ciertos hitos o commits importantes para consultarlos en el futuro. Generar una versión de un proyecto suele implicar generar una etiqueta en la herramienta de control de versiones. Dado que la generación de nuevas versiones es parte del ciclo de vida de un proyecto hay plugins tanto para Maven como para Gradle que ofrecen como funcionalidad automatizar esta proceso.
    Continuar leyendo...

  • Hemeroteca #21

    blog planeta-codigo

    En el resumen de este semestre en Blog Bitix está el haber colaborado con una marca de teclados mecánicos con varios artículos promocionados la primera de este tipo en el blog. He añadido la plataforma publicitaria que hasta el momento va a suponer los ingresos del blog. En cuanto a alis un nuevo diseño para su página web y unos pocos cambios con mejoras en el script. Por la parte de artículos del blog he estado publicado habitualmente un único artículo en vez de dos como en otras épocas pasadas, unos 25 artículos únicos y originales más y van ya más de 600.
    Continuar leyendo...

  • Personalizar el símbolo del sistema de la línea de comandos con Starship

    gnu-linux planeta-codigo

    El símbolo del sistema o prompt en la línea de comandos de la terminal precede a la introducción del comando a ejecutar. Los intérpretes de comandos o shells ofrecen un símbolo del sistema por defecto que muestran cierta información y con el formato que sus desarrolladores han elegido. Además de que cada intérprete de comandos tenga uno propio estos son bastante limitados en cuanto a personalización además de utilizar una configuración poco intuitiva. Starship es un personalizador del símbolo del sistema independiente del intérprete de comandos, que ofrece una gran cantidad de módulos para personalizar el símbolo del sistema según el directorio de trabajo actual y cuya configuración es muy intuitiva y está bien documentada.
    Continuar leyendo...