<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://blog.dukda.com/</loc>
    <changefreq>daily</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://blog.dukda.com/posts</loc>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.dukda.com/friend-links</loc>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  
  <url>
    <loc>https://blog.dukda.com/post/tanstack-start-routing-layer-best-practices</loc>
    <lastmod>2026-03-19T07:31:45.000Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://blog.dukda.com/post/tanstack-start-server-functions-as-api-layer</loc>
    <lastmod>2026-03-19T07:32:35.000Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://blog.dukda.com/post/%E5%9C%A8-edge-%E4%B8%8A%E5%81%9A%E5%85%A8%E6%96%87%E6%90%9C%E7%B4%A2</loc>
    <lastmod>2026-03-29T07:34:21.000Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://blog.dukda.com/post/post-publish-cache-invalidation-cdn-kv</loc>
    <lastmod>2026-03-19T06:46:52.000Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://blog.dukda.com/post/comments-moderation-workflows-ai-review</loc>
    <lastmod>2026-03-19T06:45:58.000Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://blog.dukda.com/post/antigravity-mcp-auth-state-not-cleared</loc>
    <lastmod>2026-03-19T06:41:01.000Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://blog.dukda.com/post/spaghetti-and-concrete-42</loc>
    <lastmod>2026-03-18T18:36:50.000Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://blog.dukda.com/post/%E7%A6%81%E7%94%A8windows-ctrl-%E7%A9%BA%E6%A0%BC%E5%88%87%E6%8D%A2%E8%BE%93%E5%85%A5%E6%B3%95%E8%A7%A3%E5%86%B3vscode%E5%BF%AB%E6%8D%B7%E9%94%AE%E5%86%B2%E7%AA%81</loc>
    <lastmod>2026-02-19T19:35:50.000Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://blog.dukda.com/post/typescript-%E9%94%99%E8%AF%AF%E5%A4%84%E7%90%86%E7%94%A8-result-%E7%B1%BB%E5%9E%8B%E6%9B%BF%E4%BB%A3-try-catch</loc>
    <lastmod>2026-02-11T07:15:46.000Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://blog.dukda.com/post/flare-stack-blog%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B</loc>
    <lastmod>2026-04-04T05:29:21.000Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://blog.dukda.com/post/%E4%BD%BF%E7%94%A8cloudflare-durable-objects%E6%9E%84%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%88%86%E5%B8%83%E5%BC%8F%E9%99%90%E6%B5%81%E5%99%A8</loc>
    <lastmod>2026-03-19T06:46:48.000Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://blog.dukda.com/post/%E6%88%91%E7%9A%84%E5%8D%9A%E5%AE%A2%E9%A1%B9%E7%9B%AE%E6%9E%B6%E6%9E%84-tanstack-start%E4%B8%8E%E4%BE%9D%E8%B5%96%E6%B3%A8%E5%85%A5%E5%AE%9E%E6%88%98</loc>
    <lastmod>2026-03-19T06:46:46.000Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://blog.dukda.com/post/gtm-%E4%B8%8E-ga4-%E7%9A%84%E6%AD%A3%E7%A1%AE%E9%A3%9F%E7%94%A8%E6%96%B9%E6%B3%95</loc>
    <lastmod>2026-01-29T06:59:01.000Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://blog.dukda.com/post/convex-%E5%85%A8%E6%A0%88%E5%BC%80%E5%8F%91%E7%9A%84%E6%96%B0%E4%B8%80%E4%BB%A3%E5%90%8E%E7%AB%AF%E5%B9%B3%E5%8F%B0</loc>
    <lastmod>2026-02-03T07:36:57.000Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://blog.dukda.com/post/%E6%B5%8B%E8%AF%95%E4%B8%A4%E4%B8%AA%E8%AE%BE%E5%A4%87%E4%B9%8B%E9%97%B4%E7%9A%84%E8%BF%9E%E6%8E%A5%E9%80%9F%E5%BA%A6</loc>
    <lastmod>2026-02-03T07:37:05.000Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://blog.dukda.com/post/cloudflare-workers-%E4%B8%8A%E6%89%8B%E4%BB%8E%E9%9B%B6%E5%88%B0%E9%83%A8%E7%BD%B2%E4%B8%80%E4%B8%AA%E7%9F%AD%E9%93%BE%E6%8E%A5%E6%9C%8D%E5%8A%A1</loc>
    <lastmod>2026-03-19T06:46:53.000Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://blog.dukda.com/post/drizzle-orm%E5%BF%AB%E9%80%9F%E4%B8%8A%E6%89%8B%E6%95%B0%E6%8D%AE%E5%BA%93%E4%B9%9F%E8%83%BD%E7%89%88%E6%9C%AC%E6%8E%A7%E5%88%B6</loc>
    <lastmod>2026-01-29T08:59:05.000Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://blog.dukda.com/post/%E6%9A%97%E8%89%B2%E6%A8%A1%E5%BC%8F%E7%9A%84%E6%AD%A3%E7%A1%AE%E6%89%93%E5%BC%80%E6%96%B9%E5%BC%8F%E5%91%8A%E5%88%AB%E9%97%AA%E7%83%81</loc>
    <lastmod>2026-01-29T08:58:49.000Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://blog.dukda.com/post/%E4%B8%8A%E6%89%8Btanstack-start%E6%A1%86%E6%9E%B6%E8%88%92%E9%80%82%E7%9A%84%E5%BC%80%E5%8F%91%E4%BD%93%E9%AA%8C</loc>
    <lastmod>2026-01-29T08:59:46.000Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://blog.dukda.com/post/typescript-%E6%8A%80%E5%B7%A7%E4%BD%BF%E7%94%A8%E8%AF%AD%E4%B9%89%E5%8C%96%E6%97%B6%E9%97%B4%E5%91%8A%E5%88%AB%E6%AF%AB%E7%A7%92-vs-%E7%A7%92%E7%9A%84%E5%8D%95%E4%BD%8D%E6%8D%A2%E7%AE%97%E7%83%A6%E6%81%BC</loc>
    <lastmod>2026-01-19T08:08:13.000Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://blog.dukda.com/post/cloudflare-kv-%E9%AB%98%E6%95%88%E6%8A%80%E5%B7%A7%E4%BD%BF%E7%94%A8%E7%89%88%E6%9C%AC%E5%8F%B7%E5%AE%9E%E7%8E%B0%E4%BD%8E%E6%88%90%E6%9C%AC%E6%89%B9%E9%87%8F%E7%BC%93%E5%AD%98%E5%A4%B1%E6%95%88</loc>
    <lastmod>2026-03-19T06:46:51.000Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://blog.dukda.com/post/cloudflare-workers-%E5%85%A8%E6%A0%88%E5%BA%94%E7%94%A8%E6%AD%A3%E7%A1%AE%E4%BD%BF%E7%94%A8-cache-api-%E5%8A%A0%E9%80%9F%E7%BD%91%E7%AB%99</loc>
    <lastmod>2026-03-19T06:46:49.000Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://blog.dukda.com/post/%E8%A7%A3%E5%86%B3-antigravity-ide-%E5%9C%A8-wsl-%E7%8E%AF%E5%A2%83%E4%B8%8B-browser-automation-%E8%BF%9E%E6%8E%A5%E6%8A%A5%E9%94%99</loc>
    <lastmod>2026-03-19T04:26:38.000Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://blog.dukda.com/post/cloudflare-workers%E7%BB%91%E5%AE%9A%E7%AC%AC%E4%B8%89%E6%96%B9%E5%9F%9F%E5%90%8D%E6%8F%90%E4%BE%9B%E5%95%86</loc>
    <lastmod>2026-04-28T18:41:11.000Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://blog.dukda.com/post/%E7%94%A8docker-dev-containercodespace%E5%AE%9E%E7%8E%B0%E5%85%8D%E9%85%8D%E7%BD%AE%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E8%87%AA%E7%94%B1</loc>
    <lastmod>2026-03-15T07:59:14.000Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://blog.dukda.com/post/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8obs%E5%9B%9E%E6%94%BE%E7%BC%93%E5%AD%98%E6%9D%A5%E5%AE%8C%E5%85%A8%E4%BB%A3%E6%9B%BFn%E5%8D%A1%E7%9A%84%E5%8D%B3%E6%97%B6%E9%87%8D%E6%94%BE</loc>
    <lastmod>2026-04-29T03:20:39.000Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
</urlset>