<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Peter To Better</title>
    <link>https://peter-to-better.com/</link>
    <description>從前端、後端、AI 開發到 Docker/K8s 維運，把學會的都寫成繁體中文技術筆記，一個變好變強的部落格。</description>
    <language>zh-TW</language>
    <lastBuildDate>Fri, 17 Jul 2026 21:00:00 GMT</lastBuildDate>
    <atom:link href="https://peter-to-better.com/rss.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>ERR_PNPM_IGNORED_BUILDS 解法：pnpm approve-builds 完整教學</title>
      <link>https://peter-to-better.com/posts/pnpm-err-ignored-builds/</link>
      <guid isPermaLink="true">https://peter-to-better.com/posts/pnpm-err-ignored-builds/</guid>
      <description>pnpm install 出現 [ERR_PNPM_IGNORED_BUILDS] Ignored build scripts: sharp 導致 Aborting installation？完整解法：pnpm approve-builds 用空白鍵勾選，含誤按 Enter 後救回的兩種方案，--force 和 rebuild 為什麼都沒用。</description>
      <pubDate>Fri, 17 Jul 2026 21:00:00 GMT</pubDate>
      <category>pnpm</category>
      <category>pnpm</category>
      <category>Next.js</category>
      <category>踩坑</category>
    </item>
    <item>
      <title>我的電腦能跑哪些本地 LLM？量化與記憶體對照</title>
      <link>https://peter-to-better.com/posts/langchain-%E8%88%87-llm-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-%E7%95%AA%E5%A4%96-%E6%9C%AC%E5%9C%B0%E6%A8%A1%E5%9E%8B%E6%80%8E%E9%BA%BC%E9%81%B8/</link>
      <guid isPermaLink="true">https://peter-to-better.com/posts/langchain-%E8%88%87-llm-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-%E7%95%AA%E5%A4%96-%E6%9C%AC%E5%9C%B0%E6%A8%A1%E5%9E%8B%E6%80%8E%E9%BA%BC%E9%81%B8/</guid>
      <description>不知道你的電腦能跑哪些 LLM？說清楚量化格式（FP32 / Q4_K_M / Q8_0）差在哪、記憶體怎麼估算，附 Apple Silicon / NVIDIA / 純 CPU 場景對照表與 willitrunai 工具介紹，選對再動手。</description>
      <pubDate>Tue, 07 Jul 2026 00:00:00 GMT</pubDate>
      <category>LangChain &amp; LLM</category>
      <category>LangChain &amp; LLM</category>
    </item>
    <item>
      <title>RAG 該選哪個模型？MTEB 與 Chatbot Arena 挑選法</title>
      <link>https://peter-to-better.com/posts/langchain-%E8%88%87-llm-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-%E7%95%AA%E5%A4%96-%E6%A8%A1%E5%9E%8B%E6%80%8E%E9%BA%BC%E9%81%B8/</link>
      <guid isPermaLink="true">https://peter-to-better.com/posts/langchain-%E8%88%87-llm-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-%E7%95%AA%E5%A4%96-%E6%A8%A1%E5%9E%8B%E6%80%8E%E9%BA%BC%E9%81%B8/</guid>
      <description>LangChain RAG 要選哪個模型？用 MTEB 排行榜挑嵌入模型、Chatbot Arena 挑生成模型，解釋為什麼選 nomic-embed-text 和 llama3.1:8b，附本地 vs 付費 API 完整對比表與一鍵切換程式碼。</description>
      <pubDate>Tue, 07 Jul 2026 00:00:00 GMT</pubDate>
      <category>LangChain &amp; LLM</category>
      <category>LangChain &amp; LLM</category>
    </item>
    <item>
      <title>RAG 評估教學：RAGAS 指標可信度實測｜LangChain 筆記 Ep-4</title>
      <link>https://peter-to-better.com/posts/langchain-%E8%88%87-llm-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-ep-4/</link>
      <guid isPermaLink="true">https://peter-to-better.com/posts/langchain-%E8%88%87-llm-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-ep-4/</guid>
      <description>RAG 評估實作教學：用 RAGAS + 本地 Ollama 量化 RAG 準確率。六種設定實測對照，抓出 Ep-3 把功勞歸錯對象，並驗證四大指標在小語料上到底可不可信。含完整 Python 程式碼，不需要 OpenAI API。</description>
      <pubDate>Wed, 17 Jun 2026 14:00:00 GMT</pubDate>
      <category>LangChain &amp; LLM</category>
      <category>LangChain &amp; LLM</category>
    </item>
    <item>
      <title>多模態 RAG 教學：讓 LLM 讀懂含圖表 PDF｜LangChain 筆記 Ep-3</title>
      <link>https://peter-to-better.com/posts/langchain-%E8%88%87-llm-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-ep-3/</link>
      <guid isPermaLink="true">https://peter-to-better.com/posts/langchain-%E8%88%87-llm-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-ep-3/</guid>
      <description>多模態 RAG 實作教學：用 LangChain + Ollama 視覺模型讀取含圖表的 PDF，圖片先用 qwen2.5vl 轉成文字描述再建向量索引，含完整 Python 程式碼，不需要任何付費 API。</description>
      <pubDate>Wed, 17 Jun 2026 13:00:00 GMT</pubDate>
      <category>LangChain &amp; LLM</category>
      <category>LangChain &amp; LLM</category>
    </item>
    <item>
      <title>進階 RAG 教學：混合檢索與 Reranking 實測｜LangChain 筆記 Ep-2</title>
      <link>https://peter-to-better.com/posts/langchain-%E8%88%87-llm-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-ep-2/</link>
      <guid isPermaLink="true">https://peter-to-better.com/posts/langchain-%E8%88%87-llm-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-ep-2/</guid>
      <description>進階 RAG 實作教學：用勞動基準法示範語意分割、混合檢索（BM25 + 向量 + RRF）、Multi-Query、Cross-Encoder Reranking、Contextual Retrieval，每個技術都有完整可執行的 Python 程式碼，本地 Ollama 跑免付費。</description>
      <pubDate>Wed, 17 Jun 2026 12:00:00 GMT</pubDate>
      <category>LangChain &amp; LLM</category>
      <category>LangChain &amp; LLM</category>
    </item>
    <item>
      <title>OpenSpec 重構老專案 Ep-6:揪出潛伏一年的 Sanctum bug</title>
      <link>https://peter-to-better.com/posts/openspec-%E9%87%8D%E6%A7%8B%E8%80%81%E5%B0%88%E6%A1%88-ep-6/</link>
      <guid isPermaLink="true">https://peter-to-better.com/posts/openspec-%E9%87%8D%E6%A7%8B%E8%80%81%E5%B0%88%E6%A1%88-ep-6/</guid>
      <description>第四個角色 worker 接進來，卻踩到 phase-1 就埋下的潛伏 bug：server-side fetch 沒帶 Referer，Sanctum 不認 SPA session，SSR 認證鏈靜默斷掉。這篇完整記錄排查路徑，還講 saved listener 與 multipart 上傳的安全紅線。</description>
      <pubDate>Wed, 17 Jun 2026 00:00:00 GMT</pubDate>
      <category>重構筆記</category>
      <category>重構筆記</category>
      <category>OpenSpec</category>
      <category>Laravel</category>
      <category>Next.js</category>
      <category>Sanctum</category>
      <category>Multipart</category>
    </item>
    <item>
      <title>OpenSpec 重構老專案 Ep-5:交易核心與競態防線</title>
      <link>https://peter-to-better.com/posts/openspec-%E9%87%8D%E6%A7%8B%E8%80%81%E5%B0%88%E6%A1%88-ep-5/</link>
      <guid isPermaLink="true">https://peter-to-better.com/posts/openspec-%E9%87%8D%E6%A7%8B%E8%80%81%E5%B0%88%E6%A1%88-ep-5/</guid>
      <description>碳匯交易核心一天從 propose 跑到 archive。挑 4 個設計決策講透：角色用 row 存在性推導、state machine 雙保險、同時購買競態用 DB transaction + lockForUpdate + UNIQUE 三層防線擋住。想學 Laravel 併發防護就看這篇。</description>
      <pubDate>Sun, 14 Jun 2026 00:00:00 GMT</pubDate>
      <category>重構筆記</category>
      <category>重構筆記</category>
      <category>OpenSpec</category>
      <category>Laravel</category>
      <category>Next.js</category>
      <category>State Machine</category>
    </item>
    <item>
      <title>OpenSpec 重構老專案 Ep-4:用 propose 設計 Sanctum 認證</title>
      <link>https://peter-to-better.com/posts/openspec-%E9%87%8D%E6%A7%8B%E8%80%81%E5%B0%88%E6%A1%88-ep-4/</link>
      <guid isPermaLink="true">https://peter-to-better.com/posts/openspec-%E9%87%8D%E6%A7%8B%E8%80%81%E5%B0%88%E6%A1%88-ep-4/</guid>
      <description>認證功能開工。這篇用 /opsx:propose 走一次設計，帶你看 4 個 artifact 各在做什麼、Sanctum SPA 為什麼贏過 token 模式，還把最容易踩坑的「四觸點對齊」釘進 spec 級 requirement。純設計 walkthrough，看完就懂為什麼先寫 spec。</description>
      <pubDate>Sat, 13 Jun 2026 00:00:00 GMT</pubDate>
      <category>重構筆記</category>
      <category>重構筆記</category>
      <category>OpenSpec</category>
      <category>Laravel</category>
      <category>Sanctum</category>
      <category>Next.js</category>
    </item>
    <item>
      <title>OpenSpec 重構老專案 Ep-3:Next.js 16 前端開工</title>
      <link>https://peter-to-better.com/posts/openspec-%E9%87%8D%E6%A7%8B%E8%80%81%E5%B0%88%E6%A1%88-ep-3/</link>
      <guid isPermaLink="true">https://peter-to-better.com/posts/openspec-%E9%87%8D%E6%A7%8B%E8%80%81%E5%B0%88%E6%A1%88-ep-3/</guid>
      <description>前端用 pnpm create next-app 開工。這篇拆解那行指令背後的 8 個 flag，完整解掉 ERR_PNPM_IGNORED_BUILDS（Ignored build scripts: sharp）的 approve-builds 陷阱、Node 版本怎麼對齊、首頁怎麼砍到 14 行驗證後端。</description>
      <pubDate>Fri, 12 Jun 2026 23:00:00 GMT</pubDate>
      <category>重構筆記</category>
      <category>重構筆記</category>
      <category>OpenSpec</category>
      <category>Next.js</category>
      <category>React</category>
    </item>
    <item>
      <title>OpenSpec 重構老專案 Ep-2:裝好 PHP 與 Composer</title>
      <link>https://peter-to-better.com/posts/openspec-%E9%87%8D%E6%A7%8B%E8%80%81%E5%B0%88%E6%A1%88-ep-2/</link>
      <guid isPermaLink="true">https://peter-to-better.com/posts/openspec-%E9%87%8D%E6%A7%8B%E8%80%81%E5%B0%88%E6%A1%88-ep-2/</guid>
      <description>動工 Laravel 前，先把 PHP 8 與 Composer 兩張入場券辦好。這篇用 Node.js 開發者秒懂的對照，帶你在 macOS / Linux / Windows 各自一行裝起來，還把 composer create-project 每個 token 拆給你看。照著裝完就能跑。</description>
      <pubDate>Fri, 12 Jun 2026 21:00:00 GMT</pubDate>
      <category>重構筆記</category>
      <category>重構筆記</category>
      <category>OpenSpec</category>
      <category>PHP</category>
      <category>Laravel</category>
    </item>
    <item>
      <title>OpenSpec 重構老專案 Ep-1:init 與 profile 設定</title>
      <link>https://peter-to-better.com/posts/openspec-%E9%87%8D%E6%A7%8B%E8%80%81%E5%B0%88%E6%A1%88-ep-1/</link>
      <guid isPermaLink="true">https://peter-to-better.com/posts/openspec-%E9%87%8D%E6%A7%8B%E8%80%81%E5%B0%88%E6%A1%88-ep-1/</guid>
      <description>用 spec-driven development 工具 OpenSpec 重構跑了兩年的老專案。這篇拆解 openspec init 跟 config profile 兩個入門指令，帶你搞懂 Delivery 與 Workflows 兩個維度怎麼決定你有哪些指令。跟著裝一次就上手。</description>
      <pubDate>Thu, 11 Jun 2026 22:00:00 GMT</pubDate>
      <category>重構筆記</category>
      <category>重構筆記</category>
      <category>OpenSpec</category>
    </item>
    <item>
      <title>Claude Code Hooks 與 MCP 實戰設定｜Harness 筆記 Ep-7</title>
      <link>https://peter-to-better.com/posts/harness-engineering-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-ep-7/</link>
      <guid isPermaLink="true">https://peter-to-better.com/posts/harness-engineering-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-ep-7/</guid>
      <description>Claude Code Hooks 與 MCP 怎麼落地？本集寫出兩個 PreToolUse hook，用 exit code 2 把 HARD 規則變成「動不了」的決定性約束，並用 .mcp.json 把資料庫、GitHub 等外部工具接進 sub-agent。附完整設定範例。</description>
      <pubDate>Sat, 16 May 2026 19:30:00 GMT</pubDate>
      <category>Harness Engineering</category>
      <category>Harness Engineering</category>
    </item>
    <item>
      <title>Claude Code Skill 與 Sub-agent 差在哪？｜Harness 筆記 Ep-6</title>
      <link>https://peter-to-better.com/posts/harness-engineering-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-ep-6/</link>
      <guid isPermaLink="true">https://peter-to-better.com/posts/harness-engineering-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-ep-6/</guid>
      <description>Claude Code Skill 與 Sub-agent 到底差在哪？一次搞懂 progressive disclosure、為什麼 slash commands 併進了 skills，並動手做一個 dep-auditor 示範「Sub-agent + Skill 合用」的經典模式。附五元件決策表。</description>
      <pubDate>Sat, 16 May 2026 18:00:00 GMT</pubDate>
      <category>Harness Engineering</category>
      <category>Harness Engineering</category>
    </item>
    <item>
      <title>為什麼選 Nx？它到底幫你做了什麼｜Harness 番外</title>
      <link>https://peter-to-better.com/posts/harness-engineering-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-%E7%95%AA%E5%A4%96-why-nx/</link>
      <guid isPermaLink="true">https://peter-to-better.com/posts/harness-engineering-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-%E7%95%AA%E5%A4%96-why-nx/</guid>
      <description>為什麼要用 Nx？它跟 Turborepo、Lerna、pnpm workspace 差在哪，對 Claude Code 開發又有什麼好處？本篇一次講清楚 Nx 五大核心能力、Inferred Tasks，以及什麼時候「不該」用 Nx。</description>
      <pubDate>Sat, 16 May 2026 16:30:00 GMT</pubDate>
      <category>Harness Engineering</category>
      <category>Harness Engineering</category>
    </item>
    <item>
      <title>Nx 前後端 Scaffold 建構紀錄｜Harness 番外</title>
      <link>https://peter-to-better.com/posts/harness-engineering-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-%E7%95%AA%E5%A4%96-nx-scaffold/</link>
      <guid isPermaLink="true">https://peter-to-better.com/posts/harness-engineering-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-%E7%95%AA%E5%A4%96-nx-scaffold/</guid>
      <description>Nx workspace 怎麼從零搭建？本篇是一份完整可重現的 9 步指令清單，從 create-nx-workspace、生 NestJS server 與 Next.js client、加 lib，到兩種不同的 port 設定模式，照著跑就能複製骨架。</description>
      <pubDate>Sat, 16 May 2026 14:00:00 GMT</pubDate>
      <category>Harness Engineering</category>
      <category>Harness Engineering</category>
    </item>
    <item>
      <title>Spec-Driven Development（SDD）導入實戰｜Harness 筆記 Ep-5</title>
      <link>https://peter-to-better.com/posts/harness-engineering-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-ep-5/</link>
      <guid isPermaLink="true">https://peter-to-better.com/posts/harness-engineering-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-ep-5/</guid>
      <description>Agent 寫的程式碼一直「飄」離初衷？本集導入 2026 最熱門的 Spec-Driven Development（SDD），把 /spec、/plan、/implement 三個 slash command 加進 template，讓每個 feature 都有可被 review、可進版控的契約。</description>
      <pubDate>Wed, 13 May 2026 10:00:00 GMT</pubDate>
      <category>Harness Engineering</category>
      <category>Harness Engineering</category>
    </item>
    <item>
      <title>Claude Code Sub-agent 教學與 Context Firewall｜Harness 筆記 Ep-4</title>
      <link>https://peter-to-better.com/posts/harness-engineering-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-ep-4/</link>
      <guid isPermaLink="true">https://peter-to-better.com/posts/harness-engineering-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-ep-4/</guid>
      <description>Claude Code Sub-agent 怎麼用？一次搞懂 Context Firewall 如何對抗 Context Rot、不讓主對話越跑越笨，並導覽 template 裡 6 個 Nx + NestJS + GraphQL + Next.js 專用 sub-agent 與四條共用設計模式。</description>
      <pubDate>Tue, 12 May 2026 23:15:00 GMT</pubDate>
      <category>Harness Engineering</category>
      <category>Harness Engineering</category>
    </item>
    <item>
      <title>打造 Claude Code 開發模板：claude-harness-template｜Harness 筆記 Ep-3</title>
      <link>https://peter-to-better.com/posts/harness-engineering-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-ep-3/</link>
      <guid isPermaLink="true">https://peter-to-better.com/posts/harness-engineering-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-ep-3/</guid>
      <description>理論學完，開始動手打造 claude-harness-template 開源模板，專為 Nx + NestJS + GraphQL + Next.js 設計，clone 後直接用 Claude Code 開發。本集先講骨架、五條設計原則與後續五集 roadmap。</description>
      <pubDate>Tue, 12 May 2026 22:00:00 GMT</pubDate>
      <category>Harness Engineering</category>
      <category>Harness Engineering</category>
    </item>
    <item>
      <title>Claude Code Hooks 教學：12 個生命週期事件｜Harness 筆記 Ep-2</title>
      <link>https://peter-to-better.com/posts/harness-engineering-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-ep-2/</link>
      <guid isPermaLink="true">https://peter-to-better.com/posts/harness-engineering-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-ep-2/</guid>
      <description>Claude Code Hooks 怎麼用？一次搞懂 12 個生命週期事件、PreToolUse 封鎖機制與 Exit Code 2 的決定性意義，把「拜託 Agent」變成「不做到就動不了」。附 5 個 NX Monorepo 生產級 hook 範例。</description>
      <pubDate>Tue, 12 May 2026 10:30:00 GMT</pubDate>
      <category>Harness Engineering</category>
      <category>Harness Engineering</category>
    </item>
    <item>
      <title>AGENTS.md 怎麼寫才有效？80 行實例教學｜Harness 筆記 Ep-1</title>
      <link>https://peter-to-better.com/posts/harness-engineering-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-ep-1/</link>
      <guid isPermaLink="true">https://peter-to-better.com/posts/harness-engineering-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-ep-1/</guid>
      <description>AGENTS.md 怎麼寫才有效？ETH Zurich 研究揭露「寫太多反而讓成功率下降」的殘酷數據，還有寫進去的工具被用 160 倍的規則。附一份 80 行實例，手把手帶你寫出精簡有效的 AGENTS.md。</description>
      <pubDate>Sat, 09 May 2026 14:30:00 GMT</pubDate>
      <category>Harness Engineering</category>
      <category>Harness Engineering</category>
    </item>
    <item>
      <title>Harness Engineering 是什麼？AI Agent 的第三層工程｜Harness 筆記 Ep-0</title>
      <link>https://peter-to-better.com/posts/harness-engineering-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-ep-0/</link>
      <guid isPermaLink="true">https://peter-to-better.com/posts/harness-engineering-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-ep-0/</guid>
      <description>Harness Engineering 是什麼？從 Mitchell Hashimoto 的起源到核心公式 Agent = Model + Harness，一次搞懂 Prompt、Context、Harness 三層工程差在哪，以及它為何九十天橫掃 AI 產業。附騎馬比喻。</description>
      <pubDate>Sat, 09 May 2026 10:00:00 GMT</pubDate>
      <category>Harness Engineering</category>
      <category>Harness Engineering</category>
    </item>
    <item>
      <title>RAG 入門教學：LangChain + Ollama 實作 8 步驟｜LangChain 筆記 Ep-1</title>
      <link>https://peter-to-better.com/posts/langchain-%E8%88%87-llm-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-ep-1/</link>
      <guid isPermaLink="true">https://peter-to-better.com/posts/langchain-%E8%88%87-llm-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-ep-1/</guid>
      <description>RAG 教學：用 LangChain + Ollama 把「載入→分割→嵌入→索引→檢索→生成」8 個步驟串成可跑的 Python 程式，搭配 Chroma 向量資料庫，本地免費跑 llama3.1，附完整程式碼。</description>
      <pubDate>Wed, 15 Oct 2025 23:35:40 GMT</pubDate>
      <category>LangChain &amp; LLM</category>
      <category>LangChain &amp; LLM</category>
    </item>
    <item>
      <title>LLM、LangChain、AI Agent 與 MCP 是什麼？｜LangChain 筆記 Ep-0</title>
      <link>https://peter-to-better.com/posts/langchain-%E8%88%87-llm-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-ep-0/</link>
      <guid isPermaLink="true">https://peter-to-better.com/posts/langchain-%E8%88%87-llm-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-ep-0/</guid>
      <description>5 分鐘看懂 LLM、LangChain、AI Agent 與 MCP 的關係：什麼是 Context Window、token 限制，LangChain 怎麼幫你串接模型，以及 Anthropic MCP 協議解決什麼問題。</description>
      <pubDate>Mon, 05 May 2025 15:34:14 GMT</pubDate>
      <category>LangChain &amp; LLM</category>
      <category>LangChain &amp; LLM</category>
    </item>
    <item>
      <title>Docker Compose 與跨容器通訊教學｜Docker 與 K8s 筆記 Ep-4</title>
      <link>https://peter-to-better.com/posts/docker-%E8%88%87-k8s-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-ep-4/</link>
      <guid isPermaLink="true">https://peter-to-better.com/posts/docker-%E8%88%87-k8s-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-ep-4/</guid>
      <description>單一容器不夠用時怎麼辦？本篇教你 Docker Network 跨容器通訊原理，並用 docker-compose.yml 把前後端與資料庫三個容器用一行指令全部啟動。</description>
      <pubDate>Mon, 24 Mar 2025 22:29:52 GMT</pubDate>
      <category>Docker &amp; K8s</category>
      <category>Docker &amp; K8s</category>
      <category>Docker</category>
      <category>Docker Compose</category>
      <category>容器化</category>
    </item>
    <item>
      <title>Docker 常用指令速查表＋推上 Docker Hub｜Docker 與 K8s 筆記 Ep-3</title>
      <link>https://peter-to-better.com/posts/docker-%E8%88%87-k8s-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-ep-3/</link>
      <guid isPermaLink="true">https://peter-to-better.com/posts/docker-%E8%88%87-k8s-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-ep-3/</guid>
      <description>Docker 常用指令速查表，涵蓋 image 管理、container 操作、volume 掛載，附完整 docker push 到 Docker Hub 的推送流程，方便隨時查閱。</description>
      <pubDate>Tue, 25 Feb 2025 21:57:39 GMT</pubDate>
      <category>Docker &amp; K8s</category>
      <category>Docker &amp; K8s</category>
      <category>Docker</category>
      <category>Docker Hub</category>
      <category>DevOps</category>
    </item>
    <item>
      <title>Dockerfile 教學：Image 與 Container 差別｜Docker 與 K8s 筆記 Ep-2</title>
      <link>https://peter-to-better.com/posts/docker-%E8%88%87-k8s-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-ep-2/</link>
      <guid isPermaLink="true">https://peter-to-better.com/posts/docker-%E8%88%87-k8s-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-ep-2/</guid>
      <description>釐清 Docker Image 和 Container 的本質差異，並實作一個 Node.js 應用的 Dockerfile，學會 FROM、COPY、RUN、CMD 四個核心指令。</description>
      <pubDate>Mon, 24 Feb 2025 22:47:34 GMT</pubDate>
      <category>Docker &amp; K8s</category>
      <category>Docker &amp; K8s</category>
      <category>Docker</category>
      <category>容器化</category>
      <category>Dockerfile</category>
    </item>
    <item>
      <title>Docker 安裝與基本指令教學｜Docker 與 K8s 筆記 Ep-1</title>
      <link>https://peter-to-better.com/posts/docker-%E8%88%87-k8s-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-ep-1/</link>
      <guid isPermaLink="true">https://peter-to-better.com/posts/docker-%E8%88%87-k8s-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-ep-1/</guid>
      <description>手把手從 Docker Desktop 安裝開始，帶你跑 docker pull、run、ps、stop、rm 等常用指令，跟著做就能在本機啟動你的第一個容器。</description>
      <pubDate>Sun, 23 Feb 2025 14:17:54 GMT</pubDate>
      <category>Docker &amp; K8s</category>
      <category>Docker &amp; K8s</category>
      <category>Docker</category>
      <category>容器化</category>
      <category>DevOps</category>
    </item>
    <item>
      <title>Docker 是什麼？容器化技術入門｜Docker 與 K8s 筆記 Ep-0</title>
      <link>https://peter-to-better.com/posts/docker-%E8%88%87-k8s-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-ep-0/</link>
      <guid isPermaLink="true">https://peter-to-better.com/posts/docker-%E8%88%87-k8s-%E5%AD%B8%E7%BF%92%E7%AD%86%E8%A8%98-ep-0/</guid>
      <description>用生活化比喻解釋 Docker 是什麼、容器化技術解決哪些開發痛點，以及 Docker 和虛擬機的本質差別。完全沒碰過容器的新手也能快速看懂。</description>
      <pubDate>Fri, 21 Feb 2025 21:39:15 GMT</pubDate>
      <category>Docker &amp; K8s</category>
      <category>Docker &amp; K8s</category>
      <category>Docker</category>
      <category>容器化</category>
      <category>DevOps</category>
    </item>
    <item>
      <title>TypeScript Decorator 與 Utility Types 教學｜TS 從 0 開始 Ep-5</title>
      <link>https://peter-to-better.com/posts/typescript-ep-5/</link>
      <guid isPermaLink="true">https://peter-to-better.com/posts/typescript-ep-5/</guid>
      <description>TypeScript 進階功能：Decorator 裝飾器語法與應用場景、Namespace 命名空間，以及 Partial、Required、Pick、Omit 等 Utility Types 實用教學。</description>
      <pubDate>Wed, 19 Feb 2025 11:34:49 GMT</pubDate>
      <category>TypeScript</category>
      <category>TypeScript</category>
      <category>前端</category>
      <category>型別</category>
      <category>進階</category>
    </item>
    <item>
      <title>TypeScript 泛型與型別守衛教學｜TS 從 0 開始 Ep-4</title>
      <link>https://peter-to-better.com/posts/typescript-ep-4/</link>
      <guid isPermaLink="true">https://peter-to-better.com/posts/typescript-ep-4/</guid>
      <description>TypeScript 泛型（Generics）讓函式可重用不同型別、型別守衛（Type Guard）確保執行時安全，搭配 ES6 import/export 模組系統完整教學與範例。</description>
      <pubDate>Tue, 18 Feb 2025 20:59:32 GMT</pubDate>
      <category>TypeScript</category>
      <category>TypeScript</category>
      <category>前端</category>
      <category>型別</category>
      <category>泛型</category>
    </item>
    <item>
      <title>TypeScript Enum 與 Tuple 完整教學｜TS 從 0 開始 Ep-3</title>
      <link>https://peter-to-better.com/posts/typescript-ep-3/</link>
      <guid isPermaLink="true">https://peter-to-better.com/posts/typescript-ep-3/</guid>
      <description>TypeScript Enum 列舉與 Tuple 元組完整教學：什麼時候用 enum、const enum 效能差別、tuple 如何固定陣列型別，附實際開發中的應用範例。</description>
      <pubDate>Mon, 17 Feb 2025 11:25:25 GMT</pubDate>
      <category>TypeScript</category>
      <category>TypeScript</category>
      <category>前端</category>
      <category>型別</category>
      <category>資料結構</category>
    </item>
    <item>
      <title>TypeScript Interface 與 Type Alias 差異教學｜TS 從 0 開始 Ep-2</title>
      <link>https://peter-to-better.com/posts/typescript-ep-2/</link>
      <guid isPermaLink="true">https://peter-to-better.com/posts/typescript-ep-2/</guid>
      <description>TypeScript 函式型別、Interface 介面與 Type Alias 型別別名完整教學，搞懂 interface vs type 的使用時機與差異，讓物件型別定義更清晰。</description>
      <pubDate>Sun, 16 Feb 2025 09:34:52 GMT</pubDate>
      <category>TypeScript</category>
      <category>TypeScript</category>
      <category>前端</category>
      <category>型別</category>
      <category>Interface</category>
    </item>
    <item>
      <title>TypeScript 是什麼？與 JavaScript 差別＋Vite 建置｜TS 從 0 開始 Ep-0</title>
      <link>https://peter-to-better.com/posts/typescript-ep-0/</link>
      <guid isPermaLink="true">https://peter-to-better.com/posts/typescript-ep-0/</guid>
      <description>搞懂 TypeScript 和 JavaScript 的本質差別、為什麼前端工程師都在學 TS，並用 Vite 建立你的第一個 TypeScript 專案，附官方線上編輯器介紹。</description>
      <pubDate>Mon, 10 Feb 2025 16:32:00 GMT</pubDate>
      <category>TypeScript</category>
      <category>TypeScript</category>
      <category>前端</category>
      <category>型別</category>
      <category>JavaScript</category>
    </item>
    <item>
      <title>TypeScript 型別入門：any 與 unknown 差在哪｜TS 從 0 開始 Ep-1</title>
      <link>https://peter-to-better.com/posts/typescript-ep-1/</link>
      <guid isPermaLink="true">https://peter-to-better.com/posts/typescript-ep-1/</guid>
      <description>TypeScript 型別系統入門：string、number、boolean、any、unknown、void、never 各有什麼用途、any 和 unknown 差在哪？附完整範例說明每種型別的使用時機。</description>
      <pubDate>Mon, 10 Feb 2025 16:32:00 GMT</pubDate>
      <category>TypeScript</category>
      <category>TypeScript</category>
      <category>前端</category>
      <category>型別</category>
    </item>
    <item>
      <title>Git Cherry-Pick 教學：挑選指定 Commit 完整步驟</title>
      <link>https://peter-to-better.com/posts/git-cherry-pick/</link>
      <guid isPermaLink="true">https://peter-to-better.com/posts/git-cherry-pick/</guid>
      <description>Git cherry-pick 完整教學：不合併整個分支，只把指定 commit 搬到目前分支。附雜湊值查法、多個 commit 一次 cherry-pick、衝突處理步驟說明。</description>
      <pubDate>Thu, 14 Mar 2024 11:40:12 GMT</pubDate>
      <category>git</category>
      <category>git</category>
    </item>
    <item>
      <title>Vue 生命週期完整解析｜Vue2+Vue3 Ep-2</title>
      <link>https://peter-to-better.com/posts/vue2-vue3-ep-2/</link>
      <guid isPermaLink="true">https://peter-to-better.com/posts/vue2-vue3-ep-2/</guid>
      <description>Vue 生命週期完整解析：beforeCreate、created、beforeMount、mounted、beforeUpdate、updated、beforeDestroy 各階段用途與觸發時機，附實作範例與圖解。</description>
      <pubDate>Fri, 15 Sep 2023 11:40:12 GMT</pubDate>
      <category>Vue</category>
      <category>Vue2 + Vue3</category>
      <category>Vue</category>
      <category>Vue3</category>
      <category>前端框架</category>
    </item>
    <item>
      <title>Vue 鍵盤事件與修飾符教學｜Vue2+Vue3 Ep-1</title>
      <link>https://peter-to-better.com/posts/vue2-vue3-ep-1/</link>
      <guid isPermaLink="true">https://peter-to-better.com/posts/vue2-vue3-ep-1/</guid>
      <description>Vue 鍵盤事件與修飾符完整教學：keyup.enter 偵測 Enter 鍵、.stop .prevent .once 事件修飾符用法，附 Vue2 與 Vue3 語法差異對照與實作範例。</description>
      <pubDate>Tue, 08 Aug 2023 16:03:07 GMT</pubDate>
      <category>Vue</category>
      <category>Vue2 + Vue3</category>
      <category>Vue</category>
      <category>Vue3</category>
      <category>前端框架</category>
    </item>
    <item>
      <title>Vue 入門教學：指令、綁定與 Todo List 實作｜Vue2+Vue3 Ep-0</title>
      <link>https://peter-to-better.com/posts/vue2-vue3-ep-0/</link>
      <guid isPermaLink="true">https://peter-to-better.com/posts/vue2-vue3-ep-0/</guid>
      <description>Vue 入門教學：雙向數據綁定、v-if 條件渲染、v-for 列表渲染、v-on 事件綁定一次學會，最後從零實作一個 Todo List，Vue2 與 Vue3 語法對照。</description>
      <pubDate>Wed, 02 Aug 2023 11:13:26 GMT</pubDate>
      <category>Vue</category>
      <category>Vue2 + Vue3</category>
      <category>Vue</category>
      <category>Vue3</category>
      <category>前端框架</category>
    </item>
    <item>
      <title>關於我：Peter｜peter-to-better 技術部落格</title>
      <link>https://peter-to-better.com/posts/welcome/</link>
      <guid isPermaLink="true">https://peter-to-better.com/posts/welcome/</guid>
      <description>嗨，我是 Peter，歡迎來到 peter-to-better 技術部落格。這裡分享 LangChain、Docker、TypeScript、Vue 等學習筆記，記錄工程師成長過程，與你一起變好。</description>
      <pubDate>Sat, 29 Jul 2023 09:13:59 GMT</pubDate>
      <category>關於</category>
      <category>about</category>
    </item>
  </channel>
</rss>
