Blog
Quello che imparo, lo scrivo. 55 articoli.
RTK e tokensave: ridurre i costi dei token nell'AI coding
RTK comprime l'output verboso dei comandi CLI prima che entri nel contesto. tokensave sostituisce gli agenti Explore con un knowledge graph locale. Due tool Rust ortogonali.
ListObjects in Produzione: Caching, Pre-materializzazione e BatchCheck
Perché ListObjects diventa il collo di bottiglia in OpenFGA, e come risolverlo: caching con Redis, read model pre-materializzato, BatchCheck e strategie di invalidazione.
Burn-rate alerts: quando l'error budget brucia più veloce del previsto
Multi-window multi-burn-rate alerting da SRE Workbook cap. 5: alertare sul ritmo di consumo dell'error budget, non sulla soglia statica.
Gerarchie Profonde, Query Inverse e il Problema WHERE
Come gestire gerarchie a N livelli in OpenFGA, ottimizzare ListObjects con fast/slow path, e implementare Dynamic Data Masking come pattern complementare.
Prometheus predict_linear: alert predittivi di saturation in pratica
Come usare predict_linear in Prometheus per alert di saturation predittivi. USE vs Golden Signals, esempi reali (JVM, TLS, Kafka) e demo Docker Compose.
Dopo che l'Alert Scatta: Severity, Routing e il Contratto con Chi lo Riceve
Severity come contratto di routing, inhibit rules e runbook_url nel payload: i tre mattoni minimi che rendono un alert Alertmanager azionabile.
Multitenancy con OpenFGA: Isolamento Senza Moltiplicare la Complessità
Due strategie per multitenancy con OpenFGA: store-per-tenant e type-per-tenant. Come ottenere isolamento strutturale senza WHERE tenant_id ovunque.
OpenFGA + Keycloak: Identità e Permessi si Parlano
Come integrare OpenFGA con Keycloak: sincronizzazione utenti, JWT come ponte, contextual tuples e strategie per tenere identità e autorizzazione allineate.
Micro-frontend in Vue 3 con Module Federation: Shell, Contratto e Deploy Indipendente
Module Federation in Vue 3 con Vite: contratto shell/remote, dipendenze singleton e deploy indipendente per team.
Vedere LINQ in Azione: Tracing con OpenTelemetry e Grafana Tempo
Rendiamo visibile l'esecuzione di LINQ con OpenTelemetry e Grafana Tempo. Extension methods per tracciare pipeline, multiple enumeration e nesting esplosivo su una dashboard.
Zanzibar per Tutti: Concetti e Modello di Autorizzazione
Da RBAC a Zanzibar: come funziona il modello a tuple di OpenFGA, il DSL per le relazioni, e le tre domande fondamentali dell'autorizzazione.
Cosa Genera il Compilatore Quando Scrivi una Where() — State Machine, Iteratori e IL
Dietro ogni .Where() c'è una state machine generata dal compilatore. Esploriamo extension methods, lambda, yield return e le specializzazioni di Enumerable.Where in .NET 8.
Keycloak Federation: Integrare Utenti da LDAP, Okta, Google e Altri Identity Provider
Come Keycloak integra identità esterne con due meccanismi distinti: User Federation per directory come LDAP/AD, e Identity Brokering per provider come Okta, Google e altri Keycloak.
Playwright: Page Object Model per Test Manutenibili
Come organizzare i test E2E con il Page Object Model: classi riusabili, fixture Playwright, composizione con mock e refactoring guidato
Playwright: Mock Fixture, HAR Replay e Composizione per Test Scalabili
Come scalare il network mocking con fixture riusabili, HAR replay e composizione di scenari complessi
Playwright: Network Mocking e API Interception per Test Affidabili
Come usare page.route() per mockare API, simulare errori e testare edge case senza dipendere dai servizi reali
Playwright: Visual Regression Testing per Catturare Bug Invisibili
Come usare toHaveScreenshot() per catturare bug visivi che i test funzionali non vedono: masking, stati mockati, cross-browser e CI
Playwright: Diagnosticare e Risolvere Test Flaky
Come identificare le cause dei test flaky e risolverle: trace viewer, retry strategico, pattern anti-flaky e checklist diagnostica
Playwright: Authentication Testing con storageState e Keycloak
Come gestire l'autenticazione nei test E2E: storageState per evitare login ripetuti, ruoli multipli, session management e composizione con mock
Schema Registry con Apache Kafka: da JSON selvaggio ad Avro con Apicurio
Migrazione da JSON senza schema ad Avro con Apicurio Registry: infrastruttura, producer Node.js, consumer Python, schema evolution
Akka è morto, lunga vita a Pekko
Guida pratica alla migrazione da Akka a Apache Pekko in produzione: checklist completa, gotcha reali e lezioni apprese dal campo
Da blocking poll a stream reattivi con Pekko Connectors Kafka
Refactoring da attori bloccanti a Source.queue e consumer threads dedicati: pattern pratici con Pekko Streams e Kafka per sistemi di telemetria
Kafka crash recovery: tre strategie per tre tipi di stato
Tre strategie di recovery per consumer Kafka con stato diverso: replay completo per idempotenti, checkpoint per additivi, nessun recovery per stateless
Quanto Costa Davvero LINQ? Benchmark su .NET 8 con i Numeri
Benchmark reali con BenchmarkDotNet su .NET 8: List vs HashSet, scan vs GroupBy, allocazioni LINQ vs foreach, e il costo nascosto di AsParallel su collezioni piccole.
3 pattern (+1 anti-pattern) per eliminare la duplicazione in Vue 3
Tre pattern Vue 3 per eliminare la duplicazione nelle SPA enterprise, più un anti-pattern su quando fermarsi
Login con Keycloak: Authorization Code + PKCE in MockMart
Setup pratico di Authorization Code Flow con PKCE: configurazione Keycloak, integrazione frontend React e validazione backend Express.
Da EventBus a Pinia: migrazione progressiva dello stato in Vue 3
Pattern concreti per sostituire EventBus con Pinia in un progetto Vue 3: cache con deduplication, persistenza selettiva, approccio ibrido
OpenLayers e Vue 3: integrazione con composables e TypeScript
Pattern concreti per integrare OpenLayers in Vue 3 con shallowRef, composables tipizzati e lifecycle management
OpenTelemetry in Produzione: Routing dei Dati per Compliance e Costi
Separare log audit da log tecnici con il routing connector dell'OTel Collector. Demo, compliance GDPR/SOC 2 e retention differenziata.
Controller Kubernetes: Come Funziona il Cuore di K8s
Guida al funzionamento dei controller Kubernetes, dal reconciliation loop alla costruzione di un controller custom con controller-runtime
Keycloak: Cos'è e Perché Usarlo per la Tua Web App
Cos'è Keycloak, come funziona il login delegato e perché un Identity Provider centralizzato semplifica la vita.
Da console.log a Grafana: logging strutturato e centralizzato con Node.js
Come passare da console.log a un sistema di logging strutturato e centralizzato con Pino, OpenTelemetry, Loki e Grafana su Node.js in tre step incrementali
Dal test E2E al debug del backend: Playwright + OpenTelemetry
Come correlare test E2E Playwright con trace OpenTelemetry per identificare il microservizio colpevole quando un test fallisce
Autorizzazione Granulare con OPA e Keycloak: Separare Autenticazione e Autorizzazione
Come integrare Open Policy Agent con Keycloak in un'app Express per separare autenticazione e autorizzazione. Tre pattern concreti: RBAC, deny list e ownership.
Keycloak in Pratica: 6 Problemi Reali nell'Integrazione di un E-Commerce
6 problemi concreti nell'integrazione Keycloak con microservizi Node.js: issuer mismatch, audience mancante, service account fragili e race condition M2M.
Keycloak M2M: Autenticare Servizi Senza Utente
Come autenticare chiamate tra microservizi con Keycloak Client Credentials. Setup, codice e errori comuni.
OpenTelemetry in Produzione: Tail Sampling e Retention
Come ridurre il volume dati del 90% senza perdere visibilità sugli errori. Guida pratica con config template e scenario demo.
PII Filtering in OpenTelemetry: Proteggere i Dati Sensibili di Keycloak
Come instrumentare Keycloak e servizi third-party con dati sensibili, riducendo il rischio PII tramite filtering nell'OTel Collector. Tecniche GDPR-compliant.
Tutorial: Distributed Tracing con OpenTelemetry e LGTM Stack
Guida pratica al distributed tracing con OpenTelemetry e LGTM stack. Tre scenari di debug: silent failure, latency spike, fan-out.
Playwright: Testing E2E Moderno e Affidabile
Guida completa a Playwright per test end-to-end affidabili e veloci. Architettura, pattern avanzati e integrazione CI/CD
CAPI Parte 5: Ubuntu su Proxmox - Image Builder e Deploy
Guida completa al deployment di cluster Kubernetes su Proxmox utilizzando Ubuntu, Image Builder e Cluster API - Dalla creazione dell'immagine al cluster funzionante
Da port-forward a Ingress: Come configurare un ambiente Kubernetes locale professionale con NGINX
Guida completa alla configurazione di un Ingress Controller NGINX su un cluster Kubernetes locale (kind) per esporre servizi in modo stabile e professionale.
CAPI Parte 1: Dal Chaos all'Automazione
Guida completa al deployment e gestione di cluster Kubernetes utilizzando Cluster API (CAPI) per l'automazione dell'infrastruttura
CAPI Parte 2: Anatomia di Cluster API - Componenti e Meccanismi
Guida completa al deployment e gestione di cluster Kubernetes utilizzando Cluster API (CAPI) per l'automazione dell'infrastruttura
CAPI Parte 3: Talos Linux - Il Sistema Operativo per Kubernetes
Guida completa al deployment e gestione di cluster Kubernetes utilizzando Cluster API (CAPI) per l'automazione dell'infrastruttura
CAPI Parte 4: Setup Pratico - Day 1 Operations
Guida completa al deployment iniziale di cluster Kubernetes utilizzando Cluster API (CAPI) - Da Zero a Cluster Funzionante
Kafka in Pratica 1: Architettura di un Flusso di Eventi
Le fondamenta di Apache Kafka, dalla struttura delle partizioni al ruolo della chiave, con esempi pratici in Node.js e Python.
DevContainers: Ambiente di Sviluppo Portatile e Riproducibile
Esploriamo i DevContainers, come funzionano e perché sono essenziali per moderni flussi di lavoro di sviluppo, specialmente in ambienti distribuiti
Observability nei Sistemi Distribuiti: Dal Monitoraggio alla Comprensione
Perché metriche, log e trace non bastano più. Un cambio di paradigma per comprendere e dominare la complessità dei sistemi moderni.
Lo Stack LGTM e OpenTelemetry: Osservabilità Completa per Sistemi Distribuiti
Esplora lo stack LGTM (Loki, Grafana, Tempo, Mimir) e scopri come si integra con OpenTelemetry per un'osservabilità end-to-end di log, metriche e tracce.
OpenTelemetry: Anatomia dell'Observability nei Sistemi Distribuiti
Struttura, funzionamento e best practice di OpenTelemetry per l’implementazione dell’observability end-to-end in ambienti complessi.
Introduzione all'analisi delle performance: dalla teoria alla pratica
Fondamenta teoriche e pratiche del performance testing: dalle metriche RED ai percentili, una guida completa per iniziare
Deploy Self-Hosted di n8n in Homelab
Automazione personale con n8n deploy, configurazione e integrazione in un ambiente casalingo
Docker Internals: Namespaces e CGroups Spiegati
Guida completa ai meccanismi interni di Docker e all'isolamento dei container
Playwright in CI/CD: Sharding, Mobile Testing e Automazione Agent-Driven
Come integrare Playwright nella pipeline CI/CD con sharding, emulazione mobile e API testing per suite E2E veloci, affidabili e pronte per l'automazione agent-driven