Saltar al contenido >_
El blog

Blog

Ensayos, decisiones técnicas y trade-offs sobre arquitectura, producción e IA. No para acumular tutoriales: para aprender a mirar sistemas con más criterio.

Página 2

Más publicaciones

32 artículos publicados
Día 17: Liskov, cuando heredar miente
JavaSpring BootArchitecture100ArchitectureDays

Día 17: Liskov, cuando heredar miente

Penguin extends Bird. En runtime, fly() explota. LSP: la herencia biologica no es herencia de comportamiento. Dia 17 de #100ArchitectureDays.

6 min read
Día 16: El if nuevo que rompió 5 features
JavaSpring BootArchitecture100ArchitectureDays

Día 16: El if nuevo que rompió 5 features

Cada canal nuevo obligaba a abrir NotificationService y rezar. Sprint 4 rompió EMAIL. Sprint 7, lo mismo al agregar SLACK. Open/Closed Principle: extender sin tocar lo que ya anda. Día 16 de #100ArchitectureDays.

6 min read
Día 15: Tu código es DRY pero nadie lo entiende. Bienvenido al infierno de la abstracción.
JavaSpring BootArchitecture100ArchitectureDays

Día 15: Tu código es DRY pero nadie lo entiende. Bienvenido al infierno de la abstracción.

Dos funciones parecidas no son la misma función. La abstracción incorrecta es peor que la duplicación, y probablemente tu codebase está lleno de ellas. Día 15 de #100ArchitectureDays.

6 min read
Día 14: Cambiaste una clase y rompiste 10 más. Efecto dominó.
JavaSpring BootArchitecture100ArchitectureDays

Día 14: Cambiaste una clase y rompiste 10 más. Efecto dominó.

Alto acoplamiento, baja cohesión. Cambias un DTO y te explota medio sistema. Cómo separar modelos por capa para eliminar el efecto dominó. Día 14 de #100ArchitectureDays.

6 min read
Día 13: Tu clase tiene 50 métodos. Hace de todo. No hace nada bien.
JavaSpring BootArchitecture100ArchitectureDays

Día 13: Tu clase tiene 50 métodos. Hace de todo. No hace nada bien.

Ese OrderService, UserManager o PedidoController que todos tocan y nadie entiende es un God Object, y te está costando plata real. Cómo identificarlo y desarmarlo con SRP. Día 13 de #100ArchitectureDays.

8 min read
Día 12: 5.000 personas hicieron click al mismo tiempo. Tu servidor pidió perdón.
JavaSpring BootArchitecture100ArchitectureDays

Día 12: 5.000 personas hicieron click al mismo tiempo. Tu servidor pidió perdón.

Tu API no tiene límites. Cualquiera puede hacer las requests que quiera, a la velocidad que quiera. Rate limiting y el algoritmo Token Bucket. Día 12 de #100ArchitectureDays.

7 min read
Día 11: System.out.println en producción, la confesión que nadie hace
JavaSpring BootArchitecture100ArchitectureDays

Día 11: System.out.println en producción, la confesión que nadie hace

Tus logs son ruido puro. Sin timestamp, sin nivel, sin contexto. A las 3AM con producción caído, ese println no te va a salvar. Día 11 de #100ArchitectureDays.

6 min read
Día 10: Le pusiste índices a todo y ahora los INSERT tardan 800ms
JavaSpring BootArchitecture100ArchitectureDays

Día 10: Le pusiste índices a todo y ahora los INSERT tardan 800ms

Los índices no son gratis. Cada uno acelera una lectura pero frena todas las escrituras. Las 4 reglas para indexar sin romper tu base. Día 10 de #100ArchitectureDays.

8 min read
Día 9: Tu app funcionó todo el QA. El lunes a las 9am explotó con 100 usuarios.
JavaSpring BootArchitecture100ArchitectureDays

Día 9: Tu app funcionó todo el QA. El lunes a las 9am explotó con 100 usuarios.

Connection pools, leaks silenciosos y la matemática de por qué 9 conexiones pueden manejar miles de requests. Día 9 de #100ArchitectureDays.

7 min read
Newsletter

¿Te quedaste con ganas de más?

La Bitácora Sin Filtros: una decisión técnica, sus trade-offs y una regla práctica, una vez por semana.