Un poco de mantenimiento al docker registry

El registry necesita ser limpiado … Tenemos dos opciones Pues eso, la primera es rápida y fácil pero un poco extrema y es simplemente eliminar el registry completo y volver a levantarlo, PERO TEN EN CUENTA QUE PERDERÁS ABSOLUTAMENTE TOOOODAS TUS IMÁGENES EN EL REGISTRY … de cualquier forma un nuevo pipeline para el build o los builds que necesites lo resolvería. La segunda opción es revisar cada imagen y seleccionar las que queremos sean eliminadas. [Leer más]

Docker y timezones

La historia… Hace unos días tuve un problema con un servicio hecho con Spring Boot y que está desplegado en un docker. Una de las características que tiene el servicio es que inserta una fecha a la base de datos, esta es generada desde el sistema al momento de ejecutar ciertos métodos y la fecha insertada siempre tenía algunas horas de más =[ … huummm Pasadas algunas horas y distintas pruebas para poder encontrar la falla llegué a que no se encontraba en el código de Java … y es que ¿Qué tanto puede fallar crear un Date fecha = new Date() ? [Leer más]

Utilizar propiedades en Spring Boot

El problema Necesitamos pasarle ciertos valores a nuestra aplicación o API para que funcione como esperamos. Algunas soluciones Una de las soluciones puede ser enviarle parámetros (--nombre=valor) durante la inicialización del JAR, de la siguiente manera: $ java -jar cchido.jar --server.port=8765 --hola=mundo O como propiedades del sistema: $ java -Dserver.port=8765 -jar cchido.jar De esta forma podemos tener el equivalente a esas mismas propiedades escritas en el archivo application. [Leer más]

Presentar una fecha humano-leible en una API

Fechas en nuestras APIs En nuestras APIs JSON hechas con Spring Boot muchas veces necesitamos que la información devuelta al hacer una petición GET sea transformada a un formato menos “técnico” por decirlo así y que sea más “humano”. En este post vamos a resolver el cambio de formato para las fechas de los entities de una manera muy sencilla. A continuación el entity que estudiaremos: package mx.edu.uaemex.fi.modelo; import com. [Leer más]
spring  api  json  entity  fecha 

HATEOAS en una API Spring Boot

Recursos vs Representación HATEOAS es el acrónimo de Hypermedia as the Engine of Application State y resulta bastante útil cuando necesitamos que una API represente de forma sencilla un recurso seleccionado, además de contener links a otros recursos que están relacionados con el actual, lo que facilita para el cliente navegar una API REST. Diremos que existen diferencias en cuanto a lo que es un recurso y la representación de ese recurso. [Leer más]

Docker Oracle XE para desarollo/pruebas

Prácticamente siempre es necesario que cada programador cuente con una base de datos instalada en su máquina para propósitos de desarrollo o pruebas, tal vez una base en QA también y finalmente una en producción. Para cada programador, tener un docker que provea el gestor de base de datos es muy útil porque se reducen tiempos de instalación y configuración y en caso de tener un error muy grave en la configuración es tan sencillo resolverlo como borrar el contenedor y crear uno nuevo. [Leer más]

Utilizar un jdbc de un repositorio

En blogs anteriores explicamos de manera general cómo construir una aplicación en Spring Boot que se conectare a una base de Oracle, procuramos redactar de manera detalla todos los elementos para ello; En los blogs pasados, con fines didácticos utilizamos un jdbc dentro de nuestro mismo proyecto, pero hoy vamos a cambiar eso, ahora vamos a utilizar el de un repositorio. Gradle o Maven no son directamente un repositorio sino que usan uno o más de ellos para generar software, tampoco son gestores de paquetes porque un gestor de paquetes se encarga únicamente de instalar, eliminar o cambiar la versión de un paquete o dependencia. [Leer más]

Docker registry en una red local

Un poco de Docker… En docker existen imágenes y contenedores. De manera sencilla, un contenedor es un proceso en ejecución de una imagen docker. En Docker podemos hacer commits de nuestros contenedores, lo que nos permite crear imágenes que contienen cambios en configuraciones, rutas, nombres de archivos, etc. Las imágenes muchas veces necesitan ser subidas a un repositorio para después poder ser descargadas por otros clientes, en docker un registry es un repositorio de imágenes y es lo que hoy vamos a instalar y probar. [Leer más]

Crear tareas programadas en Spring Boot

Crear cronjobs o tareas programadas en Spring Boot En ocasiones necesitamos programar la ejecución automática de ciertas tareas, por ejemplo, emitir una alerta todos los días a una hora específica, ejecutar un query a una base de datos, envíar un correo con un recordatorio a nuestros trabajadores,etc. Siempre que una tarea tenga un intervalo de tiempo constante entre una ejecución y la siguiente, entonces podemos crear una tarea programada (cronjob) para ella. [Leer más]

Desacoplando la lógica del negocio de los controladores

Quiero darle las gracias a Sergio F por sus acertadas recomendaciones. Código chido está enfocado en aprender y enseñar a implementar proyectos cada vez mejor diseñados y que se adapten a equipos de desarrollo actuales. Desacoplar la lógica de negocio del controlador es un paso hacia lo anterior. Vamos a usar Oracle 11g para construir nuestra API. Si tienes dudas o hay pasos que no te quedan claros puedes revisar nuestro post anterior al mismo tiempo que sigues este tutorial ya que por cuestiones prácticas hay cosas que en el anterior mencionamos pero en este omitiremos. [Leer más]