Este libro es el resultado de dos años de trabajo, donde e plasmo mucho del conocimiento que me ha costado una década en obtener y que te la quiero transmitir en un libro super completo y práctico.
asIntroducción a los patrones de diseño (Libro)
Tras dos años de arduo trabajo he concluido la publicación de mi libro “Introducción a los patrones de diseño”, en el cual explico la importancia de la utilización de los patrones en la Ing. de Software, abordando un total de 25 patrones.
Hoy en día aprender patrones de diseño no es una cualidad más, si no una obligación. Y es que estudiar y comprender los patrones de diseño nos convierte en un mejor programador/arquitecto y es clave para conseguir una mejor posición en el mundo laboral.
Este libro fue creado con la intención de enseñar a sus lectores cómo utilizar los patrones de diseño de una forma clara y simple desde un enfoque práctico y con escenarios del mundo real.
Tengo que aceptar que este no es un libro convencional de patrones de diseño debido, principalmente, por que as
Datalake una nueva forma de análisis de datos
No es un secreto que las aplicaciones de hoy en día generan una gran cantidad de datos y sumado a eso, cada vez tenemos más aplicaciones independientes que van produciendo datos de forma aislada, por tal motivo, llegara un momento en que los datos están distribuidos en varias base de datos, por lo que recuperar información relevante y consistente, nos obliga a crear complejos procesos de extracción y cargado de datos (ETL) para integrarlos en una única fuente confiable para finalmente sea analizada y explotable, sin embargo, como analizaremos en este artículo, este enfoque tiene grandes problemas, entre los que destaca los complicados procesos de extracción y los múltiples procesos ETL que deben de correr una y otra vez para obtener diferente información para diferentes análisis o reportes.
asEl principio de idempotencia
Uno de los principales problemas en arquitecturas distribuidas es garantizar que múltiples ejecuciones con los mismos parámetros sobre el mismo recurso afectará al sistema como si se hubiera ejecutado 1 o N veces.
asDocumentar un API REST con Swagger y Spring Boot
La documentación de un API es casi tan importante como construirlos con buenas prácticas, pues su finalidad es que terceros la utilicen, por tal motivo, documentarla correctamente puede representar el éxito o fracaso en su implementación dentro de los sistemas de terceros:
asSpring boot – Inyectar propiedades con @Value
La configuración es una de las partes más importantes de cualquier aplicación, pues permite que se pueda configurar según el entorno de ejecución o el ambiente en el que se desplegará, por suerte Spring boot cuenta con el archivo application.properties
, en el cual podemos guardar todos aquellos valores que pueden cambiar con el tiempo, lo que evita la mala práctica de crear código hardcode o código duro.
La importancia del Timeout
Seguramente todos nos hemos encontrado alguna vez con que la petición a un servicio o un recurso de internet nos retorna con un Timeout, lo que significa que el servidor ha tardado tanto en responder que, el navegador o el cliente que estamos utilizando para consumir el recurso corta la comunicación, lo cual es muy frustrante, sin embargo, el Timeout es una de las estrategias más importantes para proteger la salud de nuestro servidor.
asMulti-Tenancy | Principio de arquitectura de software
La llegada de la nube ha cambiado para siempre la forma en que consumimos software, pasando de tener que instalar una aplicación en nuestro equipo, ha simplemente acceder a un sitio web para tener acceso a toda nuestra información, pero la pregunta clave aquí es, ¿cómo es que una aplicación que vive en la nube, puede albergar múltiples clientes y al mismo tiempo mantener separada la información? Bueno, para resolver esta pregunta tenemos el termino Multi-Tenancy.
asEl principio CQS (Command Query Separation)
Hoy les quiero hablar de estos principios que como arquitectos de software nos encantan, pues nos permite expandir mas nuestro vocabulario y aprender de pasada algunas nuevas técnicas, en este caso, les quiero hablar del principio Command Query Separation (CQS), que en español sería algo así como “Separación de consulta y comando”, aunque en lo particular me gusta utilizar el término en inglés, pues en español suena espantoso.
asHoisting – Un concepto desconocido de JavaScript
JavaScript es sin duda uno de los lenguajes más extraños en cuanto a su comportamiento, pues para muchos, se puede comportar de una forma impredecible, y uno de estos casos es algo llamado Hoisting, el cual es concepto para referirse a cómo funcionan el contexto de ejecución de JavaScript.
asThrottling pattern
El patrón Throttling permite controlar la cantidad de recursos que una aplicación puede utilizar antes de estrangular los procesos no esenciales a favor de mantener a flote el barco, evitando una interrupción del servicio o el incumplimiento de los SLA.
as