<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://jesseliu.dev</loc>
<lastmod>2026-05-24T21:38:22.792Z</lastmod>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://jesseliu.dev/blog</loc>
<lastmod>2026-05-24T21:38:22.792Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://jesseliu.dev/privacy-policy</loc>
<lastmod>2026-05-24T21:38:22.792Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://jesseliu.dev/terms-of-service</loc>
<lastmod>2026-05-24T21:38:22.792Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://jesseliu.dev/zh</loc>
<lastmod>2026-05-24T21:38:22.792Z</lastmod>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://jesseliu.dev/zh/blog</loc>
<lastmod>2026-05-24T21:38:22.792Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://jesseliu.dev/zh/privacy-policy</loc>
<lastmod>2026-05-24T21:38:22.792Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://jesseliu.dev/zh/terms-of-service</loc>
<lastmod>2026-05-24T21:38:22.792Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://jesseliu.dev/blog/ai-agent-mcp-prompt</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/blog/api-rest-graphql-auth</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/blog/aws-ai-security-governance</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/blog/aws-cloud-foundations</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/blog/aws-compute-services</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/blog/aws-global-networking</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/blog/aws-lambda-containers-compute-options</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/blog/aws-pricing-support-well-architected</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/blog/aws-s3-ebs-efs-storage-classes</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/blog/aws-storage-database</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/blog/aws-vpc-connectivity-security-deep-dive</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/blog/big-data-hadoop-spark-hive</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/blog/database-sql-nosql</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/blog/git-github-actions-shell-docker-deep-dive</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/blog/nas-oa-permission-management</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/blog/networking-interview-notes</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/blog/node-express-nextjs-backend</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/blog/python-flask-notes</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/blog/react-nextjs-notes</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/blog/scraping-beautifulsoup-selenium</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/blog/scrapy-architecture-selectors</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/blog/software-engineering-devops</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/blog/testing-jest-supertest-mock</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/blog/testing-pytest-robot-playwright</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/blog/typescript-any-unknown-never</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/blog/typescript-control-flow-record-loops</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/blog/typescript-foundations</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/blog/typescript-functions-async</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/blog/typescript-interface-type-generics</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/blog/typescript-objects-record-classes</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/blog/typescript-types</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/zh/blog/ai-agent-mcp-prompt</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/zh/blog/api-rest-graphql-auth</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/zh/blog/aws-ai-security-governance</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/zh/blog/aws-cloud-foundations</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/zh/blog/aws-compute-services</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/zh/blog/aws-global-networking</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/zh/blog/aws-lambda-containers-compute-options</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/zh/blog/aws-pricing-support-well-architected</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/zh/blog/aws-s3-ebs-efs-storage-classes</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/zh/blog/aws-storage-database</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/zh/blog/aws-vpc-connectivity-security-deep-dive</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/zh/blog/big-data-hadoop-spark-hive</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/zh/blog/database-sql-nosql</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/zh/blog/git-github-actions-shell-docker-deep-dive</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/zh/blog/nas-oa-permission-management</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/zh/blog/networking-interview-notes</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/zh/blog/node-express-nextjs-backend</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/zh/blog/python-flask-notes</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/zh/blog/react-nextjs-notes</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/zh/blog/scraping-beautifulsoup-selenium</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/zh/blog/scrapy-architecture-selectors</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/zh/blog/software-engineering-devops</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/zh/blog/testing-jest-supertest-mock</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/zh/blog/testing-pytest-robot-playwright</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/zh/blog/typescript-any-unknown-never</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/zh/blog/typescript-control-flow-record-loops</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/zh/blog/typescript-foundations</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/zh/blog/typescript-functions-async</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/zh/blog/typescript-interface-type-generics</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/zh/blog/typescript-objects-record-classes</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://jesseliu.dev/zh/blog/typescript-types</loc>
<lastmod>2026-05-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
</urlset>
