<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://abidhasan.tech</loc>
<lastmod>2026-09-16T18:40:29.053Z</lastmod>
<changefreq>monthly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://abidhasan.tech/projects</loc>
<lastmod>2026-09-16T18:40:29.053Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://abidhasan.tech/blog</loc>
<lastmod>2026-09-16T18:40:29.053Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://abidhasan.tech/blog/kafka-streams-part-3-production</loc>
<lastmod>2026-08-25T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://abidhasan.tech/blog/kafka-streams-spring-boot</loc>
<lastmod>2026-08-25T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://abidhasan.tech/blog/kafka-streams-part-1-fundamentals</loc>
<lastmod>2026-08-25T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://abidhasan.tech/blog/kafka-streams-part-2-kstreams-ktables</loc>
<lastmod>2026-08-25T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://abidhasan.tech/blog/caching-fundamentals-why-when-and-when-not</loc>
<lastmod>2026-04-22T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://abidhasan.tech/blog/caching-hands-on-code-labs</loc>
<lastmod>2026-04-22T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://abidhasan.tech/blog/caching-landscape-where-to-put-your-cache</loc>
<lastmod>2026-04-22T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://abidhasan.tech/blog/caching-system-design-interviews</loc>
<lastmod>2026-04-22T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://abidhasan.tech/blog/when-caching-goes-wrong-thundering-herds</loc>
<lastmod>2026-04-22T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://abidhasan.tech/blog/caching-in-production-monitoring-sizing</loc>
<lastmod>2026-04-22T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://abidhasan.tech/blog/cache-eviction-policies-lru-lfu</loc>
<lastmod>2026-04-22T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://abidhasan.tech/blog/cache-invalidation-the-hard-problem</loc>
<lastmod>2026-04-22T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://abidhasan.tech/blog/cache-strategies-read-through-write-through</loc>
<lastmod>2026-04-22T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://abidhasan.tech/blog/building-my-first-chrome-extension</loc>
<lastmod>2026-03-31T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://abidhasan.tech/blog/spring-transactions-part-1-internals</loc>
<lastmod>2026-03-04T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
