Blog Bitix
rss github
Java GNU/Linux JavaScript Tapestry Archivo y hemeroteca Enlaces Acerca de...
  • Comunicaciones seguras, autenticación mutua y autorizaciones con intenciones entre servicios usando Consul Connect y Nomad

    24/07/2020 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

    19/07/2020 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...

  • Las 3 formas de guardar datos en el navegador con JavaScript

    17/07/2020 javascript planeta-codigo

    En el navegador del usuario hay varias formas de guardar información con diferentes propósitos que perdure entre las visitas realizadas en varias sesiones. Los navegadores ofrecen tres formas de guardar datos: cookies, LocalStorage y SessionStorage e IndexedDB cada una con diferentes características y utilizables con código JavaScript.
    Continuar leyendo...

  • Qué son, para qué sirven, formato y ejemplos de las expresiones cron

    10/07/2020 java planeta-codigo programacion

    Las expresiones cron son el equivalente de expresiones regulares para seleccionar fechas, instantes de tiempo o periodos. Normalmente se utilizan para planificar la ejecución de tareas automatizadas en librerías como Spring o Quartz o cron de GNU/Linux en los momentos seleccionados llegando a la precisión del segundo. Algunas expresiones de fechas pueden ser sencillas como a las 10:15 AM de todos los días o tan complejas como a las 10:15 de cada tercer viernes de cada mes.


    Continuar leyendo...

  • Las diferencias entre GNU/Linux, BSD y sus distribuciones

    05/07/2020 gnu-linux planeta-codigo software-libre

    Las distribuciones BSD tienen aún menor cuota de uso que las distribuciones GNU/Linux pero al igual que estas tiene una licencia de software libre aún más permisiva que las GNU/Linux y también se basan en la filosofía UNIX. Pero también tienen diferencias importantes en varios aspectos.
    Continuar leyendo...

  • Tareas programadas de forma periódica con Quartz y Spring en Java

    03/07/2020 java planeta-codigo

    Java

    En las aplicaciones web basadas en el protocolo HTTP la petición al servidor es el desencadenante de la ejecución de la acción que le da respuesta. Algunas acciones no dependen de la solicitud de un usuario o de la recepción de un mensaje sino que se han de ejecutar de forma periódica cada cierto tiempo o de forma planificada en tiempos determinados. Por ejemplo, una tarea que necesite ejecutarse todos los días a las 3 de la mañana o cada 5 minutos.


    Continuar leyendo...

  • Hemeroteca #17

    28/06/2020 blog planeta-codigo

    Blog Bitix

    Que leáis este blog para mi es mucho aparte de para compartir conocimiento que voy aprendiendo me permite canalizar la frustración de no poder usar en el trabajo mucho de lo que escribo, demasiados años ya. Los pocos comentarios, retweets y favoritos en twitter que recibo me hacen no perder la esperanza y en cierta medida me anima a seguir escribiendo. Aunque se que mi motivación no debería depender de esto si encima no recibiese vistas sería algo que me desmotivaría.


    Continuar leyendo...

  • Desempaquetado y análisis de altavoz inteligente Amazon Echo con asistente Alexa

    26/06/2020

    El altavoz es un dispositivo que también ha añadido funciones de dispositivo inteligente, al igual que ha ocurrido con los teléfonos móviles y televisores. Son controlados por voz y con la aplicación para smartphone capaces de leer noticias, el tiempo, el tráfico, música, radios o de servicios en streaming, el centro para controlar dispositivos del hogar y muchas otras funcionalidades agregables mediante skills. Amazon, Goolge y Apple tiene su versión de altavoz inteligente, pequeños con buena calidad de sonido y diferentes modelos entre los que elegir.
    Continuar leyendo...

  • Las sentencias de control de flujo en Java (if, switch, for, while, do-while, try-catch, break, continue e invocación)

    21/06/2020 java planeta-codigo programacion

    El lenguaje de programación Java utiliza un paradigma orientado a objetos pero también emplea otros paradigmas como el funcional con la incorporación de las lambas en Java 8 y el imperativo en los bloques de sentencias de los métodos. En este artículo están los tipos de sentencias de control de flujo disponibles en el lenguaje de programación Java: condicionales, de repetición, de asignación, de gestión de excepciones e invocación de métodos en Java.
    Continuar leyendo...

  • Generar en el dominio los identificativos de las entidades aplicando DDD antes de persistirlas en la base de datos

    19/06/2020 java planeta-codigo

    Las bases de datos tiene la capacidad de generar identificativos para los datos que se insertan. En el caso de las bases de datos relacionales con secuencias que generan en el momento de inserción la clave primaria de la fila en una tabla, normalmente es un número y utilizando Java con JPA con las anotaciones Id, GeneratedValue y SequenceGenerator en la clase Java que representa a la entidad. Para Domain Driven Design delegar en el momento de inserción la generación del identificativo de la entidad es un problema ya que hace que la entidad sea inválida al no tener identidad hasta persistirla y la base de datos es un elemento externo que debe ser independizado del dominio de la aplicación. En este artículo comento una implementación siguiendo los principios de DDD para dar solución a estos dos problemas.
    Continuar leyendo...

  • Comando para convertir una imagen SVG a PNG y JPG con diferentes tamaños y color de fondo con Inkskape

    14/06/2020 gnu-linux planeta-codigo software-libre

    El formato de imagen SVG tiene la ventaja de permitir el escalado de la imagen sin pérdida de calidad y suele tener menor tamaño que la imagen equivalente en formato PNG y JPG. Si es necesario la imagen SVG es exportable a formato de imagen PNG y JPG con el tamaño deseado o color de fondo. El editor de imágenes Inkscape permite con su utilidad de línea de comandos automatizar y exportar archivos SVG a PNG y JPG y ocultar y mostrar las capas deseadas del archivo original para obtener el resultado deseado en la exportación.
    Continuar leyendo...

  • El patrón de diseño Specification, ejemplo de implementación y uso en JPA con Spring Data

    12/06/2020 java planeta-codigo programacion

    Los métodos de búsqueda y consulta permiten recuperar objetos de las bases de datos según los criterios deseados. Dependiendo del tamaño de la aplicación y sus casos de uso el número de consultas será más o menos grande. Con un número de consultas grande estas se vuelven complejas de mantener y generan duplicación de lógica de negocio. Para simplificar el mantenimiento de un número grande de consultas y evitar duplicidad de lógica de negocio una solución es implementar el patrón de diseño Specification.
    Continuar leyendo...

  • Pruebas de integración con Testcontainers, ejemplo de JPA con la base de datos PostgreSQL

    07/06/2020 java planeta-codigo

    Algunas partes del código no es posibles probarlas con teses unitarios ya que tienen dependencias como una base de datos. En estos casos es necesario realizar un test de integración, la dificultad reside en tener esta dependencia en el entorno de pruebas. La herramienta Testcontainers permite iniciar un contenedor Docker con la dependencia cuando el test se ejecuta.
    Continuar leyendo...

  • La herramienta SDKMAN para instalar varias versiones del JDK y software de la plataforma Java

    05/06/2020 java planeta-codigo

    En ocasiones es necesario tener instaladas varias versiones de JDK según el proyecto, unos quizá usen Java 8 y otros quizá usen Java 11 o posterior. El gestor de software SDKMAN permite instalar múltiples versiones del JDK de forma simultánea y usar la deseada a conveniencia. Adicionalmente también permite instalar otras herramientas de la plataforma Java como Gradle y Maven o lenguajes como Groovy entre otros SDK comunes disponibles.
    Continuar leyendo...

  • Copiar datos de un tipo de objeto a otro con ModelMapper

    31/05/2020 java planeta-codigo programacion

    Las clases DTO son clases usadas como contenedores de datos sin ninguna lógica o con muy poca, se construyen con datos copiados de otras clases. Un uso de estas clases DTO es para evitar emplear el uso del patrón Open Session in View ya que aunque ofrece algunos beneficios también tiene algunos inconvenientes. La librería ModelMapper permite realizar los copiados de datos de un objeto origen a una nueva instancia destino de otra clase.
    Continuar leyendo...

« Más antiguo
Archivo
Más reciente »


Blog Bitix

Blog sobre el lenguaje de programación Java y la distribución GNU/Linux que uso habitualmente, Arch Linux, lo que aprendo sobre el software libre, la programación web y otros temas relacionados con la tecnología y la informática. El contenido puede contener trazas de asuntos fuera de tema y estar asistido por IA.

Publicaba de uno a tres artículos únicos a la semana desde el año 2010.

  • Java
  • GNU/Linux
  • JavaScript
  • Tapestry
  • Archivo y hemeroteca
  • Enlaces
  • Advertising
  • Publicidad
  • Donaciones
  • Política de privacidad
  • Acerca de...
rss github
Copyleft © 2026 - Creative Commons License
Planeta código
Blog Bitix by pico.dev is licensed under a Creative Commons Reconocimiento-CompartirIgual 4.0 Internacional License.
Powered by Hugo and GitHub Pages. Background patterns from Subtle Patterns.