<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:image="http://www.google.com/schemas/sitemap-image/1.1"
        xmlns:xhtml="http://www.w3.org/1999/xhtml">

  
  <url>
    <loc>https://www.samuelfaj.com/en/</loc>
    <lastmod>2026-01-06</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/</loc>
    <lastmod>2026-06-28</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/</loc>
    <lastmod>2026-01-06</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/"/>
  </url>

  
  <url>
    <loc>https://www.samuelfaj.com/en/resume/</loc>
    <lastmod>2026-06-01</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/resume/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/resume/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/resume/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/resume/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/resume/</loc>
    <lastmod>2026-06-01</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/resume/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/resume/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/resume/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/resume/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/resume/</loc>
    <lastmod>2026-06-01</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/resume/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/resume/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/resume/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/resume/"/>
  </url>

  
  <url>
    <loc>https://www.samuelfaj.com/en/posts/1/</loc>
    <lastmod>2026-01-06</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/posts/1/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/posts/1/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/posts/1/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/posts/1/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/posts/2/</loc>
    <lastmod>2026-01-06</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/posts/2/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/posts/2/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/posts/2/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/posts/2/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/posts/3/</loc>
    <lastmod>2026-01-06</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/posts/3/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/posts/3/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/posts/3/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/posts/3/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/posts/4/</loc>
    <lastmod>2026-01-06</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/posts/4/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/posts/4/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/posts/4/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/posts/4/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/posts/5/</loc>
    <lastmod>2026-01-06</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/posts/5/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/posts/5/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/posts/5/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/posts/5/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/posts/6/</loc>
    <lastmod>2026-01-06</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/posts/6/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/posts/6/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/posts/6/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/posts/6/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/posts/7/</loc>
    <lastmod>2026-01-06</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/posts/7/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/posts/7/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/posts/7/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/posts/7/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/posts/8/</loc>
    <lastmod>2026-01-06</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/posts/8/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/posts/8/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/posts/8/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/posts/8/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/posts/9/</loc>
    <lastmod>2026-01-06</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/posts/9/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/posts/9/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/posts/9/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/posts/9/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/posts/1/</loc>
    <lastmod>2026-06-28</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/posts/1/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/posts/1/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/posts/1/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/posts/1/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/posts/2/</loc>
    <lastmod>2026-06-28</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/posts/2/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/posts/2/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/posts/2/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/posts/2/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/posts/3/</loc>
    <lastmod>2026-06-28</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/posts/3/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/posts/3/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/posts/3/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/posts/3/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/posts/4/</loc>
    <lastmod>2026-06-28</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/posts/4/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/posts/4/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/posts/4/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/posts/4/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/posts/5/</loc>
    <lastmod>2026-06-28</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/posts/5/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/posts/5/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/posts/5/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/posts/5/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/posts/6/</loc>
    <lastmod>2026-06-28</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/posts/6/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/posts/6/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/posts/6/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/posts/6/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/posts/7/</loc>
    <lastmod>2026-06-28</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/posts/7/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/posts/7/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/posts/7/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/posts/7/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/posts/8/</loc>
    <lastmod>2026-06-28</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/posts/8/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/posts/8/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/posts/8/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/posts/8/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/posts/9/</loc>
    <lastmod>2026-06-28</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/posts/9/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/posts/9/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/posts/9/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/posts/9/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/posts/10/</loc>
    <lastmod>2026-06-28</lastmod>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/posts/10/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/pt/posts/10/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/posts/1/</loc>
    <lastmod>2026-01-06</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/posts/1/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/posts/1/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/posts/1/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/posts/1/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/posts/2/</loc>
    <lastmod>2026-01-06</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/posts/2/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/posts/2/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/posts/2/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/posts/2/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/posts/3/</loc>
    <lastmod>2026-01-06</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/posts/3/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/posts/3/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/posts/3/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/posts/3/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/posts/4/</loc>
    <lastmod>2026-01-06</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/posts/4/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/posts/4/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/posts/4/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/posts/4/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/posts/5/</loc>
    <lastmod>2026-01-06</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/posts/5/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/posts/5/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/posts/5/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/posts/5/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/posts/6/</loc>
    <lastmod>2026-01-06</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/posts/6/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/posts/6/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/posts/6/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/posts/6/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/posts/7/</loc>
    <lastmod>2026-01-06</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/posts/7/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/posts/7/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/posts/7/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/posts/7/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/posts/8/</loc>
    <lastmod>2026-01-06</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/posts/8/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/posts/8/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/posts/8/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/posts/8/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/posts/9/</loc>
    <lastmod>2026-01-06</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/posts/9/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/posts/9/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/posts/9/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/posts/9/"/>
  </url>

  
  <url>
    <loc>https://www.samuelfaj.com/en/category/devops-cloud/</loc>
    <lastmod>2025-01-29</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/category/devops-cloud/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/category/devops-nuvem/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/category/devops-nube/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/category/devops-cloud/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/category/frontend-development/</loc>
    <lastmod>2025-07-21</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/category/frontend-development/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/category/desenvolvimento-frontend/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/category/desarrollo-frontend/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/category/frontend-development/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/category/testing/</loc>
    <lastmod>2025-02-25</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/category/testing/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/category/testes/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/category/pruebas/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/category/testing/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/category/artificial-intelligence/</loc>
    <lastmod>2025-10-05</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/category/artificial-intelligence/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/category/inteligencia-artificial/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/category/inteligencia-artificial/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/category/artificial-intelligence/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/category/software-architecture/</loc>
    <lastmod>2025-04-26</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/category/software-architecture/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/category/arquitetura-de-software/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/category/arquitectura-de-software/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/category/software-architecture/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/category/backend-development/</loc>
    <lastmod>2026-01-06</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/category/backend-development/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/category/desenvolvimento-backend/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/category/desarrollo-backend/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/category/backend-development/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/category/typescript/</loc>
    <lastmod>2025-02-05</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/category/typescript/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/category/typescript/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/category/typescript/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/category/typescript/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/category/automation/</loc>
    <lastmod>2025-07-04</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/category/automation/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/category/automacao/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/category/automatizacion/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/category/automation/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/category/devops-nube/</loc>
    <lastmod>2025-01-29</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/category/devops-cloud/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/category/devops-nuvem/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/category/devops-nube/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/category/devops-cloud/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/category/desarrollo-frontend/</loc>
    <lastmod>2025-07-21</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/category/frontend-development/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/category/desenvolvimento-frontend/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/category/desarrollo-frontend/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/category/frontend-development/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/category/pruebas/</loc>
    <lastmod>2025-02-25</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/category/testing/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/category/testes/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/category/pruebas/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/category/testing/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/category/inteligencia-artificial/</loc>
    <lastmod>2025-10-05</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/category/artificial-intelligence/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/category/inteligencia-artificial/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/category/inteligencia-artificial/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/category/artificial-intelligence/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/category/arquitectura-de-software/</loc>
    <lastmod>2025-04-26</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/category/software-architecture/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/category/arquitetura-de-software/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/category/arquitectura-de-software/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/category/software-architecture/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/category/desarrollo-backend/</loc>
    <lastmod>2026-01-06</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/category/backend-development/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/category/desenvolvimento-backend/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/category/desarrollo-backend/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/category/backend-development/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/category/typescript/</loc>
    <lastmod>2025-02-05</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/category/typescript/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/category/typescript/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/category/typescript/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/category/typescript/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/category/automatizacion/</loc>
    <lastmod>2025-07-04</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/category/automation/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/category/automacao/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/category/automatizacion/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/category/automation/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/category/devops-nuvem/</loc>
    <lastmod>2025-01-29</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/category/devops-cloud/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/category/devops-nuvem/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/category/devops-nube/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/category/devops-cloud/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/category/inteligencia-artificial/</loc>
    <lastmod>2026-06-28</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/category/artificial-intelligence/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/category/inteligencia-artificial/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/category/inteligencia-artificial/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/category/artificial-intelligence/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/category/desenvolvimento-frontend/</loc>
    <lastmod>2025-07-21</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/category/frontend-development/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/category/desenvolvimento-frontend/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/category/desarrollo-frontend/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/category/frontend-development/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/category/testes/</loc>
    <lastmod>2025-02-25</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/category/testing/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/category/testes/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/category/pruebas/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/category/testing/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/category/arquitetura-de-software/</loc>
    <lastmod>2025-04-26</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/category/software-architecture/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/category/arquitetura-de-software/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/category/arquitectura-de-software/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/category/software-architecture/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/category/desenvolvimento-backend/</loc>
    <lastmod>2026-01-06</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/category/backend-development/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/category/desenvolvimento-backend/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/category/desarrollo-backend/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/category/backend-development/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/category/typescript/</loc>
    <lastmod>2025-02-05</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/category/typescript/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/category/typescript/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/category/typescript/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/category/typescript/"/>
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/category/automacao/</loc>
    <lastmod>2025-07-04</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/category/automation/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/category/automacao/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/category/automatizacion/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/category/automation/"/>
  </url>

  
  <url>
    <loc>https://www.samuelfaj.com/en/blog/serving-typescript-definitions-for-eden-treaty-a-production-ready-approach/</loc>
    <lastmod>2026-01-06</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/serving-typescript-definitions-for-eden-treaty-a-production-ready-approach/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/servindo-definicoes-typescript-para-eden-treaty-abordagem-producao/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/servir-definiciones-typescript-para-eden-treaty-enfoque-produccion/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/serving-typescript-definitions-for-eden-treaty-a-production-ready-approach/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/aa30062a-c024-48b6-8678-bdf3865564a6.jpeg</image:loc>
      <image:title>Serving TypeScript Definitions for Eden Treaty: A Production-Ready Approach</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/blog/claudiomiro-how-to-achieve-100-autonomous-complex-coding/</loc>
    <lastmod>2025-10-05</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/claudiomiro-how-to-achieve-100-autonomous-complex-coding/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/claudiomiro-como-alcancar-codificacao-autonoma-complexa/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/claudiomiro-como-lograr-codificacion-autonoma-compleja/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/claudiomiro-how-to-achieve-100-autonomous-complex-coding/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/59f528ac-8385-44fd-a00f-da6032ec8c76.jpeg</image:loc>
      <image:title>Claudiomiro: How to Achieve 100% Autonomous (Complex) Coding</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/blog/creating-a-native-knowledge-graph-system-with-mongodb-s3-and-langchain/</loc>
    <lastmod>2025-07-30</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/creating-a-native-knowledge-graph-system-with-mongodb-s3-and-langchain/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/sistema-grafo-conhecimento-mongodb-s3-langchain/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/sistema-grafo-conocimiento-mongodb-s3-langchain/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/creating-a-native-knowledge-graph-system-with-mongodb-s3-and-langchain/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/6ecc81d7-3419-469f-9df0-d9d6e2f4f14a.jpeg</image:loc>
      <image:title>Creating a Native Knowledge Graph System with MongoDB, S3 and LangChain</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/blog/internationalizing-react-apps-and-backend-services-best-practices-for-i18n/</loc>
    <lastmod>2025-07-21</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/internationalizing-react-apps-and-backend-services-best-practices-for-i18n/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/internacionalizacao-react-apps-e-servicos-backend-melhores-praticas-i18n/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/internacionalizacion-react-apps-y-servicios-backend-mejores-practicas-i18n/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/internationalizing-react-apps-and-backend-services-best-practices-for-i18n/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/cc409bf3-766f-43fa-859c-257566566842.jpeg</image:loc>
      <image:title>Internationalizing React Apps and Backend Services: Best Practices for i18n</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/blog/building-a-fitness-ai-agent-with-langchainjs-a-real-world-implementation/</loc>
    <lastmod>2025-07-19</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/building-a-fitness-ai-agent-with-langchainjs-a-real-world-implementation/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/construindo-agente-ia-fitness-com-langchainjs/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/construyendo-agente-ia-fitness-con-langchainjs/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/building-a-fitness-ai-agent-with-langchainjs-a-real-world-implementation/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/eabf5d68-4ed7-4e34-bb05-7ba173ddba9b.jpeg</image:loc>
      <image:title>Building a Fitness AI Agent with LangChain.js: A Real-World Implementation</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/blog/mastering-langchainjs-to-coordinate-tool-and-function-calls-using-ai-agents/</loc>
    <lastmod>2025-07-17</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/mastering-langchainjs-to-coordinate-tool-and-function-calls-using-ai-agents/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/dominando-langchainjs-ferramentas-agentes-ia/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/dominando-langchainjs-herramientas-agentes-ia/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/mastering-langchainjs-to-coordinate-tool-and-function-calls-using-ai-agents/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/e0a6b25b-1295-4f26-b772-326cbfd21c08.jpeg</image:loc>
      <image:title>Mastering Langchainjs to Coordinate Tool and Function Calls Using AI Agents</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/blog/long-term-memory-for-ai-how-graphiti-works-for-building-real-smart-applications/</loc>
    <lastmod>2025-07-14</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/long-term-memory-for-ai-how-graphiti-works-for-building-real-smart-applications/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/memoria-de-longo-prazo-para-ia-como-graphiti-funciona/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/memoria-largo-plazo-ia-como-funciona-graphiti/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/long-term-memory-for-ai-how-graphiti-works-for-building-real-smart-applications/"/>
    
    <image:image>
      <image:loc>https://www.samuelfaj.com/files/posts/graphiti.webp</image:loc>
      <image:title>Long-Term Memory for AI: How Graphiti Works for Building Real Smart Applications</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/blog/building-an-ai-assisted-linkedin-job-application-bot-with-puppeteer-bun-chatgpt/</loc>
    <lastmod>2025-07-04</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/building-an-ai-assisted-linkedin-job-application-bot-with-puppeteer-bun-chatgpt/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/bot-linkedin-puppeteer-bun-chatgpt/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/bot-linkedin-automatizacion-puppeteer-bun-chatgpt/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/building-an-ai-assisted-linkedin-job-application-bot-with-puppeteer-bun-chatgpt/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/blog/how-to-organize-services-in-an-msc-architecture-with-typescript-for-scalability-and-clarity/</loc>
    <lastmod>2025-04-26</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/how-to-organize-services-in-an-msc-architecture-with-typescript-for-scalability-and-clarity/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/como-organizar-servicos-arquitetura-msc-typescript/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/como-organizar-servicios-arquitectura-msc-typescript/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/how-to-organize-services-in-an-msc-architecture-with-typescript-for-scalability-and-clarity/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/38540d66-fce2-40d9-ba4b-72a2bacf603a.jpeg</image:loc>
      <image:title>How to Organize Services in an MSC Architecture with TypeScript for Scalability and Clarity</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/blog/all-the-types-of-tests-in-software-development/</loc>
    <lastmod>2025-02-25</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/all-the-types-of-tests-in-software-development/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/tipos-de-testes-em-desenvolvimento-de-software/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/tipos-de-pruebas-en-desarrollo-de-software/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/all-the-types-of-tests-in-software-development/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/3e9f5d48-42ef-4108-88d8-d932606e88ce.jpeg</image:loc>
      <image:title>All the Types of Tests in Software Development</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/blog/mastering-transactions-in-modern-software-engineering/</loc>
    <lastmod>2025-02-11</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/mastering-transactions-in-modern-software-engineering/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/dominando-transacoes-em-engenharia-de-software-moderna/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/dominando-transacciones-en-ingenieria-de-software-moderna/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/mastering-transactions-in-modern-software-engineering/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/bb3d3393-47f8-4114-88f6-bb1f160732f3.jpeg</image:loc>
      <image:title>Mastering Transactions in Modern Software Engineering</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/blog/what-are-end-to-end-tests-and-how-to-implement-them-with-playwright/</loc>
    <lastmod>2025-02-10</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/what-are-end-to-end-tests-and-how-to-implement-them-with-playwright/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/testes-end-to-end-playwright/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/pruebas-end-to-end-playwright/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/what-are-end-to-end-tests-and-how-to-implement-them-with-playwright/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/f5a2de72-adec-4f05-99f2-8f078340bcb7.jpeg</image:loc>
      <image:title>What Are End-to-End Tests and How to Implement Them with Playwright</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/blog/elevate-your-testing-strategy-with-typegoose-and-mongodb-memory-server/</loc>
    <lastmod>2025-02-07</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/elevate-your-testing-strategy-with-typegoose-and-mongodb-memory-server/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/estrategia-de-testes-com-typegoose-e-mongodb-memory-server/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/estrategia-de-pruebas-con-typegoose-y-mongodb-memory-server/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/elevate-your-testing-strategy-with-typegoose-and-mongodb-memory-server/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/569974db-8b0a-481a-be74-5ff551c4a824.jpeg</image:loc>
      <image:title>Elevate Your Testing Strategy with Typegoose and mongodb-memory-server</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/blog/mastering-typescript-decorators-how-to-use-and-how-to-create/</loc>
    <lastmod>2025-02-05</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/mastering-typescript-decorators-how-to-use-and-how-to-create/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/dominando-decorators-typescript-como-usar-e-criar/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/dominando-decorators-typescript-como-usarlos-y-crearlos/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/mastering-typescript-decorators-how-to-use-and-how-to-create/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/52565cd0-eb1c-409c-aad6-9479dd985766.jpeg</image:loc>
      <image:title>Mastering TypeScript Decorators: How to Use and How to Create</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/blog/building-a-linkedin-job-application-robot-with-puppeteer-and-typescript/</loc>
    <lastmod>2025-01-31</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/building-a-linkedin-job-application-robot-with-puppeteer-and-typescript/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/robo-candidatura-linkedin-puppeteer-typescript/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/robot-solicitud-empleo-linkedin-puppeteer-typescript/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/building-a-linkedin-job-application-robot-with-puppeteer-and-typescript/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/blog/why-you-should-always-specify-version-numbers-in-docker-and-package-managers/</loc>
    <lastmod>2025-01-29</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/why-you-should-always-specify-version-numbers-in-docker-and-package-managers/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/por-que-sempre-especificar-versoes-docker-gerenciadores-pacotes/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/por-que-siempre-especificar-versiones-docker-gestores-paquetes/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/why-you-should-always-specify-version-numbers-in-docker-and-package-managers/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/b869f070-533a-4837-9772-945c158d6746.jpeg</image:loc>
      <image:title>Why You Should Always Specify Version Numbers in Docker and Package Managers</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/blog/a-complete-guide-to-redux-what-it-is-how-to-use-it-and-a-full-example/</loc>
    <lastmod>2025-01-29</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/a-complete-guide-to-redux-what-it-is-how-to-use-it-and-a-full-example/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/guia-completo-redux-o-que-e-como-usar-exemplo-completo/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/guia-completo-redux-que-es-como-usarlo-ejemplo-completo/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/a-complete-guide-to-redux-what-it-is-how-to-use-it-and-a-full-example/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/34f56ed0-fa87-4a8e-b407-8abfedd345b2.jpeg</image:loc>
      <image:title>A Complete Guide to Redux: What It Is, How to Use It, and a Full Example</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/blog/how-to-split-react-components-for-easy-unit-testing/</loc>
    <lastmod>2025-01-27</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/how-to-split-react-components-for-easy-unit-testing/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/como-dividir-componentes-react-para-testes-unitarios/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/como-dividir-componentes-react-para-pruebas-unitarias/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/how-to-split-react-components-for-easy-unit-testing/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/debdc605-a67c-4ce2-bee1-21d5080b7f5f.jpeg</image:loc>
      <image:title>How to Split React Components for Easy Unit Testing</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/blog/mastering-multi-cloud-with-terraform-deploying-infrastructure-on-google-cloud-and-aws/</loc>
    <lastmod>2025-01-24</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/mastering-multi-cloud-with-terraform-deploying-infrastructure-on-google-cloud-and-aws/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/terraform-multi-cloud-google-cloud-aws/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/terraform-multi-nube-google-cloud-aws/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/mastering-multi-cloud-with-terraform-deploying-infrastructure-on-google-cloud-and-aws/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/bcab010d-9cd5-4ce1-89d2-afe9e8213f8e.jpeg</image:loc>
      <image:title>Mastering Multi-Cloud with Terraform: Deploying Infrastructure on Google Cloud and AWS</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/blog/why-i-hired-chatgpt-pro-200month-as-my-junior-developer/</loc>
    <lastmod>2025-01-22</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/why-i-hired-chatgpt-pro-200month-as-my-junior-developer/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/por-que-contratei-chatgpt-pro-como-desenvolvedor-junior/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/por-que-contrate-chatgpt-pro-como-desarrollador-junior/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/why-i-hired-chatgpt-pro-200month-as-my-junior-developer/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/39510365-d8fd-4108-881f-f4f53d9ae481.jpeg</image:loc>
      <image:title>Why I Hired ChatGPT Pro ($200/Month) as My Junior Developer</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/blog/implementing-event-driven-architecture-with-aws-and-nodejs/</loc>
    <lastmod>2025-01-20</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/implementing-event-driven-architecture-with-aws-and-nodejs/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/arquitetura-orientada-a-eventos-aws-nodejs/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/arquitectura-orientada-a-eventos-aws-nodejs/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/implementing-event-driven-architecture-with-aws-and-nodejs/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/8f5a335c-aec5-4703-a9fa-4826443601e5.jpeg</image:loc>
      <image:title>Implementing Event-Driven Architecture with AWS and Node.js</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/blog/backend-system-architecture-why-the-model-controller-service-pattern-reigns-supreme/</loc>
    <lastmod>2025-01-20</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/backend-system-architecture-why-the-model-controller-service-pattern-reigns-supreme/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/arquitetura-de-sistemas-backend-padrao-model-controller-service/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/arquitectura-de-sistemas-backend-patron-model-controller-service/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/backend-system-architecture-why-the-model-controller-service-pattern-reigns-supreme/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/6640e712-5c12-4c71-a157-0a8fcf2de71f.jpeg</image:loc>
      <image:title>Backend System Architecture: Why the Model-Controller-Service Pattern Reigns Supreme</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/blog/gitlab-ci-for-nodejs-a-guide-to-continuous-integration/</loc>
    <lastmod>2025-01-17</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/gitlab-ci-for-nodejs-a-guide-to-continuous-integration/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/gitlab-ci-para-nodejs-guia-integracao-continua/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/gitlab-ci-para-nodejs-guia-integracion-continua/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/gitlab-ci-for-nodejs-a-guide-to-continuous-integration/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/674f69d1-25a1-4acf-bf47-4878c7378e55.jpeg</image:loc>
      <image:title>GitLab CI for Node.js: A Guide to Continuous Integration</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/blog/serverless-data-processing-pipelines-with-google-cloud-run/</loc>
    <lastmod>2025-01-17</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/serverless-data-processing-pipelines-with-google-cloud-run/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/pipelines-processamento-dados-serverless-google-cloud-run/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/pipelines-procesamiento-datos-serverless-google-cloud-run/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/serverless-data-processing-pipelines-with-google-cloud-run/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/c7b3f54a-74ce-4ae8-baae-08b2398598f0.jpeg</image:loc>
      <image:title>Serverless Data Processing Pipelines with Google Cloud Run</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/blog/mastering-web-testing-with-playwright-why-its-essential-and-how-to-get-started/</loc>
    <lastmod>2025-01-16</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/mastering-web-testing-with-playwright-why-its-essential-and-how-to-get-started/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/dominando-testes-web-com-playwright/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/dominando-pruebas-web-con-playwright/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/mastering-web-testing-with-playwright-why-its-essential-and-how-to-get-started/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/62b4ab15-e815-4a01-93dd-3c40db08469d.jpeg</image:loc>
      <image:title>Mastering Web Testing with Playwright: Why It&#039;s Essential and How to Get Started</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/blog/scaling-nodejs-applications-best-practices-for-2025/</loc>
    <lastmod>2025-01-13</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/scaling-nodejs-applications-best-practices-for-2025/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/escalando-aplicacoes-nodejs-melhores-praticas-2025/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/escalando-aplicaciones-nodejs-mejores-practicas-2025/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/scaling-nodejs-applications-best-practices-for-2025/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/9cca1f8a-4955-4c74-9b9d-ddb5eb81425a.jpeg</image:loc>
      <image:title>Scaling Node.js Applications: Best Practices for 2025</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/blog/implementing-cicd-pipelines-with-docker-and-aws/</loc>
    <lastmod>2025-01-10</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/implementing-cicd-pipelines-with-docker-and-aws/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/pipeline-ci-cd-com-docker-e-aws/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/pipeline-ci-cd-con-docker-y-aws/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/implementing-cicd-pipelines-with-docker-and-aws/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/3625a676-e11d-423d-abaa-ed8b47be2f8c.jpeg</image:loc>
      <image:title>Implementing CI/CD Pipelines with Docker and AWS</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/blog/building-scalable-graphql-apis-with-nodejs-in-2025/</loc>
    <lastmod>2025-01-09</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/building-scalable-graphql-apis-with-nodejs-in-2025/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/construindo-apis-graphql-escalaveis-com-nodejs-2025/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/construyendo-apis-graphql-escalables-con-nodejs-2025/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/building-scalable-graphql-apis-with-nodejs-in-2025/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/e3840479-aa9d-4c25-af58-b8560f089465.jpeg</image:loc>
      <image:title>Building Scalable GraphQL APIs with Node.js in 2025</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/blog/building-resilient-microservices-with-aws-and-docker/</loc>
    <lastmod>2025-01-09</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/building-resilient-microservices-with-aws-and-docker/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/construindo-microsservicos-resilientes-com-aws-e-docker/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/construyendo-microservicios-resilientes-con-aws-y-docker/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/building-resilient-microservices-with-aws-and-docker/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/c8e94726-ecf8-4b7a-8df3-f58e14422907.jpeg</image:loc>
      <image:title>Building Resilient Microservices with AWS and Docker</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/blog/the-future-of-serverless-trends-to-watch-in-2025/</loc>
    <lastmod>2025-01-09</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/the-future-of-serverless-trends-to-watch-in-2025/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/o-futuro-do-serverless-tendencias-2025/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/el-futuro-del-serverless-tendencias-2025/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/the-future-of-serverless-trends-to-watch-in-2025/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/f9183165-bed3-4784-9614-bfa7713db2b7.jpeg</image:loc>
      <image:title>The Future of Serverless: Trends to Watch in 2025</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/blog/the-ultimate-guide-to-cypress-introduction-implementation-and-example-project/</loc>
    <lastmod>2024-11-13</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/the-ultimate-guide-to-cypress-introduction-implementation-and-example-project/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/guia-definitivo-cypress-introducao-implementacao-projeto-exemplo/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/guia-definitivo-cypress-introduccion-implementacion-proyecto-ejemplo/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/the-ultimate-guide-to-cypress-introduction-implementation-and-example-project/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/blog/understanding-health-checks-what-they-are-how-to-use-them-and-the-best-tools-in-google-cloud-and-aws/</loc>
    <lastmod>2024-11-11</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/understanding-health-checks-what-they-are-how-to-use-them-and-the-best-tools-in-google-cloud-and-aws/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/verificacoes-de-saude-google-cloud-aws/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/verificaciones-de-salud-google-cloud-aws/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/understanding-health-checks-what-they-are-how-to-use-them-and-the-best-tools-in-google-cloud-and-aws/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/blog/optimizing-data-transfer-costs-with-multiple-containers-in-google-cloud-run/</loc>
    <lastmod>2024-11-06</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/optimizing-data-transfer-costs-with-multiple-containers-in-google-cloud-run/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/otimizando-custos-transferencia-dados-multiplos-containers-google-cloud-run/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/optimizando-costos-transferencia-datos-multiples-contenedores-google-cloud-run/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/optimizing-data-transfer-costs-with-multiple-containers-in-google-cloud-run/"/>
    
    <image:image>
      <image:loc>https://www.samuelfaj.com/files/posts/google-data-transfer.webp</image:loc>
      <image:title>Optimizing Data Transfer Costs with Multiple Containers in Google Cloud Run</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/blog/mastering-jest-a-complete-guide-to-testing-react-applications/</loc>
    <lastmod>2024-11-03</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/mastering-jest-a-complete-guide-to-testing-react-applications/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/dominando-jest-guia-completo-testes-react/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/dominando-jest-guia-completa-pruebas-react/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/mastering-jest-a-complete-guide-to-testing-react-applications/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/blog/implementing-jwt-authentication-in-typescript-a-comprehensive-guide/</loc>
    <lastmod>2024-10-31</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/implementing-jwt-authentication-in-typescript-a-comprehensive-guide/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/autenticacao-jwt-em-typescript-guia-completo/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/autenticacion-jwt-en-typescript-guia-completa/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/implementing-jwt-authentication-in-typescript-a-comprehensive-guide/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/blog/mastering-redux-a-comprehensive-guide-to-state-management-in-react/</loc>
    <lastmod>2024-10-28</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/mastering-redux-a-comprehensive-guide-to-state-management-in-react/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/dominando-redux-guia-completo-gerenciamento-estado-react/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/dominando-redux-guia-completo-gestion-estado-react/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/mastering-redux-a-comprehensive-guide-to-state-management-in-react/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/blog/mastering-socketio-everything-you-need-to-know-with-a-complete-example/</loc>
    <lastmod>2024-10-24</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/mastering-socketio-everything-you-need-to-know-with-a-complete-example/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/dominando-socketio-guia-completo-com-exemplo/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/dominando-socketio-guia-completo-con-ejemplo/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/mastering-socketio-everything-you-need-to-know-with-a-complete-example/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/blog/a-complete-guide-to-styled-components/</loc>
    <lastmod>2024-10-23</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/a-complete-guide-to-styled-components/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/guia-completo-styled-components/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/guia-completo-de-styled-components/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/a-complete-guide-to-styled-components/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/blog/the-ultimate-guide-to-using-react-query-why-and-how-to-implement-it/</loc>
    <lastmod>2024-10-22</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/the-ultimate-guide-to-using-react-query-why-and-how-to-implement-it/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/guia-definitivo-react-query-como-implementar/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/guia-definitivo-react-query-como-implementarlo/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/the-ultimate-guide-to-using-react-query-why-and-how-to-implement-it/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/blog/understanding-typescript-utility-types-partial-omit-and-more/</loc>
    <lastmod>2024-10-20</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/understanding-typescript-utility-types-partial-omit-and-more/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/entendendo-os-utility-types-do-typescript-partial-omit-e-mais/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/comprendiendo-los-utility-types-de-typescript-partial-omit-y-mas/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/understanding-typescript-utility-types-partial-omit-and-more/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/blog/using-generic-classes-in-typescript-a-guide-for-backend-development/</loc>
    <lastmod>2024-10-19</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/using-generic-classes-in-typescript-a-guide-for-backend-development/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/classes-genericas-typescript-desenvolvimento-backend/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/clases-genericas-typescript-desarrollo-backend/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/using-generic-classes-in-typescript-a-guide-for-backend-development/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/blog/getting-started-with-google-cloud-run-a-comprehensive-guide/</loc>
    <lastmod>2024-10-17</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/getting-started-with-google-cloud-run-a-comprehensive-guide/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/introducao-ao-google-cloud-run-guia-completo/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/primeros-pasos-con-google-cloud-run-guia-completa/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/getting-started-with-google-cloud-run-a-comprehensive-guide/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/blog/how-to-effectively-use-controllers-models-services-and-more/</loc>
    <lastmod>2024-10-13</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/how-to-effectively-use-controllers-models-services-and-more/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/como-usar-controllers-models-e-services/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/como-usar-controladores-modelos-y-servicios/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/how-to-effectively-use-controllers-models-services-and-more/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/blog/understanding-typescript-abstract-classes-a-comprehensive-guide/</loc>
    <lastmod>2024-10-12</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/understanding-typescript-abstract-classes-a-comprehensive-guide/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/classes-abstratas-typescript-guia-completo/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/clases-abstractas-typescript-guia-completa/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/understanding-typescript-abstract-classes-a-comprehensive-guide/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/en/blog/harnessing-the-power-of-serverless-architecture-with-nodejs-on-aws/</loc>
    <lastmod>2024-10-11</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/harnessing-the-power-of-serverless-architecture-with-nodejs-on-aws/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/arquitetura-serverless-nodejs-aws/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/arquitectura-serverless-nodejs-aws/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/harnessing-the-power-of-serverless-architecture-with-nodejs-on-aws/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/harness-agentes-codigo-prs-confiaveis/</loc>
    <lastmod>2026-06-28</lastmod>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/harness-agentes-codigo-prs-confiaveis/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/pt/blog/harness-agentes-codigo-prs-confiaveis/"/>
    
    <image:image>
      <image:loc>https://www.samuelfaj.com/files/posts/harness-agentes-codigo-hero.webp</image:loc>
      <image:title>O gargalo dos agentes de código é a revisão</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/servindo-definicoes-typescript-para-eden-treaty-abordagem-producao/</loc>
    <lastmod>2026-01-06</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/serving-typescript-definitions-for-eden-treaty-a-production-ready-approach/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/servindo-definicoes-typescript-para-eden-treaty-abordagem-producao/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/servir-definiciones-typescript-para-eden-treaty-enfoque-produccion/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/serving-typescript-definitions-for-eden-treaty-a-production-ready-approach/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/aa30062a-c024-48b6-8678-bdf3865564a6.jpeg</image:loc>
      <image:title>Servindo Definições TypeScript para o Eden Treaty: Uma Abordagem Pronta para Produção</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/claudiomiro-como-alcancar-codificacao-autonoma-complexa/</loc>
    <lastmod>2025-10-05</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/claudiomiro-how-to-achieve-100-autonomous-complex-coding/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/claudiomiro-como-alcancar-codificacao-autonoma-complexa/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/claudiomiro-como-lograr-codificacion-autonoma-compleja/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/claudiomiro-how-to-achieve-100-autonomous-complex-coding/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/59f528ac-8385-44fd-a00f-da6032ec8c76.jpeg</image:loc>
      <image:title>Claudiomiro: Como Alcançar 100% de Codificação Autônoma (Complexa)</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/sistema-grafo-conhecimento-mongodb-s3-langchain/</loc>
    <lastmod>2025-07-30</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/creating-a-native-knowledge-graph-system-with-mongodb-s3-and-langchain/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/sistema-grafo-conhecimento-mongodb-s3-langchain/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/sistema-grafo-conocimiento-mongodb-s3-langchain/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/creating-a-native-knowledge-graph-system-with-mongodb-s3-and-langchain/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/6ecc81d7-3419-469f-9df0-d9d6e2f4f14a.jpeg</image:loc>
      <image:title>Criando um Sistema de Grafo de Conhecimento Nativo com MongoDB, S3 e LangChain</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/internacionalizacao-react-apps-e-servicos-backend-melhores-praticas-i18n/</loc>
    <lastmod>2025-07-21</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/internationalizing-react-apps-and-backend-services-best-practices-for-i18n/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/internacionalizacao-react-apps-e-servicos-backend-melhores-praticas-i18n/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/internacionalizacion-react-apps-y-servicios-backend-mejores-practicas-i18n/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/internationalizing-react-apps-and-backend-services-best-practices-for-i18n/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/cc409bf3-766f-43fa-859c-257566566842.jpeg</image:loc>
      <image:title>Internacionalização de Apps React e Serviços Backend: Melhores Práticas de i18n</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/construindo-agente-ia-fitness-com-langchainjs/</loc>
    <lastmod>2025-07-19</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/building-a-fitness-ai-agent-with-langchainjs-a-real-world-implementation/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/construindo-agente-ia-fitness-com-langchainjs/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/construyendo-agente-ia-fitness-con-langchainjs/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/building-a-fitness-ai-agent-with-langchainjs-a-real-world-implementation/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/eabf5d68-4ed7-4e34-bb05-7ba173ddba9b.jpeg</image:loc>
      <image:title>Construindo um Agente de IA para Fitness com LangChain.js: Uma Implementação Real</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/dominando-langchainjs-ferramentas-agentes-ia/</loc>
    <lastmod>2025-07-17</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/mastering-langchainjs-to-coordinate-tool-and-function-calls-using-ai-agents/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/dominando-langchainjs-ferramentas-agentes-ia/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/dominando-langchainjs-herramientas-agentes-ia/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/mastering-langchainjs-to-coordinate-tool-and-function-calls-using-ai-agents/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/e0a6b25b-1295-4f26-b772-326cbfd21c08.jpeg</image:loc>
      <image:title>Dominando o Langchainjs para Coordenar Chamadas de Ferramentas e Funções com Agentes de IA</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/memoria-de-longo-prazo-para-ia-como-graphiti-funciona/</loc>
    <lastmod>2025-07-14</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/long-term-memory-for-ai-how-graphiti-works-for-building-real-smart-applications/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/memoria-de-longo-prazo-para-ia-como-graphiti-funciona/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/memoria-largo-plazo-ia-como-funciona-graphiti/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/long-term-memory-for-ai-how-graphiti-works-for-building-real-smart-applications/"/>
    
    <image:image>
      <image:loc>https://www.samuelfaj.com/files/posts/graphiti.webp</image:loc>
      <image:title>Memória de Longo Prazo para IA: Como o Graphiti Funciona para Construir Aplicações Realmente Inteligentes</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/bot-linkedin-puppeteer-bun-chatgpt/</loc>
    <lastmod>2025-07-04</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/building-an-ai-assisted-linkedin-job-application-bot-with-puppeteer-bun-chatgpt/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/bot-linkedin-puppeteer-bun-chatgpt/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/bot-linkedin-automatizacion-puppeteer-bun-chatgpt/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/building-an-ai-assisted-linkedin-job-application-bot-with-puppeteer-bun-chatgpt/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/como-organizar-servicos-arquitetura-msc-typescript/</loc>
    <lastmod>2025-04-26</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/how-to-organize-services-in-an-msc-architecture-with-typescript-for-scalability-and-clarity/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/como-organizar-servicos-arquitetura-msc-typescript/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/como-organizar-servicios-arquitectura-msc-typescript/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/how-to-organize-services-in-an-msc-architecture-with-typescript-for-scalability-and-clarity/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/38540d66-fce2-40d9-ba4b-72a2bacf603a.jpeg</image:loc>
      <image:title>Como Organizar Serviços em uma Arquitetura MSC com TypeScript para Escalabilidade e Clareza</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/tipos-de-testes-em-desenvolvimento-de-software/</loc>
    <lastmod>2025-02-25</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/all-the-types-of-tests-in-software-development/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/tipos-de-testes-em-desenvolvimento-de-software/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/tipos-de-pruebas-en-desarrollo-de-software/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/all-the-types-of-tests-in-software-development/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/3e9f5d48-42ef-4108-88d8-d932606e88ce.jpeg</image:loc>
      <image:title>Todos os Tipos de Testes no Desenvolvimento de Software</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/dominando-transacoes-em-engenharia-de-software-moderna/</loc>
    <lastmod>2025-02-11</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/mastering-transactions-in-modern-software-engineering/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/dominando-transacoes-em-engenharia-de-software-moderna/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/dominando-transacciones-en-ingenieria-de-software-moderna/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/mastering-transactions-in-modern-software-engineering/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/bb3d3393-47f8-4114-88f6-bb1f160732f3.jpeg</image:loc>
      <image:title>Dominando Transações na Engenharia de Software Moderna</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/testes-end-to-end-playwright/</loc>
    <lastmod>2025-02-10</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/what-are-end-to-end-tests-and-how-to-implement-them-with-playwright/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/testes-end-to-end-playwright/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/pruebas-end-to-end-playwright/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/what-are-end-to-end-tests-and-how-to-implement-them-with-playwright/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/f5a2de72-adec-4f05-99f2-8f078340bcb7.jpeg</image:loc>
      <image:title>O que São Testes End-to-End e Como Implementá-los com Playwright</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/estrategia-de-testes-com-typegoose-e-mongodb-memory-server/</loc>
    <lastmod>2025-02-07</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/elevate-your-testing-strategy-with-typegoose-and-mongodb-memory-server/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/estrategia-de-testes-com-typegoose-e-mongodb-memory-server/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/estrategia-de-pruebas-con-typegoose-y-mongodb-memory-server/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/elevate-your-testing-strategy-with-typegoose-and-mongodb-memory-server/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/569974db-8b0a-481a-be74-5ff551c4a824.jpeg</image:loc>
      <image:title>Eleve sua Estratégia de Testes com Typegoose e mongodb-memory-server</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/dominando-decorators-typescript-como-usar-e-criar/</loc>
    <lastmod>2025-02-05</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/mastering-typescript-decorators-how-to-use-and-how-to-create/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/dominando-decorators-typescript-como-usar-e-criar/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/dominando-decorators-typescript-como-usarlos-y-crearlos/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/mastering-typescript-decorators-how-to-use-and-how-to-create/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/52565cd0-eb1c-409c-aad6-9479dd985766.jpeg</image:loc>
      <image:title>Dominando Decorators do TypeScript: Como Usar e Como Criar</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/robo-candidatura-linkedin-puppeteer-typescript/</loc>
    <lastmod>2025-01-31</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/building-a-linkedin-job-application-robot-with-puppeteer-and-typescript/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/robo-candidatura-linkedin-puppeteer-typescript/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/robot-solicitud-empleo-linkedin-puppeteer-typescript/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/building-a-linkedin-job-application-robot-with-puppeteer-and-typescript/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/por-que-sempre-especificar-versoes-docker-gerenciadores-pacotes/</loc>
    <lastmod>2025-01-29</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/why-you-should-always-specify-version-numbers-in-docker-and-package-managers/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/por-que-sempre-especificar-versoes-docker-gerenciadores-pacotes/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/por-que-siempre-especificar-versiones-docker-gestores-paquetes/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/why-you-should-always-specify-version-numbers-in-docker-and-package-managers/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/b869f070-533a-4837-9772-945c158d6746.jpeg</image:loc>
      <image:title>Por Que Você Deve Sempre Especificar Versões no Docker e em Gerenciadores de Pacotes</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/guia-completo-redux-o-que-e-como-usar-exemplo-completo/</loc>
    <lastmod>2025-01-29</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/a-complete-guide-to-redux-what-it-is-how-to-use-it-and-a-full-example/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/guia-completo-redux-o-que-e-como-usar-exemplo-completo/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/guia-completo-redux-que-es-como-usarlo-ejemplo-completo/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/a-complete-guide-to-redux-what-it-is-how-to-use-it-and-a-full-example/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/34f56ed0-fa87-4a8e-b407-8abfedd345b2.jpeg</image:loc>
      <image:title>Um Guia Completo sobre Redux: O Que É, Como Usar e um Exemplo Completo</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/como-dividir-componentes-react-para-testes-unitarios/</loc>
    <lastmod>2025-01-27</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/how-to-split-react-components-for-easy-unit-testing/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/como-dividir-componentes-react-para-testes-unitarios/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/como-dividir-componentes-react-para-pruebas-unitarias/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/how-to-split-react-components-for-easy-unit-testing/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/debdc605-a67c-4ce2-bee1-21d5080b7f5f.jpeg</image:loc>
      <image:title>Como Dividir Componentes React para Facilitar Testes Unitários</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/terraform-multi-cloud-google-cloud-aws/</loc>
    <lastmod>2025-01-24</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/mastering-multi-cloud-with-terraform-deploying-infrastructure-on-google-cloud-and-aws/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/terraform-multi-cloud-google-cloud-aws/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/terraform-multi-nube-google-cloud-aws/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/mastering-multi-cloud-with-terraform-deploying-infrastructure-on-google-cloud-and-aws/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/bcab010d-9cd5-4ce1-89d2-afe9e8213f8e.jpeg</image:loc>
      <image:title>Dominando Multi-Cloud com Terraform: Implantando Infraestrutura no Google Cloud e na AWS</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/por-que-contratei-chatgpt-pro-como-desenvolvedor-junior/</loc>
    <lastmod>2025-01-22</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/why-i-hired-chatgpt-pro-200month-as-my-junior-developer/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/por-que-contratei-chatgpt-pro-como-desenvolvedor-junior/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/por-que-contrate-chatgpt-pro-como-desarrollador-junior/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/why-i-hired-chatgpt-pro-200month-as-my-junior-developer/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/39510365-d8fd-4108-881f-f4f53d9ae481.jpeg</image:loc>
      <image:title>Por Que Contratei o ChatGPT Pro (US$200/Mês) como Meu Desenvolvedor Júnior</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/arquitetura-orientada-a-eventos-aws-nodejs/</loc>
    <lastmod>2025-01-20</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/implementing-event-driven-architecture-with-aws-and-nodejs/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/arquitetura-orientada-a-eventos-aws-nodejs/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/arquitectura-orientada-a-eventos-aws-nodejs/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/implementing-event-driven-architecture-with-aws-and-nodejs/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/8f5a335c-aec5-4703-a9fa-4826443601e5.jpeg</image:loc>
      <image:title>Implementando Arquitetura Orientada a Eventos com AWS e Node.js</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/arquitetura-de-sistemas-backend-padrao-model-controller-service/</loc>
    <lastmod>2025-01-20</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/backend-system-architecture-why-the-model-controller-service-pattern-reigns-supreme/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/arquitetura-de-sistemas-backend-padrao-model-controller-service/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/arquitectura-de-sistemas-backend-patron-model-controller-service/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/backend-system-architecture-why-the-model-controller-service-pattern-reigns-supreme/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/6640e712-5c12-4c71-a157-0a8fcf2de71f.jpeg</image:loc>
      <image:title>Arquitetura de Sistemas Backend: Por Que o Padrão Model-Controller-Service é o Melhor</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/gitlab-ci-para-nodejs-guia-integracao-continua/</loc>
    <lastmod>2025-01-17</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/gitlab-ci-for-nodejs-a-guide-to-continuous-integration/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/gitlab-ci-para-nodejs-guia-integracao-continua/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/gitlab-ci-para-nodejs-guia-integracion-continua/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/gitlab-ci-for-nodejs-a-guide-to-continuous-integration/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/674f69d1-25a1-4acf-bf47-4878c7378e55.jpeg</image:loc>
      <image:title>GitLab CI para Node.js: Um Guia de Integração Contínua</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/pipelines-processamento-dados-serverless-google-cloud-run/</loc>
    <lastmod>2025-01-17</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/serverless-data-processing-pipelines-with-google-cloud-run/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/pipelines-processamento-dados-serverless-google-cloud-run/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/pipelines-procesamiento-datos-serverless-google-cloud-run/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/serverless-data-processing-pipelines-with-google-cloud-run/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/c7b3f54a-74ce-4ae8-baae-08b2398598f0.jpeg</image:loc>
      <image:title>Pipelines de Processamento de Dados Serverless com Google Cloud Run</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/dominando-testes-web-com-playwright/</loc>
    <lastmod>2025-01-16</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/mastering-web-testing-with-playwright-why-its-essential-and-how-to-get-started/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/dominando-testes-web-com-playwright/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/dominando-pruebas-web-con-playwright/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/mastering-web-testing-with-playwright-why-its-essential-and-how-to-get-started/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/62b4ab15-e815-4a01-93dd-3c40db08469d.jpeg</image:loc>
      <image:title>Dominando Testes Web com Playwright: Por Que É Essencial e Como Começar</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/escalando-aplicacoes-nodejs-melhores-praticas-2025/</loc>
    <lastmod>2025-01-13</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/scaling-nodejs-applications-best-practices-for-2025/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/escalando-aplicacoes-nodejs-melhores-praticas-2025/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/escalando-aplicaciones-nodejs-mejores-practicas-2025/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/scaling-nodejs-applications-best-practices-for-2025/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/9cca1f8a-4955-4c74-9b9d-ddb5eb81425a.jpeg</image:loc>
      <image:title>Escalando Aplicações Node.js: Melhores Práticas para 2025</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/pipeline-ci-cd-com-docker-e-aws/</loc>
    <lastmod>2025-01-10</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/implementing-cicd-pipelines-with-docker-and-aws/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/pipeline-ci-cd-com-docker-e-aws/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/pipeline-ci-cd-con-docker-y-aws/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/implementing-cicd-pipelines-with-docker-and-aws/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/3625a676-e11d-423d-abaa-ed8b47be2f8c.jpeg</image:loc>
      <image:title>Implementando Pipelines de CI/CD com Docker e AWS</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/construindo-apis-graphql-escalaveis-com-nodejs-2025/</loc>
    <lastmod>2025-01-09</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/building-scalable-graphql-apis-with-nodejs-in-2025/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/construindo-apis-graphql-escalaveis-com-nodejs-2025/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/construyendo-apis-graphql-escalables-con-nodejs-2025/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/building-scalable-graphql-apis-with-nodejs-in-2025/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/e3840479-aa9d-4c25-af58-b8560f089465.jpeg</image:loc>
      <image:title>Construindo APIs GraphQL Escaláveis com Node.js em 2025</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/construindo-microsservicos-resilientes-com-aws-e-docker/</loc>
    <lastmod>2025-01-09</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/building-resilient-microservices-with-aws-and-docker/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/construindo-microsservicos-resilientes-com-aws-e-docker/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/construyendo-microservicios-resilientes-con-aws-y-docker/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/building-resilient-microservices-with-aws-and-docker/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/c8e94726-ecf8-4b7a-8df3-f58e14422907.jpeg</image:loc>
      <image:title>Construindo Microsserviços Resilientes com AWS e Docker</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/o-futuro-do-serverless-tendencias-2025/</loc>
    <lastmod>2025-01-09</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/the-future-of-serverless-trends-to-watch-in-2025/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/o-futuro-do-serverless-tendencias-2025/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/el-futuro-del-serverless-tendencias-2025/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/the-future-of-serverless-trends-to-watch-in-2025/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/f9183165-bed3-4784-9614-bfa7713db2b7.jpeg</image:loc>
      <image:title>O Futuro do Serverless: Tendências para Observar em 2025</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/guia-definitivo-cypress-introducao-implementacao-projeto-exemplo/</loc>
    <lastmod>2024-11-13</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/the-ultimate-guide-to-cypress-introduction-implementation-and-example-project/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/guia-definitivo-cypress-introducao-implementacao-projeto-exemplo/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/guia-definitivo-cypress-introduccion-implementacion-proyecto-ejemplo/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/the-ultimate-guide-to-cypress-introduction-implementation-and-example-project/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/verificacoes-de-saude-google-cloud-aws/</loc>
    <lastmod>2024-11-11</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/understanding-health-checks-what-they-are-how-to-use-them-and-the-best-tools-in-google-cloud-and-aws/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/verificacoes-de-saude-google-cloud-aws/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/verificaciones-de-salud-google-cloud-aws/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/understanding-health-checks-what-they-are-how-to-use-them-and-the-best-tools-in-google-cloud-and-aws/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/otimizando-custos-transferencia-dados-multiplos-containers-google-cloud-run/</loc>
    <lastmod>2024-11-06</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/optimizing-data-transfer-costs-with-multiple-containers-in-google-cloud-run/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/otimizando-custos-transferencia-dados-multiplos-containers-google-cloud-run/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/optimizando-costos-transferencia-datos-multiples-contenedores-google-cloud-run/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/optimizing-data-transfer-costs-with-multiple-containers-in-google-cloud-run/"/>
    
    <image:image>
      <image:loc>https://www.samuelfaj.com/files/posts/google-data-transfer.webp</image:loc>
      <image:title>Otimizando Custos de Transferência de Dados com Múltiplos Containers no Google Cloud Run</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/dominando-jest-guia-completo-testes-react/</loc>
    <lastmod>2024-11-03</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/mastering-jest-a-complete-guide-to-testing-react-applications/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/dominando-jest-guia-completo-testes-react/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/dominando-jest-guia-completa-pruebas-react/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/mastering-jest-a-complete-guide-to-testing-react-applications/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/autenticacao-jwt-em-typescript-guia-completo/</loc>
    <lastmod>2024-10-31</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/implementing-jwt-authentication-in-typescript-a-comprehensive-guide/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/autenticacao-jwt-em-typescript-guia-completo/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/autenticacion-jwt-en-typescript-guia-completa/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/implementing-jwt-authentication-in-typescript-a-comprehensive-guide/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/dominando-redux-guia-completo-gerenciamento-estado-react/</loc>
    <lastmod>2024-10-28</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/mastering-redux-a-comprehensive-guide-to-state-management-in-react/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/dominando-redux-guia-completo-gerenciamento-estado-react/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/dominando-redux-guia-completo-gestion-estado-react/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/mastering-redux-a-comprehensive-guide-to-state-management-in-react/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/dominando-socketio-guia-completo-com-exemplo/</loc>
    <lastmod>2024-10-24</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/mastering-socketio-everything-you-need-to-know-with-a-complete-example/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/dominando-socketio-guia-completo-com-exemplo/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/dominando-socketio-guia-completo-con-ejemplo/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/mastering-socketio-everything-you-need-to-know-with-a-complete-example/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/guia-completo-styled-components/</loc>
    <lastmod>2024-10-23</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/a-complete-guide-to-styled-components/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/guia-completo-styled-components/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/guia-completo-de-styled-components/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/a-complete-guide-to-styled-components/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/guia-definitivo-react-query-como-implementar/</loc>
    <lastmod>2024-10-22</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/the-ultimate-guide-to-using-react-query-why-and-how-to-implement-it/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/guia-definitivo-react-query-como-implementar/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/guia-definitivo-react-query-como-implementarlo/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/the-ultimate-guide-to-using-react-query-why-and-how-to-implement-it/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/entendendo-os-utility-types-do-typescript-partial-omit-e-mais/</loc>
    <lastmod>2024-10-20</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/understanding-typescript-utility-types-partial-omit-and-more/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/entendendo-os-utility-types-do-typescript-partial-omit-e-mais/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/comprendiendo-los-utility-types-de-typescript-partial-omit-y-mas/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/understanding-typescript-utility-types-partial-omit-and-more/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/classes-genericas-typescript-desenvolvimento-backend/</loc>
    <lastmod>2024-10-19</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/using-generic-classes-in-typescript-a-guide-for-backend-development/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/classes-genericas-typescript-desenvolvimento-backend/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/clases-genericas-typescript-desarrollo-backend/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/using-generic-classes-in-typescript-a-guide-for-backend-development/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/introducao-ao-google-cloud-run-guia-completo/</loc>
    <lastmod>2024-10-17</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/getting-started-with-google-cloud-run-a-comprehensive-guide/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/introducao-ao-google-cloud-run-guia-completo/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/primeros-pasos-con-google-cloud-run-guia-completa/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/getting-started-with-google-cloud-run-a-comprehensive-guide/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/como-usar-controllers-models-e-services/</loc>
    <lastmod>2024-10-13</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/how-to-effectively-use-controllers-models-services-and-more/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/como-usar-controllers-models-e-services/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/como-usar-controladores-modelos-y-servicios/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/how-to-effectively-use-controllers-models-services-and-more/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/classes-abstratas-typescript-guia-completo/</loc>
    <lastmod>2024-10-12</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/understanding-typescript-abstract-classes-a-comprehensive-guide/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/classes-abstratas-typescript-guia-completo/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/clases-abstractas-typescript-guia-completa/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/understanding-typescript-abstract-classes-a-comprehensive-guide/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/pt/blog/arquitetura-serverless-nodejs-aws/</loc>
    <lastmod>2024-10-11</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/harnessing-the-power-of-serverless-architecture-with-nodejs-on-aws/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/arquitetura-serverless-nodejs-aws/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/arquitectura-serverless-nodejs-aws/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/harnessing-the-power-of-serverless-architecture-with-nodejs-on-aws/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/servir-definiciones-typescript-para-eden-treaty-enfoque-produccion/</loc>
    <lastmod>2026-01-06</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/serving-typescript-definitions-for-eden-treaty-a-production-ready-approach/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/servindo-definicoes-typescript-para-eden-treaty-abordagem-producao/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/servir-definiciones-typescript-para-eden-treaty-enfoque-produccion/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/serving-typescript-definitions-for-eden-treaty-a-production-ready-approach/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/aa30062a-c024-48b6-8678-bdf3865564a6.jpeg</image:loc>
      <image:title>Sirviendo Definiciones TypeScript para Eden Treaty: Un Enfoque Listo para Producción</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/claudiomiro-como-lograr-codificacion-autonoma-compleja/</loc>
    <lastmod>2025-10-05</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/claudiomiro-how-to-achieve-100-autonomous-complex-coding/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/claudiomiro-como-alcancar-codificacao-autonoma-complexa/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/claudiomiro-como-lograr-codificacion-autonoma-compleja/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/claudiomiro-how-to-achieve-100-autonomous-complex-coding/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/59f528ac-8385-44fd-a00f-da6032ec8c76.jpeg</image:loc>
      <image:title>Claudiomiro: Cómo Lograr un 100% de Codificación Autónoma (Compleja)</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/sistema-grafo-conocimiento-mongodb-s3-langchain/</loc>
    <lastmod>2025-07-30</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/creating-a-native-knowledge-graph-system-with-mongodb-s3-and-langchain/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/sistema-grafo-conhecimento-mongodb-s3-langchain/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/sistema-grafo-conocimiento-mongodb-s3-langchain/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/creating-a-native-knowledge-graph-system-with-mongodb-s3-and-langchain/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/6ecc81d7-3419-469f-9df0-d9d6e2f4f14a.jpeg</image:loc>
      <image:title>Creando un Sistema de Grafo de Conocimiento Nativo con MongoDB, S3 y LangChain</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/internacionalizacion-react-apps-y-servicios-backend-mejores-practicas-i18n/</loc>
    <lastmod>2025-07-21</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/internationalizing-react-apps-and-backend-services-best-practices-for-i18n/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/internacionalizacao-react-apps-e-servicos-backend-melhores-praticas-i18n/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/internacionalizacion-react-apps-y-servicios-backend-mejores-practicas-i18n/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/internationalizing-react-apps-and-backend-services-best-practices-for-i18n/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/cc409bf3-766f-43fa-859c-257566566842.jpeg</image:loc>
      <image:title>Internacionalización de Apps React y Servicios Backend: Mejores Prácticas de i18n</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/construyendo-agente-ia-fitness-con-langchainjs/</loc>
    <lastmod>2025-07-19</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/building-a-fitness-ai-agent-with-langchainjs-a-real-world-implementation/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/construindo-agente-ia-fitness-com-langchainjs/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/construyendo-agente-ia-fitness-con-langchainjs/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/building-a-fitness-ai-agent-with-langchainjs-a-real-world-implementation/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/eabf5d68-4ed7-4e34-bb05-7ba173ddba9b.jpeg</image:loc>
      <image:title>Construyendo un Agente de IA para Fitness con LangChain.js: Una Implementación Real</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/dominando-langchainjs-herramientas-agentes-ia/</loc>
    <lastmod>2025-07-17</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/mastering-langchainjs-to-coordinate-tool-and-function-calls-using-ai-agents/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/dominando-langchainjs-ferramentas-agentes-ia/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/dominando-langchainjs-herramientas-agentes-ia/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/mastering-langchainjs-to-coordinate-tool-and-function-calls-using-ai-agents/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/e0a6b25b-1295-4f26-b772-326cbfd21c08.jpeg</image:loc>
      <image:title>Dominando Langchainjs para Coordinar Llamadas de Herramientas y Funciones con Agentes de IA</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/memoria-largo-plazo-ia-como-funciona-graphiti/</loc>
    <lastmod>2025-07-14</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/long-term-memory-for-ai-how-graphiti-works-for-building-real-smart-applications/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/memoria-de-longo-prazo-para-ia-como-graphiti-funciona/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/memoria-largo-plazo-ia-como-funciona-graphiti/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/long-term-memory-for-ai-how-graphiti-works-for-building-real-smart-applications/"/>
    
    <image:image>
      <image:loc>https://www.samuelfaj.com/files/posts/graphiti.webp</image:loc>
      <image:title>Memoria a Largo Plazo para IA: Cómo Funciona Graphiti para Construir Aplicaciones Realmente Inteligentes</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/bot-linkedin-automatizacion-puppeteer-bun-chatgpt/</loc>
    <lastmod>2025-07-04</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/building-an-ai-assisted-linkedin-job-application-bot-with-puppeteer-bun-chatgpt/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/bot-linkedin-puppeteer-bun-chatgpt/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/bot-linkedin-automatizacion-puppeteer-bun-chatgpt/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/building-an-ai-assisted-linkedin-job-application-bot-with-puppeteer-bun-chatgpt/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/como-organizar-servicios-arquitectura-msc-typescript/</loc>
    <lastmod>2025-04-26</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/how-to-organize-services-in-an-msc-architecture-with-typescript-for-scalability-and-clarity/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/como-organizar-servicos-arquitetura-msc-typescript/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/como-organizar-servicios-arquitectura-msc-typescript/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/how-to-organize-services-in-an-msc-architecture-with-typescript-for-scalability-and-clarity/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/38540d66-fce2-40d9-ba4b-72a2bacf603a.jpeg</image:loc>
      <image:title>Cómo Organizar Servicios en una Arquitectura MSC con TypeScript para Escalabilidad y Claridad</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/tipos-de-pruebas-en-desarrollo-de-software/</loc>
    <lastmod>2025-02-25</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/all-the-types-of-tests-in-software-development/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/tipos-de-testes-em-desenvolvimento-de-software/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/tipos-de-pruebas-en-desarrollo-de-software/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/all-the-types-of-tests-in-software-development/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/3e9f5d48-42ef-4108-88d8-d932606e88ce.jpeg</image:loc>
      <image:title>Todos los Tipos de Pruebas en el Desarrollo de Software</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/dominando-transacciones-en-ingenieria-de-software-moderna/</loc>
    <lastmod>2025-02-11</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/mastering-transactions-in-modern-software-engineering/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/dominando-transacoes-em-engenharia-de-software-moderna/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/dominando-transacciones-en-ingenieria-de-software-moderna/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/mastering-transactions-in-modern-software-engineering/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/bb3d3393-47f8-4114-88f6-bb1f160732f3.jpeg</image:loc>
      <image:title>Dominando las Transacciones en la Ingeniería de Software Moderna</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/pruebas-end-to-end-playwright/</loc>
    <lastmod>2025-02-10</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/what-are-end-to-end-tests-and-how-to-implement-them-with-playwright/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/testes-end-to-end-playwright/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/pruebas-end-to-end-playwright/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/what-are-end-to-end-tests-and-how-to-implement-them-with-playwright/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/f5a2de72-adec-4f05-99f2-8f078340bcb7.jpeg</image:loc>
      <image:title>Qué Son las Pruebas End-to-End y Cómo Implementarlas con Playwright</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/estrategia-de-pruebas-con-typegoose-y-mongodb-memory-server/</loc>
    <lastmod>2025-02-07</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/elevate-your-testing-strategy-with-typegoose-and-mongodb-memory-server/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/estrategia-de-testes-com-typegoose-e-mongodb-memory-server/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/estrategia-de-pruebas-con-typegoose-y-mongodb-memory-server/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/elevate-your-testing-strategy-with-typegoose-and-mongodb-memory-server/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/569974db-8b0a-481a-be74-5ff551c4a824.jpeg</image:loc>
      <image:title>Eleva tu Estrategia de Pruebas con Typegoose y mongodb-memory-server</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/dominando-decorators-typescript-como-usarlos-y-crearlos/</loc>
    <lastmod>2025-02-05</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/mastering-typescript-decorators-how-to-use-and-how-to-create/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/dominando-decorators-typescript-como-usar-e-criar/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/dominando-decorators-typescript-como-usarlos-y-crearlos/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/mastering-typescript-decorators-how-to-use-and-how-to-create/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/52565cd0-eb1c-409c-aad6-9479dd985766.jpeg</image:loc>
      <image:title>Dominando los Decorators de TypeScript: Cómo Usarlos y Cómo Crearlos</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/robot-solicitud-empleo-linkedin-puppeteer-typescript/</loc>
    <lastmod>2025-01-31</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/building-a-linkedin-job-application-robot-with-puppeteer-and-typescript/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/robo-candidatura-linkedin-puppeteer-typescript/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/robot-solicitud-empleo-linkedin-puppeteer-typescript/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/building-a-linkedin-job-application-robot-with-puppeteer-and-typescript/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/por-que-siempre-especificar-versiones-docker-gestores-paquetes/</loc>
    <lastmod>2025-01-29</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/why-you-should-always-specify-version-numbers-in-docker-and-package-managers/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/por-que-sempre-especificar-versoes-docker-gerenciadores-pacotes/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/por-que-siempre-especificar-versiones-docker-gestores-paquetes/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/why-you-should-always-specify-version-numbers-in-docker-and-package-managers/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/b869f070-533a-4837-9772-945c158d6746.jpeg</image:loc>
      <image:title>Por Qué Siempre Debes Especificar Versiones en Docker y en Gestores de Paquetes</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/guia-completo-redux-que-es-como-usarlo-ejemplo-completo/</loc>
    <lastmod>2025-01-29</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/a-complete-guide-to-redux-what-it-is-how-to-use-it-and-a-full-example/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/guia-completo-redux-o-que-e-como-usar-exemplo-completo/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/guia-completo-redux-que-es-como-usarlo-ejemplo-completo/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/a-complete-guide-to-redux-what-it-is-how-to-use-it-and-a-full-example/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/34f56ed0-fa87-4a8e-b407-8abfedd345b2.jpeg</image:loc>
      <image:title>Guía Completa de Redux: Qué Es, Cómo Usarlo y un Ejemplo Completo</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/como-dividir-componentes-react-para-pruebas-unitarias/</loc>
    <lastmod>2025-01-27</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/how-to-split-react-components-for-easy-unit-testing/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/como-dividir-componentes-react-para-testes-unitarios/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/como-dividir-componentes-react-para-pruebas-unitarias/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/how-to-split-react-components-for-easy-unit-testing/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/debdc605-a67c-4ce2-bee1-21d5080b7f5f.jpeg</image:loc>
      <image:title>Cómo Dividir Componentes React para Facilitar las Pruebas Unitarias</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/terraform-multi-nube-google-cloud-aws/</loc>
    <lastmod>2025-01-24</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/mastering-multi-cloud-with-terraform-deploying-infrastructure-on-google-cloud-and-aws/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/terraform-multi-cloud-google-cloud-aws/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/terraform-multi-nube-google-cloud-aws/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/mastering-multi-cloud-with-terraform-deploying-infrastructure-on-google-cloud-and-aws/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/bcab010d-9cd5-4ce1-89d2-afe9e8213f8e.jpeg</image:loc>
      <image:title>Dominando la Multi-Nube con Terraform: Desplegando Infraestructura en Google Cloud y AWS</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/por-que-contrate-chatgpt-pro-como-desarrollador-junior/</loc>
    <lastmod>2025-01-22</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/why-i-hired-chatgpt-pro-200month-as-my-junior-developer/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/por-que-contratei-chatgpt-pro-como-desenvolvedor-junior/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/por-que-contrate-chatgpt-pro-como-desarrollador-junior/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/why-i-hired-chatgpt-pro-200month-as-my-junior-developer/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/39510365-d8fd-4108-881f-f4f53d9ae481.jpeg</image:loc>
      <image:title>Por Qué Contraté a ChatGPT Pro (US$200/Mes) como Mi Desarrollador Junior</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/arquitectura-orientada-a-eventos-aws-nodejs/</loc>
    <lastmod>2025-01-20</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/implementing-event-driven-architecture-with-aws-and-nodejs/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/arquitetura-orientada-a-eventos-aws-nodejs/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/arquitectura-orientada-a-eventos-aws-nodejs/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/implementing-event-driven-architecture-with-aws-and-nodejs/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/8f5a335c-aec5-4703-a9fa-4826443601e5.jpeg</image:loc>
      <image:title>Implementando Arquitectura Orientada a Eventos con AWS y Node.js</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/arquitectura-de-sistemas-backend-patron-model-controller-service/</loc>
    <lastmod>2025-01-20</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/backend-system-architecture-why-the-model-controller-service-pattern-reigns-supreme/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/arquitetura-de-sistemas-backend-padrao-model-controller-service/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/arquitectura-de-sistemas-backend-patron-model-controller-service/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/backend-system-architecture-why-the-model-controller-service-pattern-reigns-supreme/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/6640e712-5c12-4c71-a157-0a8fcf2de71f.jpeg</image:loc>
      <image:title>Arquitectura de Sistemas Backend: Por Qué el Patrón Model-Controller-Service es el Mejor</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/gitlab-ci-para-nodejs-guia-integracion-continua/</loc>
    <lastmod>2025-01-17</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/gitlab-ci-for-nodejs-a-guide-to-continuous-integration/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/gitlab-ci-para-nodejs-guia-integracao-continua/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/gitlab-ci-para-nodejs-guia-integracion-continua/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/gitlab-ci-for-nodejs-a-guide-to-continuous-integration/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/674f69d1-25a1-4acf-bf47-4878c7378e55.jpeg</image:loc>
      <image:title>GitLab CI para Node.js: Una Guía de Integración Continua</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/pipelines-procesamiento-datos-serverless-google-cloud-run/</loc>
    <lastmod>2025-01-17</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/serverless-data-processing-pipelines-with-google-cloud-run/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/pipelines-processamento-dados-serverless-google-cloud-run/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/pipelines-procesamiento-datos-serverless-google-cloud-run/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/serverless-data-processing-pipelines-with-google-cloud-run/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/c7b3f54a-74ce-4ae8-baae-08b2398598f0.jpeg</image:loc>
      <image:title>Pipelines de Procesamiento de Datos Serverless con Google Cloud Run</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/dominando-pruebas-web-con-playwright/</loc>
    <lastmod>2025-01-16</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/mastering-web-testing-with-playwright-why-its-essential-and-how-to-get-started/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/dominando-testes-web-com-playwright/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/dominando-pruebas-web-con-playwright/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/mastering-web-testing-with-playwright-why-its-essential-and-how-to-get-started/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/62b4ab15-e815-4a01-93dd-3c40db08469d.jpeg</image:loc>
      <image:title>Dominando las Pruebas Web con Playwright: Por Qué Es Esencial y Cómo Empezar</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/escalando-aplicaciones-nodejs-mejores-practicas-2025/</loc>
    <lastmod>2025-01-13</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/scaling-nodejs-applications-best-practices-for-2025/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/escalando-aplicacoes-nodejs-melhores-praticas-2025/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/escalando-aplicaciones-nodejs-mejores-practicas-2025/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/scaling-nodejs-applications-best-practices-for-2025/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/9cca1f8a-4955-4c74-9b9d-ddb5eb81425a.jpeg</image:loc>
      <image:title>Escalando Aplicaciones Node.js: Mejores Prácticas para 2025</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/pipeline-ci-cd-con-docker-y-aws/</loc>
    <lastmod>2025-01-10</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/implementing-cicd-pipelines-with-docker-and-aws/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/pipeline-ci-cd-com-docker-e-aws/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/pipeline-ci-cd-con-docker-y-aws/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/implementing-cicd-pipelines-with-docker-and-aws/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/3625a676-e11d-423d-abaa-ed8b47be2f8c.jpeg</image:loc>
      <image:title>Implementando Pipelines de CI/CD con Docker y AWS</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/construyendo-apis-graphql-escalables-con-nodejs-2025/</loc>
    <lastmod>2025-01-09</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/building-scalable-graphql-apis-with-nodejs-in-2025/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/construindo-apis-graphql-escalaveis-com-nodejs-2025/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/construyendo-apis-graphql-escalables-con-nodejs-2025/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/building-scalable-graphql-apis-with-nodejs-in-2025/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/e3840479-aa9d-4c25-af58-b8560f089465.jpeg</image:loc>
      <image:title>Construyendo APIs GraphQL Escalables con Node.js en 2025</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/construyendo-microservicios-resilientes-con-aws-y-docker/</loc>
    <lastmod>2025-01-09</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/building-resilient-microservices-with-aws-and-docker/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/construindo-microsservicos-resilientes-com-aws-e-docker/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/construyendo-microservicios-resilientes-con-aws-y-docker/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/building-resilient-microservices-with-aws-and-docker/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/c8e94726-ecf8-4b7a-8df3-f58e14422907.jpeg</image:loc>
      <image:title>Construyendo Microservicios Resilientes con AWS y Docker</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/el-futuro-del-serverless-tendencias-2025/</loc>
    <lastmod>2025-01-09</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/the-future-of-serverless-trends-to-watch-in-2025/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/o-futuro-do-serverless-tendencias-2025/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/el-futuro-del-serverless-tendencias-2025/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/the-future-of-serverless-trends-to-watch-in-2025/"/>
    
    <image:image>
      <image:loc>https://s3.us-east-1.amazonaws.com/www.samuelfaj.com/blog-assets/f9183165-bed3-4784-9614-bfa7713db2b7.jpeg</image:loc>
      <image:title>El Futuro del Serverless: Tendencias a Seguir en 2025</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/guia-definitivo-cypress-introduccion-implementacion-proyecto-ejemplo/</loc>
    <lastmod>2024-11-13</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/the-ultimate-guide-to-cypress-introduction-implementation-and-example-project/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/guia-definitivo-cypress-introducao-implementacao-projeto-exemplo/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/guia-definitivo-cypress-introduccion-implementacion-proyecto-ejemplo/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/the-ultimate-guide-to-cypress-introduction-implementation-and-example-project/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/verificaciones-de-salud-google-cloud-aws/</loc>
    <lastmod>2024-11-11</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/understanding-health-checks-what-they-are-how-to-use-them-and-the-best-tools-in-google-cloud-and-aws/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/verificacoes-de-saude-google-cloud-aws/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/verificaciones-de-salud-google-cloud-aws/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/understanding-health-checks-what-they-are-how-to-use-them-and-the-best-tools-in-google-cloud-and-aws/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/optimizando-costos-transferencia-datos-multiples-contenedores-google-cloud-run/</loc>
    <lastmod>2024-11-06</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/optimizing-data-transfer-costs-with-multiple-containers-in-google-cloud-run/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/otimizando-custos-transferencia-dados-multiplos-containers-google-cloud-run/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/optimizando-costos-transferencia-datos-multiples-contenedores-google-cloud-run/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/optimizing-data-transfer-costs-with-multiple-containers-in-google-cloud-run/"/>
    
    <image:image>
      <image:loc>https://www.samuelfaj.com/files/posts/google-data-transfer.webp</image:loc>
      <image:title>Optimizando los Costos de Transferencia de Datos con Múltiples Contenedores en Google Cloud Run</image:title>
    </image:image>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/dominando-jest-guia-completa-pruebas-react/</loc>
    <lastmod>2024-11-03</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/mastering-jest-a-complete-guide-to-testing-react-applications/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/dominando-jest-guia-completo-testes-react/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/dominando-jest-guia-completa-pruebas-react/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/mastering-jest-a-complete-guide-to-testing-react-applications/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/autenticacion-jwt-en-typescript-guia-completa/</loc>
    <lastmod>2024-10-31</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/implementing-jwt-authentication-in-typescript-a-comprehensive-guide/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/autenticacao-jwt-em-typescript-guia-completo/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/autenticacion-jwt-en-typescript-guia-completa/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/implementing-jwt-authentication-in-typescript-a-comprehensive-guide/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/dominando-redux-guia-completo-gestion-estado-react/</loc>
    <lastmod>2024-10-28</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/mastering-redux-a-comprehensive-guide-to-state-management-in-react/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/dominando-redux-guia-completo-gerenciamento-estado-react/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/dominando-redux-guia-completo-gestion-estado-react/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/mastering-redux-a-comprehensive-guide-to-state-management-in-react/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/dominando-socketio-guia-completo-con-ejemplo/</loc>
    <lastmod>2024-10-24</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/mastering-socketio-everything-you-need-to-know-with-a-complete-example/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/dominando-socketio-guia-completo-com-exemplo/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/dominando-socketio-guia-completo-con-ejemplo/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/mastering-socketio-everything-you-need-to-know-with-a-complete-example/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/guia-completo-de-styled-components/</loc>
    <lastmod>2024-10-23</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/a-complete-guide-to-styled-components/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/guia-completo-styled-components/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/guia-completo-de-styled-components/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/a-complete-guide-to-styled-components/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/guia-definitivo-react-query-como-implementarlo/</loc>
    <lastmod>2024-10-22</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/the-ultimate-guide-to-using-react-query-why-and-how-to-implement-it/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/guia-definitivo-react-query-como-implementar/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/guia-definitivo-react-query-como-implementarlo/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/the-ultimate-guide-to-using-react-query-why-and-how-to-implement-it/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/comprendiendo-los-utility-types-de-typescript-partial-omit-y-mas/</loc>
    <lastmod>2024-10-20</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/understanding-typescript-utility-types-partial-omit-and-more/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/entendendo-os-utility-types-do-typescript-partial-omit-e-mais/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/comprendiendo-los-utility-types-de-typescript-partial-omit-y-mas/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/understanding-typescript-utility-types-partial-omit-and-more/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/clases-genericas-typescript-desarrollo-backend/</loc>
    <lastmod>2024-10-19</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/using-generic-classes-in-typescript-a-guide-for-backend-development/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/classes-genericas-typescript-desenvolvimento-backend/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/clases-genericas-typescript-desarrollo-backend/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/using-generic-classes-in-typescript-a-guide-for-backend-development/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/primeros-pasos-con-google-cloud-run-guia-completa/</loc>
    <lastmod>2024-10-17</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/getting-started-with-google-cloud-run-a-comprehensive-guide/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/introducao-ao-google-cloud-run-guia-completo/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/primeros-pasos-con-google-cloud-run-guia-completa/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/getting-started-with-google-cloud-run-a-comprehensive-guide/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/como-usar-controladores-modelos-y-servicios/</loc>
    <lastmod>2024-10-13</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/how-to-effectively-use-controllers-models-services-and-more/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/como-usar-controllers-models-e-services/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/como-usar-controladores-modelos-y-servicios/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/how-to-effectively-use-controllers-models-services-and-more/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/clases-abstractas-typescript-guia-completa/</loc>
    <lastmod>2024-10-12</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/understanding-typescript-abstract-classes-a-comprehensive-guide/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/classes-abstratas-typescript-guia-completo/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/clases-abstractas-typescript-guia-completa/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/understanding-typescript-abstract-classes-a-comprehensive-guide/"/>
    
  </url>
  <url>
    <loc>https://www.samuelfaj.com/es/blog/arquitectura-serverless-nodejs-aws/</loc>
    <lastmod>2024-10-11</lastmod>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.samuelfaj.com/en/blog/harnessing-the-power-of-serverless-architecture-with-nodejs-on-aws/"/>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://www.samuelfaj.com/pt/blog/arquitetura-serverless-nodejs-aws/"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://www.samuelfaj.com/es/blog/arquitectura-serverless-nodejs-aws/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.samuelfaj.com/en/blog/harnessing-the-power-of-serverless-architecture-with-nodejs-on-aws/"/>
    
  </url>
</urlset>
