<?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://yongliangliu.com/about</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/2025-spring-swe-reading</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/2x2-problem</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/all-contributors-cli-recognize-existing</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/apwp-1</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/archive</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/assert-with-retry</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/authors</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/brag-doc-2023</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/chatgpt-nextjs-server</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/cmark-1</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/code-not-working-checklist</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/coding-interview-prep</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/cross-abstraction-barrier-between-parent-child</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/cs2030-overview</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/cs2100-c-notes</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/cs2101</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/cs3216-the-last-lecture</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/data-race-pop-quiz-dave-cheney</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/data-visualization-with-highcharts</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/easy-vs-right</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/end-of-year-1</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/end-of-year-2-sem-2</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/end-of-year-3-sem-1</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/end-of-year-3-sem-2</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/explaining-java-optional</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/exploring-index-signature-in-typescript</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/financial-lessons</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/git-commands</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/go-data-race-atomic</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/go-defer-ordering</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/go-nil-pointer-dereference</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/go-race-detector</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/go-return-bool-or-error</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/go-setup-cheatsheet</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/golang-errors</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/hello-world-2020</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/intermediate-github-ci-workflow-walk-through</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/its-not-a-bug-but-a-feature</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/learn-to-recognize-code-smell</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/my-journey-into-open-source</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/on-keeping-task-descriptions-up-to-date</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/on-picking-the-right-tool</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/orbital-prep</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/page/10</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/page/11</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/page/12</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/page/13</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/page/14</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/page/15</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/page/16</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/page/17</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/page/18</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/page/19</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/page/2</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/page/20</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/page/21</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/page/22</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/page/23</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/page/24</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/page/3</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/page/4</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/page/5</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/page/6</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/page/7</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/page/8</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/page/9</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/painting-cats</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/path-finding-algo</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/pipeline-failures</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/prebound-sentinel-pattern-in-python</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/prove-graph-check-connected-evasive</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/prove-sorting-at-least-lgn</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/python-code-style-notes</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/ransomware-essay</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/react-hooks-notes</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/refactoringjs</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/repository-pattern-revisited</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/rmark</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/roofind</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/rust-drop-trait</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/software-problems-exceptions</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/book</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/brag</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/chatgpt</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/ci</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/cs</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/cs-3230</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/cs/page/2</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/cs/page/3</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/cs/page/4</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/debug</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/design</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/devops</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/finance</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/git</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/go</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/go/page/2</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/go/page/3</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/interview</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/java</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/jenkins</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/markdown</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/module-review</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/module-review/page/2</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/notes</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/nus</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/nus/page/2</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/on-the-job</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/oss</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/project</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/project/page/2</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/quality</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/random</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/react</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/review</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/rust</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/school</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/school/page/2</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/school/page/3</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/school/page/4</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/school/page/5</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/soc</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/soc/page/2</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/soc/page/3</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/soc/page/4</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/soc/page/5</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/software</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/software/page/2</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/swe</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/tauri</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/testing</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/thoughts</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/thoughts/page/2</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/thoughts/page/3</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/thoughts/page/4</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/thoughts/page/5</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/typescript</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/typescript/page/2</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/visualization</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/vscode</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/web</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/web/page/2</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tags/web/page/3</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/tauri-0</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/the-need-for-speed-web-dev</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/the-u-in-ux</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/thinking-in-react-reference</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/thoughts-on-teaching</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/typescript-generic-function-error</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/updating-state-with-useState-hook</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/useful-cs-mods-after-grad</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/vim-quick-reference</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/vscode-snippets</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/vue-component-starter-template</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/web-dev-interview-prep</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/with-credentials-git</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/wordpress-track-download</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/write-readable-and-consistent-functions</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/blog/year-2-sem-1</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/podcasts</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/projects</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/docs/bugs</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/docs/category/tutorial---basics</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/docs/category/tutorial---extras</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/docs/grammar</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/docs/tutorial-basics/congratulations</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/docs/tutorial-basics/create-a-blog-post</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/docs/tutorial-basics/create-a-document</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/docs/tutorial-basics/create-a-page</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/docs/tutorial-basics/deploy-your-site</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/docs/tutorial-basics/markdown-features</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/docs/tutorial-extras/manage-docs-versions</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/docs/tutorial-extras/translate-your-site</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://yongliangliu.com/</loc><changefreq>weekly</changefreq><priority>0.5</priority></url></urlset>