Saltar al contenido principal
Volver al inicio

Blog

The Technical Log — Artículos sobre desarrollo de software

8 min

Depende de lo que no cambia: Practical Object Oriented Design (III)

Segundo artículo de la serie sobre POODR de Sandi Metz. Exploramos cómo gestionar las dependencias entre objetos: inyección, aislamiento, la trampa del orden de argumentos y por qué la dirección de las dependencias es la decisión de diseño más importante.

ArquitecturaPractical Object Oriented DesignClean Code

12 min

DevSweep a .NET 10: Los cimientos del dominio

Primer artículo de la serie de migración de DevSweep de Bash a .NET 10 con AOT. Diseñamos los cimientos del dominio: un tipo Result propio, value objects validados y entidades inmutables.

.NETOpen SourceClean Code

10 min

Auditoría Inteligente con Microsoft.Extensions.AI y Google Gemini en .NET 10

Continuamos viendo nuevas características de NET10 haciendo uso de la IA genertiva

IA.NETClean Code

10 min

DevSweep: Cuando 256GB ya no son suficientes

La historia de cómo un MacBook M1 con poco almacenamiento me llevó a crear una herramienta open source para recuperar gigabytes de espacio perdido en caches de desarrollo.

Open SourceBashDeveloper Tools

12 min

Endpoints Honestos y Robustos en .NET 10 con Minimal APIs

Explorando cómo .NET 10 y Minimal APIs facilitan la implementación de arquitecturas limpias siguiendo principios de DDD, combinando potencia con simplicidad y código expresivo.

Clean Code.NETDDD

6 min

El diseño no es arte, es supervivencia: Practical Object Oriented Design (I-II)

Conclusiones clave de los dos primeros capítulos de 'Practical Object-Oriented Design in Ruby' de Sandi Metz, aplicadas a C#.

ArquitecturaPractical Object Oriented DesignClean Code

3 min

Vibe Coding vs. Clean Code

Cómo rediseñé mi portfolio con IA (v0 y Next.js) sin que la deuda técnica me comiera vivo.

Vibe CodingNext.jsClean Code

5 min

Comprendiendo las diferencias entre DAO, Repository y Active Record

En el mundo del desarrollo de software, la gestión eficiente de datos es fundamental. Dentro de este contexto, los patrones de diseño como Data Access Object (DAO), Repository y Active Record...

ArchitectureSoftware DesignSoftware Patterns

8 min

La asincronia un viaje desde futures a promesas

En el desarrollo de software moderno, la asincronía es un pilar esencial, sobre todo en aplicaciones web en las que dependemos de la respuesta de APIs o servicios externos...

JavaJavaScriptAsynchronous

6 min

Testing en Rust

Descubre cómo realizar pruebas TDD en Rust, incluyendo tests unitarios y el uso de mocks, con ejemplos prácticos.

TestingTDDRust

12 min

Primeros años de experiencia: La hazaña de un Junior

En estas semanas he estado redescubriendo Java, con el objetivo de pulir las bases y practicar muchos de los conceptos comunes del desarrollo...

JuniorOpiniónOportunidades

8 min

Navegando por los Smart Pointers en Rust

Explora en profundidad los smart pointers en Rust, cómo gestionan la memoria y recursos de manera eficiente, y su relación con el ownership y los lifetimes en Rust. Aprende sobre Box, Rc, Arc, RefCell, Cell, y Cow a través de ejemplos prácticos.

RustOwnershipBorrowing

8 min

Ownership en Rust

En Rust, para garantizar la seguridad de la memoria y evitar errores como punteros nulos, dobles liberaciones de memoria o condiciones de carrera, existe el concepto de ownership o 'propiedad'.

RustOwnershipBorrowing

10 min

La saga Mars Rover - Aplicando el patrón estado

Este artículo ha sido coescrito con mi compañero Aitor Reviriego, y será el primer artículo de una saga, en la que iremos compartiendo como hemos ido desarrollando la kata mars rover...

Clean CodeTestingJava

5 min

Dando mi primera charla en Codemotion

Descubre mi experiencia dando la primera charla en Codemotion Madrid. Consejos útiles para nuevos ponentes, preparación de ponencias y cómo superar los nervios en eventos tecnológicos.

Dev LifeCommunityProgramming Talk

6 min

La saga Mars Rover - Shortcuts IntelliJ

Este artículo forma parte de la Saga Mars Rover, en la que vamos mostrando el desarrollo de la kata y lo que vamos aprendiendo en ella...

Clean CodeTestingJava

5 min

Arquitectura hexagonal en Spring

En estas semanas he estado redescubriendo Java, con el objetivo de pulir las bases y practicar muchos de los conceptos comunes del desarrollo...

Clean CodeJavaSpring

10 min

Bajando a tierra la programación funcional

Imagina que estás construyendo una aplicación, y te encuentras con un problema recurrente: el manejo de datos complejos y las operaciones que deseas realizar sobre ellos. La programación funcional es un paradigma que puede ayudarte...

Functional ProgrammingTypeScript

6 min

Fusionando Repositorios de Git sin morir en el intento

En este artículo voy a explicar como unir varios repositorios de Git en uno solo, llevándonos también el histórico de commits que tengamos en cada uno de los repositorios que queramos unir.

GitGithubKata

10 min

Arquitectura de islas en Astro

La arquitectura de islas o Astro Islands se refiere a la existencia de componentes de UI interactivos en una página HTML predominantemente estática. Pueden coexistir varias islas en una misma página, y esa isla se renderiza de manera aislada.

AstroWebArquitectura

15 min

Aplicando los principios SOLID en React

Los principios SOLID son uno de los fundamentos más importantes en la arquitectura y desarrollo de software. SOLID es un acrónimo acuñado por Michael Feathers...

Clean CodeSOLIDReact