<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://damianhodgkiss.com</loc>
<lastmod>2026-06-05T20:55:10.659Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://damianhodgkiss.com/tutorials</loc>
<lastmod>2026-06-05T20:55:10.659Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://damianhodgkiss.com/tutorials/cloudflare-in-front-of-ecs-waf-cache-tunnels</loc>
<lastmod>2026-06-05T10:33:28.671Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://damianhodgkiss.com/tutorials/postgresql-full-text-search-vs-elasticsearch-when-to-choose-each</loc>
<lastmod>2026-06-02T09:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://damianhodgkiss.com/tutorials/securing-fastapi-django-server-calls-with-jwts-and-mtls</loc>
<lastmod>2026-05-30T14:13:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://damianhodgkiss.com/tutorials/redis-caching-strategies-for-next-js-fastapi</loc>
<lastmod>2026-05-28T11:26:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://damianhodgkiss.com/tutorials/rate-limiting-patterns-for-fastapi-in-production</loc>
<lastmod>2026-05-25T16:39:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://damianhodgkiss.com/tutorials/django-fastapi-shared-database-migration-strategy</loc>
<lastmod>2026-05-22T13:52:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://damianhodgkiss.com/tutorials/structured-logging-across-django-fastapi-next-js</loc>
<lastmod>2026-05-20T10:05:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://damianhodgkiss.com/tutorials/ci-cd-pipeline-github-actions-to-ecs-for-docker-apps</loc>
<lastmod>2026-05-18T15:18:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://damianhodgkiss.com/tutorials/celery-vs-arq-vs-postgres-task-queues</loc>
<lastmod>2026-05-15T12:31:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://damianhodgkiss.com/tutorials/postgresql-connection-pooling-with-pgbouncer-in-docker</loc>
<lastmod>2026-05-13T09:44:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://damianhodgkiss.com/tutorials/zero-downtime-ecs-deployments-expand-contract-migrations</loc>
<lastmod>2026-05-10T14:57:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://damianhodgkiss.com/tutorials/switch-statement-php-production-patterns-pitfalls</loc>
<lastmod>2026-05-07T11:10:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://damianhodgkiss.com/tutorials/testing-patterns-for-full-stack-engineers</loc>
<lastmod>2026-05-05T16:23:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://damianhodgkiss.com/tutorials/gmail-ai-assistant-pipeline</loc>
<lastmod>2026-02-01T09:30:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://damianhodgkiss.com/tutorials/type-safe-server-actions-nextjs-zod</loc>
<lastmod>2025-01-15T16:13:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://damianhodgkiss.com/tutorials/nextjs-15-vercel-hosting-guide</loc>
<lastmod>2025-01-11T09:58:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://damianhodgkiss.com/tutorials/implementing-webhooks-nextjs</loc>
<lastmod>2025-01-05T05:27:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://damianhodgkiss.com/tutorials/streaming-ssr-with-suspense-nextjs15</loc>
<lastmod>2024-11-19T17:32:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://damianhodgkiss.com/tutorials/real-time-updates-sse-nextjs</loc>
<lastmod>2024-10-23T10:47:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://damianhodgkiss.com/tutorials/containerizing-nextjs-for-local-and-production</loc>
<lastmod>2024-08-12T15:32:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://damianhodgkiss.com/tutorials/fullstack-django-fastapi-nextjs-next-auth</loc>
<lastmod>2024-07-14T12:26:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://damianhodgkiss.com/tutorials/docker-postgres-autoupgrades</loc>
<lastmod>2024-07-10T20:24:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://damianhodgkiss.com/tutorials/integrate-celery-django-asynchronous-tasks-guide</loc>
<lastmod>2024-07-06T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://damianhodgkiss.com/tutorials/fullstack-django-fastapi-nextjs-clerk</loc>
<lastmod>2024-06-30T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://damianhodgkiss.com/tutorials/lazy-loading-css-in-nextjs</loc>
<lastmod>2024-06-20T11:54:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://damianhodgkiss.com/tutorials/fullstack-django-fastapi-nextjs</loc>
<lastmod>2024-06-18T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://damianhodgkiss.com/tutorials/how-to-use-react-testing-library</loc>
<lastmod>2023-07-29T10:30:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://damianhodgkiss.com/tutorials/how-to-lazy-load-images-in-react</loc>
<lastmod>2022-12-09T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://damianhodgkiss.com/tutorials/how-to-render-code-snippets-in-react-using-prism</loc>
<lastmod>2022-10-17T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://damianhodgkiss.com/tutorials/how-to-determine-node-js-version-from-code</loc>
<lastmod>2019-05-21T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://damianhodgkiss.com/tutorials/hashtags-in-php</loc>
<lastmod>2018-12-24T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://damianhodgkiss.com/tutorials/how-to-do-the-shorthand-conditional-ternary-in-php</loc>
<lastmod>2018-11-29T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://damianhodgkiss.com/tutorials/most-secure-password-hashing-algorithms</loc>
<lastmod>2018-11-25T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://damianhodgkiss.com/tutorials/how-to-encrypt-passwords-in-php-node-js-python</loc>
<lastmod>2018-11-18T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://damianhodgkiss.com/tutorials/how-to-fetch-authenticated-csvs-with-google-chrome-headless-in-nodejs</loc>
<lastmod>2018-09-11T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://damianhodgkiss.com/tutorials/how-to-debug-google-chrome-headless-and-nodejs-with-developer-tools</loc>
<lastmod>2018-07-08T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://damianhodgkiss.com/tutorials/how-to-run-google-chrome-headless-and-nodejs-in-a-docker-container</loc>
<lastmod>2018-07-07T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://damianhodgkiss.com/tutorials/how-to-debug-amazon-ecs-containers</loc>
<lastmod>2018-07-06T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
</urlset>
