<?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:mobile="http://www.google.com/schemas/sitemap-mobile/1.0" 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://trungvose.com/talks/2020-07-22-singapore-js-visitor/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2020-08-26-singapore-js-jira/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2020-09-12-angular-rome-jira/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2020-10-04-ng-vn-interview/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2020-11-19-ng-poland-strongly-type-form/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2020-11-21-angular-air-jira/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2020-12-30-angular-apac-tetris/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2021-01-21-angular-san-diago-strongly-type-form/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2021-01-21-singapore-js-tetris/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2021-02-05-angular-kenya-tetris/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2021-04-21-beeman-angular-spotify/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2021-05-08-angular-air/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2021-06-30-angular-africa/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2021-07-09-ng-rome-conference-2021/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2021-08-06-nx-office-hour-spotify/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2021-08-13-angular-kenya-nx/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2022-04-02-startup-oi/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2022-08-27-angular-vietnam-directives/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2022-09-24-angular-vietnam-better/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2022-10-13-startup-oi-ama/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2022-12-02-ng-rome-conference-2022/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2023-02-14-angular-global-summit/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2023-03-04-angular-vietnam-why-conference/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2023-03-14-angular-singapore-conference-cfp/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2023-04-11-state-of-frontend-2023/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2023-04-28-angular-tiny-conf/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2023-06-08-web-directions-code/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2023-07-22-google-io-extended/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2023-07-28-city-js-singapore/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2023-09-20-singapore-js/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2023-11-09-sudo-code/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2023-11-25-voxxed-days-thessaloniki/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2023-12-03-google-cloud-devfest-hanoi/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2023-12-13-ijs-singapore/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2024-01-29-ndc-london/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2024-02-08-angular-kenya-directive/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2024-02-15-angular-kenya-ng-template-outlet/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2024-07-26-city-js-singapore/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2024-08-13-singapore-js/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2024-10-19-javascript-bangkok/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2024-11-23-jsconfjp/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2024-11-26-ijs-singapore/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2024-11-27-ijs-singapore-panel/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2024-12-16-junior-developers-singapore/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2025-02-20-smu-hack/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2025-03-21-go-net-zero/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2025-06-13-junior-developers-singapore/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2025-07-12-google-io-extended-mientrung/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2025-08-28-ai-asia-building-beyond-borders/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2025-10-17-junior-developers-singapore/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2025-11-22-devfest-singapore/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/my-new-blog/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/es6-in-my-daily-life/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/es-6/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/java-script/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/resizing-header-on-scrolling/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/css/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/bootstrap/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/j-query/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/javascript-naming-convention/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/spinning-button-on-submit-jquery/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/mvc/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/asp.net-mvc-5-angular-webpack/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/webpack/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/angular/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/10k-stackoverflow/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/funny-recursion/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/debounce-throttle-combination/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/debounce/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/throttle/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/uncaught-type-error/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/angular-tips-avoid-import-rxjs/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/rx-js/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/the-myth-of-the-genius-programmer/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/handle-timezone-client-server/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/date-time/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/centering-in-css-horizontal-vertical/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/type-script/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/npm-update-package/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/npm/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/skiing-in-singapore/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/algorithm/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/angular-recursive-view-render/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/freeze-screen-debugger-chrome/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/chrome/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/cast-parse-json-object-to-typescript-class/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/angular-ngmodel-debounce/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/typescript-function-callback-type/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/error-handling-promise-async-await/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/restrict-null-and-undefined-via-non-nullable-types-in-typescript/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/angular-form-array-validate-at-least-one-checkbox-was-selected/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/limit-the-number-of-simultaneous-ajax-requests/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/angular-material-data-table-export-to-excel-file/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/angular-pipe-singular-plural/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/angular-async-validator/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/angular-cdk-drag-drop-list-table/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/angular-material/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/convert-csharp-class-to-typescript-class/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/c/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/lesson-learn-from-git-branches/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/git/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/angular-select-option-value-ngvalue/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/angular-common-memory-leak-use-case-observable/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/dark-theme-jekyll/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/jekyll/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/front-end-editorial-style-guide/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/style-guide/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/typescript-visitor-pattern-with-google-maps-api/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/javascript-closure/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/javascript-weird-parts/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/moving-away-from-github/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/github/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/npm-vs-bower-vs-browserify-vs-gulp-vs-grunt-vs-webpack/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/configure-tailwind-css-with-angular/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/tailwind-css/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/painful-gatsby-migration-v2/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/gatsby/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/react/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/angular-jira-clone/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/akita/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/jira-clone/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/open-source/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/angular-jira-clone-tutorial-00-prerequisites/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/angular-jira-clone-tutorial-01-planning-and-set-up/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/angular-tetris/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/regex-playground-super-expressive/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/regex/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/space-invaders-phaser-3/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/phaser/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/top-level-await/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/v-8/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/angular-jira-clone-tutorial-02-application-layout-tailwindcss-flex/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/angular-jira-clone-tutorial-03-akita-state-management/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/angular-jira-clone-tutorial-04-editable-textbox/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/kill-process-running-on-given-port-windows/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/windows/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/angular-jira-clone-tutorial-05-interactive-drag-and-drop-board/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/apply-types-to-entire-function-expressions-when-possible/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/effective-type-script/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/angular-jira-clone-tutorial-06-angular-markdown-text-editor/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/different-between-type-and-interface-typescript/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/use-async-functions-instead-of-callbacks-for-asynchronous-code/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/how-to-copy-an-object-from-the-chrome-inspector-console-as-code/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/how-to-iterate-over-objects-in-typescript/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/angular-jira-clone-tutorial-07-rich-text-editor/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/get-the-last-items-of-an-array-using-slice/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/angular-jira-clone-tutorial-08-angular-placeholder-loading/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/disable-a-reactive-form-control-using-custom-directive/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/angular-snow-effect/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/10-css-modern-layout/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/observable-for-angular-output/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/capture-webcam-picture-angular/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/migrate-angular-eslint/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/convert-promise-to-observable/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/unknown-vs-any/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/svg-fill-with-hex-color/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/nx-workspace-structure-angular-nestjs/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/angular-spotify/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/spotify/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/angular-singapore/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/singapore/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/angular-auto-set-page-title/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/cant-perform-react-state-update-on-an-unmounted-component/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/different-between-function-person/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/typescript-singly-linked-list/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/typescript-queue/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/typescript-stack/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/onerror-typescript/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/react-material-ui-dialog-position/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/css-div-jump-border/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/slick-layout-shift/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/react-reading-list/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/multiple-ng-content/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/bin-code-line-6-python-command-not-found/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/cannot-install-in-homebrew-on-arm-processor-in-intel-default-prefix/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/angular-accessibility-a11y/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/ngif-as/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/why-web-performance-matters-an-introduction/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/web-performance/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/angular-13-error-unknown-keyword-formatMinimum/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/focus-and-focus-visible/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/vscode-zsh-history/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/perceived-performance/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/prettier-prevent-html-closing-tag-new-line/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/nx-commands-output-color/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/nx-angular-15-migration/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/core-web-vitals/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/angular-augmenting-native-element/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/measuring-web-performance/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/web-performance-improve-fcp/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/angular-material-15-migration/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/next-bundle-analyzer-cant-resolve-child-process/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/vs-code-terminal-font/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/web-performance-improve-lcp/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/nx-angular-17-migration/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/view-transition-api-cross-document-navigation/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/web-performance-improve-cls/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/image-lazy-load/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/angular-view-transitions/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/gatsby-lazy-gif/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/notion-round-decimal/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/vscode-to-powerpoint/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/an-error-occurred-while-installing-pg-and-bundler-cannot-continue/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/web-performance-improve-inp/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/nvm-keeps-forgetting-node-version-in-new-vs-code-terminal-sessions-vscode-oh-my-zsh/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/typescript-is-operator-type-narrowing/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/gmail-filter-calendar-invite/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/error-9421-too-many-redirects-with-cloudflare-images/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/chrome-devtools-performance/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/stale-time-vs-gc-time-cache-time-in-react-query/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/netlify-redirects-vs-gatsby-redirects/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/bundle-install-could-not-find-mime-type-database-in-the-following-locations-rmagick/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/cursor-customize-sidebar-vscode-style/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/cursor/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/angular-signals-implementation/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/react-aria-component-slider-filled-background/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/validating-python-indentation/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/classname-naive-implementation/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/typescript-this-debounce/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/jira-clone-upgrade-angular-13-to-angular-20-part1-angular-14/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/jira-clone-upgrade-angular-13-to-angular-20-part2-angular-15/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/google-typescript-style-guide/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/ts-types-interface/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/about/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/community/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/analyze-webpack-bundle/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/angular-spotify-lyrics-agentic-coding/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/ai/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/claude/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2025-11-05-oredev-performance/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2025-11-06-oredev-css/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2025-11-16-jsconfjp/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2026-02-06-city-js-singapore/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/2024-11-06-stack-developer-conference/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/vscode-like-a-pro/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/ide/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/vs-code/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/fast-terminal-navigation-ai-agents/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/jira-clone-upgrade-angular-13-to-angular-20-part3-angular-16/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/jira-clone-upgrade-angular-13-to-angular-20-part4-angular-17/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/jira-clone-upgrade-angular-13-to-angular-20-part5-angular-18/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/jira-clone-upgrade-angular-13-to-angular-20-part6-angular-19/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/speed-up-zsh-startup-lazy-loading-nvm/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/fuzzy-search-everywhere-macos-fzf-fd/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/productivity/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/terminal/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/mac-os/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/jira-clone-upgrade-angular-13-to-angular-20-part7-angular-20/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/blog/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/chat/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/tags/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
<url> <loc>https://trungvose.com/talks/</loc> <changefreq>daily</changefreq> <priority>0.7</priority> </url>
</urlset>