<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://www.coolboiledwater.cn</loc>
<lastmod>2026-08-19T09:57:45.414Z</lastmod>
<changefreq>monthly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog</loc>
<lastmod>2026-08-19T09:57:45.414Z</lastmod>
<changefreq>monthly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/writing-sql-from-scratch-the-query-keywords-you-actually-need</loc>
<lastmod>2026-08-19T09:57:45.414Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/understanding-databases-from-a-front-end-developer-s-perspective-series-guide</loc>
<lastmod>2026-08-17T10:24:47.965Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/the-journey-of-a-sql-statement</loc>
<lastmod>2026-08-17T10:24:28.537Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/from-files-to-relational-tables-why-we-need-databases</loc>
<lastmod>2026-08-17T10:23:57.645Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/where-data-actually-lives-disk-pages-and-storage-engines</loc>
<lastmod>2026-08-17T09:26:15.283Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/you-use-git-every-day-but-do-you-really-understand-it-completely-understand-git-from-its-underlying-data-structures</loc>
<lastmod>2026-08-12T07:49:26.188Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/deploying-a-website-with-dokku-a-step-by-step-guide-to-installation-configuration-and-code-deployment</loc>
<lastmod>2026-08-12T07:49:26.073Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/html-canvas-basics-dpr-drawing-techniques</loc>
<lastmod>2026-08-12T07:49:25.964Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/javascript-streams-from-beginner-to-expert</loc>
<lastmod>2026-08-12T07:49:25.840Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/broader-binary-understanding-the-blob-object</loc>
<lastmod>2026-08-12T07:49:25.721Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/binary-in-the-browser-understanding-arraybuffer-typedarray-and-dataview</loc>
<lastmod>2026-08-12T07:49:25.615Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/understanding-the-this-keyword-in-javascript-arrow-functions</loc>
<lastmod>2026-08-12T07:49:25.503Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/browser-event-mechanisms-eventtarget-vs-eventemitter</loc>
<lastmod>2026-08-12T07:49:25.384Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/event-loop-in-browsers-execution-and-task-prioritization</loc>
<lastmod>2026-08-12T07:49:25.265Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/why-you-can-use-method-in-primitive-types</loc>
<lastmod>2026-08-12T07:49:25.142Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/how-tailwind-css-actually-works-from-postcss-plugin-to-standalone-engine</loc>
<lastmod>2026-08-12T07:49:24.962Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/deep-dive-into-javascript-package-manager-storage-from-file-copying-to-content-addressing-evolution</loc>
<lastmod>2026-08-12T07:49:24.790Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/demystifying-front-end-authentication</loc>
<lastmod>2026-08-12T07:49:24.647Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/ghost-whitespace-handling-spaces-from-html-to-vue</loc>
<lastmod>2026-08-12T07:49:24.524Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/how-your-vue-files-get-parsed-by-webpack</loc>
<lastmod>2026-08-12T07:49:24.369Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/demystifying-compiler-principles-from-tokens-to-ast</loc>
<lastmod>2026-08-12T07:49:24.248Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/babel-everything-you-need-to-know</loc>
<lastmod>2026-08-12T07:49:24.132Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/from-nothing-to-something-the-evolution-of-frontend-modularity</loc>
<lastmod>2026-08-12T07:49:24.019Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/beginner-s-webpack-step-by-step-bundling-logic</loc>
<lastmod>2026-08-12T07:49:23.916Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/uncommon-webpack-bundle-performance-optimization-external</loc>
<lastmod>2026-08-12T07:49:23.806Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/create-a-chrome-extension-using-vite-react</loc>
<lastmod>2026-08-12T07:49:23.692Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/building-a-react-agent-from-scratch-part-6-plan-exec-mode-and-beyond</loc>
<lastmod>2026-08-12T07:49:23.566Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/building-a-react-agent-from-scratch-part-5-memory-the-agent-s-context-window</loc>
<lastmod>2026-08-12T07:49:23.428Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/building-a-react-agent-from-scratch-part-4-the-core-loop-putting-it-all-together</loc>
<lastmod>2026-08-12T07:49:23.328Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/building-a-react-agent-from-scratch-part-3-the-tool-system-giving-the-agent-hands-and-feet</loc>
<lastmod>2026-08-12T07:49:23.226Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/building-a-react-agent-from-scratch-part-2-the-react-pattern-teaching-llms-to-think-and-act</loc>
<lastmod>2026-08-12T07:49:23.124Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/building-a-react-agent-from-scratch-part-1-what-is-an-agent</loc>
<lastmod>2026-08-12T07:49:23.022Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/how-llms-work-understanding-large-language-models-from-a-front-end-developer-s-perspective</loc>
<lastmod>2026-08-12T07:49:22.919Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/next-js-caching-demystified-isr-revalidation-and-the-client-cache</loc>
<lastmod>2026-08-12T07:49:22.815Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/prefetching-and-client-side-navigation</loc>
<lastmod>2026-08-12T07:49:22.715Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/streaming-demystified-how-suspense-powers-progressive-rendering</loc>
<lastmod>2026-08-12T07:49:22.605Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/server-and-client-components-internals</loc>
<lastmod>2026-08-12T07:49:22.502Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/file-system-routing-how-next-js-turns-folders-into-urls</loc>
<lastmod>2026-08-12T07:49:22.402Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/from-ssr-to-rsc-the-evolution-of-server-rendering</loc>
<lastmod>2026-08-12T07:49:22.301Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/understanding-next-js-a-front-end-developer-s-guide-to-the-modern-web-framework-series-guide</loc>
<lastmod>2026-08-12T07:49:22.197Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/make-a-ssr-framework-on-your-own-react-node-ssr-tutorial</loc>
<lastmod>2026-08-12T07:49:22.087Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/understanding-swr-in-react-basics-to-advanced</loc>
<lastmod>2026-08-12T07:49:21.974Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/learn-immer-and-interact-with-react-quickly</loc>
<lastmod>2026-08-12T07:49:21.869Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/connecting-mongodb-with-prisma-orm</loc>
<lastmod>2026-08-12T07:49:21.661Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/how-tailscale-works-from-nat-traversal-to-zero-trust-networking</loc>
<lastmod>2026-08-12T07:49:21.558Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/websocket-demystified-full-duplex-communication-from-handshake-to-frames</loc>
<lastmod>2026-08-12T07:49:21.453Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/advanced-http-caching-cdn-stale-while-revalidate-and-service-worker</loc>
<lastmod>2026-08-12T07:49:21.350Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/http-caching-demystified-strong-cache-negotiated-cache-and-front-end-caching-strategies</loc>
<lastmod>2026-08-12T07:49:21.247Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/doh-dot-demystified-two-ways-to-encrypt-your-dns</loc>
<lastmod>2026-08-12T07:49:21.143Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/pppoe-demystified-how-your-home-broadband-actually-dials-up</loc>
<lastmod>2026-08-12T07:49:21.039Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/dns-demystified-the-internet-s-phonebook-from-root-to-resolution</loc>
<lastmod>2026-08-12T07:49:20.919Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/bbr-demystified-how-google-reinvented-congestion-control</loc>
<lastmod>2026-08-12T07:49:20.772Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/udp-demystified-connectionless-transport-and-when-unreliable-is-the-better-choice</loc>
<lastmod>2026-08-12T07:49:20.664Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/from-lan-to-the-internet-why-mac-addresses-alone-are-not-enough</loc>
<lastmod>2026-08-12T07:49:20.558Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/understanding-computer-networks-from-a-front-end-developer-s-perspective-series-guide</loc>
<lastmod>2026-08-12T07:49:20.455Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/from-ip-to-mac-how-arp-bridges-two-layers-of-addressing</loc>
<lastmod>2026-08-12T07:49:20.343Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/understanding-lan-from-a-front-end-developer-s-perspective-mac-addresses-ethernet-frames-and-switches</loc>
<lastmod>2026-08-12T07:49:20.237Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/what-is-ddns-a-complete-guide-to-understanding-dynamic-dns-from-scratch</loc>
<lastmod>2026-08-12T07:49:20.133Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/how-does-an-ip-address-get-registered</loc>
<lastmod>2026-08-12T07:49:20.027Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/routing-demystified-routing-tables-hop-by-hop-forwarding-and-the-internet-s-delivery-system</loc>
<lastmod>2026-08-12T07:49:19.924Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/ip-addresses-demystified-subnet-masks-cidr-and-the-network-host-divide</loc>
<lastmod>2026-08-12T07:49:19.821Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/ssh-the-secure-communication-backbone</loc>
<lastmod>2026-08-12T07:49:19.719Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/a-node-js-developer-s-guide-to-rpc</loc>
<lastmod>2026-08-12T07:49:19.617Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/http-2-the-evolutionary-path-to-modern-web-performance</loc>
<lastmod>2026-08-12T07:49:19.504Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/demystifying-the-tls-protocol-evolution-from-1-2-to-1-3</loc>
<lastmod>2026-08-12T07:49:19.400Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/http-protocol-evolution-a-technical-analysis-from-0-9-to-1-1</loc>
<lastmod>2026-08-12T07:49:19.292Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/tcp-demystified-three-way-handshake-sliding-windows-and-congestion-control</loc>
<lastmod>2026-08-12T07:49:19.183Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/the-predecessors-of-websocket-the-past-and-present-of-short-polling-and-long-polling</loc>
<lastmod>2026-08-12T07:49:19.050Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.coolboiledwater.cn/blog/effective-solutions-for-cross-origin-issues-in-web-development</loc>
<lastmod>2026-08-12T07:49:18.941Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
