<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
  <title>SefirothDev · Notas y tutoriales</title>
  <subtitle>Lo que aprendo mientras construyo, explicado de forma sencilla y con código que puedes copiar.</subtitle>
  <link rel="self" type="application/atom+xml" href="https://sefirothdev.com/feed.xml"/>
  <link rel="alternate" type="text/html" href="https://sefirothdev.com/#notas"/>
  <id>https://sefirothdev.com/feed.xml</id>
  <updated>2026-10-08T00:00:00-05:00</updated>
  <author><name>Cristhian Gutiérrez</name><uri>https://sefirothdev.com/</uri></author>
  <icon>https://sefirothdev.com/favicon-32.png</icon>
  <entry>
    <id>https://sefirothdev.com/#nota-roles</id>
    <title>Roles y permisos en una intranet: cómo mostrar a cada usuario solo lo suyo</title>
    <link rel="alternate" type="text/html" href="https://sefirothdev.com/#nota-roles"/>
    <updated>2026-10-08T00:00:00-05:00</updated>
    <published>2026-10-08T00:00:00-05:00</published>
    <category term="Laravel"/>
    <summary>Tablas, relaciones y un Gate para que cada cargo vea solo sus módulos, sin llenar el código de condicionales. (7 min de lectura)</summary>
  </entry>
  <entry>
    <id>https://sefirothdev.com/#nota-form-requests</id>
    <title>Validaciones limpias con Form Requests</title>
    <link rel="alternate" type="text/html" href="https://sefirothdev.com/#nota-form-requests"/>
    <updated>2026-10-08T00:00:00-05:00</updated>
    <published>2026-10-08T00:00:00-05:00</published>
    <category term="Laravel"/>
    <summary>Saca las reglas del controlador y mantén tus formularios ordenados y fáciles de cambiar. (4 min de lectura)</summary>
  </entry>
  <entry>
    <id>https://sefirothdev.com/#nota-duplicados</id>
    <title>Que nadie reciba dos veces el mismo detalle: restricciones únicas en SQL</title>
    <link rel="alternate" type="text/html" href="https://sefirothdev.com/#nota-duplicados"/>
    <updated>2026-10-08T00:00:00-05:00</updated>
    <published>2026-10-08T00:00:00-05:00</published>
    <category term="SQL"/>
    <summary>La base de datos puede impedir registros duplicados por sí sola, aunque dos personas registren al mismo tiempo. (4 min de lectura)</summary>
  </entry>
  <entry>
    <id>https://sefirothdev.com/#nota-scraping</id>
    <title>Armar un directorio con web scraping responsable</title>
    <link rel="alternate" type="text/html" href="https://sefirothdev.com/#nota-scraping"/>
    <updated>2026-10-08T00:00:00-05:00</updated>
    <published>2026-10-08T00:00:00-05:00</published>
    <category term="Scraping"/>
    <summary>Cómo recolectar datos públicos sin saturar los sitios de origen y mantenerlos actualizados. (5 min de lectura)</summary>
  </entry>
</feed>
