Chi c'è dietro Java Pills?
Massimiliano Cova, senior backend developer appassionato di Spring Reactive e divulgazione tech. Le Java Pills sono nate su LinkedIn. Qui puoi esplorarle tutte, ordinate e raccolte in un unico archivio.
-
21 giu 2025
💊 #14: Mono è un pigrone? Dipende!
Mono.just() valuta subito l'argomento (eager), Mono.fromCallable() rimanda l'esecuzione fino alla sottoscrizione (lazy): utile per operazioni potenzialmente bloccanti.
-
17 giu 2025
💊 #13: Dove gira il Mono?
Il thread di esecuzione di un Mono cambia se si usa subscribeOn(): default è il thread del subscriber, con boundedElastic() si sposta sul pool dedicato a operazioni I/O bloccanti.
-
24 mar 2025
💊 #12: I metodi zip con combinator
Usare le varianti combinator di Mono.zip, zipWith e zipWhen per ottenere direttamente un oggetto ben tipato invece di una Tuple2, e un helper custom per il caso a N Mono (con N > 2).
-
04 mar 2025
💊 #11: Agile Git Flow con merge gerarchico
Una variante di Git Flow ibridata con Trunk-Based Development per team agili: 4 livelli di branch (master/develop/sprint/feature), merge squash da figlio a padre e history pulita.
-
16 feb 2025
💊 #10: Migrazione di un'architettura BE verso un nuovo modello dati
Refactoring orizzontale dei repository, verticale di service e converter, ~100 test di integrazione, oltre 500 test unitari, e una git strategy a 4 rami per migrare il modello dati senza bloccare gli sviluppi.
-
12 feb 2025
💊 #9: Risolvere problemi di sviluppo con l'IA – dal prompt al codice
Delegare a ChatGPT un problema di aggregazione liste in Java: prompt astratto (senza domain leak) + soluzione con Collectors.groupingBy e flatMap.
-
06 nov 2024
💊 #8: Strategie eager e lazy a confronto con Optional e Mono (WebFlux)
Differenze tra orElse e orElseGet su Optional, switchIfEmpty con e senza defer su Mono: strategie eager vs lazy e quando scegliere ciascuna per evitare effetti collaterali.
-
28 ott 2024
💊 #7: Backpressure con WebFlux – i metodi hookOnSubscribe e hookOnNext
Come controllare il flusso di dati tra publisher e subscriber con BaseSubscriber, hookOnSubscribe e hookOnNext: richieste a batch per evitare sovraccarichi.
-
06 ott 2024
💊 #6: Sviluppo di una piccola app per Mac con ChatGPT in un pomeriggio di noia
Un pomeriggio di noia, ChatGPT e AppleScript: dalla creazione automatica di album di Foto su macOS, all'icona della app, senza scrivere quasi nulla di mano mia.
-
21 set 2024
💊 #5: Mocking di campi statici e finali con reflection e Unsafe (Java > 11)
Come usare reflection + sun.misc.Unsafe per sovrascrivere un Supplier private static final in test, bypassando le restrizioni della JVM su campi immutabili.