<?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>
</urlset>