← Nicola VitraniScrivimi

Note dal lavoro

Appunti tecnici

Note brevi su scelte tecniche fatte su questo sito e su altri progetti: frontend, backend e lavoro con gli agenti AI.

  1. Backend · 4 minAPI sicure da ripetere: idempotenza e retryCosa succede quando una richiesta riesce ma la risposta si perde: Idempotency-Key, vincoli univoci e come evitare ordini duplicati.API · REST · Affidabilità
  2. Backend · 5 minLeggere EXPLAIN in MySQL senza paura (e scegliere l’indice giusto)Le quattro colonne di EXPLAIN che contano, i motivi per cui un indice non viene usato e come costruire un indice composto per una query reale.MySQL · Indici · Database · Prestazioni
  3. Backend · 5 minCode e job in Laravel: spostare il lavoro lento fuori dalla richiestaDispatch, tentativi, backoff e job falliti: come usare le code di Laravel in modo affidabile e cosa controllare dopo ogni deploy.Laravel · Code · Job · Affidabilità
  4. AI · 4 minPrompt per agenti di coding: criteri di accettazione, non desideriUn prompt efficace descrive come verificare il risultato. Una struttura semplice con contesto, vincoli e controlli concreti.Prompt · Agenti AI · Workflow
  5. AI · 4 minGit con gli agenti AI: branch, commit piccoli e come tornare indietroCome usare Git per lavorare in fretta con un agente senza paura di rompere qualcosa: branch dedicati, diff letto e comandi da non delegare.Git · Agenti AI · Workflow
  6. AI · 5 minVibe coding con criterio: dalla scintilla al codice che puoi mantenereCome lavoro con un agente AI senza perdere il controllo: vincoli prima del codice, passi piccoli, diff letto per intero e un commit solo quando sono io a dirlo.Vibe coding · Agenti AI · Workflow
  7. AI · 5 minScrivere istruzioni per un agente: CLAUDE.md, AGENTS.md e regole di CursorCosa mettere nel file di istruzioni che l’agente legge a ogni sessione, come tenerlo corto e come far diventare ogni errore ripetuto una riga utile.CLAUDE.md · AGENTS.md · Cursor · Agenti AI
  8. AI · 5 minVerificare il lavoro di un agente: se non l’hai misurato, non è finitoTre errori reali capitati lavorando con un agente AI su questo sito e le verifiche che li avrebbero intercettati prima: build, ambiente di sviluppo, screenshot e metriche.Agenti AI · Lighthouse · Verifica · Qualità
  9. AI · 5 minCursor, Claude Code o Codex: come scegliere lo strumento giustoUn criterio per scegliere tra editor con AI integrata e agenti da terminale o cloud: dove lavori, quanto controllo vuoi, quanto dura il compito e cosa puoi condividere.Cursor · Claude Code · Codex · Strumenti
  10. Backend · 4 minQuery N+1 in Laravel: come riconoscerle e toglierleIl problema più comune delle pagine lente in Laravel: come individuarlo, come risolverlo con l’eager loading e come far fallire i lazy load accidentali in sviluppo.Laravel · Eloquent · Database · Prestazioni
  11. Backend · 4 minPaginazione in Laravel: offset o cursore?paginate, simplePaginate e cursorPaginate a confronto: costo reale, comportamento quando i dati cambiano e quale scegliere per una tabella, un feed o un’API.Laravel · Database · API · Prestazioni
  12. Frontend · 4 minQuando togliere un effetto: da three.js a una griglia di punti in CSSPerché ho sostituito un reticolo 3D in three.js con una griglia di punti in CSS nella hero del mio portfolio, e cosa ho imparato sul peso visivo e tecnico di un effetto.CSS · three.js · Design · Prestazioni
  13. Frontend · 4 minTesto che si illumina allo scroll: come non rompere il contrastoUn effetto di lettura progressiva parte da parole quasi invisibili: cosa chiede WCAG sul contrasto, come l’ho misurato con Lighthouse e quale opacità minima ho scelto.Accessibilità · WCAG · CSS · Lighthouse
  14. Frontend · 5 minRendere indicizzabile una SPA React con Vite: prerender, lingue e sitemapCome ho trasformato un portfolio React a pagina singola in pagine statiche per lingua, con canonical, hreflang, sitemap generata in build e qualche ottimizzazione di caricamento.React · Vite · SEO · Prestazioni

Feed RSS