• Análisis del maravilloso juego horrible The Last of Us

    juegos

    Algunos juegos están enfocados a la parte de habilidad y acción con la única intención de proporcionar diversion. Otros independiente de la calidad gráfica que es muy notable en la actualidad pueden ser vistos como una forma de obra de arte al mismo nivel que una novela, una película, una canción o música, un cómic, un cuadro u otras formas de arte. Los juegos tienen varios de estas formas de arte como una historia, imágenes, secuencias cinemáticas o una banda sonora que en conjunto forman la obra. El juego The Last of Us sin lugar a dudas entra perfectamente en la categoría de obra de arte siendo uno de los mejores juegos no solo de la generación para la PS3 y PS4. Un juego con una maravillosa historia al mismo tiempo que horrible.
    Continuar leyendo...

  • Razones para cambiar a GNU/Linux en vez usar Windows y macOS

    gnu-linux planeta-codigo

    GNU/Linux no te obliga a actualizaciones forzosas aplicadas en un momento inapropiado, tiene una licencia libre mayoritariamente gratuito al igual que sus aplicaciones disponibles para cualquier propósito y finalidad, los juegos triple A son jugables a través de Steam, es tan o más seguro que cualquier otra opción y respeta mejor la privacidad de los usuarios, es apto para ordenadores que se convierten incompatibles con otros sistemas operativos por sus nuevas versiones, altamente personalizable según las preferencias del usuario, es una buena opción para los desarrolladores y profesionales, la mayoría del hardware común no requiere instalar controladores adicionales y tiene una comunidad que aunque pequeña parece más grande por ser muy activa y colaborativa. Finalmente, es posible probarlo antes de instalarlo para estar convencido del cambio.
    Continuar leyendo...

  • Sincronización de hora automática con el protocolo NTP en GNU/Linux

    gnu-linux planeta-codigo

    Muchos dispositivos electrónicos entre ellos las computadoras tienen un reloj interno que continúa funcionando aún estando apagados y desconectados de la red electrica gracias a una batería en forma de pila de botón. La fecha y la hora permiten conocer cuando se modifica un documento pero también otros procesos más importantes que también dependen del tiempo como el segundo factor de autenticación y los códigos temporales basados en el tiempo. Los relojes internos usados en las computadoras son bastante imprecisos y se adelantan o retrasan con respecto a la hora oficial, algunos dispositivos electrónicos ni siquiera tienen el hardware de un reloj interno. El protocolo Network Time Protocol o NTP permite a las computadoras obtener la hora de un servidor que ofrezca este servicio de forma regular para evitar diferencias significativas, algunos de estos servidores están respaldados por una organización gubernamental que ofrecen la medida del tiempo oficial de un país y que poseen relojes atómicos mucho más precisos.
    Continuar leyendo...

  • Escapar símbolos especiales en una expresión regular en Java

    java planeta-codigo

    Las expresiones regulares son cadenas formados por una serie de caracteres y combinación de ellos que se interpretan de forma especial. Las expresiones regulares permiten expresar mediante un patrón ocurrencias en una cadena, permiten encontrar coincidencias y validar que una cadena cumple el patrón de la expresión regular. El patrón de las expresiones regulares . Así el caracter ^ en una expresión regular indica el inicio de la cadena, $ el final, el .
    Continuar leyendo...

  • Contenedores en macOS con Lima y minikube

    gnu-linux planeta-codigo apple

    Para ejecutar contenedores en macOS hay dos opciones entre las posibles, una usar minikube que aunque su objetivo es ejecutar un cluster de Kubernetes permite usarlo para ejecutar contenedores de Docker directamente, la segunda opción es lime que es una opción similar que usa containerd en vez de Docker. La empresa encargada del desarrollo de Docker ha anunciado que el producto Docker Desktop pasa a requerir una licencia de pago para organizaciones empresariales grandes. Docker Desktop es usado tanto en Windows como en macOS para ejecutar contenedores de Docker con la opción también de ejecutar un cluster de Kubernetes, minikube y lima para macOS son una alternativa a Docker Desktop.
    Continuar leyendo...

  • Planificar procesos periódicos y scripts con Nomad

    gnu-linux planeta-codigo

    Los pequeños scripts aún con su pequeña función específica, sus pocas líneas de código y breves instantes de ejecución limitados a segundos, minutos u pocas horas al día o a la semana realizan tareas importantes dentro de todas las tares de las que se compone un sistema computacional completo. Al igual que cualquier otro proceso requieren de un entorno de ejecución pero dada su naturaleza breve hace que dedicar una máquina reservada que estará infrautilizada en exclusiva para ellos sea ineficiente además de un coste en la infraestructura. En vez de dedicar una máquina en exclusiva para uno o unos pocos scripts el orquestador de procesos Nomad permite planificarlos en alguna de las instancias de computación existentes del cluster ya sea como procesos del sistema o dentro de contenedores.
    Continuar leyendo...

  • El proxy inverso Traefik, características y funcionalidades que ofrece

    gnu-linux planeta-codigo software-libre

    Un proxy inverso oculta la complejidad de los servicios para los que hace de intermediario. Al situarse como intermediario el proxy inverso es capaz de proporcionar funcionalidades adicionales como balanceo de carga, limitar el número de peticiones por unidad de tiempo, duplicar peticiones o realizar la autenticación entre otras funciones. Traefik es un proxy inverso diseñado para los entornos cloud dinámicos soportando autoconfigurarción a partir de varios proveedores de registro y descubrimiento de servicios como Consul o Docker, también se integra con herramientas para la observabilidad como Prometheus para métricas y Zipkin y Elastic para trazabilidad y registro de trazas.
    Continuar leyendo...

  • Novedades y nuevas características de Java 17

    java planeta-codigo

    La versión Java 17 sucede a Java 11 como versión LTS, por ello es una versión más importante que las no LTS anteriores. Incorpora todas las mejoras incluidas en todas las no LTS previas más otras adicionales dede Java 16 publicada seis meses antes. Como versión LTS ofrece un soporte de correcciones de errores, fallos y alertas de seguridad por un periodo de cinco años hasta septiembre de 2026 más un periodo adicional de tres años hasta 2029. La versión 6 del framework de Spring y Spring Boot 3 se tendrán como requisito mínimo Java 17 y Jakarta 9.
    Continuar leyendo...

  • Añadir un mapa cartográfico con JavaScript, Leaflet y OpenStreetMap a una página web

    planeta-codigo web

    Google Maps es un servicio de mapas cartográficos de Google que permite consultar mapas directamente desde la página de Google pero también insertarlo en páginas de terceros. En el caso de insertar mapas en una página de terceros como muchos de otros de sus servicios ofrece con una capa gratuita que cubre un pequeño número de peticiones. Aunque OpenStreetMap no ofrece el mismo nivel de detalle y calidad de la información que Google Maps permite su uso sin coste incluso con fines comerciales suficiente en muchos casos.
    Continuar leyendo...

  • Aplicaciones adicionales diseñadas para el entorno de escritorio GNOME

    gnu-linux planeta-codigo software-libre

    Los entornos de escritorio proporcionan la interfaz gráfica de las computadoras, el aspecto de las ventanas, los estilos de los componentes junto con unas guías de interfaz de usuario que especifican como han de ser las aplicaciones en ese entorno de escritorio. El entorno de escritorio y las guías permiten que todas las aplicaciones tengan uniformidad visual y en su experiencia  que facilite al usuario el uso de las aplicaciones sin tener que aprender unas convenciones únicas para cada aplicación. La mayoría de entornos de escritorio integran unas pocas aplicaciones esenciales como explorador de archivos, visor de documentos e imágenes, editor de texto, terminal, reproductor de vídeo, navegador web y comunicación y gestor de software. El resto de aplicaciones necesarias son proporcionadas por desarrolladores ajenos al entorno de escritorio que no tienen por que seguir las mismas guías de estilos, sin embargo, algunas aplicaciones aún siendo de terceros si siguen las mismas guías de estilos del entorno de escritorio que proporcionan algunas funcionalidades adicionales a las de las aplicaciones esenciales.
    Continuar leyendo...

  • Los diagramas UML para documentar y una aplicación para crearlos

    planeta-codigo programacion

    Todo el conocimiento está en el código fuente pero este no tiene una forma de fácil y rápida comprensión a alto nivel, para comprender un sistema es necesario una forma de documentación que muestre los detalles importantes de los que se compone el sistema. El lenguaje unificado de desarrollo o UML permite describir un sistema utilizando diferentes diagramas específicos para mostrar diferentes aspectos del sistema. Gaphor es una aplicación de software libre disponible para diferentes sistemas operativos que permite crear y exportar a imágenes los diferentes diagramas.
    Continuar leyendo...

  • The three ways y The five ideals de los libros The DevOps Handbook, The Phoenix Project y The Unicorn Project

    planeta-codigo programacion

    En la trilogía de los libros The DevOps Handbook, The Phoenix Project y The Unicorn Project se explican más detalladamente varios principios para conseguir que la cadena de valor en un producto de software funcione de forma correcta y evitar en gran medida muchos problemas comunes, son los principios denominados como The three ways y The five ideals.
    Continuar leyendo...

  • El patrón de estrangulación para reemplazar aplicaciones heredadas

    planeta-codigo programacion

    Reescribir partiendo desde cero una aplicación grande que tiene sus defectos pero que ha sido desarrollada durante mucho tiempo y su funcionalidad más importante opera mayormente bien no es una estrategia que esté exenta de riesgo ni garantiza que el el nuevo sistema tenga defectos parecidos, más graves o incluso la reescritura fracase. Si la reescritura tiene riesgos pero existe la necesidad de sustituir la aplicación heredada para solventar algunos de sus problemas es necesaria otra estrategia diferente a partir de cero. Una estrategia que se utiliza en estos casos es aplicar el patrón de estrangulación que reemplaza el sistema antiguo de forma incremental cada una de sus piezas.
    Continuar leyendo...

  • Introducción y ejemplo de contract testing con Pact

    java planeta-codigo

    Al realizar un cambio en un API hay que ser consciente de que los cambios sean compatibles hacia atrás, de lo contrario algunos clientes de la API es probable que dejen de funcionar o tengan un comportamiento erróneo. Para asegurar que los cambios sean compatibles hacia atrás se realizan pruebas unitarias automatizadas de contrato, en Java una opción es Pact para pruebas de contrato de APIs REST.
    Continuar leyendo...

  • Integración de servicios y sistemas con Apache Camel

    java planeta-codigo

    Apache Camel es una librería específica para realizar tareas de integración que ya proporciona e implementa múltiples protocolos de comunicación, formatos de datos, componentes y patrones de integración. Ya tiene implementada toda esta funcionalidad que no hay que implementar en el caso de una aplicación con código propio. Al ser una librería es posible integrarlo en cualquier tipo de aplicación, en el artículo se muestra cómo utilizarlo en una aplicación de Spring Boot en un ejemplo.
    Continuar leyendo...