<?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://khanhdang.name/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/"/></url><url><loc>https://khanhdang.name/about/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/about/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/about/"/></url><url><loc>https://khanhdang.name/blog/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/"/></url><url><loc>https://khanhdang.name/blog/algo/string-compression/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/algo/string-compression/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/algo/string-compression/"/></url><url><loc>https://khanhdang.name/blog/design-pattern/abstract-factory/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/design-pattern/abstract-factory/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/design-pattern/abstract-factory/"/></url><url><loc>https://khanhdang.name/blog/design-pattern/adapter/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/design-pattern/adapter/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/design-pattern/adapter/"/></url><url><loc>https://khanhdang.name/blog/design-pattern/bridge/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/design-pattern/bridge/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/design-pattern/bridge/"/></url><url><loc>https://khanhdang.name/blog/design-pattern/builder/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/design-pattern/builder/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/design-pattern/builder/"/></url><url><loc>https://khanhdang.name/blog/design-pattern/composite/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/design-pattern/composite/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/design-pattern/composite/"/></url><url><loc>https://khanhdang.name/blog/design-pattern/design-pattern/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/design-pattern/design-pattern/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/design-pattern/design-pattern/"/></url><url><loc>https://khanhdang.name/blog/design-pattern/factory-method/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/design-pattern/factory-method/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/design-pattern/factory-method/"/></url><url><loc>https://khanhdang.name/blog/design-pattern/prototype/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/design-pattern/prototype/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/design-pattern/prototype/"/></url><url><loc>https://khanhdang.name/blog/design-pattern/singleton/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/design-pattern/singleton/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/design-pattern/singleton/"/></url><url><loc>https://khanhdang.name/blog/git/commit-convension/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/git/commit-convension/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/git/commit-convension/"/></url><url><loc>https://khanhdang.name/blog/guide/comparison-vite-tsc-swc/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/guide/comparison-vite-tsc-swc/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/guide/comparison-vite-tsc-swc/"/></url><url><loc>https://khanhdang.name/blog/guide/init-nextjs-project/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/guide/init-nextjs-project/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/guide/init-nextjs-project/"/></url><url><loc>https://khanhdang.name/blog/javascript/access-modifier/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/javascript/access-modifier/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/javascript/access-modifier/"/></url><url><loc>https://khanhdang.name/blog/javascript/arrow-function-vs-regular-function/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/javascript/arrow-function-vs-regular-function/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/javascript/arrow-function-vs-regular-function/"/></url><url><loc>https://khanhdang.name/blog/javascript/deep-copy-vs-shadow-copy/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/javascript/deep-copy-vs-shadow-copy/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/javascript/deep-copy-vs-shadow-copy/"/></url><url><loc>https://khanhdang.name/blog/javascript/execution-context/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/javascript/execution-context/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/javascript/execution-context/"/></url><url><loc>https://khanhdang.name/blog/javascript/garbage-collection/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/javascript/garbage-collection/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/javascript/garbage-collection/"/></url><url><loc>https://khanhdang.name/blog/javascript/immutable-in-js/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/javascript/immutable-in-js/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/javascript/immutable-in-js/"/></url><url><loc>https://khanhdang.name/blog/javascript/non-blocking-io/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/javascript/non-blocking-io/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/javascript/non-blocking-io/"/></url><url><loc>https://khanhdang.name/blog/javascript/nullish-coalesing-vs-logical-operator/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/javascript/nullish-coalesing-vs-logical-operator/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/javascript/nullish-coalesing-vs-logical-operator/"/></url><url><loc>https://khanhdang.name/blog/nextjs/i18n-configuration-for-nextjs-project/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/nextjs/i18n-configuration-for-nextjs-project/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/nextjs/i18n-configuration-for-nextjs-project/"/></url><url><loc>https://khanhdang.name/blog/react/react-pattern/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/react/react-pattern/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/react/react-pattern/"/></url><url><loc>https://khanhdang.name/blog/react/web-worker-pattern/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/react/web-worker-pattern/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/react/web-worker-pattern/"/></url><url><loc>https://khanhdang.name/blog/react/web-worker/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/react/web-worker/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/react/web-worker/"/></url><url><loc>https://khanhdang.name/blog/software/4-principle-of-oop/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/software/4-principle-of-oop/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/software/4-principle-of-oop/"/></url><url><loc>https://khanhdang.name/blog/software/authentication-models/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/software/authentication-models/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/software/authentication-models/"/></url><url><loc>https://khanhdang.name/blog/software/coupling-vs-cohesion/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/software/coupling-vs-cohesion/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/software/coupling-vs-cohesion/"/></url><url><loc>https://khanhdang.name/blog/software/horizontal-vs-vertical-scale/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/software/horizontal-vs-vertical-scale/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/software/horizontal-vs-vertical-scale/"/></url><url><loc>https://khanhdang.name/blog/software/internet-and-web-version/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/software/internet-and-web-version/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/software/internet-and-web-version/"/></url><url><loc>https://khanhdang.name/blog/software/method-of-real-time-communication/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/software/method-of-real-time-communication/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/software/method-of-real-time-communication/"/></url><url><loc>https://khanhdang.name/blog/software/monoliths-microservice-serverless/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/software/monoliths-microservice-serverless/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/software/monoliths-microservice-serverless/"/></url><url><loc>https://khanhdang.name/blog/software/solid-dependencies-inversion-principle/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/software/solid-dependencies-inversion-principle/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/software/solid-dependencies-inversion-principle/"/></url><url><loc>https://khanhdang.name/blog/software/solid-interface-segregation-principle/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/software/solid-interface-segregation-principle/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/software/solid-interface-segregation-principle/"/></url><url><loc>https://khanhdang.name/blog/software/solid-liskov-principle/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/software/solid-liskov-principle/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/software/solid-liskov-principle/"/></url><url><loc>https://khanhdang.name/blog/software/solid-open-close-principle/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/software/solid-open-close-principle/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/software/solid-open-close-principle/"/></url><url><loc>https://khanhdang.name/blog/software/solid-principle/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/software/solid-principle/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/software/solid-principle/"/></url><url><loc>https://khanhdang.name/blog/software/solid-single-responsibility-principle/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/software/solid-single-responsibility-principle/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/software/solid-single-responsibility-principle/"/></url><url><loc>https://khanhdang.name/blog/system/scaling-a-system-from-zero/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/system/scaling-a-system-from-zero/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/system/scaling-a-system-from-zero/"/></url><url><loc>https://khanhdang.name/projects/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/projects/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/projects/"/></url><url><loc>https://khanhdang.name/resume/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/resume/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/resume/"/></url><url><loc>https://khanhdang.name/vi/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/"/></url><url><loc>https://khanhdang.name/vi/about/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/about/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/about/"/></url><url><loc>https://khanhdang.name/vi/blog/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/"/></url><url><loc>https://khanhdang.name/vi/blog/algo/string-compression/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/algo/string-compression/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/algo/string-compression/"/></url><url><loc>https://khanhdang.name/vi/blog/design-pattern/abstract-factory/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/design-pattern/abstract-factory/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/design-pattern/abstract-factory/"/></url><url><loc>https://khanhdang.name/vi/blog/design-pattern/adapter/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/design-pattern/adapter/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/design-pattern/adapter/"/></url><url><loc>https://khanhdang.name/vi/blog/design-pattern/bridge/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/design-pattern/bridge/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/design-pattern/bridge/"/></url><url><loc>https://khanhdang.name/vi/blog/design-pattern/builder/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/design-pattern/builder/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/design-pattern/builder/"/></url><url><loc>https://khanhdang.name/vi/blog/design-pattern/composite/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/design-pattern/composite/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/design-pattern/composite/"/></url><url><loc>https://khanhdang.name/vi/blog/design-pattern/design-pattern/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/design-pattern/design-pattern/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/design-pattern/design-pattern/"/></url><url><loc>https://khanhdang.name/vi/blog/design-pattern/factory-method/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/design-pattern/factory-method/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/design-pattern/factory-method/"/></url><url><loc>https://khanhdang.name/vi/blog/design-pattern/prototype/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/design-pattern/prototype/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/design-pattern/prototype/"/></url><url><loc>https://khanhdang.name/vi/blog/design-pattern/singleton/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/design-pattern/singleton/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/design-pattern/singleton/"/></url><url><loc>https://khanhdang.name/vi/blog/git/commit-convension/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/git/commit-convension/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/git/commit-convension/"/></url><url><loc>https://khanhdang.name/vi/blog/guide/comparison-vite-tsc-swc/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/guide/comparison-vite-tsc-swc/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/guide/comparison-vite-tsc-swc/"/></url><url><loc>https://khanhdang.name/vi/blog/guide/init-nextjs-project/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/guide/init-nextjs-project/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/guide/init-nextjs-project/"/></url><url><loc>https://khanhdang.name/vi/blog/javascript/access-modifier/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/javascript/access-modifier/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/javascript/access-modifier/"/></url><url><loc>https://khanhdang.name/vi/blog/javascript/arrow-function-vs-regular-function/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/javascript/arrow-function-vs-regular-function/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/javascript/arrow-function-vs-regular-function/"/></url><url><loc>https://khanhdang.name/vi/blog/javascript/deep-copy-vs-shadow-copy/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/javascript/deep-copy-vs-shadow-copy/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/javascript/deep-copy-vs-shadow-copy/"/></url><url><loc>https://khanhdang.name/vi/blog/javascript/execution-context/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/javascript/execution-context/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/javascript/execution-context/"/></url><url><loc>https://khanhdang.name/vi/blog/javascript/garbage-collection/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/javascript/garbage-collection/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/javascript/garbage-collection/"/></url><url><loc>https://khanhdang.name/vi/blog/javascript/immutable-in-js/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/javascript/immutable-in-js/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/javascript/immutable-in-js/"/></url><url><loc>https://khanhdang.name/vi/blog/javascript/non-blocking-io/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/javascript/non-blocking-io/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/javascript/non-blocking-io/"/></url><url><loc>https://khanhdang.name/vi/blog/javascript/nullish-coalesing-vs-logical-operator/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/javascript/nullish-coalesing-vs-logical-operator/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/javascript/nullish-coalesing-vs-logical-operator/"/></url><url><loc>https://khanhdang.name/vi/blog/nextjs/i18n-configuration-for-nextjs-project/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/nextjs/i18n-configuration-for-nextjs-project/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/nextjs/i18n-configuration-for-nextjs-project/"/></url><url><loc>https://khanhdang.name/vi/blog/react/react-pattern/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/react/react-pattern/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/react/react-pattern/"/></url><url><loc>https://khanhdang.name/vi/blog/react/web-worker-pattern/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/react/web-worker-pattern/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/react/web-worker-pattern/"/></url><url><loc>https://khanhdang.name/vi/blog/react/web-worker/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/react/web-worker/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/react/web-worker/"/></url><url><loc>https://khanhdang.name/vi/blog/software/4-principle-of-oop/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/software/4-principle-of-oop/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/software/4-principle-of-oop/"/></url><url><loc>https://khanhdang.name/vi/blog/software/authentication-models/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/software/authentication-models/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/software/authentication-models/"/></url><url><loc>https://khanhdang.name/vi/blog/software/coupling-vs-cohesion/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/software/coupling-vs-cohesion/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/software/coupling-vs-cohesion/"/></url><url><loc>https://khanhdang.name/vi/blog/software/horizontal-vs-vertical-scale/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/software/horizontal-vs-vertical-scale/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/software/horizontal-vs-vertical-scale/"/></url><url><loc>https://khanhdang.name/vi/blog/software/internet-and-web-version/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/software/internet-and-web-version/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/software/internet-and-web-version/"/></url><url><loc>https://khanhdang.name/vi/blog/software/method-of-real-time-communication/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/software/method-of-real-time-communication/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/software/method-of-real-time-communication/"/></url><url><loc>https://khanhdang.name/vi/blog/software/monoliths-microservice-serverless/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/software/monoliths-microservice-serverless/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/software/monoliths-microservice-serverless/"/></url><url><loc>https://khanhdang.name/vi/blog/software/solid-dependencies-inversion-principle/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/software/solid-dependencies-inversion-principle/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/software/solid-dependencies-inversion-principle/"/></url><url><loc>https://khanhdang.name/vi/blog/software/solid-interface-segregation-principle/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/software/solid-interface-segregation-principle/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/software/solid-interface-segregation-principle/"/></url><url><loc>https://khanhdang.name/vi/blog/software/solid-liskov-principle/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/software/solid-liskov-principle/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/software/solid-liskov-principle/"/></url><url><loc>https://khanhdang.name/vi/blog/software/solid-open-close-principle/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/software/solid-open-close-principle/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/software/solid-open-close-principle/"/></url><url><loc>https://khanhdang.name/vi/blog/software/solid-principle/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/software/solid-principle/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/software/solid-principle/"/></url><url><loc>https://khanhdang.name/vi/blog/software/solid-single-responsibility-principle/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/software/solid-single-responsibility-principle/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/software/solid-single-responsibility-principle/"/></url><url><loc>https://khanhdang.name/vi/blog/system/scaling-a-system-from-zero/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/blog/system/scaling-a-system-from-zero/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/blog/system/scaling-a-system-from-zero/"/></url><url><loc>https://khanhdang.name/vi/projects/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/projects/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/projects/"/></url><url><loc>https://khanhdang.name/vi/resume/</loc><xhtml:link rel="alternate" hreflang="en" href="https://khanhdang.name/resume/"/><xhtml:link rel="alternate" hreflang="vi" href="https://khanhdang.name/vi/resume/"/></url></urlset>