<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://ndlong.site</loc>
<lastmod>2026-09-22T07:36:28.106Z</lastmod>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://ndlong.site/blog</loc>
<lastmod>2026-09-22T07:36:28.106Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://ndlong.site/blog/postgresql-query-optimization-redis-scaling</loc>
<lastmod>2026-08-28T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ndlong.site/blog/chunked-file-upload-5gb-django-pdf-pipeline</loc>
<lastmod>2026-07-14T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ndlong.site/blog/gcp-cloud-run-docker-cost-optimization</loc>
<lastmod>2026-06-02T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ndlong.site/blog/websocket-realtime-notifications-redis</loc>
<lastmod>2026-05-19T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ndlong.site/blog/client-side-image-compression-canvas-web-worker</loc>
<lastmod>2026-04-11T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ndlong.site/blog/system-design-url-shortener-100m-requests</loc>
<lastmod>2026-09-18T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ndlong.site/blog/postgresql-pgbouncer-connection-pooling-guide</loc>
<lastmod>2026-09-15T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ndlong.site/blog/fastapi-vs-django-ninja-high-throughput-benchmark</loc>
<lastmod>2026-09-12T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ndlong.site/blog/redis-distributed-lock-redlock-pitfalls</loc>
<lastmod>2026-09-08T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ndlong.site/blog/docker-multistage-builds-production-security</loc>
<lastmod>2026-09-04T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ndlong.site/blog/building-rate-limiter-token-bucket-redis</loc>
<lastmod>2026-08-30T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ndlong.site/blog/nextjs-15-app-router-caching-deep-dive</loc>
<lastmod>2026-08-22T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ndlong.site/blog/database-sharding-vs-partitioning-guide</loc>
<lastmod>2026-08-16T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ndlong.site/blog/grpc-vs-rest-microservices-communication</loc>
<lastmod>2026-08-10T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ndlong.site/blog/clean-architecture-python-domain-driven-design</loc>
<lastmod>2026-08-02T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ndlong.site/blog/zero-downtime-deployment-database-migrations</loc>
<lastmod>2026-07-26T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ndlong.site/blog/jwt-security-best-practices-refresh-tokens</loc>
<lastmod>2026-07-18T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ndlong.site/blog/kafka-vs-rabbitmq-event-driven-architecture</loc>
<lastmod>2026-07-06T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ndlong.site/tools</loc>
<lastmod>2026-09-22T07:36:28.106Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://ndlong.site/tools/json-formatter</loc>
<lastmod>2026-09-22T07:36:28.106Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.85</priority>
</url>
<url>
<loc>https://ndlong.site/tools/sql-formatter</loc>
<lastmod>2026-09-22T07:36:28.106Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.85</priority>
</url>
<url>
<loc>https://ndlong.site/tools/cron-parser</loc>
<lastmod>2026-09-22T07:36:28.106Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.85</priority>
</url>
<url>
<loc>https://ndlong.site/tools/base64-hash</loc>
<lastmod>2026-09-22T07:36:28.106Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.85</priority>
</url>
<url>
<loc>https://ndlong.site/tools/regex-tester</loc>
<lastmod>2026-09-22T07:36:28.106Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.85</priority>
</url>
<url>
<loc>https://ndlong.site/about</loc>
<lastmod>2026-09-22T07:36:28.106Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ndlong.site/contact</loc>
<lastmod>2026-09-22T07:36:28.106Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://ndlong.site/privacy-policy</loc>
<lastmod>2026-09-01T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://ndlong.site/terms</loc>
<lastmod>2026-09-01T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
</urlset>
