<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://ajpeng.ca/</loc>
<lastmod>2026-03-17</lastmod>
</url>
<url>
<loc>https://ajpeng.ca/blog</loc>
<lastmod>2026-03-17</lastmod>
</url>
<url>
<loc>https://ajpeng.ca/projects</loc>
<lastmod>2026-03-17</lastmod>
</url>
<url>
<loc>https://ajpeng.ca/tags</loc>
<lastmod>2026-03-17</lastmod>
</url>
<url>
<loc>https://ajpeng.ca/blog/api-rate-limiting-and-caching</loc>
<lastmod>2024-11-20T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://ajpeng.ca/blog/async-await-under-the-hood</loc>
<lastmod>2023-05-22T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://ajpeng.ca/blog/authentication-vs-authorization</loc>
<lastmod>2024-05-30T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://ajpeng.ca/blog/cors-explained</loc>
<lastmod>2023-11-17T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://ajpeng.ca/blog/css-stacking-context</loc>
<lastmod>2023-04-03T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://ajpeng.ca/blog/database-indexes-under-the-hood</loc>
<lastmod>2025-02-18T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://ajpeng.ca/blog/debugging-in-production</loc>
<lastmod>2024-10-03T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://ajpeng.ca/blog/event-driven-architecture</loc>
<lastmod>2024-04-16T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://ajpeng.ca/blog/git-internals</loc>
<lastmod>2023-02-10T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://ajpeng.ca/blog/http-caching-headers</loc>
<lastmod>2023-07-11T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://ajpeng.ca/blog/intro-to-cookie-security</loc>
<lastmod>2024-07-08T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://ajpeng.ca/blog/n-plus-one-query-problem</loc>
<lastmod>2024-01-09T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://ajpeng.ca/blog/omni-noodle-palace</loc>
<lastmod>2024-11-04T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://ajpeng.ca/blog/prisma-cjk-pitfall</loc>
<lastmod>2026-02-23T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://ajpeng.ca/blog/react-referential-equality</loc>
<lastmod>2024-07-13T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://ajpeng.ca/blog/react-suspense-data-fetching</loc>
<lastmod>2024-02-28T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://ajpeng.ca/blog/typescript-type-system-deep-dive</loc>
<lastmod>2025-01-14T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://ajpeng.ca/blog/usereducer-vs-usestate</loc>
<lastmod>2023-10-05T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://ajpeng.ca/blog/vim-introductions</loc>
<lastmod>2024-07-08T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://ajpeng.ca/blog/writing-better-pull-requests</loc>
<lastmod>2023-08-29T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://ajpeng.ca/blog/writing-better-sql</loc>
<lastmod>2024-08-22T00:00:00.000Z</lastmod>
</url>
</urlset>
