Software Development Notions

Welcome to my blog about Software Development! I would like to invite you to learning with me 👨‍💻

Search all posts

La personalidad en un aprendiz

February 05, 2021

Cuando me incorporé en el proyecto de uno de nuestros colaboradores, sentía que mis conocimientos estaban limitados y ejercía un rol de…

Versiona tus dotfiles y otros tips

January 09, 2021

Configura tu ordenador utilizando dotfiles Introducción Durante mucho tiempo fui usuario de Windows, pero un día decidí probar Linux y…

Principios SOLID aplicados

November 28, 2020

Introducción Los principio SOLID son convenciones a nivel de diseño de software que ayudan a conseguir un código más mantenible, tolerante a…

JWT Authentication en Spring Boot

October 02, 2020

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…

Scrum y Kanban

October 02, 2020

Kanban Limitaciones: Limita el WIP por el flujo de trabajo. Se puede modificar la tarea hasta que entra en flujo Roles: No existen roles…

Ultimate Refactoring Java + IntelliJ

September 27, 2020

Recientemente estuve realizando una formación que impartía Carlos Ble. Dicha formación consistía en aprender trucos y consejos para aplicar…

Git Autostash

September 06, 2020

Problema Intentas hacer un pull pero tus cambios locales entran en conflicto con los del repo remoto. La solución que usaría sería hacer un…

Revertir último commit

September 05, 2020

Tener que borrar el commit recién subido es un caso raro pero posible ante el fallo humano. No es el fin del mundo, aquí ofrezco dos…

Base de datos en local usando Docker

August 12, 2020

El siguiente ejemplo se ha desarrollado con Spring Boot. Hacemos ciertos ajustes en para configurar la conexión a la DB. Creamos y…

PHPUnit Basics

July 13, 2020

https://upload.wikimedia.org/wikipedia/commons/thumb/f/f7/PHPUnit_Logo.svg/1200px-PHPUnit_Logo.svg.png Introducción e instalación Este post…

Kata El juego de la vida

July 06, 2020

https://1.bp.blogspot.com/-KhETWzEx67Q/XwLznv-8vyI/AAAAAAAAAPo/824GSznRJy8IzcfsZzymfKH1tssIZfjxgCK4BGAsYHg/w200-h113/bacteria-163711_640.jpg…

Clases, interfaces y genéricos

July 02, 2020

Interfaces Es una colección de métodos abstractos y propiedades constantes. En las interfaces se especifica qué se debe hacer pero no su…

Principios fundamentales de los tipos de datos en Java

June 26, 2020

Primitivos y wrappers de primitivos en Java Asignar una variable primitiva usando otra variable primitiva Con los primitivos, cuando…

Implementation Patterns

June 24, 2020

Implementations Patterns, de Kent Beck, es un libro sobre programación que define buenas prácticas a seguir en el desarrollo de código en…

Patrón Decorator

June 23, 2020

https://upload.wikimedia.org/wikipedia/commons/thumb/e/e9/Decorator_UML_class_diagram.svg/400px-Decorator_UML_class_diagram.svg.png Es un…

Domina los JSON con GSON

June 18, 2020

https://1.bp.blogspot.com/-K4NqpHBcEM8/Xuf1HaXOjJI/AAAAAAAAANk/UTnuJwY9VRkdGXX0pjXg0zxhUycwdCppQCK4BGAsYHg/w149-h149/descarga.png Puede…

Docker Basics

June 09, 2020

Imágenes vs Contenedores Para entender claramente ambos conceptos, me ayuda asemejarlos a la programación habitual, entendiendo que las…

Kata Template Engine

June 09, 2020

Recientemente, he realizado una kata en Java, que consistía en implementar un parseador de plantillas. Existe un método que recibe como…

Crear proyecto Maven preparado para ejecutar tests

May 11, 2020

https://www.paradigmadigital.com/wp-content/uploads/2017/03/1-2.png Basándonos en el IDE IntelliJ, el procedimiento sería el siguiente: El…

Diseño Ágil con TDD

May 11, 2020

https://d2sofvawe08yqg.cloudfront.net/tdd-en-castellano/hero?1576861322 INTRODUCCIÓN “Diseño Ágil con TDD”, por Carlos Ble, es un libro muy…

Crea tus propios tipos para dar expresividad al código

April 21, 2020

https://miro.medium.com/max/6256/1*WIL81XxE3a5AUbuJDlMapw.png En la capa de lógica de nuestra aplicación se encuentra el código más personal…

Lombok annotations

April 21, 2020

Lombok es una biblioteca Java que nos permite reemplazar las líneas de código que creamos para los constructores, getter y setter, entre…

Inicio con Spring Boot

April 17, 2020

Arrancando con un proyecto Para crear un proyecto de una forma rápida y sencilla he encontrado Spring Initializr. Es muy simple, basta con…

Constructores con métodos de factoría

April 17, 2020

Pongamos el ejemplo de que creamos una clase “Texto” y queremos admitir para su atributo “texto” los valores nulos como String vacíos,…

Deploy mediante Heroku y Git

April 17, 2020

Heroku nos va a permitir alojar nuestras aplicaciones en sus servidores, y acceder a éstas desde un enlace que nos proporcione. Tras crear…

Guía básica para trabajar con Git

April 17, 2020

Control de versiones en un proyecto mediante GIT Crear repositorio local Añadir repositorio remoto Añadir los archivos al stage. Registrar…

Inyección de dependencias

April 17, 2020

Repositorios Por convención para guardar datos se usan los repositorios. A la clase que definamos como repositorio le añadimos la anotación…

Kata Word Wrap

April 17, 2020

Recientemente he estado realizando una kata que consistía en partir una palabra (salto de línea) acorde a un ancho de columna, algo así como…

Modelo de Value Object vs Entity Object

April 17, 2020

Value object En el modelo Value Object, un objeto se diferencia de otro por su contenido, no por su identidad propia. Podemos entender el…

MVC Thymeleaf

April 17, 2020

Controladores Por un lado tenemos los controladores, anotamos la clase mediante “@Controller”. Los métodos que se desea que funcionen como…

Resumen login JPA (PostgreSQL)

April 17, 2020

Todo lo necesario para implementar un login mediante JPA, utilizando Postgresql como motor de base de datos. Definir un modelo Crear un…

Servicios REST (CRUD)

April 17, 2020

Se usa para describir cualquier interfaz entre sistemas que utilice directamente HTTP para obtener datos o indicar la ejecución de…

Spring Data (JPA)

April 17, 2020

Vamos a crear una aplicación que se conecte a una base de datos usando JPA, un módulo que facilita la implementación de repositorios basados…

Spring Security

April 17, 2020

Éstas dependencias nos crearán automáticamente un login para nuestra aplicación web, en el que podemos editar el usuario y contraseña de la…

Patrones de diseño

April 16, 2020

DAO DAO encapsula el acceso a la base de datos. Por lo que cuando la capa de lógica de negocio necesite interactuar con la base de datos, va…