文章
2026
157 篇
每個網站都要你同意 cookie,但根本沒有法律規定要有這個視窗
你一定點過那種「隱私權同意」的按鈕——但沒有任何一條法律規定網站要放它。它是業者為了繼續追蹤你而發明出來的通行證。這篇用最白話的方式講清楚:它到底是誰弄出來的、為什麼十年下來變成一場騙你按同意的比賽、歐洲現在想怎麼收拾,以及台灣網站經營者最實際的一件事——你的網站可能根本不需要它。
Agent 記性很差? 如何讓不同電腦上的 Agent 進行 context 同步
換一台電腦、開一個新對話,Agent 還是能在幾秒內接上進度。關鍵是把「檔案同步」和「上下文同步」拆成兩件事,再把 source of truth 設計成跨機器、跨對話、跨 agent 都能 reload。
十年前我就在玩 OpenStack:翻出 2016 年的 Horizon 簡報
在 Kubernetes 還沒一統天下、公有雲還在打地基的年代,我做了一份「Introduction OpenStack Horizon」的簡報。翻出這份 2016 年的舊筆記,順手把當年講的東西完整復刻一遍——也算是給自己的一張雲端考古學證明。
2026 AI Coding 工具一覽表:為何我選 Claude Code 搭配 Codex
完整比較 Claude Code、OpenAI Codex CLI、Google Gemini CLI、GitHub Copilot、Cursor、Devin 六大 AI 程式設計工具。從定位差異、pricing、開源策略到 2026 年趨勢,最後分享我為什麼以 Claude Code 為主力、搭配 Codex 互補的組合。
一個工程師創辦人的真實成本清單:CityTasker 教我的 4 件事
工程師創業,最容易低估的從來不是技術,而是看不見的成本——燒錢的速度、沒人教你的法規、聚焦的代價,還有那個致命錯覺:寫得出來的東西,最不值錢。這是 CityTasker 用兩年燒完的錢,幫我列出的成本清單。
整個城市都有我的好幫手:CityTasker 開站那天,我們真的以為要成功了
2013 年 8 月 7 日,CityTasker 開站。我盯著後台一直按 F5,一天 837 個人註冊、最高 50 人同時在線、54 封簡訊發出去——那一刻,我跟夥伴真的以為要成功了。這是一個入選 AppWorks 第七屆、最後燒完錢收攤的創業故事的開場。
不是那 1% 的人:十年後,我怎麼看 CityTasker 這場沒成功的創業
創業圈總在歌頌那 1% 成功的人,剩下 99% 呢?十年後回看 CityTasker——一場燒完錢、親手收掉的創業,我想重新定義什麼叫「失敗」,以及這段沒成功的經歷,後來怎麼變成我做到 VP Engineering 的底氣。
速度比完美更重要:創業教我的事,後來都變成我帶團隊的原則
CityTasker 是我 2012 年和朋友做的任務媒合平台。當年沒資源、沒時間,「速度比完美更重要」是被現實逼出來的生存本能;十年後當我帶團隊一路做到技術總監、VP,這套心態反而成了我刻意選擇的管理原則。
賣掉之後呢:CityTasker 最意外的結局,是連買下我們的公司也不在了
我說 CityTasker 燒完錢收攤了——那是真的,但不是全部。它後來其實被一間 AppWorks 認識的獵頭顧問公司 sudo 買下,從合作、一頓頓早餐會、到一紙 2016 年的收購合約。而最意外的結局是:連買下我們的那間公司,後來也不在了。
Agentic Engineering 的下一步:2026 之後,工程師還需要寫 code 嗎?
Benchmark 進步很快,但不能直接外推明年的能力。從一年實戰整理工程師仍需負責的判斷、協調、品味與風險,並附一份可自行調整的能力維持練習。
Homebrew 6.0 來了:先搞懂這幾個會影響你日常的改動
Homebrew 6.0 不是炫技版號,而是把資安收緊、把你每天 brew install 的習慣改掉,還開始跟 Intel Mac 道別。挑幾個對 Mac 開發者最有感的改動,實測給你看。
第 6 章:買完才發現——.dev 網域居然不能收信
我以為買完 .dev 就結束了,直到要幫 App 設客服信箱才發現:買網域 ≠ 有信箱。還好 Cloudflare Email Routing 五分鐘免費搞定。
第 7 章:信收得到了,但能用它「寄」信嗎?
Cloudflare Email Routing 只能收信、不能寄。想用自己網域的地址回客訴,得補上「Send mail as + Resend」這一半——還有一個會讓整封信進垃圾桶的 SPF 雷。
chezmoi 到底怎麼念?它是法文「我家」,拿來管 $HOME 剛剛好
chezmoi 不念「切斯莫伊」——它是法文 chez moi [ʃɛ mwa]「我家」。一個管理你 $HOME 的工具,名字就叫「我家」,背後是個很巧妙的設計隱喻。
拿到 Google Cybersecurity 證書,卻卡在最後一關 Verify ID:身分證一直失敗,改用護照英文姓名才過
我考完 Google Cybersecurity Professional Certificate,最後卻被 Coursera 的 Verify ID 擋了下來——用身分證驗證時名字一直出錯、一直失敗。原因是 Coursera 是國外系統,辨識中文姓名時偶有誤判。後來改用護照(英文姓名)就順利通過。這篇把踩雷過程與解法整理給同樣卡關的你。
把 Agentic Engineering 帶進團隊:從一個人的實驗到整個 team 的文化轉變
你自己用 agent 很爽,但怎麼讓整個 team 跟上?從 solo practitioner 到 team evangelist 的過程——怎麼挑第一個 pilot project、怎麼處理「AI 會取代我嗎」的焦慮、怎麼建立共享的 agent 規範。
完整案例:從 0 到 1 打造 AI 客服系統
本書的綜合實戰章——一個完整的 AI 客服系統,涵蓋 Messages API、Tool Use、Prompt Caching、Streaming、Multi-Agent、成本優化的所有核心概念整合。從架構設計到 Cloud Run 部署,用真實程式碼走完全程。
帶領一支 3–8 人的 AI 工程小隊:成功的關鍵不是追最新框架
一支小型 AI 工程團隊的成敗,不在於用了多潮的 framework,而在於有沒有建立一個可重複的 delivery loop。談 architecture/code/prompt/eval review 怎麼做、怎麼把 AI agent 的能力翻譯成 business stakeholder 聽得懂的 workflow impact 和 ROI、以及怎麼讓團隊在一個變化極快的領域裡持續交付。系列完結篇。
Tailscale 好用到讓我焦慮:它會變成我的 SPOF 嗎?5 種備援方案全解
Tailscale 好用到不真實,但把整張網路綁在一個閉源控制面上,總讓人半夜睡不著。先講個反直覺的真相:你怕的那種 SPOF 其實不太會發生。從「其實不用搬」到 headscale、NetBird、Nebula、純 WireGuard,5 種備援方案一次說清楚怎麼選。
讓 Claude Code 和 Codex 互相 Review:有效,但不是雙重保證
用一個 coding agent 實作、另一個唯讀 review,可以增加第二個觀察角度;但真正的品質仍來自清楚的 review contract、測試、靜態分析與人工決策。
Claude Code vs Codex:一張不容易過期的功能對照表
從互動模式、非互動執行、專案規則、權限與沙箱、Skills、MCP 到 code review,整理 Claude Code 與 Codex 真正能互相對照的能力,也標出不能硬翻譯的地方。
Claude Code 與 Codex 共用專案規則:CLAUDE.md、AGENTS.md 與設定檔
用 AGENTS.md 維護兩邊共用的 repo 規則,再由 CLAUDE.md 匯入並補充工具專屬內容;同時釐清 settings.json、config.toml 和 Skills 各自該放什麼。
Claude Code 與 Codex 共用 MCP:設定、認證與權限邊界
同一個 MCP server 可以同時提供給 Claude Code 與 Codex,但 client 設定、環境變數與 OAuth 認證仍要分開。這篇給出 stdio、HTTP 與 secrets 的安全設定方式。
一份 SKILL.md 兩邊用:Claude Code 與 Codex 的共用邊界
Claude Code 與 Codex 都支援 Agent Skills,但共用格式不等於共用所有執行行為。這篇整理目錄、最小規格、symlink 做法與跨工具驗證清單。
Claude Code 和 Codex 怎麼分工?先看權限、執行環境與工作流
與其先問 Claude Code 或 Codex 誰比較強,不如從任務風險、權限模型、專案規則與工作介面決定誰上場。這篇建立雙修時真正耐用的判斷框架。
Cloudflare Pages 的 20,000 檔案上限:當「一頁一檔」撞牆,我把 TaxMap 搬到 Netlify
TaxMap build 出 23,331 個檔案,撞上 Cloudflare Pages Free 方案「單次部署最多 20,000 檔」的硬限制,最後改用 Netlify 5 分鐘解決。記錄為什麼會爆檔案數(一頁一檔 × 7,750 村里)、三個方案的取捨,以及換平台其實是「換天花板不是拆天花板」——選靜態部署平台別只看單檔大小,檔案數才是隱形天花板。
把 7,750 張 OG 圖改成 Cloudflare Worker 即時生成:Satori at the edge
Cloudflare Worker 即時生成 OG 圖的設計稿:用 workers-og(Satori + resvg-wasm)取代 TaxMap 預先生成的 7,750 張村里圖。含中文字型、Cache API 與 Workers Free CPU 上限踩雷——以及我最後為什麼決定不做,改用 GitHub Release 快照把 commit 檔案數歸零、站續留 Netlify。
Agent 治理框架:讓企業敢把 AI agent 接到真實業務上的那張安全網
把散落在各章的安全與信任機制,收斂成一張可以攤給資安和主管看的治理框架:資料分級、RBAC 權限邊界、tool registry、audit log、human-in-the-loop、eval harness、observability、成本監控。這一張圖,就是「能 demo」和「企業敢用」之間那道治理的牆。
Agent 安全網設計:從 Sandbox、Hooks 到人工核准
Agent 能寫檔、跑指令、push 與 deploy 之後,風險邊界該怎麼畫?用 sandbox、hooks、版本控制與人工核准分層處理,並附可用的 Claude Code hook 結構。
生產環境部署:錯誤處理、限流與可觀測性
開發環境跑得好,不代表生產環境沒問題。本章全面解析 Rate Limits、指數退避、錯誤分類、API Key 安全管理、Logging 策略,以及 OpenTelemetry 整合——附 10 項生產環境部署 checklist。
競爭排名 vs 密集排名 vs 百分位:地圖標籤的 ranking 設計
7,748 個村里,最大排名居然不是 7,748?做 TaxMap 排名功能才發現「排名」有 5 種演算法,差別都在同分怎麼處理。比較 Competition、Dense、Standard 等的適用情境,說明地圖標籤為什麼選 Competition Ranking。
資料地圖該用哪種色階?viridis、YlGnBu 與 ColorBrewer 實戰指南
資料地圖(Choropleth)該用哪種色階?做台灣所得稅 TaxMap 時原本想用 viridis,最後換成 ColorBrewer 的 YlGnBu + Jenks 自然斷點。整理 7 種主流連續色階比較、為什麼紅綠對比是地雷、長尾分布怎麼分級、以及 opacity × 基底圖的隱藏陷阱。
延遲、可靠性、成本:AI agent 系統設計的鐵三角
LLM app 還是個 distributed system,延遲、可靠性、成本這三件事會互相打架,你不可能三個都要到極致。談 streaming 降感知延遲、retry/timeout/circuit breaker、prompt 與結果快取、model routing(小模型優先)、token 成本治理,以及怎麼用工程手段在這個三角上做出有意識的取捨。
OpenFreeMap vs MapTiler vs Mapbox:6 個 Web 地圖底圖服務怎麼選?
做台灣所得稅地圖選底圖時,發現業界標準 Mapbox 免費額度只有 5 萬次/月。整理 OpenFreeMap、MapTiler、Mapbox、NLSC 等 6 種主流服務的免費額度、token、style 比較,以及為什麼公民科技專案選了 2024 年才上線的 OpenFreeMap。
為什麼我把所得地圖色階從 viridis 換成 OrRd:把「一個決策」拆成「兩個獨立軸」
做 TaxMap 色階換三次,最後選 OrRd 不是因為好看,而是把「色階」拆成用色 (hue) + 分桶 (binning) 兩個獨立決策重新組裝。對數絕對門檻(30/50/80/130/200/350 萬)+ OrRd 7 級 = 跨年顏色穩定、中產區段視覺最寬、outlier 自然分出。
PMTiles 取代傳統 tile server:HTTP Range Request 的單檔魔術
PMTiles 把上千萬個 tile 打包成單一檔案,靠 HTTP Range Request 讓瀏覽器只讀需要的部分,沒有 tile server、丟到 S3 就能用。整理它的設計、跟 MBTiles 的差異、何時不該用,以及在 TaxMap 怎麼用 tippecanoe 產一個。
打造 TaxMap 完整心得:6 個技術決策、踩了 4 個坑
TaxMap(台灣所得稅地圖)月成本 $0、4-5 天從零上線的完整復盤:底圖、色階、PMTiles、Astro 6 SSG、FIA 直拓、Competition Ranking 共 6 個技術決策,與 macOS unzip Big5、MapLibre 容器尺寸卡 0×0 等 4 個踩過的坑。
從 PDF / CSV 到 JSON:政府開放資料的 ETL 實戰
做 TaxMap 時清理財政部所得稅 CSV 踩到 6 個坑:民國年 vs 西元年命名陷阱、schema 跨年漂移、BOM / 引號變化、「合計」與「其他」過濾、村里名罕用字 mojibake、早期年度只有 PDF 沒 CSV。記錄這些政府開放資料的真實樣貌與 ETL 處理 pattern。
Web 地圖底圖是什麼?vector vs raster、tile pyramid、style spec 一次搞懂
Web 地圖底圖到底是什麼?這篇用最白話的方式把 vector tile vs raster tile、tile pyramid(z/x/y 金字塔)怎麼設計、style spec 為什麼存在一次講清楚,順便聊 raster 和 vector 各自適合的場景。讀完再回去看其他地圖技術文章會順非常多。
Mosh 入門 — 把 SSH 帶到不穩網路上的 mobile shell
高鐵上、咖啡店、跨洲 SSH 一斷線就崩潰?Mosh 用 UDP + 本地回顯,讓 session 撐過 sleep、IP 切換、丟包,是行動辦公的標配工具。
生產級 LLM 可觀測性與評估:沒有 eval 的 agent,等於沒有測試的軟體
你改了一句 prompt、換了個模型,怎麼知道系統變好還是變壞?拆解 eval harness(黃金題庫、LLM-as-judge、回歸測試)、agent 的 tracing(每一步檢索/工具/模型的 span)、token 與成本監控,以及上線後怎麼偵測品質漂移。把後端的可觀測性硬功夫,搬到會講人話的元件上。
AI Coding 成本怎麼控:從 Token 用量到 Model Routing
AI coding 的帳單為什麼會失控?從實際用量拆解 context、cache、model routing 與 session 管理,並說明如何用 eval 守住成本和品質。
成本控制:省錢是一門工程藝術
從 Token 成本全貌、模型選擇策略、Prompt Caching 到 Batch API,系統性地把 AI 應用的成本降下來。一個真實 RAG 系統從每月 $2000 降到 $300 的完整過程。
多代理協作:什麼時候真的需要 multi-agent,什麼時候那只是讓系統更貴
Multi-agent 聽起來很厲害,但大多數時候一個 agent 加好工具就夠了,而且更好 debug。談 supervisor/worker、pipeline、debate 等協作模式,handoff 怎麼傳 context,錯誤怎麼隔離不互相傳染,以及最重要的——什麼時候你「不」該用多代理。
AI Coding 工具不是三代淘汰:從補全、IDE Agent 到 CLI 與 Cloud Agent
AI Coding 從 inline completion 走向能讀檔、執行指令與驗證結果的 agent,但 IDE、CLI、Desktop 與 Cloud 並不是前後淘汰。這篇用執行迴圈重新理解工具演化。
Claude Code、Codex、Grok Build 怎麼選?用工作流而不是規格表
比較三個 coding agent 時,固定模型、context window 和價格最容易過期。這篇改看執行環境、權限、專案規則、擴充方式、平行工作與驗證流程。
GitHub README 動態 demo 的 5 種策略:從 GIF 到自架 CDN
把產品 demo 塞進 GitHub README 不只 <video> 一條路。從動畫 GIF、GitHub user-attachments、外部 CDN(Cloudflare R2),到 terminal 專用的 Asciinema,5 種策略在檔案大小、自動化、npm/VSCode 跨平台相容性上各有取捨,附決策樹與對照表幫你一眼選對。
GitHub README 排版術:把開源專案首頁變成 landing page
訪客打開 GitHub repo 只給你 10 秒決定要不要 star。這篇用 GitHub 原生 markdown 把 README 排成 landing page:centered hero block、badges、視覺先行、一句話定位、Quick Start、章節順序模板 6 個元素,外加 5 個常見地雷與 2 個現成工具。給第一次發 OSS 的 indie hacker。
把 30 秒產品介紹塞進 GitHub README 的最後一哩
幫開源產品做了 30 秒介紹影片,想內嵌到 GitHub README,卻踩了三個雷才發現潛規則:README 的 video 標籤只認 GitHub 自家 user-attachments CDN,raw 與 Release URL 都不會 inline 播放。
Grok Build CLI 是什麼?從 Plan Mode、相容性到 early beta 風險
Grok Build 是 xAI 推出的 terminal coding agent。這篇依正式文件重新整理互動模式、headless、ACP、Skills、MCP、平行 subagents 與 worktree,也說清楚哪些仍需實測。
為什麼一支 30 秒影片是 OSS 上架最大的槓桿
OSS 99% 死於沒人看,不是 code 不好。從訊息密度、頂級 OSS 共識、8 小時換 1 年的 ROI 三個角度,解釋為什麼一支 30 秒動態影片是 README 最強的槓桿,並回應「我的工具不適合做影片」的 3 種常見反論——給第一次發 OSS 的 indie hacker / solo builder。
MCP Server 開發:讓你的服務成為 AI 工具
從使用者角度到開發者角度,掌握 MCP(Model Context Protocol)Server 開發。學會定義 Tools、Resources、Prompts,讓你的服務被 Claude Code、Claude.ai 以及任何 MCP 客戶端呼叫。
Agent memory 與狀態管理:short / long / episodic,以及記憶也有權限
檢索是「公司的知識」,記憶是「這個使用者、這個任務的脈絡」,兩者不一樣。拆解短期、長期、episodic 三種記憶的用途與設計,context engineering 怎麼決定塞什麼進有限的視窗,以及一個最容易出包的點——A 使用者的記憶不能洩進 B 使用者的對話。
Multi-Agent 編排實戰:我怎麼讓 Claude Code、OpenClaw 與 n8n 協作
Claude Code 與 OpenClaw 負責需要判斷的工作,n8n 負責確定性的自動化。分享這套系統怎麼分工、傳遞 context、避免寫入衝突,以及我何時才會考慮編排框架。
Tool use 與 MCP:當 agent 能動手操作系統,邊界該怎麼劃
Tool-using agent 真正可怕的地方,不是它會講錯話,是它能操作外部系統——改資料、送訂單、動設定。從 function calling 的本質、MCP 作為標準介面,到 action boundary、approval flow、idempotency 與 rollback,談怎麼讓 agent 戴著手套動手,而不是裸手亂抓。
Solo Builder Checklist:你的產品及格了嗎
Solo Builder Checklist 全書總整理:一份可操作的產品健康檢查清單,從點子驗證、建造上線到成長與自主運行,逐項檢查你的產品在每個階段是否達標。附 AI 輔助自我評估 prompt 與精選延伸學習資源,幫你一個人也能把產品做到及格。
Multi-Agent 系統:Orchestrator 與 Subagent 設計模式
單一 agent 有 context 限制、無法平行化、難以專業分工。本章教你用真實的 Anthropic SDK 設計 Orchestrator-Worker 多 agent 系統:在程式碼裡當 orchestrator 做 routing、用 asyncio 平行跑 subagent、設計 agent 間的資料傳遞,以及防止 agent 失控的關鍵技術。
MCP 與 A2A 協議實戰:讓 Agent 從「只會讀 code」變成「能操作整個開發環境」
MCP 讓 agent 連接外部工具,A2A 讓 agent 之間對話。這兩個協議正在重新定義 agentic engineering 的邊界。從實戰角度解析:哪些 MCP server 真的有用、A2A 目前能做什麼、以及怎麼把它們整合進日常工作流。
權限感知檢索:企業 RAG 最難、也最容易被略過的一關
個人玩 RAG 不會遇到這個問題,但企業一定會撞牆:當不同權限的人問同一個 agent,它怎麼確保每個人只檢索得到自己有資格看的東西?拆解 pre-filter vs post-filter、權限繼承、機密分級、來源歸屬與多租戶隔離——這是把「能 demo」和「過得了資安」分開的那條線。
實戰案例:我的四個產品
紙上談兵不如看真實案例。這篇拆解我身為 Solo Builder、邊上班邊做的四個產品——TaxMap-TW 台灣所得地圖、TypeLate 語音轉文字桌面 App、Extension Jetpack Chrome 擴充功能管理器、Android AutoLaunch 排程自動開 App——四種平台、四套完全不同的技術棧。每個產品的關鍵技術決策、AI 到底幫了什麼、實際踩過的坑,給想一個人做產品的你一份真實參照。
向量資料庫與 embedding 策略:先別急著上 Pinecone,pgvector 可能就夠了
向量庫選型是 RAG 的地基,也是最容易過度工程的地方。pgvector vs 專用向量庫(Pinecone/Qdrant/Vectorize)怎麼選?embedding 模型與維度怎麼挑?什麼時候需要 hybrid search?HNSW 和 IVF 差在哪?用一張決策表和一個「先用 Postgres」的務實建議,幫你把地基打對。
打造你的第一個 Agent:工具、狀態與循環
Agent 生命週期完整解析(真實 agentic loop);用 @beta_tool 與手寫 JSON 定義工具;工具回傳值設計;用 messages 歷史傳遞記憶;max_iterations 與 stop_reason 停止條件;Python 完整 Research Agent(tool_runner 可跑版);常見陷阱(無限循環、token 爆炸);Debug 技巧;單元測試與 mock client 策略。
CLAUDE.md 與 Rules Files 大師班:我維護 40+ 份設定檔學到的事
CLAUDE.md 不是寫一次就不管的 README。經過一年的迭代,設定檔系統已經從單一檔案演化成多層架構——global、per-project、per-task、per-tool。分享完整的設定檔架構設計、版本演化歷程,以及維護心得。
「爸爸從未缺席」——為什麼我選擇遠距工作
一位名醫行醫四十年每天只工作五小時,只為不缺席女兒的成長。我認出了自己——把陪伴列為不可妥協的約束條件,在這個框架裡最佳化其他事情。
怎麼在遠距工作裡保持高效,又不讓工作吃掉家庭時間
以為遠距就是賺到陪伴的時間,後來才發現工作會自動填滿所有縫隙。這篇是我為了不被工作吃掉家庭時間,慢慢摸索出來的邊界設計。
遠距工作第一年:我沒想到的 5 件事
遠距工作的第一年,比我想像中複雜很多。有甜的也有苦的,更多是夾在中間、自己慢慢摸索的東西。寫給正在考慮要不要遠距的你。
三明治世代的職涯設計:同時照顧女兒和父母,我怎麼安排時間
上有年邁父母,下有國小女兒,中間還要工作賺錢。三明治世代沒有兩全的解法,只有優先順序。我把「不缺席」從女兒身上,擴展到父母——但兩邊的不缺席,意義不一樣。
RAG 架構實戰:從文件 ingestion 到 source-cited 回答的每一步
企業 RAG 不是「把文件丟進向量庫然後問問題」這麼簡單。從 ingestion、chunking 策略、embedding、檢索、reranking 到 source citation,拆解每一步的設計取捨與最常見的翻車點,以及為什麼「答案要附來源」是企業信任 AI 的第一道門檻。
從 Side Project 到 Micro SaaS
你的 Side Project 開始有陌生人付費,下一步呢?這篇談 Micro SaaS 的 PMF 信號、用「10 倍價值」法則定價、零行銷預算成長、台灣行號與公司的法律稅務結構,以及「該不該離職」的三道門檻,幫你判斷下一步該怎麼走、何時該認真經營。
企業 AI Agent 系統架構藍圖:一張圖看懂能上 production 的 agent 長什麼樣
把上一篇的六道鴻溝收斂成一張參考架構:從 API Gateway、Agent Runtime、Tool Registry、權限感知檢索、Memory Store 到 Model Router 與可觀測性旁路。每個元件為什麼存在、少了它會出什麼事、以及怎麼跟你既有的後端整合而不是另起一座孤島。
MCP 到底是什麼?一篇讀懂 Claude 的插件系統
MCP(Model Context Protocol)是讓 Claude 能呼叫外部工具的標準協議。這篇從零解釋 MCP 的核心概念、和一般 API 的差異,以及如何用 FastMCP 在 10 分鐘內跑起第一個本地工具。
一個需求從 Prompt 到 Production 的完整旅程
從真實 commits 還原閱讀進度條與閱讀時間功能:怎麼補 spec、讓 agent 實作、review 差異,再把驗證接回 CI。哪些是紀錄,哪些是事後重建,文中會清楚標示。
Agent SDK 入門:從 API 到 Agentic 應用
為什麼有了 Messages API 還需要工具循環封裝;Tool Use 的 agentic loop 痛點;用 Claude 建 agent 的兩條真實路徑(官方 SDK 的 beta tool runner 與 Managed Agents);Python + TypeScript 安裝與 Hello World;何時手寫 loop、何時用 tool runner;與 LangChain 的比較。
為什麼企業 AI Agent 卡在 PoC?從 demo 到 production 的六道鴻溝
兩天就做出一個會查資料、會呼叫 API 的 AI agent demo,老闆很興奮——然後它在 production 待了六個月還上不了線。這篇拆解 demo 到 production 之間最容易被低估的六道鴻溝,以及為什麼「能動」離「能信任」還很遠。
監控與維運:睡覺時產品也在跑
產品上線不是終點,而是維運的起點。用最小化但有效的監控告警 + self-healing 自動修復,搭配 AI 故障診斷與 Runbook,讓你的產品在你睡覺、甚至休假兩週時也能穩定運行。
Agent 產出品質保證:Code Review、自動測試、與「不要太信任」的藝術
Agent 寫的 code 看起來很專業,但你怎麼知道它是對的?這篇整理從 CI、自動測試到人工 review 的品質保證流程,讓信任建立在證據上。
Batch API:大量任務的高效非同步處理
Message Batches API 完整指南;與普通 API 的差異;JSONL 輸入格式;輪詢狀態與結果處理;Python + TypeScript 完整範例;錯誤處理;50% 折扣的成本計算;最佳實踐。
後記:寫給榕和辰
爸爸寫這些,不是要你們覺得辛苦或難過。是想讓你們知道,你們每天早上被叫起床、一起吃早餐、被載去學校、看到爸爸在校門口等你們——這些「每天都在發生的小事」,是爸爸用了整個人生才學會的事。
三明治世代的生命課
從小孩身上補上 0-7 歲的記憶,從爸媽身上補上人生後半段的想像,從幫祖先撿骨補上往生後的了解。身處三明治世代的我,意外地近距離看完了整個人類生命週期。看完後,我決定把所有籌碼押在「陪伴」這件事上。
榕的童年清單
帶她吃早餐、喝咖啡、送她上學、接她下課。元旦爬山吃蛋黃派。這不是浪漫的育兒哲學,這是我用整個成長經歷換來的清單。每一項背後,都有一個「我小時候沒有」的故事。
辰辰的溫水刷牙
辰辰開始用溫水刷牙之後,每次都要跑來給爸爸看:「溫溫的!泡溫泉!」然後進階到 2.0 版:要嚇爸爸一跳,還學爸爸的動作表演給媽媽看。這些小到不能再小的片段,是我最想記住的東西。
一個人的客服與社群
用戶開始用你的產品了,問題也跟著來。這篇教 Solo Builder 用 AI chatbot、自動回覆模板和 AI 生成 FAQ 把客服時間壓到每天 30 分鐘,並釐清「客服」與「社群」的差別:什麼時候該建社群、選哪個平台、哪些訊息必須親自回、哪些交給自動化,在不犧牲用戶體驗的前提下一個人也撐得住。
遠距工作的真正理由
有了小孩後,我找了一份遠距工作。不是因為追求自由,而是因為我要每天接送小孩上下學。每一次校外教學、每一場運動會、每一個家長日,我都到場。從「被迫缺席的童年」到「全勤的爸爸」。
我沒有念幼兒園
我跟榕和辰說,爸爸小時候家裡沒有錢,沒有念幼兒園。大學畢業後我選擇不去園區工作,留在台北陪媽媽。那是我第一次主動選擇「陪伴」而不是「收入」。這個選擇,定義了我接下來的人生。
Prompt Caching:降低 90% 重複成本的技術
為什麼 prompt caching 是最重要的成本優化技術;cache_control 用法;快取有效期與定價;適合 vs 不適合快取的內容;Python + TypeScript 實作;快取命中率監控;RAG 系統省錢案例。
PR99 的家庭關係
朋友說:「你們其實已經擁有 PR99 的家庭關係了好嗎!」我愣住了。穩定的家庭關係,對有些人來說是奢侈品。而我從來不覺得那是我的優勢,直到有人這樣說。
Spec-Driven Development:寫給 Agent 的需求文件,比寫給人的還嚴格
Agent 不會讀心術,你的 spec 越模糊,它越容易失控。分享怎麼寫 agent-ready 的 spec——從 task decomposition、acceptance criteria 到 constraint definition,附真實的 spec 範本和「寫太少 vs 寫太多」的對照實驗。
媽到底在不爽什麼
跟媽講到最後就是吵架,完全無法溝通。她拒絕就醫、拒絕搭計程車、拒絕所有你為她安排的東西。不是因為她不需要,是因為在她的世界觀裡,接受幫助就等於示弱。
真心勸世文
這篇不是心靈雞湯,是一個照顧者的血淚整理。台灣長照的經濟現實、扶養義務的法律困境、你可以打的電話和找的資源。如果你正在面對家人的重大醫療決定,這些事情越早知道越好。
500 元的界線
哥每天在家族群組裡抱怨失業、沒女朋友、人生沒希望。每一則訊息都像一顆情緒炸彈丟進我的生活。直到有一天我說:「你每發一則這種訊息,就欠我 500 元看醫生。」哥立刻退出群組。那是我第一次學會設界線。
最後一程
2024 年 10 月 21 日,爸走了。我沒有哭。不是因為不愛,是因為我們已經送走他太多次了。佛教助念八個小時,放棄繼承避免債務,最後在陽明山火化。一切結束得很平靜。
奶瓶蓋都要我開
媽說哥小時候連奶瓶蓋都不會開,每次都是我幫他。三十年過去了,這個模式從來沒有變過。奶瓶蓋變成了工作、感情、房子、人生大小事。而我,從小就是那個「幫忙開蓋子」的人。
手足的距離
照顧一個有精神疾病的哥哥,跟照顧中風臥床的爸爸,是完全不同的事。爸的照顧有終點,哥的沒有。想幫但幫不了、想放手但放不下。這個距離,我到現在還在學怎麼拿捏。
應該要聽媽媽的話
媽從一開始就說不要救。我們沒聽。手術成功了,但爸沒有醒來。一年半後我終於說出那句話:「我應該聽媽的話,真的不應該救的。」這句話,比手術同意書還重。
用戶回饋循環:聽懂用戶在說什麼
一個人做產品最容易犯的錯是「自己覺得好就好」。本文教 Solo Builder 建立系統化的用戶回饋收集與分析流程,用 AI 自動分類、情感分析與優先排序,每週不到一小時,讓有限時間花在最重要的改進上。
精神科的藥
帶哥去看精神科、開了藥、吃了藥。結果越吃越消沉、精神越消迷。藥物治療的兩難:不吃,症狀惡化;吃了,整個人變成行屍走肉。什麼才是「治療成功」?
沒有人跟他講話
哥整天說「沒有人跟我講話」「大家都不理我」。群組裡的訊息轟炸,背後其實是極度的孤獨。思覺失調症讓他的社交世界越縮越小,最後只剩下一個 LINE 群組和兩個不知道怎麼回應的家人。
每月三萬八
每月三萬八,全給養護中心。長照帳單足以把一個中產家庭拖進深淵。而政府的補助,因為我有工作,被判定「不夠窮」。
好逸惡勞的哥和他的病
哥就是不努力、好逸惡勞、眼高手低。做什麼工作就罵什麼工作,被前公司告,自己也去告前公司。但他也有思覺失調症。這兩件事同時為真,才是最讓人崩潰的地方。
希望是最殘酷的
2023 年 3 月 27 日,爸腦出血倒在家裡。醫生給了兩個選項:不開刀,大概就走了;開刀,可能不會醒來,需要長期呼吸器。我們選了救。但「救成功」的意思,和我們想像的完全不同。
多模態輸入:圖片、PDF 與文件處理
支援格式(JPEG/PNG/GIF/WebP/PDF);base64 vs URL 兩種圖片輸入方式;PDF 文件上傳與分析;token 計算與成本;截圖分析、OCR、圖表解讀實戰範例;Python + TypeScript 完整代碼。
Context Engineering 深度解析:Prompt 寫得好,為什麼 Agent 還是做錯?
Prompt 只是 agent 當下看見的一部分。用六層框架拆解 project rules、codebase、工具、對話與測試結果,學會提供最小且高訊號的 context。
到底是怎樣的家庭環境
爸的酒駕、家暴、法院傳票。哥的習得無助。媽的被迫堅強。我一直在問自己:到底是怎樣的教育與家庭環境,會造就這樣的互動模式?直到我有了自己的孩子,才開始有了答案。
媽的勇敢
酗酒的丈夫、還不完的債、兩個要養的孩子。在最絕望的時候,媽沒有放棄。她沒有選擇離開這個世界,而是每天早上起來,做該做的事。這是我見過最安靜、也最強大的勇敢。
紙條上的數字
小時候想跟爸要零用錢,我不敢直接開口,都是寫紙條。「爸,可以給我 20 元嗎?」「可以給我 30 元嗎?」那些紙條上的數字,從來沒有超過五十。
一隻小黑狗教我的事
2011 年 4 月 25 日,陪伴我長大的小黑狗走了。牠老了之後視力模糊、日夜顛倒、半夜會亂叫,我每天半夜起來照顧牠。多年後爸中風住院,我才發現:照顧老狗的那段日子,竟然是照顧爸的預演。
計程車上的童年
爸開計程車的那幾年,我的遊樂場就是副駕駛座。他載著我上陽明山、穿過台北的大街小巷。臥室牆上貼著米奇和唐老鴨的貼紙,是爸不知道從哪裡帶回來的。那個會帶我兜風的人,跟那個喝了酒會打人的人,是同一個人。
五份工讀的大學生
大學四年,我同時做過最多五份工作:圖書館、學校餐廳、家教、健身房、系辦網站維護。不是因為想要什麼額外的東西,而是光活著就需要這麼多收入。這段經歷教會我一件事:你永遠可以比自己以為的再多撐一點。
付費機制:一個人怎麼收錢
從免費到付費,是 side project 變成真正產品的關鍵一步。比較 Stripe、綠界、藍新的整合難度與適用場景,用 AI 一個晚上串接金流,並搞懂台灣個人收費的發票、退款與法律考量。
沒有牛肉的牛肉湯麵
小時候外食的選項就是牛肉湯麵——但不是有牛肉的那種。鐵板燒是成年之後才第一次吃到的東西。復興口夜市 99 元的牛排,在記憶裡比後來任何一頓大餐都好吃。不是因為味道,是因為那是少數「不用在意價錢」的時刻。
家裡沒有錢,欠了很多債
媽的一句話改變了我的整個童年。從那天起,我學會不吃午餐、不開口要東西、不讓任何人知道家裡的狀況。國中某天考試考到一半暈倒,老師才知道這個學生已經好幾天沒吃飯了。
2026 年 AI Coding 工具怎麼選:Cursor、Claude Code、Codex 與雲端 Agent
AI coding 工具規格一直變,真正值得比較的是工作方式。從 autocomplete、chat、local agent 到 cloud agent,分享我的使用分工、踩坑紀錄與一套可重複的選擇方法。
Extended Thinking:複雜推理任務的殺手鐧
深入解析 Claude Extended Thinking:適用與不適用場景、budget_tokens 設定策略、thinking blocks 的回應格式、與 Streaming 結合、成本計算,以及 with/without thinking 的實際效果對比。
自序:人的一生,是一塊熱壓三明治
從小孩身上補上 0-7 歲的記憶,從爸媽身上補上人生後半段的想像,從幫祖先撿骨補上往生後的了解。三明治世代的人,被加熱加壓得最扁,但也看得最完整。這本書記錄的,就是那個「看完」之後的我。
Landing Page 與 SEO:讓產品被找到
產品做出來了,但沒人知道它存在。學會用 AI 快速產出高轉換率的 Landing Page 文案、建立 SEO 策略,讓你的產品被目標用戶找到。
Multi-Agent 記憶架構:讓你的 AI Agents 不再各自為政
當你有多個 AI agent 分散在不同環境,如何設計共享記憶架構?從痛點出發,走過社群驗證的 pattern,到 MVP 實作的設計思考全紀錄。
從「寫 code 的人」到「管 agent 的人」:工程師的角色重新定義
Agentic Engineering 最大的挑戰不是技術,是身份認同。當你的價值不再來自打字速度和演算法背誦,你到底是誰?分享角色轉換過程中的心理掙扎、具體變化,以及最終找到的新定位。
傳說中消失的同學——大安高工資訊科
高一一個學期有快一半時間請假去比賽,在同學之間留下了「神秘消失的同學」的傳說。從網界博覽會第一名到代表學校出國交流,大安高工資訊科的三年,奠定了我接下來二十年的一切。
光電系外務最多的人——北科大
讀的是光電工程系,心裡裝的是程式碼。在家庭困境中一邊打工一邊接案,C 語言全班最高分,選修資工系課程成績亮眼。北科大四年,我學會了在逆境中找到自己的路。
AppWorks 創業的青春記事——CityTasker
入選 AppWorks 第七屆,做了 CityTasker、VDOshow、HelloFans 三個產品。第一次創業沒有成功,但那段和夥伴一起寫 code 到半夜的日子,成為我職涯中最純粹的一段青春。
音樂公司裡的 Laravel 傳教士——KKBOX
進了台灣最大的音樂串流公司,開發了 help.kkbox.com 客服系統和 CMS 後台。但最讓我驕傲的不是寫了什麼程式,而是主管說我「帶動了團隊的學習風氣」。
500 台 EC2 同時轉檔的日子——CatchPlay
用 Elixir + Phoenix 打造全自動影音轉檔系統,高峰期同時控制超過 500 台 AWS EC2。開發各種便利小工具幫同事省下繁雜操作,獲得匿名互評最高分,成為「最值得信賴的共事夥伴」。
直播電商的快節奏——17 Media
加入 17 直播新成立的電商部門,經歷新部門的各種混亂。負責 VOD 影片轉檔系統、擔任 SRE、用 Terraform 搭建跨雲架構。最後一天是大寶出生——從產房趕去辦離職手續。
從零建起整個後端(上)
成為團隊首位 Backend & DevOps 工程師,到職第一個月就完成 API 規劃與開發。從 PHP + Laravel 到 Protocol Buffers + k8s + GKE,一個人撐起整個後端世界。
從工程師到研發處長(下)
規劃 SaaS Multi-Tenant 架構、確保 HIPAA/GDPR 合規、與 Data Scientist 合作部署 AI 自動診斷系統。連續兩季 Peer Review 最佳員工,同事評語「熱心助人」「非常有效率」。
技術總監與 AWS 省錢大作戰——Snapask
為了每天能準時接女兒放學,選擇了遠距工作的技術總監職位。把 AWS 月費從 100 萬砍到 65 萬,在沒有文件的系統中扮演軟體考古學家。然後,每季裁員三分之一,連裁三季。
AI 時代,一個人扛整個後端的日子——回到老東家
被裁員後回到熟悉的老東家,卻發現團隊因裁員只剩自己一個後端。在 AI 時代用各種工具彌補人力缺口,同時默默建立兩個內容品牌,為下一個十年做準備。
20 年寫程式的 10 個體悟
從高職到技術總監,從 ASP 3.0 到 Kubernetes,橫跨創業、音樂串流、影音平台、直播電商、醫療器材、教育科技。20 年下來,技術一直在變,但有些事情始終沒變。
給年輕工程師的一封信
從高職資訊科到二十年後的今天,我走過創業、大公司、新創、三次部門解散、和無數個 debug 到半夜的夜晚。如果能回到過去,我想告訴當年那個十五歲的自己幾件事。
Tool Use:讓 AI 成為你應用的大腦
完整的 Claude Tool Use(Function Calling)指南:tool 定義格式、如何設計好的 tool description、parallel tool use、tool_choice 參數、structured output,以及完整的 Python 執行循環範例。
第 1 章:我以為買個域名很簡單
決定建立個人品牌的第一步,就踩進了 .ai 域名的價格陷阱。
第 2 章:bobochen.com 被搶走了
當你猶豫不決的時候,機器人已經替你做了決定。
第 3 章:最後我買了 .dev——務實的選擇
放棄完美,選擇務實。bobochen.dev 是我做過最好的妥協。
第 4 章:DNS 管理與多域名策略
當你擁有不止一個域名,管理方式比購買決策更重要。
第 5 章:給想買域名的人的五個建議
把我踩過的坑整理成一份清單,希望你不用再踩一次。
自己的 MCP Server 自己包:從既有 Python 腳本到 Claude 可呼叫的工具,只要 15 分鐘
用 uv + FastMCP + importlib 把既有的 Python 腳本包成 MCP server,2 個檔案、150 行、0 行既有程式碼修改
部署上線:選對平台省 80% 的事
一個人做產品,部署平台選錯就要花一半時間在維運上。本文比較 Cloudflare Workers、Vercel、Cloud Run 三大平台的免費額度、真實成本與適用場景,並用一套三問決策框架幫你選對平台,做到 git push 就自動上線。
Agentic Engineering 是什麼?為什麼 Karpathy 要發明這個詞
2026 年 2 月 Karpathy 提出 Agentic Engineering,但它跟 Vibe Coding、Prompt Engineering 差在哪?從定義出發,用一年實戰經歷解釋這個新詞背後的真正含義——以及為什麼它比寫 code 本身更難。
從零開始的 Mac 開發環境:Brewfile 完全指南
什麼是 Brewfile?怎麼建第一份?哪些工具每個開發者都該裝?一篇搞懂 Homebrew 的套件清單管理,換電腦再也不用一個一個手動安裝。
Brewfile + chezmoi + dotfiles:Mac 開發環境的完整備份策略
Brewfile 管軟體、chezmoi 管 dotfiles、VS Code Settings Sync 管編輯器——三個工具各司其職,讓你換電腦只需要四個步驟就能還原整個開發環境。
你的 Brewfile 是不是也在做白工?我清掉了 76 行才發現的事
整理 Brewfile 時發現 76 行在備份 VS Code Extensions,但 VS Code Settings Sync 早就在處理了。記錄確認方式、清理指令,以及「兩個工具做同一件事」這個維護陷阱。
chezmoi 實戰:一份 dotfiles 管理三台不同用途的 Mac
用 chezmoi 管理多台 Mac 的差異化 dotfiles:模板語法、age 加密、多機同步工作流程,以及實際踩過的坑。
Streaming:打造即時回應的用戶體驗
深入理解 Claude API Streaming 的 SSE 事件類型、Python 與 TypeScript 實作、在 Next.js/Express 建立 streaming endpoint,以及 streaming 搭配 Tool Use 的特殊處理。
新 Mac 開箱後,我怎麼 30 分鐘裝好所有東西
用 Homebrew Bundle、dotfiles、defaults write 腳本,四層自動化策略讓新 Mac 設定從半天縮短到 30 分鐘。不是工程師也能上手。
Mackup vs chezmoi vs 手寫 script:macOS 設定備份工具怎麼選?
三種主流的 macOS 設定備份方案,設計哲學完全不同:symlink 派、copy 派、script 派。沒有最好的工具,只有最適合你的工具。
macOS defaults 備份別踩坑:為什麼 5.3MB 的 plist 不如 130 行的 shell script
用 defaults export 備份 Mac 設定聽起來很方便,但打開 plist 一看:5.3MB、1363 個 domain、GPS 座標、廣告 ID、session token。這篇聊為什麼手寫 defaults.sh 才是正確姿勢。
終端機不可怕:給非工程師的 macOS Terminal 入門
終端機不是工程師專屬工具。這篇用生活化比喻帶你認識 5 個基本指令,從打開 Terminal 到實際操作,讓你不再對黑底白字的畫面感到害怕。
我的 Brewfile 公開:一個全端工程師裝了哪 50 個工具
公開我的完整 Brewfile,按分類介紹 50 個開發、終端機、生產力工具,附上選擇理由和實際使用情境,讓你直接複製修改。
5 分鐘幫 Astro 部落格加上 Giscus 留言功能
從零開始在 Astro 部落格加上 Giscus 留言系統,包含 GitHub Discussions 設定、Astro 元件建立、Dark Mode 同步與 View Transitions 踩坑筆記。
Git Worktree 入門 — 不用 stash 的多分支並行開發
還在用 git stash 切分支嗎?Git Worktree 讓你同時 checkout 多個分支到不同目錄,徹底消除 stash 的認知負擔。
AI 驅動開發:從 Vibe Coding 到 Agentic Workflow
不只是用 AI 寫程式碼,而是建造一套 AI 開發系統。從 Level 1 的 Autocomplete 到 Level 3 的 Agentic Workflow,帶你用 Claude Code 的 custom skills、MCP server、hooks 與 multi-agent 工作流,讓 AI 從工具變成你的開發團隊,把 Solo Builder 的產出放大 10 倍。
Messages API 深度解析:對話的基本單位
深入理解 Claude Messages API 的核心設計:system/user/assistant roles、多輪對話管理、temperature 與 top_p 調校、stop_sequences,以及生產環境的 system prompt 最佳實踐。
MVP 設計:砍到不能再砍
上班族做 side project 最大的敵人是「功能蔓延」。本文教你用 AI 輔助 MVP 設計與 feature prioritization,找出最高風險假設,砍到不能再砍,用最少時間驗證最關鍵的產品假設。
Claude API 入門:帳號、費用與第一個 API 呼叫
從零開始使用 Claude API:API Key 申請、費用模型詳解(claude-opus-4-5、sonnet、haiku 定價比較)、Rate Limits,以及 curl、Python、TypeScript 三版本的第一個 API 呼叫。
技術選型決策框架
一個人做產品,技術選型的標準跟團隊完全不同。不是選「最好」的技術,而是選「一個人最能掌控」的技術。這篇建立一套決策框架,幫你在 AI 輔助下快速做出正確選擇。
點子驗證:花一天而不是一個月
點子驗證是 side project 不浪費時間的第一步。學會用 AI 在一天內完成市場調查、競品分析與用戶訪談模擬,快速確認你的點子值不值得投入寶貴的下班時間,避免花兩個月做出沒人要的東西。
Solo Builder 宣言:一個人 + AI 就是一支團隊
2026 年是 Solo Builder 的黃金時代——AI 徹底改變了一個人能做到的事。這篇文章告訴你為什麼現在是邊上班邊做產品的最好時機,一個有正職的上班族如何靠 AI 加持,把備忘錄裡永遠做不完的 side project 真正做出來、推上線。系列首章,帶你建立 Solo Builder 的心法與全貌。
2025
16 篇
系統整合的藝術:API、Event、Data 三大整合模式
深入了解 RESTful API、GraphQL、gRPC、Event-Driven Architecture、ETL/ELT/CDC 三大整合模式,掌握 Kafka、RabbitMQ 選擇標準,學會 Strangler Fig Pattern 整合遺留系統,應用 Idempotency、Circuit Breaker 最佳實踐。
PHP/Laravel 完全指南:從這裡開始你自己的旅程
用 Laravel 12 打造揪好買團購平台的完整旅程到此告一段落。本章回顧全書 15 章的 Laravel 學習路徑,整理揪好買可擴展的功能方向,介紹 Nova、Vapor、Laracasts 等生態系資源,並為你規劃從初級到進階的 PHP/Laravel 成長路線圖。
部署上線:從 Laravel Forge 到容器化的三條路
Laravel 12 應用部署上線完整指南:比較 Laravel Forge 一鍵部署、Docker 容器化、與 Cloud Run / Fly.io Serverless 三條路線,涵蓋 Production 設定、Config/Route Cache、Laravel Octane 加速、Let's Encrypt SSL 與零停機部署實作。
測試不是選配:用 Pest 寫出有信心的 Laravel 程式
用 Pest 測試框架為 Laravel 12 應用寫單元測試與功能測試:actingAs 模擬登入、RefreshDatabase 隔離資料、Mail::fake() 與 Queue::fake() 攔截副作用,再搭配 GitHub Actions 建立 CI pipeline,讓每次 Push 都自動跑測試,從此敢重構、放心部署。
後台管理與進階查詢:用 Filament 打造管理介面
用 Filament 5 快速建立後台管理系統,搭配進階 Eloquent 查詢技巧解決真實世界的效能問題。
RESTful API 與 Sanctum:讓 LINE Bot 也能開團
用 Laravel 12 打造 RESTful API、以 Sanctum Token 認證保護端點,加上 Rate Limiting、API 版本管理與 CORS 設定,讓揪好買同時服務手機 App、LINE Bot 與第三方整合。
Queue 與 Event:讓耗時任務不阻塞使用者
成團後要寄 50 封信、推播、更新統計,全塞在同一個 request 會讓使用者等十秒。用 Laravel 12 的 Queue 把耗時任務丟到背景、用 Event/Listener 解耦成團後的多個動作、用 Notification 一個類別搞定 Email 與站內訊息——以「揪好買」團購平台實作完整非同步通知系統,含 queue:work 失敗重試與 Horizon 監控。
訂單與金流:成團後用 Cashier 串接 Stripe 收款
用 Laravel Cashier 串接 Stripe,從成團確認到收款的完整結帳流程:Checkout Session、Webhook 簽名驗證、訂單狀態機與 DB Transaction,含 Stripe 測試模式與本地 Webhook 測試。
跟團與成團邏輯:用 Laravel Session 打造從「+1」到「成團確認」
用 Laravel 12 的 Session、Cache 與 Livewire 打造團購「+1 跟團」到「成團確認」的完整流程:從跟團驗證、最低人數成團判斷,到用 DB Transaction 與 lockForUpdate 解決同時搶團的 race condition,並用定時任務處理截止團購。
表單驗證與檔案上傳:讓使用者好好提交資料
學會用 Laravel 12 打造安全可靠的表單驗證與檔案上傳:從 inline validate、Form Request 抽離驗證邏輯、自訂 Rule class,到 Storage facade 統一管理本地與 S3 檔案、Intervention Image 產生 WebP 縮圖。以「揪好買」團購平台的開團表單為例,完整實作驗證規則、中文化錯誤訊息與圖片上傳流程。
Laravel 認證與授權:用 Starter Kit 十分鐘搞定會員系統
每個有使用者的應用都逃不過認證與授權。本章用 Laravel 12 官方 Starter Kit(Livewire 版)一行指令搞定註冊、登入、忘記密碼與 Email 驗證,再用 Gate 與 Policy 做細粒度授權,並示範以 role 欄位與 Enum 實作角色權限,打造完整會員系統。
Blade + Livewire:打造互動式前端不需要寫 JavaScript
用 Blade 模板引擎與 Livewire 3,完全不寫 JavaScript 也能打造互動式前端:可重用的 Blade Component、wire:model 即時搜尋與篩選、Volt 單檔元件,再搭配 Alpine.js 處理純 UI 互動與 Tailwind CSS 美化,做出流暢的全 PHP 前端體驗。
Eloquent ORM:不寫 SQL 也能操作資料庫的 Laravel 之道
Laravel Eloquent ORM 完整教學:從 Migration 建表、Model 命名慣例、CRUD 操作,到一對多/多對多關聯與 Factory/Seeder 測試資料,不寫 SQL 也能優雅操作資料庫,一次搞懂。
Laravel 的魔法與紀律:Request Lifecycle、Service Container 與 Middleware
深入拆解 Laravel 的三大核心機制:一個 HTTP request 從 public/index.php 進來到回傳 response 的完整 Request Lifecycle、作為框架心臟的 Service Container 依賴注入,以及像洋蔥層層包裹的 Middleware。搞懂這三者,從「會用 Laravel」升級成「理解 Laravel」,debug 速度快三倍。
Laravel 12 起手式:從 Composer 到第一個 Route 的十分鐘
從零安裝 Laravel 12——用 composer create-project 或 laravel new 一行建立專案,搞懂目錄結構、Artisan CLI、Route 路由與 Blade 模板,再用 .env 管理環境變數,十分鐘做出第一個首頁。
PHP 不是你記憶中的樣子:寫給現代開發者的 PHP 快速入門
打破「PHP 是上個時代語言」的偏見。對照 JavaScript、Python、TypeScript,帶現代開發者掌握 PHP 8.4+ 型別系統、Enum、Match Expression、Named Arguments、Property Hooks 與 Composer 套件管理,為 Laravel 12 開發打好基礎。