Principios SOLID (Single Responsibility & Open/Closed) aplicados al desarrollo de software con Java

Principios SOLID (Single Responsibility & Open/Closed) aplicados al desarrollo de software con Java

En este tutorial discutiremos los dos primeros principios SOLID del diseño orientado a objetos ejemplificando cada principio utilizando código Java. Lo primero que debemos entender son las razones de porque se crearon estos principios y porque deberíamos considerarlos al momento de diseñar software. Hagamos historia: Los principios SOLID fueron presentados por Robert C. Martin en su … Leer más

Crear y desplegar un NFT (Token no fungible) en la blockchain de Polygon (Herramientas Desarrollo y pruebas – Parte II)

Crear y desplegar un NFT (Token no fungible) en la blockchain de Polygon (Herramientas Desarrollo y pruebas - Parte II)

El objetivo de esta sección es dar a conocer cuáles son las herramientas a utilizar para desplegar correctamente un NFT en la red de Polygon En el capítulo anterior se dio una introducción teórica a la blockchain y las criptomonedas, haciendo un énfasis en como funciona la blockchain, que es la web 3.0, que son … Leer más

Arquitectura de Microservicios con Amazon AWS

Arquitectura de Microservicios con Amazon AWS

Amazon nos provee una serie de servicios interesantes para construir arquitecturas basadas en microservicios: Lambda, EC2 con VPC y Fargate (para trabajar con contenedores y Kubernetes), comúnmente denominado ECS (Amazon Elastic Container Service). En este artículo me centraré en explicar el funcionamiento de Lambda a través de un ejemplo concreto y cómo nos podría ayudar a … Leer más

Pruebas Unitarias con NUnit para Inyección por Dependencia

Pruebas Unitarias con NUnit para Inyección por Dependencia

Una tarea que nos suele generar algunos dolores de cabeza con las pruebas unitarias es cuando tenemos implementado patrones como el Repository Pattern en nuestro código o el acceso a los servicios se resuelve vía inyección por dependencia (DI Pattern). En el siguiente artículo daré algunos tips y framework’s que me han servido mucho para … Leer más

La ingeniería detrás de Netflix. Su arquitectura Hexagonal (Parte II)

La ingeniería detrás de Netflix. Su arquitectura Hexagonal (Parte II)

Entrada anterior: La ingeniería detrás de Netflix (Parte I) A medida que la producción de Netflix Originals crece cada año, también lo hace nuestra necesidad de crear aplicaciones que permitan la eficiencia durante todo el proceso creativo. Nuestra Organización de Ingeniería de Estudio más amplia ha creado numerosas aplicaciones que ayudan a que el contenido avance … Leer más

Validación de los requerimientos del cliente desde la perspectiva ágil (Parte II)

Una tabla que compara diferentes técnicas de desarrollo de software, enumerando sus descripciones, fortalezas y debilidades. Columnas etiquetadas como "técnica", "descripción", "fortalezas" y "debilidades" con cuatro filas de técnicas de TI.

En la entrada anterior quedó planteada la siguiente pregunta: ¿Cómo enfrentar desde la perspectiva ágil el hecho de que sigue siendo importante poder obtener con antelación una validación de los requerimientos del cliente (PO) antes de que el producto salga al mercado? Para abordar la pregunta daré a conocer una serie de técnicas que son bastante … Leer más

Validación de los requerimientos del cliente desde la perspectiva ágil (Parte I)

Validación de los requerimientos del cliente desde la perspectiva ágil (Parte I)

El presente documento tiene como objetivo principal validar los requerimientos del cliente desde una perspectiva ágil. Se abordará esta temática en dos partes, siendo esta la primera entrega. En esta sección se analizarán las ventajas de aplicar la metodología ágil en el proceso de validación de los requerimientos del cliente. Asimismo, se presentarán las diferentes … Leer más

Estimación de proyectos de software: cálculo usando el método PROBE (PROxy Based Estimation)

Estimación de proyectos de software: cálculo usando el método PROBE (PROxy Based Estimation)

La estimación de proyectos software es una tarea muy compleja, pero de vital importancia en toda la etapa de desarrollo del software. A continuación te explico el cálculo usando el método PROBE, uno de los sistemas de estimación de esfuerzos más sencillos y completos. Algunos de los principios a tener en cuenta para la realización … Leer más

La ingeniería detrás de Netflix (Parte I)

La ingeniería detrás de Netflix (Parte I)

Netflix es conocido por su arquitectura de microservicios poco acoplada y altamente escalable.  Los servicios independientes permiten evolucionar a diferentes ritmos y escalar de forma independiente. Sin embargo, agregan complejidad para casos de uso que abarcan múltiples servicios. En lugar de exponer cientos de microservicios a los desarrolladores de UI, Netflix ofrece una capa de agregación de … Leer más

La ingeniería detrás de Uber (Parte II). The Foundation

La ingeniería detrás de Uber (Parte II). The Foundation

Artículo anterior: La ingeniería detrás de Uber (Parte I) La misión de Uber es ser tan fiables como el transporte de agua corriente, en todas partes, para todo el mundo. Para hacer esto posible, creamos y trabajamos con datos complejos. Luego agrupamos muy ordenadamente la plataforma que permite a los conductores poder conseguir que las empresas y los … Leer más