<?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>Python on Spaghetti Code 🍝</title>
    <link>https://spaghetti-code.net/en/tags/python/</link>
    <description>Recent content in Python 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>en</language>
    <lastBuildDate>Wed, 04 Nov 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://spaghetti-code.net/en/tags/python/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>What Is a Hash Table? Hashing and Collisions Explained</title>
      <link>https://spaghetti-code.net/en/posts/fundamentals/what-is-a-hash-table/</link>
      <pubDate>Wed, 04 Nov 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/fundamentals/what-is-a-hash-table/</guid>
      <description>A hash table turns a key into an array index in constant time, until two keys collide. How hashing, chaining, open addressing, and load factor actually work.</description>
    </item>
    <item>
      <title>Mocks vs Stubs vs Fakes vs Spies: Test Doubles Explained</title>
      <link>https://spaghetti-code.net/en/posts/testing/test-doubles-explained/</link>
      <pubDate>Mon, 02 Nov 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/testing/test-doubles-explained/</guid>
      <description>Dummy, stub, spy, fake and mock: five test doubles that check different things. One Python class, tested all five ways, shows which to use in your next test.</description>
    </item>
    <item>
      <title>Regular Expressions Explained: How Regex Really Works</title>
      <link>https://spaghetti-code.net/en/posts/fundamentals/regular-expressions-explained/</link>
      <pubDate>Wed, 28 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/fundamentals/regular-expressions-explained/</guid>
      <description>A regex engine doesn&amp;#39;t scan the whole string at once. It walks the pattern token by token and backtracks on failure. How that works, and why it sometimes hangs.</description>
    </item>
    <item>
      <title>What Is Unicode and How UTF-8 Encoding Works</title>
      <link>https://spaghetti-code.net/en/posts/fundamentals/utf-8-encoding-explained/</link>
      <pubDate>Tue, 20 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/fundamentals/utf-8-encoding-explained/</guid>
      <description>Unicode gives every character a number; UTF-8 turns that number into 1 to 4 bytes. Why string.length lies, and where real encoding bugs actually come from.</description>
    </item>
    <item>
      <title>What Is TDD and How the Red-Green-Refactor Cycle Works</title>
      <link>https://spaghetti-code.net/en/posts/testing/what-is-tdd/</link>
      <pubDate>Sun, 18 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/testing/what-is-tdd/</guid>
      <description>Test-driven development means writing a failing test before the code, making it pass, then cleaning up. The red-green-refactor cycle, with a full Python kata.</description>
    </item>
    <item>
      <title>Recursion Explained: When to Use It and When Not To</title>
      <link>https://spaghetti-code.net/en/posts/fundamentals/recursion-explained/</link>
      <pubDate>Tue, 13 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/fundamentals/recursion-explained/</guid>
      <description>Recursion explained with real code: how the call stack and base case work, when it beats a loop, why Python and JS crash past a depth limit, and memoization.</description>
    </item>
    <item>
      <title>SOLID Principles Explained With Python Examples</title>
      <link>https://spaghetti-code.net/en/posts/clean-code/solid-principles-explained/</link>
      <pubDate>Sat, 10 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/clean-code/solid-principles-explained/</guid>
      <description>The SOLID principles are five rules for structuring classes so one change doesn&amp;#39;t ripple everywhere. Each one shown with before-and-after Python code.</description>
    </item>
    <item>
      <title>What Is a Race Condition and How to Fix One</title>
      <link>https://spaghetti-code.net/en/posts/fundamentals/what-is-a-race-condition/</link>
      <pubDate>Fri, 09 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/fundamentals/what-is-a-race-condition/</guid>
      <description>A race condition happens when your code&amp;#39;s result depends on timing you can&amp;#39;t control. Where it hides in threads, async code, databases, and how to fix it.</description>
    </item>
    <item>
      <title>Python Decorators Explained With Examples</title>
      <link>https://spaghetti-code.net/en/posts/python/python-decorators-explained/</link>
      <pubDate>Wed, 07 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/python/python-decorators-explained/</guid>
      <description>Python decorators explained with real examples: how the @ syntax works, functools.wraps, decorators with arguments, class-based decorators, and lru_cache.</description>
    </item>
    <item>
      <title>Why 0.1 &#43; 0.2 Doesn&#39;t Equal 0.3: Floating-Point Explained</title>
      <link>https://spaghetti-code.net/en/posts/fundamentals/why-0-1-plus-0-2-doesnt-equal-0-3/</link>
      <pubDate>Tue, 06 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/fundamentals/why-0-1-plus-0-2-doesnt-equal-0-3/</guid>
      <description>Floating point cannot store most decimals exactly, so 0.1 &#43; 0.2 returns 0.30000000000000004 instead of 0.3. Why that happens, and how to compare numbers safely.</description>
    </item>
    <item>
      <title>Big O Notation Explained With Code Examples</title>
      <link>https://spaghetti-code.net/en/posts/fundamentals/big-o-notation/</link>
      <pubDate>Sun, 04 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/fundamentals/big-o-notation/</guid>
      <description>Big O notation measured with real code: five functions timed as input grows, what the notation leaves out, and how to spot an accidental O(n^2) before it ships.</description>
    </item>
    <item>
      <title>Python Virtual Environments: venv, pip and uv</title>
      <link>https://spaghetti-code.net/en/posts/python/python-virtual-environments/</link>
      <pubDate>Wed, 30 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/python/python-virtual-environments/</guid>
      <description>What a Python virtual environment actually is, how to create one with venv or uv, manage dependencies with pip and pyproject.toml, and fix the common errors.</description>
    </item>
    <item>
      <title>Unit vs Integration vs End-to-End Tests Explained</title>
      <link>https://spaghetti-code.net/en/posts/testing/unit-vs-integration-vs-end-to-end-tests/</link>
      <pubDate>Tue, 29 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/testing/unit-vs-integration-vs-end-to-end-tests/</guid>
      <description>Unit, integration, and end-to-end tests catch different bugs. One Flask sign-up tested at all three levels, with mocks vs fakes and why e2e tests go flaky.</description>
    </item>
  </channel>
</rss>
