<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://hazemazzam.com/</loc>
<lastmod>2026-05-21T14:33:00.393Z</lastmod>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://hazemazzam.com/projects</loc>
<lastmod>2026-05-21T14:33:00.393Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://hazemazzam.com/security</loc>
<lastmod>2026-05-21T14:33:00.393Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://hazemazzam.com/blog</loc>
<lastmod>2026-05-21T14:33:00.393Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://hazemazzam.com/blog/controlled-inputs-in-react-one-controller-for-any-component</loc>
<lastmod>2026-05-17T18:31:08.974Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://hazemazzam.com/blog/caching-in-nextjs-a-practical-guide-for-the-app-router</loc>
<lastmod>2026-05-17T12:42:57.607Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://hazemazzam.com/blog/lost-this-in-callbacks-why-static-methods-throw-undefined-is-not-an-object</loc>
<lastmod>2026-05-13T08:55:21.923Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://hazemazzam.com/blog/improving-seo-in-nextjs-key-levers-and-how-to-use-them</loc>
<lastmod>2026-05-10T18:47:13.104Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://hazemazzam.com/blog/how-to-write-professional-commit-messages</loc>
<lastmod>2026-05-09T18:11:57.726Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://hazemazzam.com/blog/understanding-the-n1-query-problem-and-how-to-fix-it</loc>
<lastmod>2026-05-13T09:04:29.981Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://hazemazzam.com/blog/javascript-hoisting-what-actually-moves-and-what-does-not</loc>
<lastmod>2026-05-09T11:22:48.703Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://hazemazzam.com/blog/the-javascript-event-loop-how-async-code-really-runs</loc>
<lastmod>2026-05-09T11:08:47.709Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://hazemazzam.com/blog/drag-and-drop-row-reordering-in-react-tables-with-dnd-kit</loc>
<lastmod>2026-05-08T19:51:14.335Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://hazemazzam.com/blog/optimistic-mutations-with-tanstack-query-the-four-hooks-you-actually-need</loc>
<lastmod>2026-05-08T09:34:25.381Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://hazemazzam.com/blog/nested-forms-break-submit-propagation-and-the-fixes-that-actually-work</loc>
<lastmod>2026-05-08T09:30:37.918Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://hazemazzam.com/blog/practical-localization-in-nextjs-usetranslate-localized-apis-mappers-and-caching</loc>
<lastmod>2026-05-08T09:08:21.320Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://hazemazzam.com/blog/nextjs-server-vs-client-what-runs-where-and-what-must-stay-secure</loc>
<lastmod>2026-05-08T09:00:55.347Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://hazemazzam.com/blog/order-total-tampering-at-checkout-cwe-840-cwe-602-cwe-345</loc>
<lastmod>2026-05-08T08:58:04.079Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://hazemazzam.com/blog/mass-account-takeover-via-order-id-enumeration-cwe-639-cwe-284-cwe-863</loc>
<lastmod>2026-05-08T08:41:01.200Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://hazemazzam.com/blog/clean-architecture-in-real-projects-a-practical-guide</loc>
<lastmod>2026-05-08T15:49:35.682Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
</urlset>
