<?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>Web Development on Spaghetti Code 🍝</title>
    <link>https://spaghetti-code.net/en/tags/web-development/</link>
    <description>Recent content in Web 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>en</language>
    <lastBuildDate>Thu, 05 Nov 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://spaghetti-code.net/en/tags/web-development/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>CSS Specificity Explained: How the Cascade Decides</title>
      <link>https://spaghetti-code.net/en/posts/css/css-specificity-explained/</link>
      <pubDate>Thu, 05 Nov 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/css/css-specificity-explained/</guid>
      <description>How CSS specificity is calculated, why a later rule can still lose, where inline styles and !important fit, and how cascade layers fix the problem for good.</description>
    </item>
    <item>
      <title>React useEffect Explained: Dependency Arrays and Cleanup</title>
      <link>https://spaghetti-code.net/en/posts/react/react-useeffect-explained/</link>
      <pubDate>Thu, 29 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/react/react-useeffect-explained/</guid>
      <description>How React&amp;#39;s useEffect dependency array works, why effects fire twice in development, what the cleanup function actually does, and the mistakes that cause loops.</description>
    </item>
    <item>
      <title>Intersection Observer API: Lazy Loading and Infinite Scroll</title>
      <link>https://spaghetti-code.net/en/posts/javascript/intersection-observer-api/</link>
      <pubDate>Wed, 21 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/javascript/intersection-observer-api/</guid>
      <description>How the Intersection Observer API replaces scroll-and-debounce code for lazy-loaded images and infinite scroll, with rootMargin and threshold explained.</description>
    </item>
    <item>
      <title>JavaScript Closures Explained With Examples</title>
      <link>https://spaghetti-code.net/en/posts/javascript/javascript-closures-explained/</link>
      <pubDate>Mon, 19 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/javascript/javascript-closures-explained/</guid>
      <description>A JavaScript closure keeps a function tied to the variables where it was created, even after that code returns. How closures work, and where they break.</description>
    </item>
    <item>
      <title>JavaScript Fetch API Error Handling Explained</title>
      <link>https://spaghetti-code.net/en/posts/javascript/fetch-api-error-handling/</link>
      <pubDate>Wed, 14 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/javascript/fetch-api-error-handling/</guid>
      <description>fetch() resolves on 404 and 500 responses instead of rejecting, so a plain try/catch misses them. How to check response.ok, read error bodies, and add timeouts.</description>
    </item>
    <item>
      <title>CSS Grid vs Flexbox: When to Use Each</title>
      <link>https://spaghetti-code.net/en/posts/css/css-grid-vs-flexbox/</link>
      <pubDate>Mon, 12 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/css/css-grid-vs-flexbox/</guid>
      <description>Flexbox lays out one row or column; Grid lays out rows and columns together. The decision rule, with working code for navbars, dashboards, and card grids.</description>
    </item>
    <item>
      <title>Debounce vs Throttle in JavaScript: When to Use Each</title>
      <link>https://spaghetti-code.net/en/posts/javascript/debounce-vs-throttle-javascript/</link>
      <pubDate>Thu, 08 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/javascript/debounce-vs-throttle-javascript/</guid>
      <description>Debounce vs throttle in JavaScript: debounce waits until events stop firing, throttle runs at a steady rate while they continue. How each works, which to use.</description>
    </item>
    <item>
      <title>LocalStorage vs SessionStorage vs Cookies: What to Use</title>
      <link>https://spaghetti-code.net/en/posts/web/localstorage-vs-sessionstorage-vs-cookies/</link>
      <pubDate>Mon, 05 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/web/localstorage-vs-sessionstorage-vs-cookies/</guid>
      <description>Cookies, localStorage, and sessionStorage all hold data in the browser, but only cookies reach your server. Here is how to pick the right one and secure it.</description>
    </item>
    <item>
      <title>What Is CORS and How to Fix CORS Errors</title>
      <link>https://spaghetti-code.net/en/posts/web/what-is-cors/</link>
      <pubDate>Sat, 26 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/web/what-is-cors/</guid>
      <description>Why the browser blocks your fetch call with a CORS error, what same-origin policy actually restricts, and how to fix it server-side in Express and ASP.NET Core.</description>
    </item>
  </channel>
</rss>
