<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://tiennhm.io.vn/about</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog/api-testing-types</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog/best-extensions-for-vs-code</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog/best-websites-to-learn-javascript</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog/character-sets-and-collations-in-mysql</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog/chi-phi-ghi-cua-index</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog/cloudflare-header-broke-dotnet-httpclient</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog/data-representation</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog/deadlock-result-wait-csharp</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog/dotnet-workstation-gc-giam-ram-container</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog/ef-core-n-plus-1-query</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog/forward-http-header-an-toan-aspnet-core</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog/founding-engineer-nen-tang-crm-abp-dotnet-angular</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog/frontend-libraries-angular</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog/gioi-thieu-dbml-database-markup-language</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog/gioi-thieu-scalar-api-reference-thay-the-swagger-ui</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog/gioi-thieu-uuid-universally-unique-identifier</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog/github-badges</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog/github-profile</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog/google-generative-ai-courses</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog/helpful-javascript-utility-functions</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog/http-header-unicode-ascii-dotnet</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog/idor-broken-access-control-aspnet-core</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog/improve-angular-build-time</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog/install-zeppelin-on-windows</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog/introduction-to-rabbitmq</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog/left-join-thanh-inner-join</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog/mailkit-html-email-template</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog/markdown-cheat-sheet</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog/onnx-runtime-alpine-ld-linux-x86-64-so-2</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog/phat-trien-phan-mem-ai-driven-development</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog/phat-trien-phan-mem-ai-driven-development-phan-1</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog/phat-trien-phan-mem-ai-driven-development-phan-2</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog/phat-trien-phan-mem-ai-driven-development-phan-3</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog/phat-trien-phan-mem-ai-driven-development-phan-4</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog/programming-paradigm</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog/singleton-scoped-transient-captive-dependency</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog/sql-index-khong-duoc-dung-sargable</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog/sql-isolation-level-lost-update-phantom-read</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog/sql-null-not-in-three-valued-logic</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog/top-linked-accounts-to-follow-for-developers</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog/traefik-cloudflare-https-tu-dong-vps</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog/unit-of-work-dotnet-abp</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog/unsigned-integer-representation</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/blog/window-function-vs-group-by</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/community</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/community/gdsc-hcmute</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/community/yit-hcmute</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/contact</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/my-cv</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/resume</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/showcase</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/agent-skills</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/agent-skills/agent-skills-01-react-best-practices</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/agent-skills/agent-skills-02-nextjs-best-practices</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/agent-skills/agent-skills-03-html-tailwind-best-practices</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/agent-skills/agent-skills-04-react-native-best-practices</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/agent-skills/agent-skills-05-ux-best-practices</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/agent-skills/agent-skills-06-ui-reasoning</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/agent-skills/agent-skills-07-web-interface</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/agent-skills/agent-skills-08-ui-color-palettes</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/agent-skills/agent-skills-09-ui-styles</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/agent-skills/agent-skills-10-typography</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/agent-skills/agent-skills-11-react-performance</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/agent-skills/agent-skills-12-landing-patterns</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/agent-skills/agent-skills-13-product-ux-recipes</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/agent-skills/agent-skills-14-charts</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/agent-skills/agent-skills-15-icons</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/aws-cloud-practitioner-essentials</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/aws-cloud-practitioner-essentials/compute-in-the-cloud</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/aws-cloud-practitioner-essentials/compute-in-the-cloud/amazon-ec2-instance-types</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/aws-cloud-practitioner-essentials/compute-in-the-cloud/amazon-ec2-pricing</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/aws-cloud-practitioner-essentials/compute-in-the-cloud/demo-launching-an-amazon-ec2-instance</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/aws-cloud-practitioner-essentials/compute-in-the-cloud/directing-traffic-with-elastic-load-balancing</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/aws-cloud-practitioner-essentials/compute-in-the-cloud/how-to-provision-aws-resources</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/aws-cloud-practitioner-essentials/compute-in-the-cloud/introduction-to-amazon-ec2</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/aws-cloud-practitioner-essentials/compute-in-the-cloud/messaging-and-queuing</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/aws-cloud-practitioner-essentials/compute-in-the-cloud/module-2-assessment</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/aws-cloud-practitioner-essentials/compute-in-the-cloud/module-2-summary</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/aws-cloud-practitioner-essentials/compute-in-the-cloud/scaling-amazon-ec2</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/aws-cloud-practitioner-essentials/exploring-compute-services</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/aws-cloud-practitioner-essentials/exploring-compute-services/additional-compute-services</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/aws-cloud-practitioner-essentials/exploring-compute-services/aws-lambda</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/aws-cloud-practitioner-essentials/exploring-compute-services/containers-and-orchestration-on-aws</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/aws-cloud-practitioner-essentials/exploring-compute-services/introduction-to-serverless-computing</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/aws-cloud-practitioner-essentials/exploring-compute-services/module-3-assessment</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/aws-cloud-practitioner-essentials/exploring-compute-services/module-3-summary</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/aws-cloud-practitioner-essentials/going-global</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/aws-cloud-practitioner-essentials/going-global/choosing-aws-regions</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/aws-cloud-practitioner-essentials/going-global/diving-deeper-into-aws-global-infrastructure</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/aws-cloud-practitioner-essentials/going-global/infrastructure-and-automation</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/aws-cloud-practitioner-essentials/going-global/introduction-to-going-global</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/aws-cloud-practitioner-essentials/going-global/module-4-assessment</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/aws-cloud-practitioner-essentials/going-global/module-4-summary</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/aws-cloud-practitioner-essentials/introduction-to-the-cloud</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/aws-cloud-practitioner-essentials/introduction-to-the-cloud/applying-cloud-concepts-to-real-life-use-cases</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/aws-cloud-practitioner-essentials/introduction-to-the-cloud/benefits-of-the-aws-cloud</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/aws-cloud-practitioner-essentials/introduction-to-the-cloud/introduction-to-aws-global-infrastructure</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/aws-cloud-practitioner-essentials/introduction-to-the-cloud/introduction-to-the-cloud</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/aws-cloud-practitioner-essentials/introduction-to-the-cloud/module-1-assessment</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/aws-cloud-practitioner-essentials/introduction-to-the-cloud/module-1-summary</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/aws-cloud-practitioner-essentials/introduction-to-the-cloud/shared-responsibility-model</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/aws-cloud-practitioner-essentials/networking</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/aws-cloud-practitioner-essentials/networking/introduction-to-networking</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/aws-cloud-practitioner-essentials/networking/more-ways-to-connect-to-the-aws-cloud</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/aws-cloud-practitioner-essentials/networking/organizing-aws-cloud-resources</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/database</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/database/learn-sql-in-30-days</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/database/learn-sql-in-30-days/01-intro-to-sql-and-dbms</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/database/learn-sql-in-30-days/02-table-structure-and-data-types</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/database/learn-sql-in-30-days/03-select-where</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/database/learn-sql-in-30-days/04-order-by-limit</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/database/learn-sql-in-30-days/05-operators-and-expressions</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/database/learn-sql-in-30-days/06-insert-update-delete</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/database/learn-sql-in-30-days/07-review-1</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/database/learn-sql-in-30-days/08-aggregate-functions</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/database/learn-sql-in-30-days/09-group-by-having</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/database/learn-sql-in-30-days/10-join</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/database/learn-sql-in-30-days/11-subquery</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/database/learn-sql-in-30-days/12-union-intersect</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/database/learn-sql-in-30-days/13-case-when</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/database/learn-sql-in-30-days/14-review-2</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/database/learn-sql-in-30-days/15-index</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/database/learn-sql-in-30-days/16-transactions-acid</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/database/learn-sql-in-30-days/17-stored-procedures-functions</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/database/learn-sql-in-30-days/18-triggers</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/database/learn-sql-in-30-days/19-views</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/database/learn-sql-in-30-days/20-query-performance</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/database/learn-sql-in-30-days/21-review-3</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/database/learn-sql-in-30-days/22-sql-json-practice</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/database/learn-sql-in-30-days/23-sql-connect-apps</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/database/learn-sql-in-30-days/24-import-export-data</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/database/learn-sql-in-30-days/25-big-data</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/database/learn-sql-in-30-days/26-sql-nosql</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/database/learn-sql-in-30-days/27-database-design-best-practices</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/database/learn-sql-in-30-days/28-sql-query-optimization</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/database/learn-sql-in-30-days/29-recursive-queries-window-functions</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/database/learn-sql-in-30-days/30-database-security</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/database/learn-sql-in-30-days/30-day-sql-learning-roadmap</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/database/learn-sql-in-30-days/summary</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/dotnet-backend-zero-to-senior-roadmap</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/dotnet-optional-client-dotnet</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-01-foundation</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-01-foundation/module-01-programming-logic</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-01-foundation/module-01-programming-logic/1.1-variables-and-data-types</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-01-foundation/module-01-programming-logic/1.11-review-and-assessment</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-01-foundation/module-01-programming-logic/1.2-conditions</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-01-foundation/module-01-programming-logic/1.3-loops</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-01-foundation/module-01-programming-logic/1.4-functions-methods</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-01-foundation/module-01-programming-logic/1.5-arrays-and-lists</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-01-foundation/module-01-programming-logic/1.6-problem-solving-mindset</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-01-foundation/module-01-programming-logic/1.7-data-structures-and-big-o</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-01-foundation/module-02-computer-science-basics</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-01-foundation/module-02-computer-science-basics/2.1-concept-learning-path</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-01-foundation/module-02-computer-science-basics/2.13-review-and-assessment</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-01-foundation/module-02-computer-science-basics/2.2-how-the-internet-works</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-01-foundation/module-02-computer-science-basics/2.3-client</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-01-foundation/module-02-computer-science-basics/2.4-http-https</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-01-foundation/module-02-computer-science-basics/2.5-api-and-json</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-01-foundation/module-02-computer-science-basics/2.6-what-is-a-database</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-01-foundation/module-02-computer-science-basics/2.7-authentication-and-authorization</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-01-foundation/module-02-computer-science-basics/2.8-hosting-and-cloud-basics</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-01-foundation/module-02-computer-science-basics/2.9-dotnet-runtime-and-ecosystem</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-01-foundation/module-03-git-developer-workflow</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-01-foundation/module-03-git-developer-workflow/3.1-git-intro-and-motivation</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-01-foundation/module-03-git-developer-workflow/3.10-conventional-commits</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-01-foundation/module-03-git-developer-workflow/3.14-review-and-assessment</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-01-foundation/module-03-git-developer-workflow/3.2-git-install-config</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-01-foundation/module-03-git-developer-workflow/3.3-git-safety-checklist</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-01-foundation/module-03-git-developer-workflow/3.4-basic-git-workflow</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-01-foundation/module-03-git-developer-workflow/3.5-branching-and-merging</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-01-foundation/module-03-git-developer-workflow/3.6-github-and-pull-request</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-01-foundation/module-03-git-developer-workflow/3.7-git-conflicts</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-01-foundation/module-03-git-developer-workflow/3.8-real-world-developer-workflow</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-01-foundation/module-03-git-developer-workflow/3.9-debugging-workflow</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-02-csharp-professional</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-02-csharp-professional/dotnet-project-01-inventory-console-api</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-02-csharp-professional/module-04-csharp-core</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-02-csharp-professional/module-04-csharp-core/4.1-class-and-object</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-02-csharp-professional/module-04-csharp-core/4.13-review-and-assessment</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-02-csharp-professional/module-04-csharp-core/4.2-encapsulation</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-02-csharp-professional/module-04-csharp-core/4.3-inheritance-and-polymorphism</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-02-csharp-professional/module-04-csharp-core/4.4-interface</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-02-csharp-professional/module-04-csharp-core/4.5-abstraction</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-02-csharp-professional/module-04-csharp-core/4.6-access-modifiers</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-02-csharp-professional/module-04-csharp-core/4.7-records-and-value-objects</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-02-csharp-professional/module-04-csharp-core/4.8-pattern-matching</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-02-csharp-professional/module-04-csharp-core/4.9-common-mistakes</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-02-csharp-professional/module-05-advanced-csharp</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-02-csharp-professional/module-05-advanced-csharp/5.1-solid-principles</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-02-csharp-professional/module-05-advanced-csharp/5.12-review-and-assessment</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-02-csharp-professional/module-05-advanced-csharp/5.2-generics</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-02-csharp-professional/module-05-advanced-csharp/5.3-linq</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-02-csharp-professional/module-05-advanced-csharp/5.4-delegates-and-events</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-02-csharp-professional/module-05-advanced-csharp/5.5-extension-methods</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-02-csharp-professional/module-05-advanced-csharp/5.6-nullable-reference-types</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-02-csharp-professional/module-05-advanced-csharp/5.7-overview</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-02-csharp-professional/module-05-advanced-csharp/5.8-tuples-and-deconstruction</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-02-csharp-professional/module-06-async-programming</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-02-csharp-professional/module-06-async-programming/6.1-why-async-matters</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-02-csharp-professional/module-06-async-programming/6.12-review-and-assessment</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-02-csharp-professional/module-06-async-programming/6.2-task-and-async-await</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-02-csharp-professional/module-06-async-programming/6.3-configureawait</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-02-csharp-professional/module-06-async-programming/6.4-cancellationtoken</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-02-csharp-professional/module-06-async-programming/6.5-task-parallel-library</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-02-csharp-professional/module-06-async-programming/6.6-async-patterns</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-02-csharp-professional/module-06-async-programming/6.7-common-pitfalls</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-02-csharp-professional/module-06-async-programming/6.8-channels-and-producer-consumer</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-02-csharp-professional/module-07-dependency-injection</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-02-csharp-professional/module-07-dependency-injection/7.1-di-problem-scope</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-02-csharp-professional/module-07-dependency-injection/7.13-review-and-assessment</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-02-csharp-professional/module-07-dependency-injection/7.2-ioc-container-and-di-container</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-02-csharp-professional/module-07-dependency-injection/7.3-three-ways-register-services</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-02-csharp-professional/module-07-dependency-injection/7.4-service-lifetimes</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-02-csharp-professional/module-07-dependency-injection/7.5-registering-services</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-02-csharp-professional/module-07-dependency-injection/7.6-program-cs-and-webapplicationbuilder</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-02-csharp-professional/module-07-dependency-injection/7.7-options-pattern</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-02-csharp-professional/module-07-dependency-injection/7.8-keyed-services</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-02-csharp-professional/module-07-dependency-injection/7.9-anti-patterns</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-08-aspnet-core-fundamentals</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-08-aspnet-core-fundamentals/8.1-aspnet-core-architecture</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-08-aspnet-core-fundamentals/8.13-review-and-assessment</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-08-aspnet-core-fundamentals/8.2-request-pipeline-and-middleware</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-08-aspnet-core-fundamentals/8.3-routing</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-08-aspnet-core-fundamentals/8.4-controllers-and-actions</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-08-aspnet-core-fundamentals/8.5-model-validation</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-08-aspnet-core-fundamentals/8.6-configuration-system</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-08-aspnet-core-fundamentals/8.7-logging-with-serilog</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-08-aspnet-core-fundamentals/8.8-global-exception-handling</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-08-aspnet-core-fundamentals/8.9-health-checks</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-09-web-api-professional</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-09-web-api-professional/9.1-rest-api-design-principles</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-09-web-api-professional/9.13-review-and-assessment</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-09-web-api-professional/9.2-api-versioning</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-09-web-api-professional/9.3-swagger-openapi</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-09-web-api-professional/9.4-pagination-filtering-sorting</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-09-web-api-professional/9.5-file-upload-and-download</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-09-web-api-professional/9.6-rate-limiting</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-09-web-api-professional/9.7-response-caching-and-output-caching</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-09-web-api-professional/9.8-api-testing</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-09-web-api-professional/9.9-hosted-service-background-jobs</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-10-authentication-authorization</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-10-authentication-authorization/10.1-authentication-vs-authorization</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-10-authentication-authorization/10.10-security-best-practices</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-10-authentication-authorization/10.14-review-and-assessment</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-10-authentication-authorization/10.2-jwt-authentication</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-10-authentication-authorization/10.3-refresh-token</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-10-authentication-authorization/10.4-role-based-authorization</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-10-authentication-authorization/10.5-policy-based-authorization</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-10-authentication-authorization/10.6-resource-based-authorization</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-10-authentication-authorization/10.7-permission-system</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-10-authentication-authorization/10.8-overview</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-10-authentication-authorization/10.9-overview</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-11-signalr</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-11-signalr/11.1-why-real-time-matters</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-11-signalr/11.10-scale-out-and-production</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-11-signalr/11.14-review-and-assessment</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-11-signalr/11.2-signalr-architecture</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-11-signalr/11.3-setup-signalr-server</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-11-signalr/11.4-client-side-integration</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-11-signalr/11.5-signalr-authentication</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-11-signalr/11.6-groups-and-targeting</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-11-signalr/11.7-ihubcontext-server-push-outside-hub</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-11-signalr/11.8-notification-center-pattern</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/module-11-signalr/11.9-presence-online-offline-status</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-03-aspnet-core-backend/project-02-crm-backend-api</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-12-sql-deep-dive</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-12-sql-deep-dive/12.1-crm-database-design</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-12-sql-deep-dive/12.12-review-and-assessment</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-12-sql-deep-dive/12.2-sql-server-vs-postgresql</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-12-sql-deep-dive/12.3-advanced-queries</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-12-sql-deep-dive/12.4-indexing</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-12-sql-deep-dive/12.5-query-optimization</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-12-sql-deep-dive/12.6-transactions-and-locking</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-12-sql-deep-dive/12.7-stored-procedures-and-views</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-12-sql-deep-dive/12.8-database-migration-strategy</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-13-entity-framework-core</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-13-entity-framework-core/13.1-ef-core-overview</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-13-entity-framework-core/13.10-global-query-filters</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-13-entity-framework-core/13.14-review-and-assessment</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-13-entity-framework-core/13.2-dbcontext-and-entity-configuration</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-13-entity-framework-core/13.3-relationships</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-13-entity-framework-core/13.4-migrations</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-13-entity-framework-core/13.5-query-patterns</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-13-entity-framework-core/13.6-n-plus-1-problem</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-13-entity-framework-core/13.7-performance</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-13-entity-framework-core/13.8-concurrency-control</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-13-entity-framework-core/13.9-unit-of-work-and-repository-pattern</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-14-caching-background-jobs</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-14-caching-background-jobs/14.1-caching-fundamentals</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-14-caching-background-jobs/14.13-review-and-assessment</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-14-caching-background-jobs/14.2-imemorycache</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-14-caching-background-jobs/14.3-idistributedcache-and-redis</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-14-caching-background-jobs/14.4-cache-invalidation-strategies</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-14-caching-background-jobs/14.5-hybridcache-dotnet-9</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-14-caching-background-jobs/14.6-hangfire-background-jobs</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-14-caching-background-jobs/14.7-alternative-overview</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-14-caching-background-jobs/14.8-message-bus-intro</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-14-caching-background-jobs/14.9-idempotency-and-retry</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-15-docker-deployment</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-15-docker-deployment/15.1-docker-fundamentals</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-15-docker-deployment/15.10-dotnet-aspire-dotnet-8-plus</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-15-docker-deployment/15.14-review-and-assessment</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-15-docker-deployment/15.2-dockerfile-for-aspnet-core</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-15-docker-deployment/15.3-docker-compose</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-15-docker-deployment/15.4-environment-and-secrets</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-15-docker-deployment/15.5-linux-vps-deployment</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-15-docker-deployment/15.6-github-actions-ci-cd</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-15-docker-deployment/15.7-azure-deployment</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-15-docker-deployment/15.8-production-monitoring</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/module-15-docker-deployment/15.9-awareness-level</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-04-database-production/project-03-production-crm-platform</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/final-project-enterprise-crm-erp</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-16-clean-architecture</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-16-clean-architecture/16.1-when-growth-exposes-architecture</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-16-clean-architecture/16.10-anti-patterns-to-avoid</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-16-clean-architecture/16.11-roadmap-sh-supplement</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-16-clean-architecture/16.12-crm-context</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-16-clean-architecture/16.16-review-and-assessment</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-16-clean-architecture/16.2-layered-architecture-still-useful</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-16-clean-architecture/16.3-uncle-bob</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-16-clean-architecture/16.4-vertical-slice-architecture</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-16-clean-architecture/16.5-ddd-tactics-backend-pragmatic</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-16-clean-architecture/16.6-mediatr-use-case-pipeline</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-16-clean-architecture/16.7-fluentvalidation</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-16-clean-architecture/16.8-in-process</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-16-clean-architecture/16.9-testing-strategy-overview</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-17-distributed-systems</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-17-distributed-systems/17.1-event-driven-architecture-when-to-use</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-17-distributed-systems/17.10-crm-context</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-17-distributed-systems/17.14-review-and-assessment</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-17-distributed-systems/17.2-messaging-fears-lost-duplicates</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-17-distributed-systems/17.3-outbox-pattern-applied</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-17-distributed-systems/17.4-kafka-vs-rabbitmq-pragmatic</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-17-distributed-systems/17.5-change-data-capture</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-17-distributed-systems/17.6-retry-and-backoff</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-17-distributed-systems/17.7-outbox-idempotency-demo</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-17-distributed-systems/17.8-masstransit-nservicebus-easynetq</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-17-distributed-systems/17.9-roadmap-sh-supplement</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-18-microservices</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-18-microservices/18.1-when-not-to-use-microservices</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-18-microservices/18.13-review-and-assessment</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-18-microservices/18.2-service-decomposition</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-18-microservices/18.3-api-gateway-yarp-dotnet</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-18-microservices/18.4-inter-service-communication</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-18-microservices/18.5-observability-three-pillars</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-18-microservices/18.6-distributed-identity-overview</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-18-microservices/18.7-anti-pattern-distributed-monolith</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-18-microservices/18.8-roadmap-sh-supplement</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-18-microservices/18.9-crm-context</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-19-performance-engineering</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-19-performance-engineering/19.1-measure-before-and-after</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-19-performance-engineering/19.13-review-and-assessment</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-19-performance-engineering/19.2-benchmarkdotnet</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-19-performance-engineering/19.3-dotnet-server-profiling</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-19-performance-engineering/19.4-database-first-bottleneck</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-19-performance-engineering/19.5-systematic-caching-overview</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-19-performance-engineering/19.6-scaling-strategy</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-19-performance-engineering/19.7-distributed-lock</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-19-performance-engineering/19.8-roadmap-sh-supplement</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/dotnet-backend-zero-to-senior/stage-05-senior-engineering/module-19-performance-engineering/19.9-crm-context</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/k6</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/k6/load-testing-restful-apis-with-k6-part-01</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/k6/load-testing-restful-apis-with-k6-part-02</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/k6/load-testing-restful-apis-with-k6-part-03</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/k6/load-testing-restful-apis-with-k6-part-04</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/k6/load-testing-restful-apis-with-k6-part-05</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/leetcode</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/leetcode/algorithm</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/leetcode/algorithm/141-linked-list-cycle</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/leetcode/bit-manipulation</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/leetcode/bit-manipulation/136-single-number</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/leetcode/bit-manipulation/191-number-of-1-bits</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/leetcode/bit-manipulation/338-counting-bits</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/leetcode/database</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/leetcode/database/175-combine-two-tables</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/leetcode/database/176-second-highest-salary</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/leetcode/database/177-nth-highest-salary</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/leetcode/database/178-rank-scores</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/leetcode/database/181-employees-earning-more-than-their-managers</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/leetcode/database/182-duplicate-emails</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/leetcode/database/183-customers-who-never-order</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/leetcode/database/196-delete-duplicate-emails</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/leetcode/database/197-rising-temperature</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/leetcode/database/511-game-play-analysis-i</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/leetcode/database/607-sales-person</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/leetcode/dynamic-programming</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/leetcode/dynamic-programming/62-unique-paths</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/operating-system</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/operating-system/bankers-algorithm</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/operating-system/dos-debug</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/operating-system/page-replacement-algorithms</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/operating-system/process-scheduling-algorithms</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/operating-system/quiz</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/operating-system/quiz/cpu-scheduling</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/operating-system/quiz/deadlock</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/operating-system/quiz/disk-scheduling</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/operating-system/quiz/file-system</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/operating-system/quiz/memory-management</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/operating-system/quiz/mock-exam</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/operating-system/quiz/os-overview</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/operating-system/quiz/paging-tlb</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/operating-system/quiz/process-synchronization</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/operating-system/quiz/virtual-memory</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/seo-geo-guide</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/web-security</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/web-security/webgoat-2023.8</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/web-security/webgoat-2023.8/A1-Broken-Access-Control</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/web-security/webgoat-2023.8/A1-Broken-Access-Control/hijack-a-session-01</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/web-security/webgoat-2023.8/A1-Broken-Access-Control/hijack-a-session-02</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/web-security/webgoat-2023.8/A1-Broken-Access-Control/insecure-direct-object-references-01</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/web-security/webgoat-2023.8/A1-Broken-Access-Control/insecure-direct-object-references-02</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/web-security/webgoat-2023.8/A1-Broken-Access-Control/insecure-direct-object-references-03</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/web-security/webgoat-2023.8/A1-Broken-Access-Control/insecure-direct-object-references-04</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/web-security/webgoat-2023.8/A1-Broken-Access-Control/insecure-direct-object-references-05</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/web-security/webgoat-2023.8/A1-Broken-Access-Control/insecure-direct-object-references-06</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/web-security/webgoat-2023.8/A1-Broken-Access-Control/missing-function-level-access-control-01</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/web-security/webgoat-2023.8/A1-Broken-Access-Control/missing-function-level-access-control-02</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/web-security/webgoat-2023.8/A1-Broken-Access-Control/missing-function-level-access-control-03</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/web-security/webgoat-2023.8/A1-Broken-Access-Control/missing-function-level-access-control-04</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/web-security/webgoat-2023.8/A1-Broken-Access-Control/spoofing-an-authentication-cookie-01</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/web-security/webgoat-2023.8/A1-Broken-Access-Control/spoofing-an-authentication-cookie-02</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/web-security/webgoat-2023.8/A5-Security-Misconfiguration</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/web-security/webgoat-2023.8/A5-Security-Misconfiguration/XXE-01</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/web-security/webgoat-2023.8/A5-Security-Misconfiguration/XXE-02</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/web-security/webgoat-2023.8/A5-Security-Misconfiguration/XXE-03</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/web-security/webgoat-2023.8/A5-Security-Misconfiguration/XXE-04</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/web-security/webgoat-2023.8/A5-Security-Misconfiguration/XXE-05</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/web-security/webgoat-2023.8/A5-Security-Misconfiguration/XXE-06</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/web-security/webgoat-2023.8/A5-Security-Misconfiguration/XXE-07</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/web-security/webgoat-2023.8/A5-Security-Misconfiguration/XXE-08</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/web-security/webgoat-2023.8/A5-Security-Misconfiguration/XXE-09</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/web-security/webgoat-2023.8/A5-Security-Misconfiguration/XXE-10</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/web-security/webgoat-2023.8/A5-Security-Misconfiguration/XXE-11</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/web-security/webgoat-2023.8/A5-Security-Misconfiguration/XXE-12</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/web-security/webgoat-2023.8/A5-Security-Misconfiguration/XXE-13</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/web-security/webgoat-7</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/web-security/webgoat-7/injection-flaws</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/web-security/webgoat-7/injection-flaws/command-injection</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/web-security/webgoat-7/injection-flaws/log-spoofing</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/docs/web-security/webgoat-7/injection-flaws/numeric-sql-injection</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://tiennhm.io.vn/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url></urlset>