<?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/es/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>es</language>
    <lastBuildDate>Thu, 05 Nov 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://spaghetti-code.net/es/tags/web-development/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Especificidad CSS Explicada: Cómo Decide la Cascada</title>
      <link>https://spaghetti-code.net/es/posts/css/especificidad-css-explicada/</link>
      <pubDate>Thu, 05 Nov 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/es/posts/css/especificidad-css-explicada/</guid>
      <description>Cómo se calcula la especificidad CSS, por qué una regla más reciente puede seguir perdiendo, y cómo resuelven el conflicto !important y las cascade layers.</description>
    </item>
    <item>
      <title>React useEffect Explicado: Dependencias y Cleanup</title>
      <link>https://spaghetti-code.net/es/posts/react/react-useeffect-explicado/</link>
      <pubDate>Thu, 29 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/es/posts/react/react-useeffect-explicado/</guid>
      <description>Cómo funciona el array de dependencias de useEffect, por qué se ejecuta dos veces en desarrollo, qué hace el cleanup y los errores que causan bucles infinitos.</description>
    </item>
    <item>
      <title>Intersection Observer: Lazy Loading y Scroll Infinito</title>
      <link>https://spaghetti-code.net/es/posts/javascript/intersection-observer-lazy-loading/</link>
      <pubDate>Wed, 21 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/es/posts/javascript/intersection-observer-lazy-loading/</guid>
      <description>Cómo la Intersection Observer API sustituye al scroll con debounce para lazy loading de imágenes y scroll infinito, con rootMargin y threshold explicados.</description>
    </item>
    <item>
      <title>Closures en JavaScript Explicadas con Ejemplos</title>
      <link>https://spaghetti-code.net/es/posts/javascript/closures-javascript-explicadas/</link>
      <pubDate>Mon, 19 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/es/posts/javascript/closures-javascript-explicadas/</guid>
      <description>Una closure en JavaScript liga una función a las variables de su contexto de creación, incluso tras terminar ese código. Cómo funcionan y dónde fallan.</description>
    </item>
    <item>
      <title>Manejo de Errores con la Fetch API en JavaScript</title>
      <link>https://spaghetti-code.net/es/posts/javascript/manejo-errores-fetch-api-javascript/</link>
      <pubDate>Wed, 14 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/es/posts/javascript/manejo-errores-fetch-api-javascript/</guid>
      <description>fetch() resuelve la promesa incluso en 404 y 500, así que un manejo de errores con try/catch simple no los detecta. Cómo usar response.ok y añadir timeouts.</description>
    </item>
    <item>
      <title>CSS Grid o Flexbox: cuándo usar cada uno</title>
      <link>https://spaghetti-code.net/es/posts/css/cuando-usar-css-grid-o-flexbox/</link>
      <pubDate>Mon, 12 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/es/posts/css/cuando-usar-css-grid-o-flexbox/</guid>
      <description>Flexbox reparte el espacio en una fila o columna; Grid coloca filas y columnas a la vez. La regla para decidir, con código para navbars, dashboards y tarjetas.</description>
    </item>
    <item>
      <title>Debounce vs Throttle en JavaScript: Cuándo Usar Cada Uno</title>
      <link>https://spaghetti-code.net/es/posts/javascript/diferencia-debounce-throttle-javascript/</link>
      <pubDate>Thu, 08 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/es/posts/javascript/diferencia-debounce-throttle-javascript/</guid>
      <description>Debounce vs throttle en JavaScript: el debounce espera a que los eventos paren, el throttle los ejecuta a ritmo constante. Cómo funciona cada uno y cuál usar.</description>
    </item>
    <item>
      <title>LocalStorage, SessionStorage y Cookies: Cuál Usar</title>
      <link>https://spaghetti-code.net/es/posts/web/diferencias-localstorage-sessionstorage-cookies/</link>
      <pubDate>Mon, 05 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/es/posts/web/diferencias-localstorage-sessionstorage-cookies/</guid>
      <description>Las cookies, localStorage y sessionStorage guardan datos en el navegador, pero solo las cookies llegan a tu servidor. Cómo elegir la correcta y protegerla.</description>
    </item>
    <item>
      <title>Qué Es CORS y Cómo Arreglar los Errores CORS</title>
      <link>https://spaghetti-code.net/es/posts/web/que-es-cors-como-arreglar-errores-cors/</link>
      <pubDate>Sat, 26 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/es/posts/web/que-es-cors-como-arreglar-errores-cors/</guid>
      <description>Por qué el navegador bloquea tu fetch con un error CORS, qué restringe la same-origin policy y cómo arreglarlo en el servidor con Express y ASP.NET Core.</description>
    </item>
  </channel>
</rss>
