Principios SOLID

Introducción Los principio SOLID son convenciones en cuanto a diseño de software que ayudan a conseguir un código más mantenible, tolerante a cambios, y testeable. Todos los desarrolladores de un equipo deberían tener nociones de diseño de software para fomentar la autonomía y agilidad del equipo Huir de STUPID, el enemigo de SOLID S → Singleton: Hay un objeto que lo contiene todo. No necesita inyección de dependencias. Y se encuentra por todo el programa. Tiene demasiadas resposabilidades. ...

2020-11-28 · 7 min

JWT Auth en Spring Boot

1. JWT Authentication 1.1. ¿Que es JWT? Dicho de forma sencilla, JWT, es una autenticación basada en tokens enviados a las peticiones por cabecera. Para más información: https://jwt.io/introduction/ 1.2. ¿Como funciona JWT? Para obtener el token de acceso, el cliente envía una solicitud de inicio de sesión al servidor de autenticación con el nombre de usuario y la contraseña en el cuerpo de la solicitud. El servidor valida el nombre de usuario y la contraseña, luego devuelve un token de acceso. El cliente debe almacenar el token de acceso en algún lugar y debe enviarlo con cada solicitud al servidor en el encabezado de Autorización. Luego, el servidor valida el token de acceso y, si es válido, atiende la solicitud al cliente. 1.3. ¿Como se implementa JWT? ApplicationUser.java En primer definiremos el modelo ...

2020-10-02 · 5 min

Scrum vs Kanban

Diferencias Scrum: Iteraciones de tiempo fijo (Sprints). La pila del producto (conjunto de tareas) tiene que tener al menos el tamaño de un Sprint. Limita el WIP (WorkInProgress) por iteración. No se permiten cambiar las tareas del Sprint, solo el Sprint. Roles de Scrum Master, de Product Owner y del equipo Kanban:Trabajo continuo. Se arrastran las nuevas tareas por el panel hasta que lleguen a su estado final. Limita el WIP por el flujo de trabajo. Se puede modificar la tarea hasta que entra en flujo No existen roles. ...

2020-10-02 · 3 min

Taller refactor Java + IntelliJ

Recientemente estuve realizando una formación que impartía Carlos Ble. Dicha formación consistía en aprender trucos y consejos para aplicar a la hora de hacer refactor. Lejos de ser solo una charla, los alumnos estuvimos gran parte del tiempo practicando lo que íbamos aprendiendo con cada ejercicio, y ahora yo quiero hablar un poco acerca de ello. Tras concluir esta formación mi perspectiva acerca del refactor cambió mucho. Generalmente, tendemos a buscar los refactors más complicados, esos que simplifican 20 líneas de código en la mitad o casos por el estilo. Hay entender que el refactor no consiste en hacer el código lo más pequeño posible, porque menos código no es directamente proporcional con código más simple. Estuve viendo muchos ejemplos de que con cambios muy simple como puede ser un cambio de nombre llegas a lograr una mejor semántica en tu código. Los refactor en código legacy deben empezarse por algo sencillo, es decir, desde fuera hacia dentro de un método o una clase. ...

2020-09-27 · 4 min

Clases, Interfaces y Genéricos

Interfaces Es una colección de métodos abstractos y propiedades constantes. En las interfaces se especifica qué se debe hacer pero no su implementación. Serán las clases que implementen estas interfaces las que describen la lógica del comportamiento de los métodos. Las clases que hereden de la interfaz solo podrán hacerlo de ella. Un momento muy útil en el que declarar una interfaz, puede ser cuando vemos que dos clases tienen el mismo contrato, por ejemplo, tenemos una clase coche y una clase moto, que implementan los mismos métodos de formas distintas. ...

2020-07-02 · 4 min