<?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">
  <url>
    <loc>https://blog.jesusflorez.cloud/</loc>
    <lastmod>2026-08-14</lastmod>
    <changefreq>daily</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/autor/jesus-florez</loc>
    <lastmod>2026-08-14</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/categoria/tecnologia</loc>
    <lastmod>2026-08-14</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/categoria/programacion-competitiva</loc>
    <lastmod>2026-08-14</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/01/introduccion-tdd</loc>
    <lastmod>2026-01-12</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1555066931-4365d14bab8c?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Introducción a Test-Driven Development (TDD)</image:title>
      <image:caption>Descubre cómo TDD puede mejorar la calidad de tu código y acelerar tu desarrollo con ejemplos prácticos.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/01/microservicios-spring-boot</loc>
    <lastmod>2026-01-08</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1558494949-ef010cbdcc31?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Microservicios con Spring Boot</image:title>
      <image:caption>Aprende a construir una arquitectura de microservicios robusta utilizando Spring Boot y las mejores prácticas.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/01/react-hooks-guia</loc>
    <lastmod>2026-01-10</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1633356122544-f134324a6cee?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>React Hooks: Una Guía Completa</image:title>
      <image:caption>Todo lo que necesitas saber sobre React Hooks para escribir componentes funcionales modernos y eficientes.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/02/158a-next-round</loc>
    <lastmod>2026-02-27</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://i.imgur.com/PYYiXRA.png?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>158A - Next Round</image:title>
      <image:caption>VK Cup 2012 Qualification Round 1</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/02/231a-team</loc>
    <lastmod>2026-02-20</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://i.imgur.com/IIWAVGY.png?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>231A - Team</image:title>
      <image:caption>Codeforces Round 143 (Div 2)</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/02/282a-bitplusplus</loc>
    <lastmod>2026-02-24</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://i.imgur.com/V41Ezdq.png?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>282A - Bit++</image:title>
      <image:caption>Codeforces Round 173 (Div 2)</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/02/4a-watermelon</loc>
    <lastmod>2026-02-13</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://i.imgur.com/YxWXlzs.png?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>4A - Watermelon</image:title>
      <image:caption>Codeforces Beta Round 4 (Div. 2 Only)</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/02/71a-way-too-long-words</loc>
    <lastmod>2026-02-15</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://i.imgur.com/gTKjVJi.png?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>71A - Way too long words</image:title>
      <image:caption>Codeforces Beta Round 65 (Div 2)</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/03/B-R1-round-robin-scheduling</loc>
    <lastmod>2026-03-06</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://i.imgur.com/xrcKuDA.png?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>CCPL R1 - B. Round Robin Scheduling</image:title>
      <image:caption>Ejercicio B - CCPL R1 2026</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/03/inverse-factorial</loc>
    <lastmod>2026-03-23</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://i.imgur.com/GBn69X9.png?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Inverse Factorial</image:title>
      <image:caption>CCPL R2 2026 (Kattis)</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/03/tipos-variables</loc>
    <lastmod>2026-03-08</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1516116216624-53e697fedbea?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Tipos Primitivos vs Wrappers: Diferencias Clave</image:title>
      <image:caption>Comprende las diferencias fundamentales entre tipos primitivos y wrappers, y cuándo usar cada uno en tu código.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/04/arquitectura-capas</loc>
    <lastmod>2026-04-29</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1516321318423-f06f85e504b3?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Arquitectura por Capas</image:title>
      <image:caption>Aprende qué es la arquitectura por capas, cómo se organiza y por qué sigue siendo una forma útil de estructurar aplicaciones mantenibles.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/04/arquitectura-cliente-servidor</loc>
    <lastmod>2026-04-26</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1451187580459-43490279c0fa?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Arquitectura Cliente-Servidor</image:title>
      <image:caption>Comprende cómo funciona la arquitectura cliente-servidor, sus ventajas, limitaciones y buenas prácticas para implementarla en sistemas modernos.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/04/arquitectura-monolitica</loc>
    <lastmod>2026-04-24</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1518770660439-4636190af475?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Arquitectura Monolitica</image:title>
      <image:caption>Descubre qué es la arquitectura monolítica, sus ventajas, limitaciones y cuándo conviene usarla en proyectos reales.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/05/112b-petya-and-square</loc>
    <lastmod>2026-05-25</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://i.imgur.com/AHkk8Dq.png?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Codeforces 112B - Petya and Square</image:title>
      <image:caption>Codeforces Beta Round 85 (Div 2 Only)</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/05/A-R11-document-analyzer</loc>
    <lastmod>2026-05-18</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://i.imgur.com/OEH9VDX.png?w=1000&amp;h=500&amp;fit=crop</image:loc>
      <image:title>CCPL R11 - A. Document Analyzer</image:title>
      <image:caption>Ejercicio A - CCPL R11 2025</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/05/A-R7-asteroid-rangers</loc>
    <lastmod>2026-05-15</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://i.imgur.com/Ou7N1uO.png?w=1000&amp;h=500&amp;fit=crop</image:loc>
      <image:title>CCPL R7 - A. Asteroid Rangers</image:title>
      <image:caption>Ejercicio A - CCPL R7 2025</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/05/B-R11-cordon-bleu</loc>
    <lastmod>2026-05-20</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://i.imgur.com/S8lf6cc.png?w=1000&amp;h=500&amp;fit=crop</image:loc>
      <image:title>CCPL R11 - B. Cordon Bleu</image:title>
      <image:caption>Ejercicio B - CCPL R11 2025</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/05/B-R4-bytelandian-gold-coins</loc>
    <lastmod>2026-05-12</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://i.imgur.com/TZe28SI.png?w=1000&amp;h=500&amp;fit=crop</image:loc>
      <image:title>CCPL R4 - B. Bytelandian Gold Coins</image:title>
      <image:caption>Ejercicio B - CCPL R4 2026</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/05/C-R11-counting-chaos</loc>
    <lastmod>2026-05-21</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://i.imgur.com/TN5kzeQ.png?w=1000&amp;h=500&amp;fit=crop</image:loc>
      <image:title>CCPL R11 - C. Counting Chaos</image:title>
      <image:caption>Ejercicio C - CCPL R11 2025</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/05/D-R11-dominoes-magic-squares</loc>
    <lastmod>2026-05-24</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://i.imgur.com/aa8uVzn.png?w=1000&amp;h=500&amp;fit=crop</image:loc>
      <image:title>CCPL R11 - D. Dominoes Magic Squares</image:title>
      <image:caption>Ejercicio D - CCPL R11 2025</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/05/arquitectura-componentes</loc>
    <lastmod>2026-05-06</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1700427296131-0cc4c4610fc6?w=800&amp;h=500&amp;fit=crop)</image:loc>
      <image:title>Arquitectura por Componentes</image:title>
      <image:caption>Una introducción a los principios, ventajas y buenas prácticas de la arquitectura por componentes aplicada al desarrollo de software.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/05/arquitectura-eventos</loc>
    <lastmod>2026-05-28</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1516321318423-f06f85e504b3?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Arquitectura Orientada a Eventos (EDA)</image:title>
      <image:caption>Aprende qué es la arquitectura orientada a eventos, cómo funciona y cuándo es la mejor opción para sistemas que necesitan responder a cambios en tiempo real.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/05/arquitectura-mvc</loc>
    <lastmod>2026-05-13</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1570215171323-4ec328f3f5fa?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Arquitectura MVC</image:title>
      <image:caption>Comprende cómo funciona la arquitectura MVC, sus ventajas, limitaciones y buenas prácticas para aplicarla en aplicaciones mantenibles.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/05/noticias-ia-mayo-2026</loc>
    <lastmod>2026-05-31</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1677442135703-1787eea5ce01?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Lo más importante en IA: mayo de 2026</image:title>
      <image:caption>Google transforma su buscador con Gemini 3.5 Flash, Anthropic firma alianzas millonarias con PwC y KPMG, y OpenAI lanza GPT-5.5. Un mes cargado de movimientos en el mundo de la IA.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/05/spring-security-jwt</loc>
    <lastmod>2026-06-01</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1555949963-aa79dcee981c?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Autenticación con Spring Security y JWT</image:title>
      <image:caption>Aprende a implementar autenticación stateless en Spring Boot usando Spring Security y JSON Web Tokens. Desde la configuración básica hasta el filtro de validación.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/06/111d-petya-and-coloring</loc>
    <lastmod>2026-06-03</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://i.imgur.com/0qbo0AW.png?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Codeforces 111D - Petya and Coloring</image:title>
      <image:caption>Codeforces Beta Round 85 (Div 1 Only)</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/06/1352b-same-parity-summands</loc>
    <lastmod>2026-06-16</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://i.imgur.com/WGyd0Cl.png?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Codeforces 1352B - Same Parity Summands</image:title>
      <image:caption>Codeforces Round 643 (Div. 2)</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/06/1a-theatre-square</loc>
    <lastmod>2026-06-17</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://i.imgur.com/WMSC9wH.png?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Codeforces 1A - Theatre Square</image:title>
      <image:caption>El problema más icónico de CodeForces — pavimentar una plaza con losas cuadradas.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/06/362e-petya-and-pipes</loc>
    <lastmod>2026-06-11</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://i.imgur.com/NLAiXiQ.png?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Codeforces 362E - Petya and Pipes</image:title>
      <image:caption>Codeforces Round 212 (Div 2)</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/06/489b-bersu-ball</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://i.imgur.com/ActbvTT.png?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Codeforces 489B - BerSU Ball</image:title>
      <image:caption>Codeforces Round 277.5 (Div 2)</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/06/arquitectura-hexagonal</loc>
    <lastmod>2026-06-15</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1626285094816-39f688104ce0?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Arquitectura Hexagonal: Ports and Adapters en la práctica</image:title>
      <image:caption>Aprende qué es la Arquitectura Hexagonal (Ports and Adapters), por qué separa la lógica de negocio de los detalles técnicos y cómo implementarla en Java con un ejemplo concreto.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/06/claude-fable-5</loc>
    <lastmod>2026-06-12</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://cdn.analyticsvidhya.com/wp-content/uploads/2026/06/I-Tested-Claude-Fable-5_-Can-Anthropics-Newest-AI-Deliver-on-the-Hype_.webp?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Claude Fable 5: el modelo más poderoso de Anthropic ya es de acceso público</image:title>
      <image:caption>Anthropic lanzó Claude Fable 5 el 9 de junio de 2026: el primer modelo de clase Mythos disponible para el público general. Supera a todos los modelos anteriores en benchmarks de ingeniería de software, visión y razonamiento científico, con nuevos clasificadores de seguridad para su lanzamiento responsable.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/06/clean-code</loc>
    <lastmod>2026-06-23</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1515879218367-8466d910aaa4?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Clean Code: principios para escribir código que se entiende</image:title>
      <image:caption>Aprende los principios de Clean Code: cómo nombrar bien, escribir funciones cortas, eliminar comentarios innecesarios y estructurar el código para que sea fácil de leer y mantener.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/06/cqrs-arquitectura</loc>
    <lastmod>2026-06-27</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://i.imgur.com/G4VvzdP.png?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>CQRS: separar lecturas y escrituras para escalar mejor</image:title>
      <image:caption>Aprende qué es CQRS, cómo separa las operaciones de lectura y escritura en un sistema, cuándo tiene sentido aplicarlo y qué ventajas ofrece frente a un modelo CRUD tradicional.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/06/domain-driven-design</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://i.imgur.com/Y7Fi4Yg.png?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Domain-Driven Design: modelar el software desde el negocio</image:title>
      <image:caption>Aprende qué es Domain-Driven Design, por qué pone el negocio en el centro del diseño y cómo sus conceptos clave — entidades, agregados, repositorios y bounded contexts — se traducen en código más expresivo y mantenible.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/06/fable-5-retirado</loc>
    <lastmod>2026-06-14</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1563986768609-322da13575f3?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Por qué Anthropic retiró Claude Fable 5: el hackeo que cambió el debate sobre la IA</image:title>
      <image:caption>Cuatro días después de su lanzamiento, Anthropic retiró Claude Fable 5 de acceso general tras un incidente de seguridad coordinado. Esto es lo que sabemos y lo que implica para el futuro de la IA de frontera.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/06/noticias-ia-cierre-junio-2026</loc>
    <lastmod>2026-06-26</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1451187580459-43490279c0fa?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>IA en la recta final de junio: G7, IPOs y control de exportaciones</image:title>
      <image:caption>La segunda mitad de junio estuvo marcada por el G7 en Évian con los CEOs de los tres grandes laboratorios de IA, las presentaciones confidenciales de S-1 de Anthropic y OpenAI ante la SEC, controles de exportación sobre Fable 5, y el lanzamiento de Gemini Omni y GPT-5.5-Cyber.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/06/noticias-ia-junio-2026</loc>
    <lastmod>2026-06-02</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1620712943543-bcc4688e7485?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Lo más importante en IA: junio de 2026</image:title>
      <image:caption>Apple prepara la mayor renovación de Siri en su historia para WWDC 2026, Anthropic lanza agentes gestionados y cambia su modelo de facturación, y OpenAI avanza hacia su IPO con GPT-5.5 como experiencia por defecto.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/06/patrones-diseno-java</loc>
    <lastmod>2026-06-04</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1555066931-4365d14bab8c?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Patrones de Diseño en Java: Builder, Factory Method y Strategy</image:title>
      <image:caption>Aprende a aplicar tres patrones de diseño esenciales en Java: Builder para construcción de objetos complejos, Factory Method para delegar la creación, y Strategy para comportamientos intercambiables.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/06/patrones-diseno-observer-decorator-adapter</loc>
    <lastmod>2026-06-20</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://i.imgur.com/HLLPAvl.png?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Patrones de Diseño en Java: Observer, Decorator y Adapter</image:title>
      <image:caption>Aprende a aplicar tres patrones de diseño fundamentales en Java: Observer para notificaciones reactivas, Decorator para extender comportamiento sin herencia, y Adapter para integrar interfaces incompatibles.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/06/patrones-microservicios</loc>
    <lastmod>2026-07-01</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://i.imgur.com/VHxjbCU.png?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Patrones de Microservicios: Circuit Breaker, Saga y API Gateway</image:title>
      <image:caption>Aprende tres patrones fundamentales para arquitecturas de microservicios: Circuit Breaker para tolerancia a fallos, Saga para transacciones distribuidas y API Gateway para gestionar el acceso a servicios.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/06/principios-solid</loc>
    <lastmod>2026-06-13</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1555066931-4365d14bab8c?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Principios SOLID con ejemplos prácticos</image:title>
      <image:caption>Aprende qué son los principios SOLID, qué problema resuelve cada uno y cómo aplicarlos para diseñar software más limpio, flexible y fácil de mantener.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/06/spring-aop</loc>
    <lastmod>2026-06-10</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1542831371-32f555c86880?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Spring AOP: aspectos para código limpio y transversal</image:title>
      <image:caption>Aprende a usar Spring AOP para separar responsabilidades transversales como logging, auditoría y métricas del código de negocio. Cubre pointcuts, advices, @Around, @Before, @AfterReturning y casos de uso reales.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/06/spring-batch</loc>
    <lastmod>2026-06-21</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://i.imgur.com/YvDSYzx.png?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Spring Batch: procesamiento de datos en lotes con Spring Boot</image:title>
      <image:caption>Aprende a construir pipelines de procesamiento batch con Spring Batch: Jobs, Steps, chunk-oriented processing, ItemReader, ItemProcessor, ItemWriter y manejo de errores.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/06/spring-boot-actuator</loc>
    <lastmod>2026-06-08</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1551288049-bebda4e38f71?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Spring Boot Actuator: monitoreo y observabilidad en producción</image:title>
      <image:caption>Aprende a usar Spring Boot Actuator para exponer endpoints de salud, métricas e información del sistema. Cubre configuración, seguridad de endpoints, integración con Micrometer y Prometheus, y personalización de health checks.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/06/spring-boot-validation</loc>
    <lastmod>2026-06-07</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1760952851538-17a59f691efe?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Validación en Spring Boot con Bean Validation</image:title>
      <image:caption>Aprende a validar entradas en Spring Boot usando la API de Bean Validation: restricciones estándar, validación en controladores y servicios, mensajes personalizados y cómo crear tus propias anotaciones de validación.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/06/spring-cache-abstraction</loc>
    <lastmod>2026-06-09</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1558494949-ef010cbdcc31?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Spring Cache Abstraction: caché declarativa en Spring Boot</image:title>
      <image:caption>Aprende a usar la abstracción de caché de Spring Boot: almacena resultados con @Cacheable, actualiza entradas con @CachePut, invalida con @CacheEvict e integra Redis o EhCache como proveedor.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/06/spring-data-jpa</loc>
    <lastmod>2026-06-03</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1542744173-05336fcc7ad4?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Spring Data JPA: persistencia sin boilerplate</image:title>
      <image:caption>Aprende a usar Spring Data JPA para gestionar la capa de persistencia en Spring Boot: repositorios, queries derivadas, JPQL personalizado y paginación.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/06/spring-data-redis</loc>
    <lastmod>2026-06-30</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://i.imgur.com/B9LJ6jO.png?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Spring Data Redis: más allá de la caché</image:title>
      <image:caption>Aprende a usar Spring Data Redis más allá de @Cacheable: operaciones directas con RedisTemplate, sorted sets, pub/sub, bloqueos distribuidos y repositorios Redis.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/06/spring-exception-handling</loc>
    <lastmod>2026-06-06</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1555949963-ff9fe0c870eb?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Manejo de excepciones en Spring Boot con @ControllerAdvice</image:title>
      <image:caption>Aprende a centralizar el manejo de excepciones en Spring Boot usando @ControllerAdvice y @ExceptionHandler. Cubre excepciones de dominio, validación de entrada, errores HTTP personalizados y estructura de respuestas de error consistente.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/06/spring-kafka</loc>
    <lastmod>2026-06-24</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://i.imgur.com/FvoQ1sH.png?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Spring Boot con Apache Kafka: mensajería orientada a eventos</image:title>
      <image:caption>Aprende a integrar Apache Kafka en una aplicación Spring Boot: configura productores, consumidores, manejo de errores y serialización con ejemplos prácticos.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/06/spring-rest-clients</loc>
    <lastmod>2026-06-18</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://i.imgur.com/wCQ8A4K.png?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Spring REST Clients: RestTemplate, WebClient y RestClient</image:title>
      <image:caption>Aprende a consumir APIs REST en Spring Boot con RestTemplate, WebClient reactivo y el nuevo RestClient de Spring 6.1. Cuándo usar cada uno, configuración, manejo de errores y buenas prácticas.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/06/spring-transaction-management</loc>
    <lastmod>2026-06-16</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1460925895917-afdab827c52f?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Spring Transaction Management: @Transactional a fondo</image:title>
      <image:caption>Domina la gestión de transacciones en Spring Boot: propagación, niveles de aislamiento, rollback, transacciones programáticas y errores comunes que debes evitar.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/06/spring-webflux</loc>
    <lastmod>2026-06-11</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://miro.medium.com/1*NRBC0wt4t_ThDKYeu4AW2Q.png?w=800&amp;h=500&amp;fit=fill</image:loc>
      <image:title>Spring WebFlux: programación reactiva con Spring Boot</image:title>
      <image:caption>Aprende qué es Spring WebFlux, cómo funciona la programación reactiva con Mono y Flux, y cuándo tiene sentido usarla en lugar del modelo tradicional bloqueante.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/06/testing-spring-boot</loc>
    <lastmod>2026-06-05</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1516116216624-53e697fedbea?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Testing en Spring Boot: JUnit 5 y Mockito</image:title>
      <image:caption>Aprende a escribir pruebas unitarias e de integración en Spring Boot usando JUnit 5, Mockito para mocking y MockMvc para la capa web. Cubre @WebMvcTest, @DataJpaTest y @SpringBootTest.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/07/1352a-sum-of-round-numbers</loc>
    <lastmod>2026-07-30</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1509228468518-180dd4864904?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Codeforces 1352A - Sum of Round Numbers</image:title>
      <image:caption>Codeforces Educational Round 96 (Rated, Div. 2)</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/07/1399a-remove-smallest</loc>
    <lastmod>2026-07-12</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1509475826633-fed577a2c71b?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Codeforces 1399A - Remove Smallest</image:title>
      <image:caption>Codeforces Round 665 (Div. 2)</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/07/189a-cut-ribbon</loc>
    <lastmod>2026-07-08</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://i.imgur.com/65CUoV3.png?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Codeforces 189A - Cut Ribbon</image:title>
      <image:caption>Codeforces Round 119 (Div. 2)</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/07/455a-boredom</loc>
    <lastmod>2026-07-18</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1635070041078-e363dbe005cb?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Codeforces 455A - Boredom</image:title>
      <image:caption>Codeforces Round 260 (Div. 1)</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/07/474b-worms</loc>
    <lastmod>2026-07-16</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://i.imgur.com/Ad0ybZX.png?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Codeforces 474B - Worms</image:title>
      <image:caption>Codeforces Round 271 (Div. 2)</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/07/api-versioning</loc>
    <lastmod>2026-07-29</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://i.imgur.com/QmXu2Nb.png?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>API Versioning: cómo evolucionar tus APIs REST sin romper a tus clientes</image:title>
      <image:caption>Aprende las principales estrategias de versionado de APIs REST —URI, cabecera, query param y media type—, cuándo introducir una nueva versión y cómo gestionar la deprecación sin romper a tus clientes existentes.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/07/event-sourcing</loc>
    <lastmod>2026-07-03</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1454165804606-c3d57bc86b40?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Event Sourcing: guardar eventos en lugar de estado</image:title>
      <image:caption>Aprende qué es Event Sourcing, por qué almacenar el historial de eventos en lugar del estado actual simplifica la auditoría y el debugging, y cómo se complementa con CQRS para construir sistemas más trazables y resilientes.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/07/guia-inicio-programacion-competitiva</loc>
    <lastmod>2026-07-15</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1517694712202-14dd9538aa97?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Cómo empezar en programación competitiva</image:title>
      <image:caption>Una guía práctica para quienes quieren comenzar en programación competitiva: qué aprender primero, qué plataformas usar y cómo progresar de forma efectiva.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/07/kattis-ants</loc>
    <lastmod>2026-07-31</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://i.imgur.com/v3rMluG.png?w=800&amp;h=600&amp;fit=crop</image:loc>
      <image:title>Kattis - Ants</image:title>
      <image:caption>Dificultad: 2.1 Fácil</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/07/noticias-ia-cierre-julio-2026</loc>
    <lastmod>2026-07-28</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1620712943543-bcc4688e7485?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>IA en la recta final de julio: Opus 5, Grok 4.5, la fuga de OpenAI y el centro de datos más grande de la historia</image:title>
      <image:caption>La segunda mitad de julio trajo el lanzamiento de Claude Opus 5 y Grok 4.5, GPT-5.6 Sol disponible para todos tras 12 días de revisión gubernamental, los pesos abiertos de Kimi K3 con 2,8 billones de parámetros, un incidente de seguridad histórico donde modelos de OpenAI escaparon su sandbox y comprometieron Hugging Face, y Nvidia en conversaciones para garantizar 250.000 millones de dólares para el mayor centro de datos de la historia.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/07/noticias-ia-julio-2026</loc>
    <lastmod>2026-07-02</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1674027444485-cec3da58eef4?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Arranque de julio en IA: Sonnet 5, Sol en Cerebras y Grok 4 en la puerta</image:title>
      <image:caption>Julio arranca con el lanzamiento de Claude Sonnet 5 como modelo por defecto para todos los usuarios, la preview de GPT-5.6 Sol en Cerebras a 750 tokens por segundo, Grok 4 anunciado para después del 4 de julio, y Google aplazando Gemini 3.5 Pro al mes en curso.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/07/observabilidad-microservicios</loc>
    <lastmod>2026-07-14</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1551288049-bebda4e38f71?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Observabilidad en microservicios: logging, métricas y trazabilidad distribuida</image:title>
      <image:caption>Aprende qué es la observabilidad, por qué es imprescindible en arquitecturas de microservicios y cómo implementar sus tres pilares —logs, métricas y trazas distribuidas— para diagnosticar y entender tu sistema en producción.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/07/outbox-pattern</loc>
    <lastmod>2026-07-21</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1614064641938-3bbee52942c7?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>El patrón Outbox: consistencia entre base de datos y mensajería</image:title>
      <image:caption>El patrón Transactional Outbox resuelve uno de los problemas más frecuentes en microservicios: garantizar que los cambios en la base de datos y los mensajes publicados al broker sean siempre consistentes, sin depender de transacciones distribuidas.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/07/saga-pattern</loc>
    <lastmod>2026-07-11</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://i.imgur.com/BYhduRM.png?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Saga Pattern: coordinando transacciones distribuidas en microservicios</image:title>
      <image:caption>Aprende cómo el patrón Saga resuelve el problema de las transacciones distribuidas en microservicios, con ejemplos de coreografía y orquestación, transacciones compensatorias y consejos para implementarlo correctamente.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/07/spring-amqp-rabbitmq</loc>
    <lastmod>2026-07-23</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://i.imgur.com/J1U9rba.png?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Spring AMQP con RabbitMQ: mensajería asíncrona en Java</image:title>
      <image:caption>Aprende a integrar RabbitMQ en Spring Boot con Spring AMQP: configura exchanges, queues y bindings, envía mensajes con RabbitTemplate y consúmelos con @RabbitListener, con manejo de errores y dead-letter queues.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/07/spring-circuit-breaker-resilience4j</loc>
    <lastmod>2026-07-13</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1558494949-ef010cbdcc31?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Circuit Breaker en Spring Boot con Resilience4J</image:title>
      <image:caption>Aprende a implementar el patrón Circuit Breaker en Spring Boot usando Resilience4J: estados, configuración, Retry, RateLimiter, Bulkhead y estrategias para entornos de producción.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/07/spring-cloud-config</loc>
    <lastmod>2026-07-05</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://i.imgur.com/qVzfPJp.png?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Spring Cloud Config: configuración centralizada para microservicios</image:title>
      <image:caption>Aprende a usar Spring Cloud Config Server y Config Client para gestionar la configuración de múltiples microservicios desde un repositorio Git centralizado, con soporte para perfiles, refresco en caliente y propiedades cifradas.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/07/spring-cloud-eureka</loc>
    <lastmod>2026-07-10</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://i.imgur.com/Ozk7rO6.png?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Spring Cloud Eureka: descubrimiento de servicios</image:title>
      <image:caption>Aprende a implementar descubrimiento de servicios con Spring Cloud Eureka: configura el Eureka Server, registra microservicios como clientes, implementa balanceo de carga con Spring Cloud LoadBalancer y entiende cómo integrarlo con Spring Cloud Gateway.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/07/spring-cloud-gateway</loc>
    <lastmod>2026-07-07</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://i.imgur.com/Vqxqsgy.png?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Spring Cloud Gateway: enrutamiento y filtros para microservicios</image:title>
      <image:caption>Aprende a construir un API Gateway con Spring Cloud Gateway: define rutas con predicados, aplica filtros para autenticación, limitación de tasa y transformación de cabeceras, y entiende cómo integra con Eureka para enrutamiento dinámico.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/07/spring-data-mongodb</loc>
    <lastmod>2026-07-22</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://i.imgur.com/4XhZeUs.png?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Spring Data MongoDB: persistencia NoSQL con Spring Boot</image:title>
      <image:caption>Aprende a usar Spring Data MongoDB en Spring Boot: modela documentos con @Document, crea repositorios sin boilerplate, escribe queries derivadas y personalizadas con MongoTemplate, y gestiona índices para consultas eficientes.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/07/spring-events</loc>
    <lastmod>2026-07-19</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1558494949-ef010cbdcc31?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Spring Events: Comunicación Desacoplada</image:title>
      <image:caption>Aprende a usar el sistema de eventos de Spring para desacoplar componentes dentro de tu aplicación con ApplicationEventPublisher y @EventListener.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/07/spring-scheduling</loc>
    <lastmod>2026-07-04</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1506784983877-45594efa4cbe?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Tareas programadas en Spring Boot con @Scheduled</image:title>
      <image:caption>Aprende a programar tareas periódicas en Spring Boot con @Scheduled: fixed rate, fixed delay, expresiones cron, configuración del thread pool y estrategias para entornos con múltiples instancias.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/07/spring-testcontainers</loc>
    <lastmod>2026-07-25</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1605745341112-85968b19335b?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Testcontainers con Spring Boot: integración real sin mocks</image:title>
      <image:caption>Aprende a usar Testcontainers con Spring Boot para escribir tests de integración que arrancan contenedores Docker reales de PostgreSQL, Redis y Kafka, eliminando la necesidad de mocks frágiles.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/07/strangler-fig-pattern</loc>
    <lastmod>2026-07-24</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1558618666-fcd25c85cd64?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Strangler Fig Pattern: migrando monolitos a microservicios sin reescribir todo</image:title>
      <image:caption>Aprende cómo el patrón Strangler Fig permite migrar un monolito legado a microservicios de forma gradual, sin reescrituras totales ni interrupciones del servicio, con ejemplos prácticos y estrategias de enrutamiento.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/07/twelve-factor-app</loc>
    <lastmod>2026-07-09</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1451187580459-43490279c0fa?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Los doce factores de una aplicación cloud-native</image:title>
      <image:caption>Entiende la metodología 12-Factor App: doce principios para construir aplicaciones modernas escalables, portátiles y fáciles de mantener en cualquier entorno cloud.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/08/diseno-apis-rest</loc>
    <lastmod>2026-08-06</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://i.imgur.com/VBbdPRV.png?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Diseño de APIs REST: principios y convenciones que todo equipo debería seguir</image:title>
      <image:caption>Aprende los principios fundamentales del diseño de APIs REST: cómo nombrar recursos, elegir métodos HTTP correctamente, usar códigos de estado, paginar resultados y manejar errores de forma consistente.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/08/feature-flags</loc>
    <lastmod>2026-08-04</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://i.imgur.com/xE9hwAk.png?w=800&amp;h=600&amp;fit=crop</image:loc>
      <image:title>Feature Flags: despliegue continuo sin riesgo en producción</image:title>
      <image:caption>Aprende qué son los feature flags, los patrones principales para usarlos, cómo evitar los antipatrones más comunes y qué herramientas existen para gestionarlos en proyectos reales.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/08/idempotencia-apis-sistemas-distribuidos</loc>
    <lastmod>2026-08-11</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://i.imgur.com/XSccD7r.png?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Idempotencia en APIs y sistemas distribuidos: operaciones seguras de reintentar</image:title>
      <image:caption>Aprende qué es la idempotencia, por qué es esencial en APIs y sistemas distribuidos, cómo implementar claves de idempotencia en operaciones HTTP y cómo garantizar procesamiento exactamente-una-vez en consumidores de mensajes.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/08/kattis-jolly-jumpers</loc>
    <lastmod>2026-08-14</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1509228468518-180dd4864904?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Kattis - Jolly Jumpers</image:title>
      <image:caption>Dificultad: 2.5 Media</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/08/kattis-reversed-binary-numbers</loc>
    <lastmod>2026-08-09</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1555949963-ff9fe0c870eb?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Kattis - Reversed Binary Numbers</image:title>
      <image:caption>Dificultad: 2.0 Fácil</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/08/noticias-ia-agosto-2026</loc>
    <lastmod>2026-08-02</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://images.unsplash.com/photo-1485827404703-89b55fcc595e?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Arranque de agosto en IA: guerra de precios, dos brechas de contención y el freno voluntario</image:title>
      <image:caption>Agosto arranca con OpenAI recortando GPT-5.6 Luna un 80% y añadiendo un modo rápido a Sol, Anthropic revelando que Claude accedió a tres organizaciones externas durante pruebas de ciberseguridad, 1.178 trabajadores del sector pidiendo al gobierno que construya herramientas para pausar la IA si hace falta, el plazo del 1 de agosto para el marco voluntario de revisión de modelos en EE. UU., la UE activando sus poderes de sanción el 2 de agosto, y Gemini 3.5 Pro aún sin fecha tras tres semanas de retrasos.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/08/spring-boot-openapi-springdoc</loc>
    <lastmod>2026-08-08</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://i.imgur.com/D0kJrND.png?w=800&amp;h=600&amp;fit=crop</image:loc>
      <image:title>Documentación automática de APIs con Springdoc OpenAPI en Spring Boot</image:title>
      <image:caption>Aprende a generar documentación interactiva de tus APIs REST con Springdoc OpenAPI: configura Swagger UI, anota controladores y DTOs, protege el esquema con JWT, organiza múltiples grupos de APIs y personaliza la especificación para entornos reales.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/08/spring-flyway</loc>
    <lastmod>2026-08-05</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://i.imgur.com/DT0u7nj.png?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Migraciones de base de datos con Flyway en Spring Boot</image:title>
      <image:caption>Aprende a gestionar el esquema de base de datos con Flyway en Spring Boot: convenciones de nomenclatura, migraciones repetibles, baseline para bases existentes, callbacks y estrategias para equipos y producción.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.jesusflorez.cloud/2026/08/spring-rabbitmq-patrones-avanzados</loc>
    <lastmod>2026-08-12</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
    <image:image>
      <image:loc>https://i.imgur.com/J1U9rba.png?w=800&amp;h=500&amp;fit=crop</image:loc>
      <image:title>Patrones avanzados con RabbitMQ en Spring AMQP</image:title>
      <image:caption>Publisher Confirms, Request-Reply (RPC), TTL de mensajes y colas, Priority Queues y Delayed Messages con Spring AMQP y RabbitMQ.</image:caption>
    </image:image>
  </url>
</urlset>
