<?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://www.rabinarayanpatra.com/blogs/axios-npm-supply-chain-attack-2026</loc>
    <image:image>
      <image:loc>https://www.rabinarayanpatra.com/images/blogs/axios-attack-timeline.png</image:loc>
      <image:title>The Axios npm Hack: How North Korea Hijacked 100M Weekly Downloads</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.rabinarayanpatra.com/blogs/agentic-payments-razorpay-npci-upi</loc>
    <image:image>
      <image:loc>https://www.rabinarayanpatra.com/images/blogs/agentic-payments-cover.png</image:loc>
      <image:title>You Can Now Pay by Just Saying It. Here Is What Razorpay and NPCI Just Pulled Off</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.rabinarayanpatra.com/blogs/ai-driven-anomaly-detection-security</loc>
    <image:image>
      <image:loc>https://www.rabinarayanpatra.com/images/blogs/ai-driven-security.png</image:loc>
      <image:title>The Future of Security: AI-Driven Anomaly Detection with Spring AI</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.rabinarayanpatra.com/blogs/zero-trust-microservices-spring-security</loc>
    <image:image>
      <image:loc>https://www.rabinarayanpatra.com/images/blogs/zero-trust-microservices.png</image:loc>
      <image:title>Zero Trust Architecture: Implementing Least Privilege in Spring Boot Microservices</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.rabinarayanpatra.com/blogs/full-stack-social-identity-spring-nextjs</loc>
    <image:image>
      <image:loc>https://www.rabinarayanpatra.com/images/blogs/full-stack-social-identity.png</image:loc>
      <image:title>Full-Stack Social Identity: Spring Security 6.x + Next.js 16 + Auth.js</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.rabinarayanpatra.com/blogs/spring-security-component-revolution</loc>
    <image:image>
      <image:loc>https://www.rabinarayanpatra.com/images/blogs/spring-security-component-revolution.png</image:loc>
      <image:title>The Component Revolution: Mastering Spring Security 6.x Bean Migration</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.rabinarayanpatra.com/blogs/java-libraries-beyond-lombok</loc>
    <image:image>
      <image:loc>https://www.rabinarayanpatra.com/images/blogs/java-boilerplate-libraries/cover.png</image:loc>
      <image:title>10 Essential Java Libraries to Reduce Boilerplate Code (Beyond Lombok)</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.rabinarayanpatra.com/blogs/hibernate-lazy-init-guide</loc>
    <image:image>
      <image:loc>https://www.rabinarayanpatra.com/images/blogs/lazy-init-guide/error-timeline.png</image:loc>
      <image:title>Fixing LazyInitializationException in Spring Boot: The Right Way</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.rabinarayanpatra.com/blogs/java-timezones-clock-guide</loc>
    <image:image>
      <image:loc>https://www.rabinarayanpatra.com/images/blogs/java-timezones-guide/chaos.png</image:loc>
      <image:title>Handling Clock and Timezones Correctly in Java</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.rabinarayanpatra.com/blogs/spring-boot-testcontainers-guide</loc>
    <image:image>
      <image:loc>https://www.rabinarayanpatra.com/images/blogs/testcontainers-guide/cover.png</image:loc>
      <image:title>Integration Testing with TestContainers in Spring Boot: A Practical Handbook</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.rabinarayanpatra.com/blogs/spring-boot-cors-guide</loc>
    <image:image>
      <image:loc>https://www.rabinarayanpatra.com/images/blogs/spring-boot-cors-guide/cors-nightmare.png</image:loc>
      <image:title>Solving Spring Boot CORS Errors Once and For All</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.rabinarayanpatra.com/blogs/hello-proxy-ts-nextjs-16</loc>
    <image:image>
      <image:loc>https://www.rabinarayanpatra.com/images/blogs/nextjs-middleware-mastery/cover.png</image:loc>
      <image:title>Goodbye middleware.ts, Hello proxy.ts: The Next.js 16 Migration Guide</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.rabinarayanpatra.com/blogs/implementing-outbox-pattern-cdc-microservices</loc>
    <image:image>
      <image:loc>https://www.rabinarayanpatra.com/images/blogs/outbox-pattern-cdc/outbox-pattern-architecture.png</image:loc>
      <image:title>Implementing the Outbox Pattern with CDC (Change Data Capture) in Microservices</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.rabinarayanpatra.com/blogs/sanitizer-lib-now-on-maven-central</loc>
    <image:image>
      <image:loc>https://www.rabinarayanpatra.com/images/blogs/sanitizer-lib-intro.png</image:loc>
      <image:title>Sanitizer-Lib is Now Live on Maven Central</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.rabinarayanpatra.com/blogs/the-day-react-patch-broke-the-internet</loc>
    <image:image>
      <image:loc>https://www.rabinarayanpatra.com/images/blogs/react2shell-header.png</image:loc>
      <image:title>The Day a React Patch Broke the Internet</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.rabinarayanpatra.com/blogs/json-to-dto-converter</loc>
    <image:image>
      <image:loc>https://www.rabinarayanpatra.com/images/blogs/json-to-dto/main-interface.png</image:loc>
      <image:title>Stop Writing Java DTOs by Hand: Introducing My New JSON to DTO Converter</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.rabinarayanpatra.com/blogs/google-antigravity</loc>
    <image:image>
      <image:loc>https://www.rabinarayanpatra.com/images/blogs/antigravity.png</image:loc>
      <image:title>Google Antigravity: Why I Think It Changes Everything</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.rabinarayanpatra.com/blogs/system-design-question-failed-candidates-2025</loc>
    <image:image>
      <image:loc>https://www.rabinarayanpatra.com/images/blogs/system-design-interview-rate-limiter.png</image:loc>
      <image:title>The One System Design Question That Failed 80% of Candidates in 2025</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.rabinarayanpatra.com/blogs/building-modern-docs-generator-nextjs-16</loc>
    <image:image>
      <image:loc>https://www.rabinarayanpatra.com/images/blogs/docs-generator.jpg</image:loc>
      <image:title>Building a Modern Documentation Generator with Next.js 16</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.rabinarayanpatra.com/blogs/why-1-1-is-true-but-128-128-is-false-in-java</loc>
    <image:image>
      <image:loc>https://www.rabinarayanpatra.com/images/blogs/java-integer-caching.png</image:loc>
      <image:title>Why `1 == 1` is True but `128 == 128` is False in Java — The Integer Caching Trap Explained</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.rabinarayanpatra.com/blogs/my-thoughts-on-vibe-coding-2025</loc>
    <image:image>
      <image:loc>https://www.rabinarayanpatra.com/images/blogs/vibe-coding.jpg</image:loc>
      <image:title>My Thoughts on Vibe Coding</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.rabinarayanpatra.com/blogs/how-i-turned-daily-problem-solving-into-a-dsa-habit</loc>
    <image:image>
      <image:loc>https://www.rabinarayanpatra.com/images/blogs/dsa-daily-habit.svg</image:loc>
      <image:title>How I Turned Daily Problem Solving into a DSA Habit (and Stuck with It)</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.rabinarayanpatra.com/blogs/java-interview-2025</loc>
    <image:image>
      <image:loc>https://www.rabinarayanpatra.com/images/blogs/java-interview-guide-2025.jpg</image:loc>
      <image:title>Top Java Interview Questions for 2025: Quick Prep Guide</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.rabinarayanpatra.com/blogs/virtual-threads-java-25</loc>
    <image:image>
      <image:loc>https://www.rabinarayanpatra.com/images/blogs/virtual-threads-java-25.jpg</image:loc>
      <image:title>Mastering Virtual Threads in Java 25: The Complete Guide to Lightweight Concurrency</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.rabinarayanpatra.com/blogs/modern-java-spring-boot</loc>
    <image:image>
      <image:loc>https://www.rabinarayanpatra.com/images/blogs/modern-java-spring-boot.jpg</image:loc>
      <image:title>Modern Java Development: Mastering Java 21+ Features and Spring Boot Best Practices in 2025</image:title>
    </image:image>
  </url>
  <url>
    <loc>https://www.rabinarayanpatra.com/blogs/sanitizer-lib-intro</loc>
    <image:image>
      <image:loc>https://www.rabinarayanpatra.com/images/blogs/sanitizer-lib-intro.png</image:loc>
      <image:title>Sanitizer-Lib: The Java Library That Eliminates Input Sanitization Boilerplate Forever</image:title>
    </image:image>
  </url>
</urlset>