<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://blog.xudley.cn/</loc>
    <lastmod>2026-05-25T01:36:33Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/archive</loc>
    <lastmod>2026-05-25T01:36:33Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/tags</loc>
    <lastmod>2026-05-25T01:36:33Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/categories</loc>
    <lastmod>2026-05-25T01:36:33Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/about</loc>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/algo-01-01</loc>
    <lastmod>2026-05-23T14:07:32Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/algo-02-02</loc>
    <lastmod>2026-05-23T14:21:00Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/algo-03-03</loc>
    <lastmod>2026-05-23T14:26:21Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/algo-04-04</loc>
    <lastmod>2026-05-24T18:46:13Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/algo-05-05</loc>
    <lastmod>2026-05-24T18:44:51Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/algo-06-06</loc>
    <lastmod>2026-05-24T18:43:13Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/algo-07-07</loc>
    <lastmod>2026-05-24T18:41:51Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/algo-08-08</loc>
    <lastmod>2026-05-24T18:40:13Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/algo-09-09</loc>
    <lastmod>2026-05-24T18:38:35Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/algo-10-10</loc>
    <lastmod>2026-05-24T18:37:13Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/algo-11-11</loc>
    <lastmod>2026-05-24T18:35:32Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/algo-12-12</loc>
    <lastmod>2026-05-24T18:33:54Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/algo-13-13</loc>
    <lastmod>2026-05-24T18:30:59Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/algo-14-14</loc>
    <lastmod>2026-05-24T18:29:33Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/algo-15-15</loc>
    <lastmod>2026-05-24T18:28:01Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/algo-16-16trie</loc>
    <lastmod>2026-05-24T18:26:19Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/algo-17-17</loc>
    <lastmod>2026-05-24T18:24:42Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/algo-18-18</loc>
    <lastmod>2026-05-24T18:23:05Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/algo-19-19</loc>
    <lastmod>2026-05-24T18:21:26Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/algo-20-20</loc>
    <lastmod>2026-05-23T23:00:02Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/algo-21-21</loc>
    <lastmod>2026-05-24T18:20:04Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/algo-22-22</loc>
    <lastmod>2026-05-24T18:18:42Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/algo-23-23</loc>
    <lastmod>2026-05-24T18:17:03Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/algo-24-24</loc>
    <lastmod>2026-05-24T18:15:41Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/algo-25-25</loc>
    <lastmod>2026-05-24T18:14:02Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/algo-26-26</loc>
    <lastmod>2026-05-24T18:12:24Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/algo-27-27</loc>
    <lastmod>2026-05-24T18:11:00Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/algo-28-28</loc>
    <lastmod>2026-05-24T18:09:36Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/algo-29-29</loc>
    <lastmod>2026-05-24T18:07:55Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/algo-30-30</loc>
    <lastmod>2026-05-23T22:58:35Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/architecture-01-mvc</loc>
    <lastmod>2026-05-24T18:06:32Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/architecture-02-ddd</loc>
    <lastmod>2026-05-24T18:04:54Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/architecture-03-ddd-vs-mvc</loc>
    <lastmod>2026-05-24T18:02:41Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/architecture-04-repository</loc>
    <lastmod>2026-05-24T18:01:03Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/architecture-05-service</loc>
    <lastmod>2026-05-24T17:59:25Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/architecture-06-cqrs</loc>
    <lastmod>2026-05-24T17:58:02Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/architecture-07</loc>
    <lastmod>2026-05-24T17:54:56Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/architecture-08</loc>
    <lastmod>2026-05-24T17:49:34Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/architecture-09</loc>
    <lastmod>2026-05-24T17:47:56Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/architecture-10</loc>
    <lastmod>2026-05-24T17:44:41Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/blockchain-01-01</loc>
    <lastmod>2026-05-24T17:46:18Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/blockchain-02-02</loc>
    <lastmod>2026-05-24T17:43:05Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/blockchain-03-03pbftraft-pow</loc>
    <lastmod>2026-05-24T17:40:26Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/blockchain-04-04hyperledger-fabric-orderer</loc>
    <lastmod>2026-05-24T17:38:34Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/blockchain-05-05hyperledger-fabric-chaincode</loc>
    <lastmod>2026-05-24T17:36:42Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/blockchain-06-06fabric-msp</loc>
    <lastmod>2026-05-24T17:35:06Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/blockchain-07-07fisco-bcos</loc>
    <lastmod>2026-05-24T17:32:43Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/blockchain-08-08-private-data-collection</loc>
    <lastmod>2026-05-24T17:31:07Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/blockchain-09-09-bridgerelay-ibc</loc>
    <lastmod>2026-05-24T17:29:16Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/blockchain-10-10</loc>
    <lastmod>2026-05-24T17:27:40Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/blogbuild-01</loc>
    <lastmod>2026-05-23T14:02:39Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/blogbuild-02</loc>
    <lastmod>2026-05-23T15:32:03Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/blogbuild-03</loc>
    <lastmod>2026-05-23T15:03:49Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/blogbuild-04</loc>
    <lastmod>2026-05-23T17:12:36Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/blogbuild-05</loc>
    <lastmod>2026-05-23T14:34:53Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/blogbuild-06</loc>
    <lastmod>2026-05-23T14:40:59Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/blogbuild-07</loc>
    <lastmod>2026-05-21T16:31:58Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/blogbuild-08</loc>
    <lastmod>2026-05-23T17:04:12Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/blogbuild-09</loc>
    <lastmod>2026-05-23T16:32:48Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/books-01-01</loc>
    <lastmod>2026-05-24T17:25:15Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/books-02-02</loc>
    <lastmod>2026-05-24T17:23:39Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/books-03-03</loc>
    <lastmod>2026-05-24T17:20:14Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/books-04-041984</loc>
    <lastmod>2026-05-24T17:18:39Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/books-05-05</loc>
    <lastmod>2026-05-24T17:17:04Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/books-06-06</loc>
    <lastmod>2026-05-24T17:15:44Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/books-07-07</loc>
    <lastmod>2026-05-24T17:14:09Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/books-08-08</loc>
    <lastmod>2026-05-24T17:10:53Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/books-09-09</loc>
    <lastmod>2026-05-24T17:09:18Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/books-10-10</loc>
    <lastmod>2026-05-24T17:07:43Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/compiler-01-01</loc>
    <lastmod>2026-05-24T17:06:54Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/compiler-02-02-token</loc>
    <lastmod>2026-05-24T17:03:29Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/compiler-03-03-lllr</loc>
    <lastmod>2026-05-24T17:00:51Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/compiler-04-04-ast</loc>
    <lastmod>2026-05-24T16:59:00Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/compiler-05-05</loc>
    <lastmod>2026-05-24T16:55:09Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/cs-01</loc>
    <lastmod>2026-05-24T16:56:48Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/cs-02-linux</loc>
    <lastmod>2026-05-24T16:53:26Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/cs-03-linux-cfs-eevdf</loc>
    <lastmod>2026-05-25T01:36:33Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/cs-04-ositcpip</loc>
    <lastmod>2026-05-24T16:46:18Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/cs-05-http</loc>
    <lastmod>2026-05-24T16:44:38Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/cs-06-https-tls-web</loc>
    <lastmod>2026-05-24T16:42:59Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/cs-07</loc>
    <lastmod>2026-05-24T16:41:03Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/cs-08-cpu-alu</loc>
    <lastmod>2026-05-24T16:38:00Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/cs-09-risccisc</loc>
    <lastmod>2026-05-24T16:36:19Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/cs-10-tlb</loc>
    <lastmod>2026-05-24T16:34:24Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/cs-11-inode</loc>
    <lastmod>2026-05-24T16:32:27Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/cs-12-io-dma</loc>
    <lastmod>2026-05-24T16:30:41Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/cs-13-dns-cdn</loc>
    <lastmod>2026-05-24T16:28:39Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/cs-14-ip-cidr-ospfbgp</loc>
    <lastmod>2026-05-25T01:34:50Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/cs-15-nat</loc>
    <lastmod>2026-05-24T16:21:42Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/cs-16-websocket</loc>
    <lastmod>2026-05-24T16:18:26Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/cs-17-rest-grpc-http2-protobuf</loc>
    <lastmod>2026-05-24T16:16:45Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/cs-18-web-xsscsrfsql-cors</loc>
    <lastmod>2026-05-24T16:14:44Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/cs-19</loc>
    <lastmod>2026-05-24T16:11:23Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/cs-20-linux-forkexecpid-ipc</loc>
    <lastmod>2026-05-24T16:09:53Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/cs-21-linux-swap</loc>
    <lastmod>2026-05-24T16:06:18Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/cs-22-namespacecgroupdocker</loc>
    <lastmod>2026-05-24T16:04:24Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/cs-23-io</loc>
    <lastmod>2026-05-24T16:01:02Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/cs-24-tcpiphttp-dns</loc>
    <lastmod>2026-05-24T15:57:21Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/cs-25-cpu</loc>
    <lastmod>2026-05-24T15:55:30Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/cs-26-io-dma</loc>
    <lastmod>2026-05-24T15:53:36Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/cs-27-hazardforwarding-cpu</loc>
    <lastmod>2026-05-24T15:49:43Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/cs-28</loc>
    <lastmod>2026-05-24T15:47:52Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/cs-29</loc>
    <lastmod>2026-05-24T15:43:30Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/cs-30-mesi-amdahl</loc>
    <lastmod>2026-05-24T15:40:09Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/cs-31-cpimipsamdahl-benchmark</loc>
    <lastmod>2026-05-24T15:37:03Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/cs-32-smpnuma-simdmimd</loc>
    <lastmod>2026-05-21T07:43:36Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/cs-33-cpicache</loc>
    <lastmod>2026-05-24T15:30:08Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/cs-34-linux-namespacecgroup</loc>
    <lastmod>2026-05-24T15:28:18Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/cs-34-linux-namespacecgroup-dockerrunc-containerd</loc>
    <lastmod>2026-05-24T15:26:28Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/cs-35-io</loc>
    <lastmod>2026-05-24T15:22:56Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/cs-35-io-2</loc>
    <lastmod>2026-05-24T15:20:51Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/cs-36</loc>
    <lastmod>2026-05-25T01:31:28Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/cs-36-httptcpdns</loc>
    <lastmod>2026-05-24T15:08:14Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/database-01-01-mysql-b</loc>
    <lastmod>2026-05-24T14:54:59Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/database-02-02mysql</loc>
    <lastmod>2026-05-24T14:46:55Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/database-03-03-acid-mvccmysql</loc>
    <lastmod>2026-05-24T14:45:05Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/database-04-04mysql</loc>
    <lastmod>2026-05-24T14:43:15Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/database-05-05</loc>
    <lastmod>2026-05-24T14:41:40Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/database-06-06sql-explain</loc>
    <lastmod>2026-05-24T14:39:49Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/database-07-07</loc>
    <lastmod>2026-05-24T14:37:13Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/database-08-08</loc>
    <lastmod>2026-05-24T14:33:33Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/datascience-01-data-science-01-python-data-analysis-intro</loc>
    <lastmod>2026-05-24T15:09:49Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/datascience-02-data-science-02-pandas-basics-with-series-and-dataframe</loc>
    <lastmod>2026-05-24T15:04:47Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/datascience-03-data-science-03-advanced-pandas-with-groupby-merge-and-pivot</loc>
    <lastmod>2026-05-24T14:58:41Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/datascience-04-data-science-04-numpy-fundamentals-for-numerical-computing</loc>
    <lastmod>2026-05-24T14:49:00Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/designpatterns-01-01</loc>
    <lastmod>2026-05-24T14:35:23Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/designpatterns-02-02</loc>
    <lastmod>2026-05-24T14:31:43Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/designpatterns-03-03</loc>
    <lastmod>2026-05-24T14:29:53Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/designpatterns-04-04</loc>
    <lastmod>2026-05-24T14:28:03Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/designpatterns-05-05</loc>
    <lastmod>2026-05-24T14:25:58Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/designpatterns-06-06</loc>
    <lastmod>2026-05-24T14:23:54Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/designpatterns-07-07</loc>
    <lastmod>2026-05-24T14:22:03Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/designpatterns-08-08</loc>
    <lastmod>2026-05-24T14:18:08Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/designpatterns-09-09</loc>
    <lastmod>2026-05-24T14:16:02Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/designpatterns-10-10</loc>
    <lastmod>2026-05-24T14:14:12Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/devops-01-devops-01github-actions</loc>
    <lastmod>2026-05-24T14:12:37Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/devops-02-devops-02jenkins-pipeline</loc>
    <lastmod>2026-05-24T14:08:11Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/devops-03-devops-03argocd-gitops-git</loc>
    <lastmod>2026-05-24T14:06:06Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/devops-04-devops-04dockerfile</loc>
    <lastmod>2026-05-24T14:03:15Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/englishtech-01-english-tech-writing-01-welcome-to-my-blog-and-the-stack-beh</loc>
    <lastmod>2026-05-24T14:00:07Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/englishtech-02-english-tech-writing-02-why-i-reach-for-go-in-backend-develo</loc>
    <lastmod>2026-05-24T13:57:01Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/englishtech-03-english-tech-writing-03-my-first-real-impressions-of-vue-3-a</loc>
    <lastmod>2026-05-24T13:55:26Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/englishtech-04-english-tech-writing-04-docker-deployment-tips-that-make-go</loc>
    <lastmod>2026-05-24T13:53:36Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/englishtech-05-english-tech-writing-05-writing-git-commit-messages-that-are</loc>
    <lastmod>2026-05-24T13:50:10Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/fp-01-01</loc>
    <lastmod>2026-05-24T13:51:46Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/fp-02-02</loc>
    <lastmod>2026-05-24T13:48:34Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/fp-03-03</loc>
    <lastmod>2026-05-24T13:46:59Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/fp-04-04</loc>
    <lastmod>2026-05-24T13:42:18Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/frontendeng-01-01-javascript</loc>
    <lastmod>2026-05-24T13:44:08Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/frontendeng-02-02bundler</loc>
    <lastmod>2026-05-24T13:40:27Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/frontendeng-03-03tree-shaking</loc>
    <lastmod>2026-05-24T13:37:57Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/frontendeng-04-04code-splitting</loc>
    <lastmod>2026-05-24T13:34:32Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/frontendtech-01-01tailwind-css-v4</loc>
    <lastmod>2026-05-24T13:36:22Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/frontendtech-02-02eslint-prettier</loc>
    <lastmod>2026-05-24T13:32:57Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/frontendtech-03-03vite</loc>
    <lastmod>2026-05-24T13:30:51Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/frontendtech-04-04shiki</loc>
    <lastmod>2026-05-24T13:28:50Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/frontendtech-05-05-bundler</loc>
    <lastmod>2026-05-24T13:26:47Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/frontendtech-06-06postcss</loc>
    <lastmod>2026-05-24T13:24:48Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/frontendtech-07-07typescript</loc>
    <lastmod>2026-05-24T13:22:49Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/frontendtech-08-08-vitest</loc>
    <lastmod>2026-05-24T13:20:49Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/frontendtech-09-09</loc>
    <lastmod>2026-05-24T13:18:14Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/frontendtech-10-10-webpack-vite</loc>
    <lastmod>2026-05-24T13:16:32Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/gamedev-01-game-dev-01-update-render</loc>
    <lastmod>2026-05-24T13:14:22Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/gamedev-02-game-dev-022d-canvas-sdl</loc>
    <lastmod>2026-05-24T13:12:40Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/gamedev-03-game-dev-03</loc>
    <lastmod>2026-05-24T13:09:18Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/gamedev-04-game-dev-04</loc>
    <lastmod>2026-05-24T13:05:39Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/gamedev-05-game-dev-05</loc>
    <lastmod>2026-05-24T13:01:20Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/gitdeep-01-git-deep-01-git</loc>
    <lastmod>2026-05-24T12:59:21Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/gitdeep-02-git-deep-02-head-detached-head</loc>
    <lastmod>2026-05-24T12:57:38Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/gitdeep-03-git-deep-03rebase</loc>
    <lastmod>2026-05-24T12:55:56Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/gitdeep-04-git-deep-04-fast-forwardsquashno-ff</loc>
    <lastmod>2026-05-24T12:53:13Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-01-go-01</loc>
    <lastmod>2026-05-23T22:56:54Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-02-go-02</loc>
    <lastmod>2026-05-24T12:51:13Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-03-go-03</loc>
    <lastmod>2026-05-24T12:47:04Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-04-go-04</loc>
    <lastmod>2026-05-24T12:45:07Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-05-go-05</loc>
    <lastmod>2026-05-24T12:42:52Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-06-go-06</loc>
    <lastmod>2026-05-24T12:41:09Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-07-go-07</loc>
    <lastmod>2026-05-24T12:39:27Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-08-go-08map</loc>
    <lastmod>2026-05-24T12:36:35Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-09-go-09</loc>
    <lastmod>2026-05-24T12:38:18Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-10-go-10</loc>
    <lastmod>2026-05-24T12:34:37Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-11-go-11</loc>
    <lastmod>2026-05-24T12:32:38Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-12-go-12</loc>
    <lastmod>2026-05-24T12:30:55Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-13-go-13</loc>
    <lastmod>2026-05-24T12:27:50Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-14-go-14defer</loc>
    <lastmod>2026-05-24T12:26:07Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-15-go-15</loc>
    <lastmod>2026-05-24T12:24:08Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-16-go-16</loc>
    <lastmod>2026-05-24T12:22:08Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-17-go-17</loc>
    <lastmod>2026-05-24T12:20:26Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-18-go-18</loc>
    <lastmod>2026-05-24T12:18:27Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-19-go-19json</loc>
    <lastmod>2026-05-24T12:17:01Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-20-go-20</loc>
    <lastmod>2026-05-24T12:15:18Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-21-go-21goroutine</loc>
    <lastmod>2026-05-24T12:13:24Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-22-go-22channel</loc>
    <lastmod>2026-05-24T12:11:41Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-23-go-23select</loc>
    <lastmod>2026-05-24T12:09:58Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-24-go-24waitgroup</loc>
    <lastmod>2026-05-24T12:08:32Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-25-go-25-mutex</loc>
    <lastmod>2026-05-24T12:07:06Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-26-go-26context</loc>
    <lastmod>2026-05-24T12:05:39Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-27-go-27worker-pool</loc>
    <lastmod>2026-05-24T12:03:07Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-28-go-28</loc>
    <lastmod>2026-05-24T12:01:41Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-29-go-29</loc>
    <lastmod>2026-05-24T11:59:59Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-30-go-30</loc>
    <lastmod>2026-05-24T11:58:16Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-31-go-31http</loc>
    <lastmod>2026-05-24T11:56:34Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-32-go-32http</loc>
    <lastmod>2026-05-24T11:54:34Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-33-go-33rest-api</loc>
    <lastmod>2026-05-24T11:52:52Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-34-go-34gin</loc>
    <lastmod>2026-05-24T11:50:52Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-35-go-35gorm</loc>
    <lastmod>2026-05-24T11:49:27Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-36-go-36sqlite</loc>
    <lastmod>2026-05-24T11:47:45Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-37-go-37</loc>
    <lastmod>2026-05-24T11:46:03Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-38-go-38jwt</loc>
    <lastmod>2026-05-24T11:44:21Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-39-go-39-cobra-cli</loc>
    <lastmod>2026-05-24T11:42:39Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-40-go-40</loc>
    <lastmod>2026-05-24T11:40:56Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-41-go-41cobra-cli</loc>
    <lastmod>2026-05-24T11:37:23Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-42-go-42</loc>
    <lastmod>2026-05-24T11:39:03Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-43-go-43</loc>
    <lastmod>2026-05-25T01:29:43Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-44-go-44docker</loc>
    <lastmod>2026-05-24T11:35:57Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-45-go-45cicd</loc>
    <lastmod>2026-05-24T11:33:58Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-46-go-46</loc>
    <lastmod>2026-05-24T11:32:16Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-47-go-47</loc>
    <lastmod>2026-05-24T11:28:03Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-48-go-48</loc>
    <lastmod>2026-05-24T11:26:36Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-49-go-49</loc>
    <lastmod>2026-05-24T11:24:38Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/go-50-go-50</loc>
    <lastmod>2026-05-24T11:22:57Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/goframeworks-01-gin</loc>
    <lastmod>2026-05-24T11:21:32Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/goframeworks-02-fiber-echo</loc>
    <lastmod>2026-05-24T11:19:49Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/goframeworks-03-go-web</loc>
    <lastmod>2026-05-24T11:18:14Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/goframeworks-04-gin</loc>
    <lastmod>2026-05-24T11:16:16Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/goframeworks-05-gin</loc>
    <lastmod>2026-05-24T11:14:34Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/goframeworks-06-gin</loc>
    <lastmod>2026-05-24T11:12:52Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/goframeworks-07-go-kit</loc>
    <lastmod>2026-05-24T11:11:09Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/goframeworks-08-wire</loc>
    <lastmod>2026-05-24T11:09:10Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/goframeworks-09-ent-orm</loc>
    <lastmod>2026-05-24T11:07:11Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/goframeworks-10-gorm</loc>
    <lastmod>2026-05-24T11:03:46Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/graphql-01-graphql-01-schema-graphql</loc>
    <lastmod>2026-05-24T11:05:29Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/graphql-02-graphql-02query-mutation</loc>
    <lastmod>2026-05-24T11:02:04Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/graphql-03-graphql-03resolver</loc>
    <lastmod>2026-05-24T10:59:55Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/graphql-04-graphql-04-apollo-server</loc>
    <lastmod>2026-05-24T10:58:13Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/guitar-01-01</loc>
    <lastmod>2026-05-23T22:55:28Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/guitar-02-02-caged</loc>
    <lastmod>2026-05-24T10:56:30Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/guitar-03-03</loc>
    <lastmod>2026-05-24T10:54:49Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/guitar-04-04f-bm</loc>
    <lastmod>2026-05-24T10:53:23Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/guitar-05-05f-bm</loc>
    <lastmod>2026-05-24T10:51:41Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/guitar-06-06</loc>
    <lastmod>2026-05-24T10:49:43Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/guitar-07-07</loc>
    <lastmod>2026-05-24T10:48:04Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/guitar-08-08</loc>
    <lastmod>2026-05-24T10:46:04Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/guitar-09-09</loc>
    <lastmod>2026-05-24T10:44:23Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/guitar-10-10</loc>
    <lastmod>2026-05-24T10:42:59Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/iot-01-iot-01</loc>
    <lastmod>2026-05-24T10:41:18Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/iot-02-iot-02</loc>
    <lastmod>2026-05-24T10:39:04Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/iot-03-iot-03mqtt</loc>
    <lastmod>2026-05-25T01:27:45Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/iot-04-iot-04aws-iot-iot</loc>
    <lastmod>2026-05-24T10:32:12Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/iot-05-iot-05</loc>
    <lastmod>2026-05-24T10:30:13Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-01-java-01-java</loc>
    <lastmod>2026-05-24T10:26:51Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-02-java-02</loc>
    <lastmod>2026-05-24T10:24:52Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-03-java-03</loc>
    <lastmod>2026-05-24T10:22:54Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-04-java-04</loc>
    <lastmod>2026-05-24T10:20:55Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-05-java-05</loc>
    <lastmod>2026-05-24T10:19:02Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-06-java-06</loc>
    <lastmod>2026-05-24T10:17:04Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-07-java-07</loc>
    <lastmod>2026-05-24T10:15:38Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-08-java-08</loc>
    <lastmod>2026-05-24T10:13:56Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-09-java-09</loc>
    <lastmod>2026-05-24T10:10:19Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-10-java-10</loc>
    <lastmod>2026-05-24T10:12:16Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-11-java-11</loc>
    <lastmod>2026-05-24T10:08:21Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-12-java-12</loc>
    <lastmod>2026-05-24T10:04:46Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-13-java-13</loc>
    <lastmod>2026-05-24T10:02:51Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-14-java-14</loc>
    <lastmod>2026-05-24T10:01:08Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-15-java-15static</loc>
    <lastmod>2026-05-24T09:58:19Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-16-java-16final</loc>
    <lastmod>2026-05-24T09:56:36Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-17-java-17</loc>
    <lastmod>2026-05-24T09:54:40Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-18-java-18</loc>
    <lastmod>2026-05-24T09:52:57Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-19-java-19</loc>
    <lastmod>2026-05-24T09:51:15Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-20-java-20list</loc>
    <lastmod>2026-05-24T09:47:51Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-21-java-21map</loc>
    <lastmod>2026-05-24T09:49:33Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-22-java-22stream-api</loc>
    <lastmod>2026-05-24T09:46:09Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-23-java-23lambda</loc>
    <lastmod>2026-05-24T09:44:11Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-24-java-24optional</loc>
    <lastmod>2026-05-24T09:40:37Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-25-java-25io</loc>
    <lastmod>2026-05-24T09:42:29Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-26-java-26nio</loc>
    <lastmod>2026-05-24T09:38:55Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-27-java-27</loc>
    <lastmod>2026-05-24T09:37:13Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-28-java-28executor</loc>
    <lastmod>2026-05-24T09:35:30Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-29-java-29completablefuture</loc>
    <lastmod>2026-05-24T09:33:47Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-30-java-30</loc>
    <lastmod>2026-05-24T09:30:22Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-31-java-31completablefuture</loc>
    <lastmod>2026-05-24T09:28:40Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-32-java-32</loc>
    <lastmod>2026-05-24T09:26:58Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-33-java-33jdbc-java</loc>
    <lastmod>2026-05-24T09:23:17Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-34-java-34spring-boot-java</loc>
    <lastmod>2026-05-24T09:25:00Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-35-java-35</loc>
    <lastmod>2026-05-24T09:20:59Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-36-java-36rest-controller-java-http</loc>
    <lastmod>2026-05-24T09:19:19Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-37-java-37spring-data-jpa</loc>
    <lastmod>2026-05-24T09:14:32Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-38-java-38spring-security</loc>
    <lastmod>2026-05-24T09:13:06Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-39-java-39spring</loc>
    <lastmod>2026-05-24T09:11:23Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-40-java-40maven-java</loc>
    <lastmod>2026-05-24T09:09:24Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-41-java-41gradle</loc>
    <lastmod>2026-05-24T09:04:03Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-42-java-42junit-java</loc>
    <lastmod>2026-05-24T09:05:46Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-43-java-43mockito</loc>
    <lastmod>2026-05-24T08:59:51Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-44-java-44</loc>
    <lastmod>2026-05-24T08:56:45Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-45-java-45jackson-json</loc>
    <lastmod>2026-05-24T08:51:27Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-46-java-46docker-java</loc>
    <lastmod>2026-05-24T08:49:43Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-47-java-47jvm</loc>
    <lastmod>2026-05-24T08:47:35Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-48-java-48</loc>
    <lastmod>2026-05-24T08:45:53Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-49-java-49clean-code</loc>
    <lastmod>2026-05-24T08:42:12Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/java-50-java-50java</loc>
    <lastmod>2026-05-24T08:44:10Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/kubernetes-8-kubernetes-01-k8s</loc>
    <lastmod>2026-05-24T08:40:31Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/kubernetes-8-kubernetes-02pod</loc>
    <lastmod>2026-05-24T08:39:05Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/kubernetes-8-kubernetes-03deployment-replicaset</loc>
    <lastmod>2026-05-24T08:36:02Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/kubernetes-8-kubernetes-04service</loc>
    <lastmod>2026-05-24T08:32:43Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/kubernetes-8-kubernetes-05configmap-secret</loc>
    <lastmod>2026-05-21T07:43:39Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/kubernetes-8-kubernetes-06ingress-ingress-controller</loc>
    <lastmod>2026-05-24T08:30:27Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/kubernetes-8-kubernetes-07helm-chartvalues-template</loc>
    <lastmod>2026-05-24T08:28:45Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/kubernetes-8-kubernetes-08-prometheusgrafana-efk</loc>
    <lastmod>2026-05-24T08:26:14Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/linux-01-docker</loc>
    <lastmod>2026-05-24T08:22:52Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/linux-01-linux</loc>
    <lastmod>2026-05-24T08:10:39Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/linux-02-docker</loc>
    <lastmod>2026-05-24T08:21:27Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/linux-02-linux</loc>
    <lastmod>2026-05-24T08:08:55Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/linux-03-docker-compose</loc>
    <lastmod>2026-05-24T08:19:44Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/linux-03-linux</loc>
    <lastmod>2026-05-24T08:07:04Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/linux-04-docker</loc>
    <lastmod>2026-05-24T08:15:45Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/linux-04-linux</loc>
    <lastmod>2026-05-24T08:04:14Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/linux-05-docker</loc>
    <lastmod>2026-05-24T08:14:02Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/linux-05-linux</loc>
    <lastmod>2026-05-24T08:02:47Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/linux-06-docker-rootless</loc>
    <lastmod>2026-05-24T08:12:20Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/linux-06-systemd</loc>
    <lastmod>2026-05-24T08:01:09Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/linux-07-linux</loc>
    <lastmod>2026-05-24T07:59:32Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/linux-08-ssh</loc>
    <lastmod>2026-05-24T07:57:33Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/linux-09-shell</loc>
    <lastmod>2026-05-24T07:55:19Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/linux-10-ecs</loc>
    <lastmod>2026-05-24T07:49:50Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/llm-01-llmagent-01llm</loc>
    <lastmod>2026-05-24T07:53:43Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/llm-02-llmagent-02prompt-engineering</loc>
    <lastmod>2026-05-24T07:46:59Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/llm-03-llmagent-03rag</loc>
    <lastmod>2026-05-24T07:45:16Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/llm-04-llmagent-04ai-agent</loc>
    <lastmod>2026-05-24T07:42:11Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/llm-05-llmagent-05agent</loc>
    <lastmod>2026-05-24T07:40:28Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/llm-06-llmagent-06memory-context</loc>
    <lastmod>2026-05-24T07:38:29Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/llm-07-llmagent-07langchain</loc>
    <lastmod>2026-05-24T07:36:47Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/llm-08-llmagent-08langgraph</loc>
    <lastmod>2026-05-25T01:24:08Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/llm-09-llmagent-09-agent</loc>
    <lastmod>2026-05-25T01:22:27Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/llm-10-llmagent-10mcp</loc>
    <lastmod>2026-05-25T01:20:45Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/microservices-01-01</loc>
    <lastmod>2026-05-24T07:33:07Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/microservices-02-02</loc>
    <lastmod>2026-05-24T07:31:08Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/microservices-03-03-http</loc>
    <lastmod>2026-05-24T07:29:42Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/microservices-04-04</loc>
    <lastmod>2026-05-24T07:26:18Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/mobile-01-mobile-dev-01-flutter-introduction-and-core-widgets</loc>
    <lastmod>2026-05-24T07:27:44Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/mobile-02-mobile-dev-02-flutter-state-management</loc>
    <lastmod>2026-05-24T07:24:25Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/mobile-03-mobile-dev-03-flutter-navigation-and-routing</loc>
    <lastmod>2026-05-24T07:20:48Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/mobile-04-mobile-dev-04-flutter-http-and-networking</loc>
    <lastmod>2026-05-24T07:16:02Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/movies-01-01</loc>
    <lastmod>2026-05-24T07:19:22Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/movies-02-02</loc>
    <lastmod>2026-05-24T07:14:36Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/movies-03-03</loc>
    <lastmod>2026-05-24T07:12:52Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/movies-04-04</loc>
    <lastmod>2026-05-24T07:11:10Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/movies-05-05</loc>
    <lastmod>2026-05-24T07:08:39Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/movies-06-06</loc>
    <lastmod>2026-05-24T07:06:57Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/movies-07-07</loc>
    <lastmod>2026-05-24T07:05:31Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/movies-08-08</loc>
    <lastmod>2026-05-24T07:01:38Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/movies-09-09</loc>
    <lastmod>2026-05-24T06:59:57Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/movies-10-10</loc>
    <lastmod>2026-05-24T06:56:21Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/musictheory-01-01</loc>
    <lastmod>2026-05-24T06:52:47Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/musictheory-02-02</loc>
    <lastmod>2026-05-24T06:51:05Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/musictheory-03-03</loc>
    <lastmod>2026-05-24T06:49:24Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/musictheory-04-04</loc>
    <lastmod>2026-05-24T06:47:43Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/musictheory-05-05</loc>
    <lastmod>2026-05-24T06:46:01Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/musictheory-06-06</loc>
    <lastmod>2026-05-24T06:44:19Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/musictheory-07-07</loc>
    <lastmod>2026-05-24T06:42:21Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/musictheory-08-08-swing</loc>
    <lastmod>2026-05-24T06:40:28Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/musictheory-09-09</loc>
    <lastmod>2026-05-24T06:38:47Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/musictheory-10-10</loc>
    <lastmod>2026-05-24T06:35:40Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/mybatisplus-01-mybatis-plus-01</loc>
    <lastmod>2026-05-24T06:37:21Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/mybatisplus-02-mybatis-plus-02-crud</loc>
    <lastmod>2026-05-24T06:33:58Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/mybatisplus-03-mybatis-plus-03</loc>
    <lastmod>2026-05-24T06:31:08Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/mybatisplus-04-mybatis-plus-04-sql-sql</loc>
    <lastmod>2026-05-24T06:29:25Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/mybatisplus-05-mybatis-plus-05</loc>
    <lastmod>2026-05-24T06:27:43Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/mybatisplus-06-mybatis-plus-06</loc>
    <lastmod>2026-05-24T06:26:02Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/mybatisplus-07-mybatis-plus-07</loc>
    <lastmod>2026-05-24T06:24:03Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/mybatisplus-08-mybatis-plus-08</loc>
    <lastmod>2026-05-24T06:22:04Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/mybatisplus-09-mybatis-plus-09-sql-basemapper</loc>
    <lastmod>2026-05-24T06:20:21Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/mybatisplus-10-mybatis-plus-10typehandler</loc>
    <lastmod>2026-05-24T06:17:22Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/neovim-01-why-neovim</loc>
    <lastmod>2026-05-23T23:43:07Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/neovim-02-installation</loc>
    <lastmod>2026-05-25T00:46:57Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/neovim-03-basics-motion</loc>
    <lastmod>2026-05-23T23:34:52Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/neovim-04-basics-editing</loc>
    <lastmod>2026-05-23T23:33:12Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/neovim-05-init-lua</loc>
    <lastmod>2026-05-23T23:31:36Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/neovim-06-options</loc>
    <lastmod>2026-05-23T23:18:17Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/neovim-07-keymaps</loc>
    <lastmod>2026-05-23T23:16:53Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/neovim-08-autocmds</loc>
    <lastmod>2026-05-23T23:14:57Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/neovim-09-lazy-nvim</loc>
    <lastmod>2026-05-23T23:13:32Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/neovim-10-lazyvim</loc>
    <lastmod>2026-05-23T23:12:07Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/neovim-11-custom-config</loc>
    <lastmod>2026-05-23T23:10:44Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/neovim-12-lsp-intro</loc>
    <lastmod>2026-05-23T23:08:28Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/neovim-13-completion</loc>
    <lastmod>2026-05-23T23:04:38Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/neovim-14-format-lint</loc>
    <lastmod>2026-05-23T23:02:55Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/neovim-15-mason</loc>
    <lastmod>2026-05-23T23:01:29Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/neovim-16-treesitter</loc>
    <lastmod>2026-05-23T17:24:49Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/neovim-17-textobjects</loc>
    <lastmod>2026-05-23T17:23:11Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/neovim-18-telescope</loc>
    <lastmod>2026-05-23T17:21:32Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/neovim-19-quickfix</loc>
    <lastmod>2026-05-23T17:19:53Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/neovim-20-file-manager</loc>
    <lastmod>2026-05-23T17:18:04Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/neovim-21-gitsigns</loc>
    <lastmod>2026-05-23T17:16:25Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/neovim-22-git-workflow</loc>
    <lastmod>2026-05-23T17:14:30Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/neovim-23-colorschemes</loc>
    <lastmod>2026-05-23T17:09:23Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/neovim-24-statusline</loc>
    <lastmod>2026-05-23T17:07:46Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/neovim-25-notifications</loc>
    <lastmod>2026-05-23T14:38:34Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/neovim-26-go-dev</loc>
    <lastmod>2026-05-23T17:06:07Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/neovim-27-multi-lang</loc>
    <lastmod>2026-05-23T15:01:40Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/neovim-28-notes</loc>
    <lastmod>2026-05-23T14:55:59Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/neovim-29-performance</loc>
    <lastmod>2026-05-23T14:54:21Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/neovim-30-star-config</loc>
    <lastmod>2026-05-23T14:33:01Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/nestjs-01-nestjs-01-typescript-nestjs</loc>
    <lastmod>2026-05-24T06:15:40Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/nestjs-02-nestjs-02controllers</loc>
    <lastmod>2026-05-24T06:13:58Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/nestjs-03-nestjs-03providers-modules</loc>
    <lastmod>2026-05-24T06:12:00Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/nestjs-04-nestjs-04middleware-guards</loc>
    <lastmod>2026-05-24T06:10:38Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/nextjsfullstack-01-nextjs-01app-router-ui</loc>
    <lastmod>2026-05-24T06:07:48Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/nextjsfullstack-02-nextjs-02</loc>
    <lastmod>2026-05-24T06:04:57Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/nextjsfullstack-03-nextjs-03-api</loc>
    <lastmod>2026-05-24T06:03:27Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/nextjsfullstack-04-nextjs-04server-actions</loc>
    <lastmod>2026-05-24T05:58:26Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/openclaw-01-openclaw-ai</loc>
    <lastmod>2026-05-24T06:00:27Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/openclaw-02-openclaw</loc>
    <lastmod>2026-05-24T05:57:00Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/openclaw-03-gateway-agent</loc>
    <lastmod>2026-05-24T05:55:33Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/openclaw-04-telegramwhatsappsignal</loc>
    <lastmod>2026-05-24T05:53:49Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/openclaw-05-agent-skills</loc>
    <lastmod>2026-05-24T05:52:05Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/openclaw-06-webchat-control-ui</loc>
    <lastmod>2026-05-24T05:50:04Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/openclaw-07-acpx-copilot-cli</loc>
    <lastmod>2026-05-24T05:48:22Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/openclaw-08-openclaw</loc>
    <lastmod>2026-05-24T05:46:06Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/openclaw-09-openclaw-memorymd</loc>
    <lastmod>2026-05-24T05:44:24Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/openclaw-10-wsl2-openclaw</loc>
    <lastmod>2026-05-24T05:42:41Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/openclaw-11-openclaw</loc>
    <lastmod>2026-05-24T05:40:58Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/performance-01-01</loc>
    <lastmod>2026-05-24T05:39:31Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/performance-02-02core-web-vitals</loc>
    <lastmod>2026-05-24T05:37:47Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/performance-03-03lighthouse</loc>
    <lastmod>2026-05-24T05:36:06Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/performance-04-04javascript</loc>
    <lastmod>2026-05-24T05:34:24Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/pythonbackend-01-python-01fastapi</loc>
    <lastmod>2026-05-24T05:32:43Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/pythonbackend-02-python-02flask</loc>
    <lastmod>2026-05-24T05:31:18Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/pythonbackend-03-python-03django</loc>
    <lastmod>2026-05-24T05:29:20Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/pythonbackend-04-python-04fastapi</loc>
    <lastmod>2026-05-24T05:27:05Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/pythonbackend-05-python-05flask</loc>
    <lastmod>2026-05-24T05:25:28Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/pythonbackend-06-python-06django</loc>
    <lastmod>2026-05-24T05:19:05Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/pythonbackend-07-python-07fastapi-sqlalchemy-20</loc>
    <lastmod>2026-05-24T05:15:29Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/pythonbackend-08-python-08fastapi-redis</loc>
    <lastmod>2026-05-24T05:13:48Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/pythonbackend-09-python-09fastapi-celery</loc>
    <lastmod>2026-05-24T05:12:02Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/pythonbackend-10-python-10fastapi-websocket</loc>
    <lastmod>2026-05-24T05:10:36Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-01-react-01react</loc>
    <lastmod>2026-05-24T13:24:41Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-02-react-02</loc>
    <lastmod>2026-05-24T13:28:35Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-03-react-03jsx</loc>
    <lastmod>2026-05-24T05:05:20Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-04-react-04</loc>
    <lastmod>2026-05-24T05:03:54Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-05-react-05props</loc>
    <lastmod>2026-05-24T05:02:13Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-06-react-06-usestate</loc>
    <lastmod>2026-05-24T04:59:05Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-07-react-07-syntheticevent</loc>
    <lastmod>2026-05-24T05:00:31Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-08-react-08</loc>
    <lastmod>2026-05-24T04:52:55Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-09-react-09-key</loc>
    <lastmod>2026-05-24T04:57:25Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-10-react-10</loc>
    <lastmod>2026-05-24T04:51:13Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-11-react-11useeffect</loc>
    <lastmod>2026-05-24T04:49:47Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-12-react-12userefdom-forwardref</loc>
    <lastmod>2026-05-25T01:19:18Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-13-react-13usememo-usecallback</loc>
    <lastmod>2026-05-24T04:43:08Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-14-react-14context-api</loc>
    <lastmod>2026-05-24T04:41:25Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-15-react-15usereducer</loc>
    <lastmod>2026-05-24T04:38:02Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-16-react-16-hooks</loc>
    <lastmod>2026-05-24T04:39:58Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-17-react-17react-router</loc>
    <lastmod>2026-05-24T04:36:20Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-18-react-18</loc>
    <lastmod>2026-05-24T04:34:53Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-19-react-19</loc>
    <lastmod>2026-05-24T04:33:10Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-20-react-20redux-toolkit</loc>
    <lastmod>2026-05-24T04:31:28Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-21-react-21zustand</loc>
    <lastmod>2026-05-24T04:30:02Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-22-react-22react</loc>
    <lastmod>2026-05-24T04:28:35Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-23-react-23</loc>
    <lastmod>2026-05-24T04:25:03Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-24-react-24</loc>
    <lastmod>2026-05-24T04:20:14Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-25-react-25portal-ui</loc>
    <lastmod>2026-05-24T04:21:57Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-26-react-26suspense</loc>
    <lastmod>2026-05-24T04:18:48Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-27-react-27</loc>
    <lastmod>2026-05-24T04:17:07Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-28-react-28react-typescript</loc>
    <lastmod>2026-05-24T04:15:25Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-29-react-29react</loc>
    <lastmod>2026-05-24T04:13:43Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-30-react-30</loc>
    <lastmod>2026-05-24T04:12:01Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-31-react-31e2e</loc>
    <lastmod>2026-05-24T04:10:18Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-32-react-32react</loc>
    <lastmod>2026-05-24T04:08:51Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-33-react-33virtual-dom-fiber</loc>
    <lastmod>2026-05-24T04:06:51Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-34-react-34react-18</loc>
    <lastmod>2026-05-24T04:03:59Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-35-react-35react-19</loc>
    <lastmod>2026-05-24T04:05:25Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-36-react-36nextjs</loc>
    <lastmod>2026-05-24T04:02:06Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-37-react-37server-components-react</loc>
    <lastmod>2026-05-24T04:00:07Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-38-react-38nextjs-api-routesmiddleware-edge</loc>
    <lastmod>2026-05-24T03:58:09Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-39-react-39nextjs</loc>
    <lastmod>2026-05-24T03:56:26Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-40-react-40nextjs</loc>
    <lastmod>2026-05-24T03:54:45Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-41-react-41nextjs</loc>
    <lastmod>2026-05-24T03:52:47Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-42-react-42react-native</loc>
    <lastmod>2026-05-24T03:51:06Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-43-react-43react</loc>
    <lastmod>2026-05-24T03:49:25Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-44-react-44</loc>
    <lastmod>2026-05-24T03:46:18Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-45-react-45</loc>
    <lastmod>2026-05-24T03:48:01Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-46-react-46react-websocket</loc>
    <lastmod>2026-05-24T03:44:01Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-47-react-47react</loc>
    <lastmod>2026-05-24T03:42:08Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-48-react-48react</loc>
    <lastmod>2026-05-24T03:37:42Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-49-react-49</loc>
    <lastmod>2026-05-24T03:36:00Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/react-50-react-50</loc>
    <lastmod>2026-05-24T03:34:35Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/regex-01-regex-01</loc>
    <lastmod>2026-05-24T03:32:52Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/regex-02-regex-02</loc>
    <lastmod>2026-05-24T03:30:08Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/regex-03-regex-03</loc>
    <lastmod>2026-05-24T03:28:26Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/regex-04-regex-04</loc>
    <lastmod>2026-05-24T03:26:44Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/rust-01-rust-01-introduction-toolchain-setup-and-your-first-program</loc>
    <lastmod>2026-05-24T03:25:18Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/rust-02-rust-02-variables-mutability-and-core-data-types</loc>
    <lastmod>2026-05-24T03:22:00Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/rust-03-rust-03-understanding-ownership-without-fear</loc>
    <lastmod>2026-05-24T03:20:21Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/rust-04-rust-04-borrowing-references-and-the-rules-that-keep-data-sa</loc>
    <lastmod>2026-05-24T03:18:23Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/rust-05-rust-05-ownership-and-borrowing-a-deeper-mental-model</loc>
    <lastmod>2026-05-24T03:16:40Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/rust-06-rust-06-lifetimes-elision-rules-and-references-in-structs</loc>
    <lastmod>2026-05-24T03:15:14Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/rust-07-rust-07-structs-enums-and-methods-for-modeling-data</loc>
    <lastmod>2026-05-24T03:13:48Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/rust-08-rust-08-traits-generics-and-reusable-abstractions</loc>
    <lastmod>2026-05-24T03:10:09Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/security-01-web-security-01-owasp-top-10-overview-and-how-to-use-it</loc>
    <lastmod>2026-05-25T01:17:53Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/security-02-web-security-02-xss-deep-dive-how-cross-site-scripting-rea</loc>
    <lastmod>2026-05-25T01:16:12Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/security-03-web-security-03-csrf-protection-defending-against-unwanted</loc>
    <lastmod>2026-05-25T01:14:19Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/security-04-web-security-04-sql-injection-prevention-keeping-data-sepa</loc>
    <lastmod>2026-05-25T01:12:45Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/security-05-web-security-05-https-ssltls</loc>
    <lastmod>2026-05-25T01:11:03Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/security-06-web-security-06-cors</loc>
    <lastmod>2026-05-25T01:09:06Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/security-07-web-security-07-oauth-20-authorization-codeimplicit</loc>
    <lastmod>2026-05-25T01:06:53Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/security-08-web-security-08-csphsts-x-frame-options</loc>
    <lastmod>2026-05-25T01:04:55Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/springboot-01-spring-boot</loc>
    <lastmod>2026-05-25T01:03:14Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/springboot-02-rest-api</loc>
    <lastmod>2026-05-25T01:01:38Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/springboot-03</loc>
    <lastmod>2026-05-25T00:53:56Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/springboot-04</loc>
    <lastmod>2026-05-25T00:55:41Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/springboot-05</loc>
    <lastmod>2026-05-25T00:49:46Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/springboot-06</loc>
    <lastmod>2026-05-24T02:56:22Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/springboot-07-redis-cacheable</loc>
    <lastmod>2026-05-24T02:53:20Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/springboot-08-scheduled-quartz</loc>
    <lastmod>2026-05-24T02:51:28Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/springboot-09-rabbitmq-rabbitlistener</loc>
    <lastmod>2026-05-24T02:50:02Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/springboot-10</loc>
    <lastmod>2026-05-24T02:48:34Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/springcloud-01-spring-cloud-01-spring-cloud</loc>
    <lastmod>2026-05-24T02:46:50Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/springcloud-02-spring-cloud-02nacos</loc>
    <lastmod>2026-05-24T02:44:50Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/springcloud-03-spring-cloud-03spring-cloud-gateway</loc>
    <lastmod>2026-05-24T02:43:23Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/springcloud-04-spring-cloud-04openfeign</loc>
    <lastmod>2026-05-24T02:41:56Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/springcloud-05-spring-cloud-05sentinel</loc>
    <lastmod>2026-05-24T02:39:06Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/springcloud-06-spring-cloud-06seata</loc>
    <lastmod>2026-05-24T02:37:39Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/springcloud-07-spring-cloud-07nacos</loc>
    <lastmod>2026-05-24T02:35:05Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/springcloud-08-spring-cloud-08gateway</loc>
    <lastmod>2026-05-24T02:33:39Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/springcloud-09-spring-cloud-09feign</loc>
    <lastmod>2026-05-24T02:32:02Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/springcloud-10-spring-cloud-10sentinel</loc>
    <lastmod>2026-05-24T02:30:20Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/swe-01-01-git</loc>
    <lastmod>2026-05-24T02:27:28Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/swe-01-software-engineering-01-git-branching-strategies</loc>
    <lastmod>2026-05-24T02:28:55Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/swe-02-02</loc>
    <lastmod>2026-05-24T02:24:36Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/swe-02-software-engineering-02-code-review-best-practices</loc>
    <lastmod>2026-05-24T02:26:01Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/swe-03-03-pr</loc>
    <lastmod>2026-05-24T02:21:26Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/swe-03-software-engineering-03-pull-request-workflow</loc>
    <lastmod>2026-05-24T02:22:53Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/swe-04-04-agile-scrum</loc>
    <lastmod>2026-05-24T02:18:19Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/swe-04-software-engineering-04-agile-and-scrum-introduction</loc>
    <lastmod>2026-05-24T02:20:01Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/systemdesign-01-system-design-01-scalability-fundamentals</loc>
    <lastmod>2026-05-24T02:16:37Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/systemdesign-02-system-design-02-load-balancing-algorithms</loc>
    <lastmod>2026-05-24T02:14:37Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/systemdesign-03-system-design-03-caching-strategies</loc>
    <lastmod>2026-05-24T02:13:11Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/systemdesign-04-system-design-04-cdn-deep-dive</loc>
    <lastmod>2026-05-24T02:08:28Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/systemdesign-05-system-design-05</loc>
    <lastmod>2026-05-24T02:06:12Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/systemdesign-06-system-design-06</loc>
    <lastmod>2026-05-24T02:03:07Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/systemdesign-07-system-design-07</loc>
    <lastmod>2026-05-24T02:01:27Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/systemdesign-08-system-design-08-cap</loc>
    <lastmod>2026-05-24T01:59:09Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/testing-01-01</loc>
    <lastmod>2026-05-24T01:57:45Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/testing-02-02go</loc>
    <lastmod>2026-05-24T01:56:21Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/testing-03-03java-junit-5</loc>
    <lastmod>2026-05-24T01:54:40Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/testing-04-04</loc>
    <lastmod>2026-05-24T01:51:14Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/typescriptdeep-01-typescript-deep-01-a-practical-overview-of-the-type-system</loc>
    <lastmod>2026-05-24T01:52:49Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/typescriptdeep-02-typescript-deep-02-advanced-generics-for-reusable-api-design</loc>
    <lastmod>2026-05-25T00:47:02Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/typescriptdeep-03-typescript-deep-03-conditional-types-as-a-type-level-rules-e</loc>
    <lastmod>2026-05-24T01:42:51Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/typescriptdeep-04-typescript-deep-04-mapped-types-for-systematic-object-transf</loc>
    <lastmod>2026-05-24T01:37:59Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-01-vue-3-01-vue-3</loc>
    <lastmod>2026-05-24T01:40:52Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-02-vue-3-02</loc>
    <lastmod>2026-05-24T01:39:24Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-03-vue-3-03composition-api</loc>
    <lastmod>2026-05-24T01:36:32Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-04-vue-3-04reactive-ref</loc>
    <lastmod>2026-05-24T01:35:03Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-05-vue-3-05computed</loc>
    <lastmod>2026-05-24T01:33:35Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-06-vue-3-06watch</loc>
    <lastmod>2026-05-24T01:32:09Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-07-vue-3-07</loc>
    <lastmod>2026-05-24T01:30:43Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-08-vue-3-08</loc>
    <lastmod>2026-05-24T01:29:17Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-09-vue-3-09-v-model</loc>
    <lastmod>2026-05-24T01:27:34Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-10-vue-3-10</loc>
    <lastmod>2026-05-24T01:25:03Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-11-vue-3-11props</loc>
    <lastmod>2026-05-24T01:23:35Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-12-vue-3-12emits</loc>
    <lastmod>2026-05-24T01:22:05Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-13-vue-3-13-slots</loc>
    <lastmod>2026-05-24T01:20:37Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-14-vue-3-14</loc>
    <lastmod>2026-05-24T01:19:10Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-15-vue-3-15-transitions</loc>
    <lastmod>2026-05-24T01:17:43Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-16-vue-3-16vue-router</loc>
    <lastmod>2026-05-24T01:15:50Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-17-vue-3-17-nested-routes</loc>
    <lastmod>2026-05-24T01:12:10Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-18-vue-3-18-route-guards</loc>
    <lastmod>2026-05-24T01:09:19Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-19-vue-3-19pinia</loc>
    <lastmod>2026-05-24T01:10:44Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-20-vue-3-20axios</loc>
    <lastmod>2026-05-24T01:07:37Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-21-vue-3-21composables</loc>
    <lastmod>2026-05-24T01:06:10Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-22-vue-3-22provide-inject</loc>
    <lastmod>2026-05-24T01:04:43Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-23-vue-3-23teleport</loc>
    <lastmod>2026-05-24T01:03:17Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-24-vue-3-24suspense</loc>
    <lastmod>2026-05-24T00:33:31Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-25-vue-3-25keepalive</loc>
    <lastmod>2026-05-24T00:30:42Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-26-vue-3-26vite</loc>
    <lastmod>2026-05-24T00:32:06Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-27-vue-3-27</loc>
    <lastmod>2026-05-24T00:28:12Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-28-vue-3-28css-scoped</loc>
    <lastmod>2026-05-24T00:26:48Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-29-vue-3-29-vue-3-tailwind-css</loc>
    <lastmod>2026-05-24T00:25:23Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-30-vue-3-30</loc>
    <lastmod>2026-05-24T00:23:43Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-31-vue-3-31tailwind-css</loc>
    <lastmod>2026-05-24T00:22:02Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-32-vue-3-32unocss</loc>
    <lastmod>2026-05-24T00:20:38Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-33-vue-3-33</loc>
    <lastmod>2026-05-24T00:19:14Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-34-vue-3-34renderless-components</loc>
    <lastmod>2026-05-24T00:17:36Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-35-vue-3-35</loc>
    <lastmod>2026-05-24T00:16:11Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-36-vue-3-36</loc>
    <lastmod>2026-05-24T00:14:46Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-37-vue-3-37-auth</loc>
    <lastmod>2026-05-24T00:12:39Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-38-vue-3-38-dark-mode</loc>
    <lastmod>2026-05-24T00:10:58Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-39-vue-3-39-i18n</loc>
    <lastmod>2026-05-24T00:09:33Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-40-vue-3-40-vitest</loc>
    <lastmod>2026-05-24T00:07:53Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-41-vue-3-41-cypress-e2e</loc>
    <lastmod>2026-05-24T00:05:40Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-42-vue-3-42</loc>
    <lastmod>2026-05-24T00:03:43Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-43-vue-3-43</loc>
    <lastmod>2026-05-24T00:02:03Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-44-vue-3-44ssr-nuxt</loc>
    <lastmod>2026-05-24T00:00:06Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-45-vue-3-45vue-3-typescript</loc>
    <lastmod>2026-05-23T23:58:10Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-46-vue-3-46pinia</loc>
    <lastmod>2026-05-23T23:56:12Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-47-vue-3-47markdown</loc>
    <lastmod>2026-05-23T23:54:48Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-48-vue-3-48-shiki</loc>
    <lastmod>2026-05-24T06:33:53Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-49-vue-3-49vue-3</loc>
    <lastmod>2026-05-23T23:51:41Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/vue-50-vue-3-50vue-2-vue-3</loc>
    <lastmod>2026-05-23T17:27:16Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/wasm-01-webassembly-01wasm</loc>
    <lastmod>2026-05-23T17:02:33Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/wasm-02-webassembly-02-wat-wasm</loc>
    <lastmod>2026-05-23T14:52:44Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/wasm-03-webassembly-03-rust-wasm-pack-wasm</loc>
    <lastmod>2026-05-23T23:47:19Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/wasm-04-webassembly-04-tinygo-go-wasm</loc>
    <lastmod>2026-05-23T23:45:21Z</lastmod>
  </url>
  <url>
    <loc>https://blog.xudley.cn/posts/wasm-05-webassembly-05wasm-web</loc>
    <lastmod>2026-05-23T23:36:32Z</lastmod>
  </url>
</urlset>