<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://tienng21.com</loc>
<lastmod>2026-06-11T15:34:08.265Z</lastmod>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://tienng21.com/blog</loc>
<lastmod>2026-06-11T15:34:08.265Z</lastmod>
<changefreq>daily</changefreq>
<priority>0.95</priority>
</url>
<url>
<loc>https://tienng21.com/about</loc>
<lastmod>2026-06-11T15:34:08.265Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tienng21.com/contact</loc>
<lastmod>2026-06-11T15:34:08.265Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://tienng21.com/project</loc>
<lastmod>2026-06-11T15:34:08.265Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tienng21.com/faq</loc>
<lastmod>2026-06-11T15:34:08.265Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://tienng21.com/uses</loc>
<lastmod>2026-06-11T15:34:08.265Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://tienng21.com/privacy-policy</loc>
<lastmod>2026-06-11T15:34:08.265Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.3</priority>
</url>
<url>
<loc>https://tienng21.com/terms-and-conditions</loc>
<lastmod>2026-06-11T15:34:08.265Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.3</priority>
</url>
<url>
<loc>https://tienng21.com/disclaimer</loc>
<lastmod>2026-06-11T15:34:08.265Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.3</priority>
</url>
<url>
<loc>https://tienng21.com/blog/reconciliation-as-eventual-consistency</loc>
<lastmod>2026-06-06T11:11:01.645Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://tienng21.com/blog/money-under-concurrency-optimistic-vs-pessimistic-locking</loc>
<lastmod>2026-06-06T11:11:01.589Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://tienng21.com/blog/transactional-outbox-pattern</loc>
<lastmod>2026-06-06T11:11:01.532Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://tienng21.com/blog/exactly-once-processing-and-idempotency</loc>
<lastmod>2026-06-06T11:11:01.349Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://tienng21.com/blog/vietqr-generating-banking-qr-codes</loc>
<lastmod>2026-06-06T11:00:21.777Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://tienng21.com/blog/technical-seo-nextjs-app-router</loc>
<lastmod>2026-06-06T10:56:16.578Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://tienng21.com/blog/web-scraping-at-scale</loc>
<lastmod>2026-06-06T10:50:13.303Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://tienng21.com/blog/git-reflog-and-interactive-rebase</loc>
<lastmod>2026-06-06T10:40:56.352Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://tienng21.com/blog/virtual-accounts-in-fintech</loc>
<lastmod>2026-06-06T11:00:21.589Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://tienng21.com/blog/stale-closures-in-react-the-real-problem-and-real-fixes</loc>
<lastmod>2026-06-06T08:25:01.836Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://tienng21.com/blog/closures-are-easy-scope-chains-are-not</loc>
<lastmod>2026-06-06T08:25:01.767Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://tienng21.com/blog/git-content-addressable-database</loc>
<lastmod>2026-06-06T08:25:01.695Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://tienng21.com/blog/understanding-git-dag</loc>
<lastmod>2026-06-06T08:25:01.630Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://tienng21.com/blog/using-git-commit-fixup-to-simplify-commit-squashing</loc>
<lastmod>2026-06-06T08:25:01.358Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
</urlset>
