18 de set. 2026
Un exemple senzill de Spring Integration 1. Introducció Spring Integration és un framework que ajuda a connectar sistemes dins d’una aplicació Spring. Usa les mateixes idees que els Enterprise Integration Patterns: missatges, canals i endpoints. Si ja coneixes Spring Boot, resulta familiar al cap de pocs minuts.
En aquest article mostraré un exemple mínim de «hello world». Enviarem un nom a través d’un gateway, el passarem per un canal i obtindrem una salutació.
Llegir més →17 de set. 2026
Construir una API Java fluent amb Consumer i BiConsumer 1. Introducció Quan construeixo llibreries internes petites, intento que l’API pública sigui fàcil de llegir. Darrerament faig servir sovint Consumer i BiConsumer perquè els callers puguin configurar objectes sense escriure classes anònimes llargues. El resultat s’assembla a un builder, però cada pas és només un lambda que prepara alguna cosa.
En aquest article mostraré un exemple inventat: un MenuBuilder petit que permet afegir elements a un menú.
Llegir més →24 d’ag. 2026
Observabilitat per a virtual threads: traçar una petició Spring Boot 3 amb Micrometer i OpenTelemetry 1. Introducció Una propietat passa un servei Spring Boot a virtual threads:
spring.threads.virtual.enabled=true Després d’aquest canvi, el throughput pot millorar. També es pot perdre informació d’observabilitat. Les traces poden perdre spans fills, els logs poden perdre els seus trace ids i les mètriques dels thread pools ja no mostren el límit real.
En aquest article mostraré com resoldre aquests tres problemes.
Llegir més →22 d’ag. 2026
Structured concurrency i scoped values a Java 25: substituir ThreadLocal en pipelines de peticions 1. Introducció Els virtual threads fan barat executar molts tasks. Dos patrons antics encara causen problemes en pipelines de peticions: iniciar tasks de fan-out sense un scope compartit i guardar el context de la petició en ThreadLocal.
En aquest article mostraré com StructuredTaskScope i ScopedValue resolen aquests problemes a Java 25. També mostraré com passar de l’API preview de Java 21 i quins problemes encara cal tenir en compte.
Llegir més →24 de jul. 2026
Virtual threads a Java 21: guia pràctica per a plataformes backend 1. Introducció Les aplicacions backend sovint fan servir thread pools limitats. Una petició que espera una base de dades o un altre servei HTTP manté ocupat un platform thread. Quan el pool s’omple, la latència creix.
En aquest article mostraré com funcionen els virtual threads, com activar-los, com comprovar-los i quins problemes cal evitar. Java 21 els converteix en una funcionalitat estable, però no són un interruptor general de rendiment.
Llegir més →21 de jul. 2026
ADR-01: generador de llocs estàtics per al meu portfolio d’enginyeria 1. Introducció Necessitava un lloc personal que pogués mantenir mentre creix la meva carrera. Havia de ser fàcil d’actualitzar, estar guardat a Git, carregar ràpid i ser senzill de desplegar a GitHub Pages.
En aquest article mostraré les opcions que vaig considerar i per què vaig triar Hugo per a aquest lloc.
2. Context El lloc ha de tenir pàgines de portfolio i articles.
Llegir més →21 de jul. 2026
De «Hello world» a un portfolio d’enginyeria 1. Introducció He reconstruït giro-dev.github.io des d’una pàgina provisional fins a un portfolio d’enginyeria. L’objectiu era fer fàcils de trobar la meva feina i la meva experiència.
En aquest article mostraré què ha canviat i per què he fet aquests canvis.
2. Objectiu Volia passar d’una pàgina provisional a un perfil en línia per presentar-me a rols de Staff Engineer, Principal Engineer i Software Architect en empreses orientades al producte.
Llegir més →21 de jul. 2026
Matriarch: generació de dades de prova per a Java 1. Introducció Els tests de Java sovint necessiten molts objectes abans de poder provar el comportament real. Crear aquests objectes a mà porta temps i fa que els tests siguin més difícils de llegir.
En aquest article mostraré la idea de Matriarch, una llibreria Java petita que crea dades de prova amb el patró Object Mother.
2. Problema Escriure fixtures de prova per a POJOs i Records de Java és repetitiu i pot introduir errors.
Llegir més →