• Cómo comprar una licencia y activar Windows 10 y Office 2019

    microsoft planeta-codigo windows

    Windows 10 y Microsoft Office 2019 son productos de software con una licencia privativa, para usarlos de forma legal es necesario comprar una licencia que permita activarlos. Recurrir a activadores de estos productos para evitar pagar la licencia no es recomendable ya que son una fuente de entrada de virus informáticos con un peligro importante para la seguridad del equipo y la importancia de las tareas que realizamos actualmente en él, como compras o consultas bancarias. Una sentencia del tribunal europeo del 2012 permite a vendedores de terceros ofrecer licencias de Windows 10 y Microsoft Office 2019 a precios significativamente más baratos para activar estos productos de forma completamente legal.
    Continuar leyendo...

  • 1 década en la misma empresa, 20 años trabajando

    opinion

    Llevo casi 20 años de vida laboral, 10 de los cuales en la misma empresa, en ese periodo hay a quien le da tiempo a venir, marchar, volver a venir y volver a marchar. En estos años he pasado diría que por pocas empresas comparado con lo rápido que otras personas se cambian de trabajo, aún así han sido empresas bastante diferentes entre ellas. Los últimos 10 años se me han pasado mucho más rápido que los 10 anteriores. Si pasase 10 años más en la misma empresa muy posiblemente sería bueno pero con la situación pandémica actual y el desenlace de acontecimientos que crea incertidumbre es mucho decir.


    Continuar leyendo...

  • Introducción a gRPC y ejemplo con Java

    java planeta-codigo

    Para crear una API expuesta de forma externa o para ofrecer un servicio a otros servicios en una arquitectura de microservicios ha varias opciones. Tres de las opciones son REST, GraphQL y gRPC cada una con sus características que la hacen mas adecuadas según los requerimientos de la aplicación. gRPC es especialmente adecuada para servicios que requieran un alto rendimiento y solo necesite consumirse de forma interna. gRPC es una implementación de llamada a procedimiento remoto o RPC agnóstica del lenguaje de programación de alto rendimiento al emplear un formato de intercambio de datos binario más eficiente que JSON.
    Continuar leyendo...

  • Añadir descripciones y documentar los campos de GraphQL

    java planeta-codigo

    A diferencia de una API basada REST una API basada GraphQL posee un esquema en el que quedan definidos los tipos, propiedades y tipos de esas propiedades. Para suplir las carencias de una API basada en REST se suele utilizar #Swagger como documentación y entorno de pruebas. GraphQL incluye la documentación en el propio código fuente y ofrece un IDE sin necesidad de herramientas adicionales. En el propio esquema de la API basada en GraphQL se pueden añadir descripciones a los tipos y propiedades para mayor detalle.
    Continuar leyendo...

  • Renombrar campos del esquema en las consultas GraphQL

    planeta-codigo programacion

    GraphQL

    Las APIs devuelven información habitualmente en formato JSON si es reciente y si la API es algo más antigua quizá en XML. En cualquiera de los formatos la información está estructurada en propiedades con un nombre del campo y su valor. El nombre del campo es el que le asignó el diseñador de la API en el momento de crearla. En el momento de consumir la API quizá por adaptarla a su uso, para añadirle más semántica al caso de uso específico o por mayor claridad interese cambiar el nombre de los campos.


    Continuar leyendo...

  • Qué hace y ventajas de un preprocesador de estilos CSS

    planeta-codigo web

    HTML

    CSS

    Las páginas web están formadas por varios elementos separados, por un lado está el código HTML que forma el contenido de la página con las referencias a elementos externos que use como hojas de estilo CSS, imágenes o archivos JavaScript. Las imágenes son recursos gráficos soportando todos los navegadores los formatos png, jpg para fotos e imágenes vectoriales como svg. Los archivos JavaScript permite incorporar a la página código ejecutable con el propósito de añadir ciertos comportamientos mediante programación. Finalmente, están las hojas de estilo CSS que proporcionan los estilos y cambian el aspecto visual y maquetación de los elementos, el contenido HTML puede ser el mismo pero con una hoja de estilos diferente la visualización muy diferente.


    Continuar leyendo...

  • Arquitectura de referencia de Consul, Vault y Nomad para un centro de datos

    gnu-linux planeta-codigo

    HashiCorp proporciona una buena documentación de sus productos con tutoriales, documentación de las herramientas y vídeos de formación en su canal de Youtube. Aunque en la documentación está todo explicado para poner en práctica una arquitectura para un caso más real y con cierto grado de producción requiere leer múltiples artículos para aplicar y aglutinar todo lo descrito. En este artículo muestro una arquitectura de referencia de varios productos de HashiCorp como Consul, Vault y Nomad que forman un centro de datos o entorno de ejecución para servicios en un ejemplo aprovisionado con Vagrant en máquinas virtuales de VirtualBox.
    Continuar leyendo...

  • Configurar un servidor web virtual en Nginx y Apache

    planeta-codigo web

    Nginx

    Apache HTTPD

    La función básica de un servidor web es devolver al navegador los recursos estáticos de un sitio web como son las páginas HTML, hojas de estilo CSS, imágenes o archivos de JavaScript. Pero también pueden hacer otras funciones muy útiles como son la de proxy entre en navegador y la aplicación de backend que genera el contenido dinámico, terminación de protocolo de seguridad con la que el navegador se comunica con el servidor web usando el protocolo seguro HTTPS pero el servidor web se comunica con la aplicación backend usando el protocolo HTTP, añadir autenticación básica a ciertas rutas o utilizar el protocolo HTTP/2.


    Continuar leyendo...

  • Comandos para crear una autoridad de certificación (CA) con OpenSSL

    gnu-linux planeta-codigo

    Los certificados autofirmados no son suficientes para un entorno de producción. En producción hay que usar certificados firmados por una entidad de confianza. AWS Certificate Manager ofrece la suya pero tiene un coste elevado y los certificados de otras entidades tampoco son baratos. Para certificados de uso interno en una organización que proporcionan comunicaciones seguras OpenSSL permite con una serie de comandos crear una autoridad de certificación o CA en la que los servidores y clientes internos confíen. Las funciones de la CA incluyen crear certificados a partir de las solicitudes de los certificados para los servidores y también la revocación y renovación de certificados.
    Continuar leyendo...

  • Configurar autenticación básica en los servidores web Nginx y Apache

    planeta-codigo web

    Nginx

    Apache HTTPD

    La autenticación básica o basic auth es un mecanismo de autenticación sencillo que permite proteger los recursos solicitados de un sitio o aplicación web. Es fácil de configurar en el servidor web y está implementado en los propios navegadores, otra ventaja es que se puede añadir a un sitio o aplicación web sin necesidad de realizar modificaciones en su código.

    La autenticación básica por seguridad requiere utilizar en el servidor web el protocolo seguro HTTPS y obtener un certificado para el nombre del dominio del servidor web ya que el navegador cuando envía al servidor el usuario y contraseña no los protege de forma especial y utiliza el mecanismo de comunicación de la conexión, es usual también configurar un servidor web virtual para aplicar esta configuración únicamente al sitio web deseado. Con el protocolo HTTPS el usuario y contraseña se transmite cifrada por la propia conexión segura.


    Continuar leyendo...

  • Obtener un nombre de dominio para una dirección IP privada

    gnu-linux planeta-codigo

    Las direcciones IP en la versión 4 del protocolo son un número de 32 bits, se representan en cuatro grupos de números decimales que toman el valor entre 0 y 255 separados por un punto, por ejemplo para la dirección que representa la máquina local 127.0.0.1. En la versión 6 del protocolo IP las direcciones IP son un número de 128 bits. Dado que los números de la direcciones IP son difíciles de recordar para los humanos se usan alias o sinónimos denominados nombres de dominio, por ejemplo, picodotdev.github.io o duckduckgo.com. El software que permite la conversión de nombre de dominio a dirección IP son los servidores DNS.


    Continuar leyendo...

  • Revertir un servicio a una versión anterior con Nomad

    gnu-linux planeta-codigo

    Los errores no se planifican, se producen de forma inesperada. Además, un error en un entorno de producción es normalmente urgente e importante lo que obliga a cambiar las prioridades del equipo dejando lo que están haciendo y ocuparse de resolver el problema. En ocasiones no será posible resolver el problema y la única solución es revertir la versión de la aplicación a la anterior. Dependiendo de la automatización de los procesos incluso el volver a la versión anterior quizá sea complicado. Los errores no se planifican pero si se puede planificar estar preparado para algunos errores, una forma de estar preparado ante errores es tener un proceso y herramientas para volver a la versión anterior rápido y fácilmente.
    Continuar leyendo...

  • Comunicaciones seguras, autenticación mutua y autorizaciones con intenciones entre servicios usando Consul Connect y Nomad

    gnu-linux planeta-codigo

    La configuración de seguridad estática y basada en direcciones IP no es adecuada en un entorno en el que los recursos de computación está compartidos y no son confiables, ni para aplicaciones basadas en microservicios cuyo número de servicios e instancias cambia a lo largo del tiempo. Consul y Consul Connect ofrecen un mecanismo de comunicación segura adaptados a la computación en la nube y adecuado para aplicaciones basadas en microservicios.
    Continuar leyendo...

  • Un comando y aplicaciones gráficas para descargar todo el contenido de un sitio web

    gnu-linux planeta-codigo

    GNU

    La necesidad puede ser hacer una copia de seguridad periódicas para conservar el historial del sitio web, descargar el contenido para procesarlo de alguna forma, para consultarlo sin conexión a internet u offline si nuestra conexión es lenta o inestable o el servidor está caído, migrar un sitio web de un servidor web a otro o descargar los archivos de vídeo, audio, imágenes o multimedia.

    Los navegadores web con el botón derecho del ratón ofrecen la posibilidad de descargar y guardar en el sistema de archivos la página que se está visualizando, está es la opción más simple ya que no se necesitan herramientas adicionales si solo se quiere guardar una página de las muchas de un sitio web. Su desventaja es que no sirve para guardar un sitio web completo por requerir hacer la operación manualmente por cada página, de forma que para realizar la operación de forma másiva y automatizada para el sitio web completo hay que utilizar alguna herramienta especializada.


    Continuar leyendo...