<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Software Development on Spaghetti Code 🍝</title>
    <link>https://spaghetti-code.net/it/tags/software-development/</link>
    <description>Recent content in Software Development on Spaghetti Code 🍝</description>
    <image>
      <title>Spaghetti Code 🍝</title>
      <url>https://spaghetti-code.net/images/og-default.png</url>
      <link>https://spaghetti-code.net/images/og-default.png</link>
    </image>
    <generator>Hugo -- 0.160.0</generator>
    <language>it</language>
    <lastBuildDate>Wed, 04 Nov 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://spaghetti-code.net/it/tags/software-development/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Cos&#39;è una Hash Table? Hashing e Collisioni Spiegati</title>
      <link>https://spaghetti-code.net/it/posts/fundamentals/cos-e-una-hash-table/</link>
      <pubDate>Wed, 04 Nov 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/it/posts/fundamentals/cos-e-una-hash-table/</guid>
      <description>Una hash table trasforma una chiave in un indice di array in tempo costante, fino alla collisione. Hashing, chaining, open addressing e load factor spiegati.</description>
    </item>
    <item>
      <title>Ownership e Borrowing in Rust: Come Funzionano</title>
      <link>https://spaghetti-code.net/it/posts/rust/ownership-e-borrowing-in-rust/</link>
      <pubDate>Tue, 03 Nov 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/it/posts/rust/ownership-e-borrowing-in-rust/</guid>
      <description>Le regole di ownership e borrowing di Rust eliminano use-after-free e data race in fase di compilazione. Come funzionano move, trait Copy, reference e lifetime.</description>
    </item>
    <item>
      <title>Mock, Stub, Fake e Spy: i Test Double Spiegati</title>
      <link>https://spaghetti-code.net/it/posts/testing/cosa-sono-i-test-double/</link>
      <pubDate>Mon, 02 Nov 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/it/posts/testing/cosa-sono-i-test-double/</guid>
      <description>Dummy, stub, spy, fake e mock sono cinque test double che verificano cose diverse: una classe Python, testata in ogni modo, mostra quale scegliere nel test.</description>
    </item>
    <item>
      <title>ESLint vs Prettier: Differenze e Come Usarli Insieme</title>
      <link>https://spaghetti-code.net/it/posts/javascript/eslint-vs-prettier-differenze/</link>
      <pubDate>Sun, 01 Nov 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/it/posts/javascript/eslint-vs-prettier-differenze/</guid>
      <description>ESLint individua bug e pattern scorretti nel codice, Prettier si limita a riformattarlo. Perché usarli insieme genera conflitti e come evitarli nel flat config.</description>
    </item>
    <item>
      <title>Espressioni Regolari Spiegate: Come Funziona il Regex</title>
      <link>https://spaghetti-code.net/it/posts/fundamentals/spiegazione-espressioni-regolari/</link>
      <pubDate>Wed, 28 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/it/posts/fundamentals/spiegazione-espressioni-regolari/</guid>
      <description>Un motore regex non scansiona l&amp;#39;intera stringa in un colpo. Legge il pattern token per token e fa backtracking sugli errori, e a volte si blocca per sempre.</description>
    </item>
    <item>
      <title>Generics in TypeScript Spiegati con Esempi</title>
      <link>https://spaghetti-code.net/it/posts/typescript/generics-typescript-spiegati/</link>
      <pubDate>Tue, 27 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/it/posts/typescript/generics-typescript-spiegati/</guid>
      <description>I generics in TypeScript mantengono il tipo che passi invece di farlo collassare in any. Come funzionano inferenza, extends, keyof e i default, con esempi.</description>
    </item>
    <item>
      <title>Eccezioni vs Valori di Errore: Come Scegliere una Strategia</title>
      <link>https://spaghetti-code.net/it/posts/clean-code/eccezioni-vs-valori-di-errore/</link>
      <pubDate>Mon, 26 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/it/posts/clean-code/eccezioni-vs-valori-di-errore/</guid>
      <description>Eccezioni e valori di errore risolvono lo stesso problema in modi diversi. I compromessi reali in Python, Go e Rust, e come scegliere per il tuo codice.</description>
    </item>
    <item>
      <title>Rate Limiting delle API: Algoritmi e Come Costruirne Uno</title>
      <link>https://spaghetti-code.net/it/posts/backend/rate-limiting-api/</link>
      <pubDate>Fri, 23 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/it/posts/backend/rate-limiting-api/</guid>
      <description>Come funziona il rate limiting delle API: fixed window, sliding window, token bucket e leaky bucket a confronto, con un&amp;#39;implementazione Redis e gli header 429.</description>
    </item>
    <item>
      <title>Intersection Observer: Lazy Loading e Scroll Infinito</title>
      <link>https://spaghetti-code.net/it/posts/javascript/intersection-observer-lazy-loading/</link>
      <pubDate>Wed, 21 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/it/posts/javascript/intersection-observer-lazy-loading/</guid>
      <description>Come la Intersection Observer API sostituisce lo scroll con debounce per il lazy loading delle immagini e lo scroll infinito: rootMargin e threshold spiegati.</description>
    </item>
    <item>
      <title>Cosa Sono Unicode e la Codifica UTF-8</title>
      <link>https://spaghetti-code.net/it/posts/fundamentals/cosa-sono-unicode-e-utf-8/</link>
      <pubDate>Tue, 20 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/it/posts/fundamentals/cosa-sono-unicode-e-utf-8/</guid>
      <description>Unicode assegna un numero a ogni carattere; UTF-8 trasforma quel numero in 1-4 byte. Perché string.length mente e da dove arrivano i bug di codifica reali.</description>
    </item>
    <item>
      <title>Closure in JavaScript Spiegate con Esempi</title>
      <link>https://spaghetti-code.net/it/posts/javascript/closure-javascript-spiegate/</link>
      <pubDate>Mon, 19 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/it/posts/javascript/closure-javascript-spiegate/</guid>
      <description>Una closure in JavaScript lega una funzione alle variabili di dove è stata creata, anche dopo che quel codice termina. Come funzionano, dove si rompono.</description>
    </item>
    <item>
      <title>Cos&#39;è il TDD e Come Funziona il Ciclo Red-Green-Refactor</title>
      <link>https://spaghetti-code.net/it/posts/testing/cos-e-il-tdd/</link>
      <pubDate>Sun, 18 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/it/posts/testing/cos-e-il-tdd/</guid>
      <description>Il test-driven development scrive un test che fallisce prima del codice, lo fa passare, poi ripulisce. Il ciclo red-green-refactor, con kata Python completa.</description>
    </item>
    <item>
      <title>JWT vs Sessione: Quale Autenticazione Scegliere</title>
      <link>https://spaghetti-code.net/it/posts/backend/differenze-tra-jwt-e-sessione/</link>
      <pubDate>Fri, 16 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/it/posts/backend/differenze-tra-jwt-e-sessione/</guid>
      <description>Le sessioni mantengono lo stato di login sul server, i JWT lo firmano nel token. Come funzionano in Node e quando scegliere l&amp;#39;una o l&amp;#39;altro per la tua app.</description>
    </item>
    <item>
      <title>Gestione degli Errori con la Fetch API in JavaScript</title>
      <link>https://spaghetti-code.net/it/posts/javascript/gestione-errori-fetch-api-javascript/</link>
      <pubDate>Wed, 14 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/it/posts/javascript/gestione-errori-fetch-api-javascript/</guid>
      <description>fetch() si risolve anche su 404 e 500, non li rifiuta: un try/catch non basta. Come controllare response.ok, leggere il corpo di errore e aggiungere un timeout.</description>
    </item>
    <item>
      <title>La Ricorsione Spiegata: Quando Usarla e Quando Evitarla</title>
      <link>https://spaghetti-code.net/it/posts/fundamentals/ricorsione-spiegata/</link>
      <pubDate>Tue, 13 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/it/posts/fundamentals/ricorsione-spiegata/</guid>
      <description>La ricorsione spiegata con codice vero: come funzionano stack e caso base, quando batte un ciclo, perché Python e JS crashano, e come usare memoization.</description>
    </item>
    <item>
      <title>CSS Grid o Flexbox: quando usare quale</title>
      <link>https://spaghetti-code.net/it/posts/css/css-grid-o-flexbox-quando-usare-quale/</link>
      <pubDate>Mon, 12 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/it/posts/css/css-grid-o-flexbox-quando-usare-quale/</guid>
      <description>Flexbox dispone gli elementi su una riga o colonna, Grid su righe e colonne insieme. La regola per scegliere, con codice per navbar, dashboard e card.</description>
    </item>
    <item>
      <title>Goroutine e Channel in Go: Guida con Esempi</title>
      <link>https://spaghetti-code.net/it/posts/go/goroutine-e-channel-in-go/</link>
      <pubDate>Sun, 11 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/it/posts/go/goroutine-e-channel-in-go/</guid>
      <description>Come funzionano goroutine e channel in Go: lavoro concorrente con go, channel bufferizzati e non bufferizzati, select, e gli errori che causano leak o deadlock.</description>
    </item>
    <item>
      <title>Principi SOLID Spiegati con Esempi in Python</title>
      <link>https://spaghetti-code.net/it/posts/clean-code/principi-solid/</link>
      <pubDate>Sat, 10 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/it/posts/clean-code/principi-solid/</guid>
      <description>I principi SOLID sono cinque regole per strutturare le classi così che una modifica non si propaghi ovunque, ciascuno spiegato con codice Python prima e dopo.</description>
    </item>
    <item>
      <title>Cos&#39;è una Race Condition e Come Risolverla</title>
      <link>https://spaghetti-code.net/it/posts/fundamentals/cos-e-una-race-condition/</link>
      <pubDate>Fri, 09 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/it/posts/fundamentals/cos-e-una-race-condition/</guid>
      <description>Una race condition nasce quando il risultato dipende da un timing che non controlli. Dove si nasconde tra thread, codice async e database, e come risolverla.</description>
    </item>
    <item>
      <title>Debounce vs Throttle in JavaScript: Quando Usare Ciascuno</title>
      <link>https://spaghetti-code.net/it/posts/javascript/differenza-tra-debounce-e-throttle-javascript/</link>
      <pubDate>Thu, 08 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/it/posts/javascript/differenza-tra-debounce-e-throttle-javascript/</guid>
      <description>Debounce e throttle in JavaScript: il debounce aspetta che gli eventi si fermino, il throttle li esegue a ritmo costante. Come funzionano e quando usarli.</description>
    </item>
    <item>
      <title>Decoratori Python Spiegati con Esempi Pratici</title>
      <link>https://spaghetti-code.net/it/posts/python/decoratori-python-spiegati/</link>
      <pubDate>Wed, 07 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/it/posts/python/decoratori-python-spiegati/</guid>
      <description>Come funzionano i decoratori in Python: sintassi @, functools.wraps, decoratori con argomenti, decoratori basati su classi e lru_cache, con esempi reali.</description>
    </item>
    <item>
      <title>Perché 0.1 &#43; 0.2 Non Fa 0.3: la Virgola Mobile Spiegata</title>
      <link>https://spaghetti-code.net/it/posts/fundamentals/perche-0-1-piu-0-2-non-fa-0-3/</link>
      <pubDate>Tue, 06 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/it/posts/fundamentals/perche-0-1-piu-0-2-non-fa-0-3/</guid>
      <description>La virgola mobile non memorizza quasi mai un decimale esatto: 0.1 &#43; 0.2 dà 0.30000000000000004 invece di 0.3. Perché succede e come confrontare due numeri.</description>
    </item>
    <item>
      <title>Notazione Big O Spiegata con Esempi di Codice</title>
      <link>https://spaghetti-code.net/it/posts/fundamentals/notazione-big-o/</link>
      <pubDate>Sun, 04 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/it/posts/fundamentals/notazione-big-o/</guid>
      <description>La notazione Big O con codice reale: funzioni cronometrate al crescere dell&amp;#39;input, cosa non dice e come scovare un O(n^2) nascosto prima della produzione.</description>
    </item>
    <item>
      <title>Git Reset vs Revert vs Restore: differenze e come usarli</title>
      <link>https://spaghetti-code.net/it/posts/git/differenze-reset-revert-restore-git/</link>
      <pubDate>Sat, 03 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/it/posts/git/differenze-reset-revert-restore-git/</guid>
      <description>Git reset, revert e restore annullano una modifica in fasi diverse del flusso Git: ecco quale usare per file non in staging, commit locali o già pushati.</description>
    </item>
    <item>
      <title>Cos&#39;è la Dependency Injection (con Esempi)</title>
      <link>https://spaghetti-code.net/it/posts/clean-code/cos-e-la-dependency-injection/</link>
      <pubDate>Thu, 01 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/it/posts/clean-code/cos-e-la-dependency-injection/</guid>
      <description>La dependency injection passa a una classe le sue dipendenze invece di farle costruire da sola: constructor injection, lifetime di ASP.NET Core e cosa si rompe.</description>
    </item>
    <item>
      <title>Test Unitari vs Test di Integrazione vs Test End-to-End</title>
      <link>https://spaghetti-code.net/it/posts/testing/unit-test-vs-integration-test-vs-test-end-to-end/</link>
      <pubDate>Tue, 29 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/it/posts/testing/unit-test-vs-integration-test-vs-test-end-to-end/</guid>
      <description>Test unitari, di integrazione ed end-to-end trovano bug diversi. Una registrazione Flask testata sui tre livelli, tra mock, fake e test e2e instabili.</description>
    </item>
    <item>
      <title>Async/Await e Event Loop in JavaScript Spiegati</title>
      <link>https://spaghetti-code.net/it/posts/javascript/async-await-e-event-loop-javascript/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/it/posts/javascript/async-await-e-event-loop-javascript/</guid>
      <description>Come async/await funziona sull&amp;#39;event loop di JavaScript, perché una promise batte setTimeout(0) e le correzioni per await mancanti, loop lenti e async forEach.</description>
    </item>
    <item>
      <title>Cos&#39;è CORS e Come Risolvere gli Errori CORS</title>
      <link>https://spaghetti-code.net/it/posts/web/cos-e-cors-come-risolvere-errori-cors/</link>
      <pubDate>Sat, 26 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/it/posts/web/cos-e-cors-come-risolvere-errori-cors/</guid>
      <description>Perché il browser blocca la tua fetch con un errore CORS, cosa limita davvero la same-origin policy e come risolverlo lato server in Express e ASP.NET Core.</description>
    </item>
    <item>
      <title>Come Configurare il Debug Remoto in Visual Studio</title>
      <link>https://spaghetti-code.net/it/posts/debugging/debug-remoto-in-visual-studio/</link>
      <pubDate>Wed, 23 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/it/posts/debugging/debug-remoto-in-visual-studio/</guid>
      <description>Debug remoto in Visual Studio con msvsmon: installare gli strumenti remoti, aprire la porta giusta, far combaciare i simboli e agganciarsi a un processo remoto.</description>
    </item>
  </channel>
</rss>
