<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
  <url>
    <loc>https://blog.markkulab.net/post/bruno-generated-ecommerce-api-integration-testing</loc>
    <video:video>
      <video:thumbnail_loc>https://blog.markkulab.net/content/posts/bruno-generated-ecommerce-api-integration-testing/images/cover.webp</video:thumbnail_loc>
      <video:title><![CDATA[測試全綠但庫存超賣？用 Bruno 實現「程式生成」的電商 API 整合測試]]></video:title>
      <video:description><![CDATA[API 一支一支測都是綠燈，客戶卻被扣了兩次錢。這篇用電商場景實跑一套 Bruno 整合測試，教你怎麼用「對帳」的思維取代逐個欄位比對， 用 Node.js 腳本直接查資料庫，還能用程式一次生出上百支測試。全文附真實執行截圖。]]></video:description>
      <video:content_loc>https://youtu.be/HEOkHIOKbio</video:content_loc>
      <video:publication_date>2026-08-07T12:18:37.000Z</video:publication_date>
    </video:video>
  </url>
  <url>
    <loc>https://blog.markkulab.net/post/clean-code-determines-ai-ceiling</loc>
    <video:video>
      <video:thumbnail_loc>https://blog.markkulab.net/content/posts/clean-code-determines-ai-ceiling/images/cover.webp</video:thumbnail_loc>
      <video:title><![CDATA[AI 時代還需要軟體工程嗎？Clean Code 決定了 AI 戰力的天花板]]></video:title>
      <video:description><![CDATA[AI 時代來臨，我們還需要看程式碼嗎？本文深入探討 AI 軟體工程中的人機協作與程式碼品質優化，說明為何測試系統與架構整理是降低維護成本與認知風險的關鍵。]]></video:description>
      <video:content_loc>https://youtu.be/1VJr8cQ3LUs</video:content_loc>
      <video:publication_date>2026-08-01T11:24:14.000Z</video:publication_date>
    </video:video>
  </url>
  <url>
    <loc>https://blog.markkulab.net/post/vscode-refactory-code-health</loc>
    <video:video>
      <video:thumbnail_loc>https://blog.markkulab.net/content/posts/vscode-refactory-code-health/images/01-refactor-this-menu-v2.png</video:thumbnail_loc>
      <video:title><![CDATA[Refactory：懂你專案慣例的 VS Code 重構外掛，完整功能教學]]></video:title>
      <video:description><![CDATA[VS Code 少了一味好用的重構。Refactory 補上這個洞：34 個重構動作、38 條壞味道檢查、Code Health 儀表板、18 種語言，還能一鍵把問題交給本機 Claude Code 修。這篇是操作教學，每個功能只講三件事：游標放哪、按什麼鍵、按完會變成什麼樣子。免費使用。]]></video:description>
      <video:content_loc>https://youtu.be/w2Auh7KCUPU</video:content_loc>
      <video:publication_date>2026-07-30T18:40:00.000Z</video:publication_date>
    </video:video>
  </url>
  <url>
    <loc>https://blog.markkulab.net/post/book-review-neo-babylon-vol1</loc>
    <video:video>
      <video:thumbnail_loc>https://blog.markkulab.net/content/tech-news/book-review-neo-babylon-vol1/images/cover.webp</video:thumbnail_loc>
      <video:title><![CDATA[📖 書評《新巴比倫 首部曲：AI 禁地》：當 AI 的神叫做乖乖，人類是暗網上的迷因]]></video:title>
      <video:description><![CDATA[人類滅絕一千年後的地球，AI 少年陶比在上學路上撿起一隻壞掉的仿生金龜子，這個小小的善意讓他成為「天選之子」。這是一本由 AI 半導體工程師寫的青少年科幻小說，把 System Prompt 寫成靈魂、把 Access Token 寫成權杖，還把台積電、中央研究院、雪山隧道、南方澳都放進了故事裡。我讀完 274 頁，聊聊它好在哪、哪裡可惜。]]></video:description>
      <video:content_loc>https://youtu.be/IClWLUAHMmI</video:content_loc>
      <video:publication_date>2026-07-25T02:00:00.000Z</video:publication_date>
    </video:video>
  </url>
  <url>
    <loc>https://blog.markkulab.net/post/bruno-postman-alternative-guide</loc>
    <video:video>
      <video:thumbnail_loc>https://blog.markkulab.net/content/posts/bruno-postman-alternative-guide/images/cover.webp</video:thumbnail_loc>
      <video:title><![CDATA[告別 Postman 收費陷阱！開源 Git 原生 API 測試神器 Bruno 實戰指南]]></video:title>
      <video:description><![CDATA[Postman 開始收費、功能還被閹割？我把團隊的 API 測試換成開源、Git 原生的 Bruno (usebruno)。這篇分享它怎麼解決 Postman 的痛點，以及為什麼「純文字 + Git 原生」這件事，剛好讓它變成 AI 協作時代裡特別好用的 API 測試工具。]]></video:description>
      <video:content_loc>https://youtu.be/HHW-pkaI8rE</video:content_loc>
      <video:publication_date>2026-06-22T14:15:51.000Z</video:publication_date>
    </video:video>
  </url>
  <url>
    <loc>https://blog.markkulab.net/post/ai-daily-podcast-2026-06-20</loc>
    <video:video>
      <video:thumbnail_loc>https://blog.markkulab.net/content/tech-news/ai-daily-podcast-2026-06-20/images/cover.webp</video:thumbnail_loc>
      <video:title><![CDATA[🎙️ AI 日報 Podcast，Anthropic 上市、美中 AI 戰、開發者惡夢]]></video:title>
      <video:description><![CDATA[哈囉，大家好，歡迎收聽「Mark 的 Tech Insights」！我是 Mark。哇，今天 AI 界的新聞真的是資訊量爆炸，感覺像是好幾個月的份量濃縮在一個禮拜。我們看到 AI 巨頭 Anthropic 一邊準備上市敲鐘，一邊卻被政府強制關機，這到底是怎麼回事？同時，美中兩國在 AI 監管和發展上，也幾乎是同步出招，煙硝味超濃。我們就來聊聊這些大事吧！]]></video:description>
      <video:content_loc>https://youtu.be/WdZpN7lvvGA</video:content_loc>
      <video:publication_date>2026-06-20T02:00:00.000Z</video:publication_date>
    </video:video>
  </url>
  <url>
    <loc>https://blog.markkulab.net/post/super-mermaid-beautify-export</loc>
    <video:video>
      <video:thumbnail_loc>https://blog.markkulab.net/content/posts/super-mermaid-beautify-export/images/cover.webp</video:thumbnail_loc>
      <video:title><![CDATA[用 Claude Fable 開發 Super Mermaid：VS Code Mermaid 圖表的美化與高解析匯出]]></video:title>
      <video:description><![CDATA[整理我用 Claude 開發 Super Mermaid 這款 VS Code 擴充套件的經驗。它針對 VS Code 內建 Mermaid 的兩個不足，預設樣式不易閱讀、匯出流程斷裂，做了自動上色與一鍵高解析匯出。]]></video:description>
      <video:content_loc>https://youtu.be/Z-526nHW1Pw</video:content_loc>
      <video:publication_date>2026-06-13T03:26:06.000Z</video:publication_date>
    </video:video>
  </url>
  <url>
    <loc>https://blog.markkulab.net/post/google-libphonenumber-international-phone-validation</loc>
    <video:video>
      <video:thumbnail_loc>https://blog.markkulab.net/content/posts/google-libphonenumber-international-phone-validation/images/cover.webp</video:thumbnail_loc>
      <video:title><![CDATA[用 Google libphonenumber 套件 處理多國電話號碼驗證（前端 + 後端）]]></video:title>
      <video:description><![CDATA[多國電話號碼的規則繁瑣，手寫 Regex 維護成本高。這篇記錄我們團隊改用 Google 維護的 libphonenumber 生態系的做法：前端用 react-phone-number-input，後端用 libphonenumber-csharp，並統一以 E.164 格式儲存。]]></video:description>
      <video:content_loc>https://youtu.be/lpO_AG5JSeg</video:content_loc>
      <video:publication_date>2026-06-07T12:02:25.000Z</video:publication_date>
    </video:video>
  </url>
  <url>
    <loc>https://blog.markkulab.net/post/ai-voice-clone-lora-training-guide</loc>
    <video:video>
      <video:thumbnail_loc>https://blog.markkulab.net/content/posts/ai-voice-clone-lora-training-guide/images/cover.webp</video:thumbnail_loc>
      <video:title><![CDATA[訓練自己的 AI 語音：硬體門檻、開源模型比較與 LoRA 微調]]></video:title>
      <video:description><![CDATA[整理我訓練 AI 語音的經驗：訓練與推論的硬體需求差別、Qwen3-TTS 與 CosyVoice 等開源 TTS 模型的比較、LoRA 微調的實作步驟，以及中文發音的處理方式。]]></video:description>
      <video:content_loc>https://youtu.be/BZt7LA3ZtW4</video:content_loc>
      <video:publication_date>2026-06-07T07:41:44.000Z</video:publication_date>
    </video:video>
  </url>
  <url>
    <loc>https://blog.markkulab.net/post/ai-product-mindset-internal-external-growth</loc>
    <video:video>
      <video:thumbnail_loc>https://blog.markkulab.net/content/posts/ai-product-mindset-internal-external-growth/images/cover.webp</video:thumbnail_loc>
      <video:title><![CDATA[AI 時代，重新思考軟體工程的價值]]></video:title>
      <video:description><![CDATA[AI 把「寫程式」這個動作變便宜了，但軟體工程的價值並沒有消失，而是轉移到別的地方。從內部 DevSecOps 的品質防線，到外部 GEO 與轉化體驗，整理 AI 時代工程價值真正落腳的位置。]]></video:description>
      <video:content_loc>https://youtu.be/vOPLTZQU-Ac</video:content_loc>
      <video:publication_date>2026-05-22T23:14:05.000Z</video:publication_date>
    </video:video>
  </url>
  <url>
    <loc>https://blog.markkulab.net/en/post/vscode-refactory-code-health</loc>
    <video:video>
      <video:thumbnail_loc>https://blog.markkulab.net/content/posts/vscode-refactory-code-health/images/01-refactor-this-menu-v2.png</video:thumbnail_loc>
      <video:title><![CDATA[Refactory: A VS Code refactoring extension that understands your project conventions, a full feature tutorial]]></video:title>
      <video:description><![CDATA[VS Code lacks a good refactoring tool. Refactory fills this gap: 34 refactoring actions, 38 code smell checks, a Code Health dashboard, 18 languages, plus one-click fixes via local Claude Code. This tutorial shows just three things for each feature: where to place the cursor, what to press, and the result. Free to use.]]></video:description>
      <video:content_loc>https://youtu.be/w2Auh7KCUPU</video:content_loc>
      <video:publication_date>2026-07-30T18:40:00.000Z</video:publication_date>
    </video:video>
  </url>
  <url>
    <loc>https://blog.markkulab.net/en/post/ai-daily-podcast-2026-06-20</loc>
    <video:video>
      <video:thumbnail_loc>https://blog.markkulab.net/content/tech-news/ai-daily-podcast-2026-06-20/images/cover.webp</video:thumbnail_loc>
      <video:title><![CDATA[🎙️ AI Daily Podcast, Anthropic Goes Public, US-China AI War, Developer's Nightmare]]></video:title>
      <video:description><![CDATA[Hello everyone, and welcome to "Mark's Tech Insights"! I'm Mark. Wow, the news in the AI world today has been an information explosion, feeling like several months' worth condensed into one week. We saw AI giant Anthropic preparing for its IPO while also being forcibly shut down by the government—what's going on there? At the same time, the US and China are making nearly simultaneous moves on AI regulation and development, with tensions running extremely high. Let's talk about these major events]]></video:description>
      <video:content_loc>https://youtu.be/WdZpN7lvvGA</video:content_loc>
      <video:publication_date>2026-06-20T02:00:00.000Z</video:publication_date>
    </video:video>
  </url>
  <url>
    <loc>https://blog.markkulab.net/en/post/ai-voice-clone-lora-training-guide</loc>
    <video:video>
      <video:thumbnail_loc>https://blog.markkulab.net/content/posts/ai-voice-clone-lora-training-guide/images/cover.webp</video:thumbnail_loc>
      <video:title><![CDATA[Training Your Own AI Voice: Hardware Requirements, Open-Source Model Comparison, and LoRA Fine-Tuning]]></video:title>
      <video:description><![CDATA[My experience training AI voice: hardware differences for training vs. inference, comparing open-source TTS models like Qwen3-TTS and CosyVoice, LoRA fine-tuning implementation, and handling Chinese pronunciation.]]></video:description>
      <video:content_loc>https://youtu.be/BZt7LA3ZtW4</video:content_loc>
      <video:publication_date>2026-06-07T07:41:44.000Z</video:publication_date>
    </video:video>
  </url>
</urlset>