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