<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://www.aitorevi.dev/</loc><xhtml:link rel="alternate" hreflang="es-ES" href="https://www.aitorevi.dev/"/><xhtml:link rel="alternate" hreflang="en-US" href="https://www.aitorevi.dev/en/"/></url><url><loc>https://www.aitorevi.dev/aviso-legal/</loc></url><url><loc>https://www.aitorevi.dev/blog/</loc><xhtml:link rel="alternate" hreflang="es-ES" href="https://www.aitorevi.dev/blog/"/><xhtml:link rel="alternate" hreflang="en-US" href="https://www.aitorevi.dev/en/blog/"/></url><url><loc>https://www.aitorevi.dev/blog/astro-3-intro/</loc></url><url><loc>https://www.aitorevi.dev/blog/bem-deep-dive/</loc></url><url><loc>https://www.aitorevi.dev/blog/bem-intro/</loc></url><url><loc>https://www.aitorevi.dev/blog/commitconf-2024/</loc></url><url><loc>https://www.aitorevi.dev/blog/dependency-inversion/</loc><xhtml:link rel="alternate" hreflang="es-ES" href="https://www.aitorevi.dev/blog/dependency-inversion/"/><xhtml:link rel="alternate" hreflang="en-US" href="https://www.aitorevi.dev/en/blog/dependency-inversion/"/></url><url><loc>https://www.aitorevi.dev/blog/mars-rover-intellij-shortcuts/</loc></url><url><loc>https://www.aitorevi.dev/blog/mars-rover-state-pattern/</loc></url><url><loc>https://www.aitorevi.dev/blog/mock-101-nerdearla/</loc><xhtml:link rel="alternate" hreflang="es-ES" href="https://www.aitorevi.dev/blog/mock-101-nerdearla/"/><xhtml:link rel="alternate" hreflang="en-US" href="https://www.aitorevi.dev/en/blog/mock-101-nerdearla/"/></url><url><loc>https://www.aitorevi.dev/blog/react-component-communication/</loc></url><url><loc>https://www.aitorevi.dev/blog/react-suspense-skeletons/</loc><xhtml:link rel="alternate" hreflang="es-ES" href="https://www.aitorevi.dev/blog/react-suspense-skeletons/"/><xhtml:link rel="alternate" hreflang="en-US" href="https://www.aitorevi.dev/en/blog/react-suspense-skeletons/"/></url><url><loc>https://www.aitorevi.dev/blog/result-pattern-typescript/</loc><xhtml:link rel="alternate" hreflang="es-ES" href="https://www.aitorevi.dev/blog/result-pattern-typescript/"/><xhtml:link rel="alternate" hreflang="en-US" href="https://www.aitorevi.dev/en/blog/result-pattern-typescript/"/></url><url><loc>https://www.aitorevi.dev/blog/strict-mocks-vs-fakes/</loc><xhtml:link rel="alternate" hreflang="es-ES" href="https://www.aitorevi.dev/blog/strict-mocks-vs-fakes/"/><xhtml:link rel="alternate" hreflang="en-US" href="https://www.aitorevi.dev/en/blog/strict-mocks-vs-fakes/"/></url><url><loc>https://www.aitorevi.dev/blog/trunk-based-development/</loc></url><url><loc>https://www.aitorevi.dev/blog/value-objects-typescript/</loc><xhtml:link rel="alternate" hreflang="es-ES" href="https://www.aitorevi.dev/blog/value-objects-typescript/"/><xhtml:link rel="alternate" hreflang="en-US" href="https://www.aitorevi.dev/en/blog/value-objects-typescript/"/></url><url><loc>https://www.aitorevi.dev/cookies/</loc><xhtml:link rel="alternate" hreflang="es-ES" href="https://www.aitorevi.dev/cookies/"/><xhtml:link rel="alternate" hreflang="en-US" href="https://www.aitorevi.dev/en/cookies/"/></url><url><loc>https://www.aitorevi.dev/cv/</loc><xhtml:link rel="alternate" hreflang="es-ES" href="https://www.aitorevi.dev/cv/"/><xhtml:link rel="alternate" hreflang="en-US" href="https://www.aitorevi.dev/en/cv/"/></url><url><loc>https://www.aitorevi.dev/en/</loc><xhtml:link rel="alternate" hreflang="es-ES" href="https://www.aitorevi.dev/"/><xhtml:link rel="alternate" hreflang="en-US" href="https://www.aitorevi.dev/en/"/></url><url><loc>https://www.aitorevi.dev/en/blog/</loc><xhtml:link rel="alternate" hreflang="es-ES" href="https://www.aitorevi.dev/blog/"/><xhtml:link rel="alternate" hreflang="en-US" href="https://www.aitorevi.dev/en/blog/"/></url><url><loc>https://www.aitorevi.dev/en/blog/dependency-inversion/</loc><xhtml:link rel="alternate" hreflang="es-ES" href="https://www.aitorevi.dev/blog/dependency-inversion/"/><xhtml:link rel="alternate" hreflang="en-US" href="https://www.aitorevi.dev/en/blog/dependency-inversion/"/></url><url><loc>https://www.aitorevi.dev/en/blog/mock-101-nerdearla/</loc><xhtml:link rel="alternate" hreflang="es-ES" href="https://www.aitorevi.dev/blog/mock-101-nerdearla/"/><xhtml:link rel="alternate" hreflang="en-US" href="https://www.aitorevi.dev/en/blog/mock-101-nerdearla/"/></url><url><loc>https://www.aitorevi.dev/en/blog/react-suspense-skeletons/</loc><xhtml:link rel="alternate" hreflang="es-ES" href="https://www.aitorevi.dev/blog/react-suspense-skeletons/"/><xhtml:link rel="alternate" hreflang="en-US" href="https://www.aitorevi.dev/en/blog/react-suspense-skeletons/"/></url><url><loc>https://www.aitorevi.dev/en/blog/result-pattern-typescript/</loc><xhtml:link rel="alternate" hreflang="es-ES" href="https://www.aitorevi.dev/blog/result-pattern-typescript/"/><xhtml:link rel="alternate" hreflang="en-US" href="https://www.aitorevi.dev/en/blog/result-pattern-typescript/"/></url><url><loc>https://www.aitorevi.dev/en/blog/strict-mocks-vs-fakes/</loc><xhtml:link rel="alternate" hreflang="es-ES" href="https://www.aitorevi.dev/blog/strict-mocks-vs-fakes/"/><xhtml:link rel="alternate" hreflang="en-US" href="https://www.aitorevi.dev/en/blog/strict-mocks-vs-fakes/"/></url><url><loc>https://www.aitorevi.dev/en/blog/value-objects-typescript/</loc><xhtml:link rel="alternate" hreflang="es-ES" href="https://www.aitorevi.dev/blog/value-objects-typescript/"/><xhtml:link rel="alternate" hreflang="en-US" href="https://www.aitorevi.dev/en/blog/value-objects-typescript/"/></url><url><loc>https://www.aitorevi.dev/en/cookies/</loc><xhtml:link rel="alternate" hreflang="es-ES" href="https://www.aitorevi.dev/cookies/"/><xhtml:link rel="alternate" hreflang="en-US" href="https://www.aitorevi.dev/en/cookies/"/></url><url><loc>https://www.aitorevi.dev/en/cv/</loc><xhtml:link rel="alternate" hreflang="es-ES" href="https://www.aitorevi.dev/cv/"/><xhtml:link rel="alternate" hreflang="en-US" href="https://www.aitorevi.dev/en/cv/"/></url><url><loc>https://www.aitorevi.dev/en/katas/</loc><xhtml:link rel="alternate" hreflang="en-US" href="https://www.aitorevi.dev/en/katas/"/><xhtml:link rel="alternate" hreflang="es-ES" href="https://www.aitorevi.dev/katas/"/></url><url><loc>https://www.aitorevi.dev/en/legal-notice/</loc></url><url><loc>https://www.aitorevi.dev/en/portfolio/aitorevi-dev/</loc><xhtml:link rel="alternate" hreflang="en-US" href="https://www.aitorevi.dev/en/portfolio/aitorevi-dev/"/><xhtml:link rel="alternate" hreflang="es-ES" href="https://www.aitorevi.dev/portfolio/aitorevi-dev/"/></url><url><loc>https://www.aitorevi.dev/en/portfolio/ims/</loc><xhtml:link rel="alternate" hreflang="en-US" href="https://www.aitorevi.dev/en/portfolio/ims/"/><xhtml:link rel="alternate" hreflang="es-ES" href="https://www.aitorevi.dev/portfolio/ims/"/></url><url><loc>https://www.aitorevi.dev/en/privacy/</loc></url><url><loc>https://www.aitorevi.dev/katas/</loc><xhtml:link rel="alternate" hreflang="en-US" href="https://www.aitorevi.dev/en/katas/"/><xhtml:link rel="alternate" hreflang="es-ES" href="https://www.aitorevi.dev/katas/"/></url><url><loc>https://www.aitorevi.dev/portfolio/aitorevi-dev/</loc><xhtml:link rel="alternate" hreflang="en-US" href="https://www.aitorevi.dev/en/portfolio/aitorevi-dev/"/><xhtml:link rel="alternate" hreflang="es-ES" href="https://www.aitorevi.dev/portfolio/aitorevi-dev/"/></url><url><loc>https://www.aitorevi.dev/portfolio/ims/</loc><xhtml:link rel="alternate" hreflang="en-US" href="https://www.aitorevi.dev/en/portfolio/ims/"/><xhtml:link rel="alternate" hreflang="es-ES" href="https://www.aitorevi.dev/portfolio/ims/"/></url><url><loc>https://www.aitorevi.dev/privacidad/</loc></url></urlset>