Blog

Quello che imparo, lo scrivo. 51 articoli.

Verificare13 min

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.

Verificare18 min

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.

Verificare13 min

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.

Verificare16 min

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.

Progettare11 min

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.

Progettare16 min

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.

Verificare14 min

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.

Progettare14 min

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.

Progettare11 min

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.

Automatizzare14 min

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

Automatizzare12 min

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

Automatizzare13 min

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

Automatizzare13 min

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

Automatizzare15 min

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

Automatizzare13 min

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

Progettare14 min

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

Progettare8 min

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

Progettare9 min

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

Progettare12 min

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

Progettare14 min

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.

Progettare11 min

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

Progettare13 min

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.

Progettare11 min

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

Progettare13 min

OpenLayers e Vue 3: integrazione con composables e TypeScript

Pattern concreti per integrare OpenLayers in Vue 3 con shallowRef, composables tipizzati e lifecycle management

Verificare18 min

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.

Automatizzare15 min

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

Progettare7 min

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.

Verificare8 min

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

Automatizzare13 min

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

Progettare13 min

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.

Progettare11 min

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.

Progettare9 min

Keycloak M2M: Autenticare Servizi Senza Utente

Come autenticare chiamate tra microservizi con Keycloak Client Credentials. Setup, codice e errori comuni.

Verificare17 min

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.

Verificare13 min

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.

Verificare18 min

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.

Automatizzare17 min

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

Automatizzare5 min

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

Automatizzare16 min

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.

Automatizzare7 min

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

Automatizzare11 min

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

Automatizzare11 min

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

Automatizzare9 min

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

Progettare12 min

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.

Automatizzare6 min

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

Verificare24 min

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.

Verificare12 min

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.

Verificare11 min

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.

Automatizzare12 min

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

Automatizzare12 min

Deploy Self-Hosted di n8n in Homelab

Automazione personale con n8n deploy, configurazione e integrazione in un ambiente casalingo

Automatizzare10 min

Docker Internals: Namespaces e CGroups Spiegati

Guida completa ai meccanismi interni di Docker e all'isolamento dei container

Automatizzare11 min

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