<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://www.caduh.com/</loc>
<lastmod>2026-03-30T09:27:20.983Z</lastmod>
<changefreq>monthly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://www.caduh.com/blog</loc>
<lastmod>2026-03-30T09:27:20.983Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/cors-explained-without-cargo-culting</loc>
<lastmod>2026-03-30T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/secrets-management-101</loc>
<lastmod>2026-03-28T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/csrf-still-matters</loc>
<lastmod>2026-03-27T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/rbac-vs-abac-vs-rebac</loc>
<lastmod>2026-03-26T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/passkeys-webauthn-in-practice</loc>
<lastmod>2026-03-25T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/session-cookies-vs-jwts-vs-paseto</loc>
<lastmod>2026-03-25T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/oauth-2.1-openid-connect-explained-for-builders</loc>
<lastmod>2026-03-23T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/connection-pooling-for-databases</loc>
<lastmod>2025-11-01T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/forms-that-dont-fail-users</loc>
<lastmod>2025-10-31T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/profiling-in-production</loc>
<lastmod>2025-10-30T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/pagination-that-scales-offset-cursor-keyset</loc>
<lastmod>2025-10-29T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/safe-file-uploads</loc>
<lastmod>2025-10-09T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/openapi-done-right</loc>
<lastmod>2025-10-08T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/security-headers-cheat-sheet</loc>
<lastmod>2025-10-07T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/events-commands-and-sagas</loc>
<lastmod>2025-10-06T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/make-your-cli-a-joy-to-use</loc>
<lastmod>2025-10-05T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/kubernetes-minimal-survival-guide</loc>
<lastmod>2025-10-04T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/rate-limiting-strategies</loc>
<lastmod>2025-10-03T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/time-timezones-and-timestamps</loc>
<lastmod>2025-10-01T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/jwts-expiration-rotation-revocation</loc>
<lastmod>2025-09-25T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/circuit-breakers-and-bulkheads-explained</loc>
<lastmod>2025-09-23T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/testing-pyramid-that-actually-works</loc>
<lastmod>2025-09-22T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/http-caching-deep-dive</loc>
<lastmod>2025-09-21T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/javascript-event-loop</loc>
<lastmod>2025-09-20T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/queues-101</loc>
<lastmod>2025-09-19T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/dockerfile-best-practices</loc>
<lastmod>2025-09-18T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/text-beyond-utf8</loc>
<lastmod>2025-09-17T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/google-ads-api-tiny-playbook</loc>
<lastmod>2025-09-16T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/password-storage-the-right-way</loc>
<lastmod>2025-09-15T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/zero-downtime-migrations</loc>
<lastmod>2025-09-14T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/api-versioning-strategies</loc>
<lastmod>2025-09-13T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/database-indexing-101</loc>
<lastmod>2025-09-12T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/timeouts-retries-and-backoff</loc>
<lastmod>2025-09-11T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/web-accessibility-basics-5-easy-wins</loc>
<lastmod>2025-09-08T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/practical-guide-to-api-error-handling</loc>
<lastmod>2025-09-07T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/semantic-versioning-explained-3-minutes</loc>
<lastmod>2025-09-07T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/writing-a-readme-your-coworkers-will-appreciate</loc>
<lastmod>2025-09-06T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/how-git-actually-works-under-the-hood</loc>
<lastmod>2025-09-05T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/oauth2-flow-decoded</loc>
<lastmod>2025-09-05T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/demystifying-dns-propagation</loc>
<lastmod>2025-09-04T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/what-happens-when-you-type-a-url</loc>
<lastmod>2025-09-04T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/n-plus-one-query-and-how-to-fix-it</loc>
<lastmod>2025-09-03T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/nginx-vs-apache</loc>
<lastmod>2025-09-03T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/securely-managing-environment-variables</loc>
<lastmod>2025-09-03T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/base64-encoding-is-not-encryption</loc>
<lastmod>2025-09-02T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/docker-vs-podman</loc>
<lastmod>2025-09-02T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/npm-vs-yarn-vs-pnpm</loc>
<lastmod>2025-09-02T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/webpack-vs-vite</loc>
<lastmod>2025-09-02T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/authentication-vs-authorization</loc>
<lastmod>2025-09-01T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/concurrency-vs-parallelism</loc>
<lastmod>2025-09-01T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/docker-and-containers</loc>
<lastmod>2025-09-01T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/long-polling-vs-websockets-vs-sse</loc>
<lastmod>2025-09-01T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/when-to-use-env-file-securely</loc>
<lastmod>2025-09-01T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/a-simple-guide-to-ssh-keys</loc>
<lastmod>2025-08-31T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/an-introduction-to-ci-cd</loc>
<lastmod>2025-08-31T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/async-await-explained</loc>
<lastmod>2025-08-31T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/common-design-patterns</loc>
<lastmod>2025-08-31T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/git-5-essential-commands</loc>
<lastmod>2025-08-31T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/idempotency-what-why-apis</loc>
<lastmod>2025-08-31T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/monolith-vs-microservices-quick-comparison</loc>
<lastmod>2025-08-31T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/oop-concepts-explained</loc>
<lastmod>2025-08-31T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/utf8-vs-ascii-guide</loc>
<lastmod>2025-08-31T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/basics-of-caching</loc>
<lastmod>2025-08-30T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/how-ssl-tls-works-in-60-seconds</loc>
<lastmod>2025-08-30T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/sql-vs-nosql-2-minute-guide</loc>
<lastmod>2025-08-30T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/what-is-an-api-gateway</loc>
<lastmod>2025-08-30T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/rest-graphql-grpc</loc>
<lastmod>2025-08-29T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/understanding-cors</loc>
<lastmod>2025-08-29T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/what-is-dmarc</loc>
<lastmod>2025-08-28T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/spf-vs-dkim</loc>
<lastmod>2025-08-25T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/cron-basics</loc>
<lastmod>2025-08-22T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/jwt-vs-sessions</loc>
<lastmod>2025-08-19T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/http2-vs-http3</loc>
<lastmod>2025-08-16T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/regex-cheats</loc>
<lastmod>2025-08-13T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/seo-sitemap-robots</loc>
<lastmod>2025-08-07T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/og-images</loc>
<lastmod>2025-08-04T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.caduh.com/blog/utm-shortlinks</loc>
<lastmod>2025-08-01T00:00:00.000Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.7</priority>
</url>
</urlset>
