跳至主要內容

文章

不是那 1%:CityTasker 創業反思 5 篇 2012–2014,我和朋友做了一個叫 CityTasker 的任務媒合平台,入選 AppWorks 第七屆,然後燒完錢收攤。十年後回看這場沒成功的創業,留下這一系列反思。 Agentic Engineering 實戰手冊 14 篇 從 Context Engineering 到 Multi-Agent 編排,一個做了一年 100% AI coding 的工程師的實戰全紀錄 Claude API & Agent SDK 完全指南 15 篇 從 API 呼叫到 Agent 系統:打造你的 AI 應用 從 PoC 到 Production:企業 AI Agent 系統工程 12 篇 把 LLM/AI agent 從 PoC 推向 enterprise production 的系統工程實戰:RAG、向量檢索、tool use、記憶、多代理、可觀測性、治理與團隊落地。 打造 TaxMap-TW:用 Astro 做台灣所得地圖 10 篇 資料地圖(Choropleth)該用哪種色階?做台灣所得稅 TaxMap 時原本想用 viridis,最後換成 ColorBrewer 的 YlGnBu + Jenks 自然斷點。整理 7 種主流連續色階比較、為什麼紅綠對比是地雷、長尾分布怎麼分級、以及 opacity × 基底圖的隱藏陷阱。 一個人做產品 18 篇 AI 時代 Solo Builder 的全棧實戰 Claude 擴充生態三部曲 1 篇 MCP(Model Context Protocol)是讓 Claude 能呼叫外部工具的標準協議。這篇從零解釋 MCP 的核心概念、和一般 API 的差異,以及如何用 FastMCP 在 10 分鐘內跑起第一個本地工具。 三明治世代日記 28 篇 送給我自己不惑之年的禮物,回顧我的原生家庭紀錄。從童年貧困到照顧者歷程。 一鍵搞定新 Mac 9 篇 用 Homebrew Bundle、dotfiles、defaults write 腳本,四層自動化策略讓新 Mac 設定從半天縮短到 30 分鐘。不是工程師也能上手。 Git 工作流進化 1 篇 Git 工作流演進系列:從 stash 到 worktree,從 tig 到 lazygit 雲端架構設計基礎 1 篇 深入了解 RESTful API、GraphQL、gRPC、Event-Driven Architecture、ETL/ELT/CDC 三大整合模式,掌握 Kafka、RabbitMQ 選擇標準,學會 Strangler Fig Pattern 整合遺留系統,應用 Idempotency、Circuit Breaker 最佳實踐。 PHP/Laravel 完全指南 15 篇 用 Laravel 12 打造台灣團購平台的完整旅程

2026

121 篇
一個工程師創辦人的真實成本清單:CityTasker 教我的 4 件事

一個工程師創辦人的真實成本清單:CityTasker 教我的 4 件事

工程師創業,最容易低估的從來不是技術,而是看不見的成本——燒錢的速度、沒人教你的法規、聚焦的代價,還有那個致命錯覺:寫得出來的東西,最不值錢。這是 CityTasker 用兩年燒完的錢,幫我列出的成本清單。

整個城市都有我的好幫手:CityTasker 開站那天,我們真的以為要成功了

整個城市都有我的好幫手:CityTasker 開站那天,我們真的以為要成功了

2013 年 8 月 7 日,CityTasker 開站。我盯著後台一直按 F5,一天 106 個人註冊、最高 50 人同時在線、54 封簡訊發出去——那一刻,我跟夥伴真的以為要成功了。這是一個入選 AppWorks 第七屆、最後燒完錢收攤的創業故事的開場。

不是那 1% 的人:十年後,我怎麼看 CityTasker 這場沒成功的創業

不是那 1% 的人:十年後,我怎麼看 CityTasker 這場沒成功的創業

創業圈總在歌頌那 1% 成功的人,剩下 99% 呢?十年後回看 CityTasker——一場燒完錢、親手收掉的創業,我想重新定義什麼叫「失敗」,以及這段沒成功的經歷,後來怎麼變成我做到 VP Engineering 的底氣。

速度比完美更重要:創業教我的事,後來都變成我帶團隊的原則

速度比完美更重要:創業教我的事,後來都變成我帶團隊的原則

CityTasker 是我 2012 年和朋友做的任務媒合平台。當年沒資源、沒時間,「速度比完美更重要」是被現實逼出來的生存本能;十年後當我帶團隊一路做到技術總監、VP,這套心態反而成了我刻意選擇的管理原則。

賣掉之後呢:CityTasker 最意外的結局,是連買下我們的公司也不在了

賣掉之後呢:CityTasker 最意外的結局,是連買下我們的公司也不在了

我說 CityTasker 燒完錢收攤了——那是真的,但不是全部。它後來其實被一間 AppWorks 認識的獵頭顧問公司 sudo 買下,從合作、一頓頓早餐會、到一紙 2016 年的收購合約。而最意外的結局是:連買下我們的那間公司,後來也不在了。

Agentic Engineering 的下一步:2026 之後,工程師還需要寫 code 嗎?

Agentic Engineering 的下一步:2026 之後,工程師還需要寫 code 嗎?

SWE-bench Pro 今天 23%,一年後會是多少?當 agent 的能力每季都在進步,工程師的不可取代性到底在哪裡?不做預測,而是從一年實戰中歸納出不會被 agent 取代的能力,以及一份你今天就能開始的「防衰退」訓練計畫。

Homebrew 6.0 來了:先搞懂這幾個會影響你日常的改動

Homebrew 6.0 來了:先搞懂這幾個會影響你日常的改動

Homebrew 6.0 不是炫技版號,而是把資安收緊、把你每天 brew install 的習慣改掉,還開始跟 Intel Mac 道別。挑幾個對 Mac 開發者最有感的改動,實測給你看。

chezmoi 到底怎麼念?它是法文「我家」,拿來管 $HOME 剛剛好

chezmoi 到底怎麼念?它是法文「我家」,拿來管 $HOME 剛剛好

chezmoi 不念「切斯莫伊」——它是法文 chez moi [ʃɛ mwa]「我家」。一個管理你 $HOME 的工具,名字就叫「我家」,背後是個很巧妙的設計隱喻。

拿到 Google Cybersecurity 證書,卻卡在最後一關 Verify ID:身分證一直失敗,改用護照英文姓名才過

拿到 Google Cybersecurity 證書,卻卡在最後一關 Verify ID:身分證一直失敗,改用護照英文姓名才過

我考完 Google Cybersecurity Professional Certificate,最後卻被 Coursera 的 Verify ID 擋了下來——用身分證驗證時名字一直出錯、一直失敗。原因是 Coursera 是國外系統,辨識中文姓名時偶有誤判。後來改用護照(英文姓名)就順利通過。這篇把踩雷過程與解法整理給同樣卡關的你。

把 Agentic Engineering 帶進團隊:從一個人的實驗到整個 team 的文化轉變

把 Agentic Engineering 帶進團隊:從一個人的實驗到整個 team 的文化轉變

你自己用 agent 很爽,但怎麼讓整個 team 跟上?從 solo practitioner 到 team evangelist 的過程——怎麼挑第一個 pilot project、怎麼處理「AI 會取代我嗎」的焦慮、怎麼建立共享的 agent 規範。

完整案例:從 0 到 1 打造 AI 客服系統

完整案例:從 0 到 1 打造 AI 客服系統

本書的綜合實戰章——一個完整的 AI 客服系統,涵蓋 Messages API、Tool Use、Prompt Caching、Streaming、Multi-Agent、成本優化的所有核心概念整合。從架構設計到 Cloud Run 部署,用真實程式碼走完全程。

帶領一支 3–8 人的 AI 工程小隊:成功的關鍵不是追最新框架

帶領一支 3–8 人的 AI 工程小隊:成功的關鍵不是追最新框架

一支小型 AI 工程團隊的成敗,不在於用了多潮的 framework,而在於有沒有建立一個可重複的 delivery loop。談 architecture/code/prompt/eval review 怎麼做、怎麼把 AI agent 的能力翻譯成 business stakeholder 聽得懂的 workflow impact 和 ROI、以及怎麼讓團隊在一個變化極快的領域裡持續交付。系列完結篇。

Tailscale 好用到讓我焦慮:它會變成我的 SPOF 嗎?5 種備援方案全解

Tailscale 好用到讓我焦慮:它會變成我的 SPOF 嗎?5 種備援方案全解

Tailscale 好用到不真實,但把整張網路綁在一個閉源控制面上,總讓人半夜睡不著。先講個反直覺的真相:你怕的那種 SPOF 其實不太會發生。從「其實不用搬」到 headscale、NetBird、Nebula、純 WireGuard,5 種備援方案一次說清楚怎麼選。

Cloudflare Pages 的 20,000 檔案上限:當「一頁一檔」撞牆,我把 TaxMap 搬到 Netlify

Cloudflare Pages 的 20,000 檔案上限:當「一頁一檔」撞牆,我把 TaxMap 搬到 Netlify

TaxMap-TW build 出 23,331 個檔案,撞上 Cloudflare Pages Free 方案「單次部署最多 20,000 檔」的硬限制,最後改用 Netlify 5 分鐘解決。記錄為什麼會爆檔案數(一頁一檔 × 7,750 村里)、三個方案的取捨,以及換平台其實是「換天花板不是拆天花板」——選靜態部署平台別只看單檔大小,檔案數才是隱形天花板。

把 7,750 張 OG 圖改成 Cloudflare Worker 即時生成:Satori at the edge

把 7,750 張 OG 圖改成 Cloudflare Worker 即時生成:Satori at the edge

Cloudflare Worker 即時生成 OG 圖的設計稿:用 workers-og(Satori + resvg-wasm)取代 TaxMap-TW 預先生成的 7,750 張村里圖,預生檔案數從 7,750 降到 0、騰出空間搬回 Cloudflare Pages Free。含中文字型、Cache API 與 Workers Free CPU 上限踩雷。

Agent 治理框架:讓企業敢把 AI agent 接到真實業務上的那張安全網

Agent 治理框架:讓企業敢把 AI agent 接到真實業務上的那張安全網

把散落在各章的安全與信任機制,收斂成一張可以攤給資安和主管看的治理框架:資料分級、RBAC 權限邊界、tool registry、audit log、human-in-the-loop、eval harness、observability、成本監控。這一張圖,就是「能 demo」和「企業敢用」之間那道治理的牆。

Agent 安全網設計:當 AI 有 sudo 權限,你需要幾層保護

Agent 安全網設計:當 AI 有 sudo 權限,你需要幾層保護

給 agent 越多權限它越有用,但也越危險。設計一套「agent 安全網」——從 sandbox 環境、permission boundaries、rollback 機制、到 human-in-the-loop 的斷路器設計。附 hooks 設定和曾經差點出事的真實故事。

生產環境部署:錯誤處理、限流與可觀測性

生產環境部署:錯誤處理、限流與可觀測性

開發環境跑得好,不代表生產環境沒問題。本章全面解析 Rate Limits、指數退避、錯誤分類、API Key 安全管理、Logging 策略,以及 OpenTelemetry 整合——附 10 項生產環境部署 checklist。

競爭排名 vs 密集排名 vs 百分位:地圖標籤的 ranking 設計

競爭排名 vs 密集排名 vs 百分位:地圖標籤的 ranking 設計

7,748 個村里,最大排名居然不是 7,748?做 TaxMap-TW 排名功能才發現「排名」有 5 種演算法,差別都在同分怎麼處理。比較 Competition、Dense、Standard 等的適用情境,說明地圖標籤為什麼選 Competition Ranking。

資料地圖該用哪種色階?viridis、YlGnBu 與 ColorBrewer 實戰指南

資料地圖該用哪種色階?viridis、YlGnBu 與 ColorBrewer 實戰指南

資料地圖(Choropleth)該用哪種色階?做台灣所得稅 TaxMap 時原本想用 viridis,最後換成 ColorBrewer 的 YlGnBu + Jenks 自然斷點。整理 7 種主流連續色階比較、為什麼紅綠對比是地雷、長尾分布怎麼分級、以及 opacity × 基底圖的隱藏陷阱。

延遲、可靠性、成本:AI agent 系統設計的鐵三角

延遲、可靠性、成本:AI agent 系統設計的鐵三角

LLM app 還是個 distributed system,延遲、可靠性、成本這三件事會互相打架,你不可能三個都要到極致。談 streaming 降感知延遲、retry/timeout/circuit breaker、prompt 與結果快取、model routing(小模型優先)、token 成本治理,以及怎麼用工程手段在這個三角上做出有意識的取捨。

OpenFreeMap vs MapTiler vs Mapbox:6 個 Web 地圖底圖服務怎麼選?

OpenFreeMap vs MapTiler vs Mapbox:6 個 Web 地圖底圖服務怎麼選?

做台灣所得稅地圖選底圖時,發現業界標準 Mapbox 免費額度只有 5 萬次/月。整理 OpenFreeMap、MapTiler、Mapbox、NLSC 等 6 種主流服務的免費額度、token、style 比較,以及為什麼公民科技專案選了 2024 年才上線的 OpenFreeMap。

為什麼我把所得地圖色階從 viridis 換成 OrRd:把「一個決策」拆成「兩個獨立軸」

為什麼我把所得地圖色階從 viridis 換成 OrRd:把「一個決策」拆成「兩個獨立軸」

做 TaxMap-TW 色階換三次,最後選 OrRd 不是因為好看,而是把「色階」拆成用色 (hue) + 分桶 (binning) 兩個獨立決策重新組裝。對數絕對門檻(30/50/80/130/200/350 萬)+ OrRd 7 級 = 跨年顏色穩定、中產區段視覺最寬、outlier 自然分出。

PMTiles 取代傳統 tile server:HTTP Range Request 的單檔魔術

PMTiles 取代傳統 tile server:HTTP Range Request 的單檔魔術

PMTiles 把上千萬個 tile 打包成單一檔案,靠 HTTP Range Request 讓瀏覽器只讀需要的部分,沒有 tile server、丟到 S3 就能用。整理它的設計、跟 MBTiles 的差異、何時不該用,以及在 TaxMap-TW 怎麼用 tippecanoe 產一個。

打造 TaxMap-TW 完整心得:6 個技術決策、踩了 4 個坑

打造 TaxMap-TW 完整心得:6 個技術決策、踩了 4 個坑

TaxMap-TW(台灣所得稅地圖)月成本 $0、4-5 天從零上線的完整復盤:底圖、色階、PMTiles、Astro 6 SSG、FIA 直拓、Competition Ranking 共 6 個技術決策,與 macOS unzip Big5、MapLibre 容器尺寸卡 0×0 等 4 個踩過的坑。

從 PDF / CSV 到 JSON:政府開放資料的 ETL 實戰

從 PDF / CSV 到 JSON:政府開放資料的 ETL 實戰

做 TaxMap-TW 時清理財政部所得稅 CSV 踩到 6 個坑:民國年 vs 西元年命名陷阱、schema 跨年漂移、BOM / 引號變化、「合計」與「其他」過濾、村里名罕用字 mojibake、早期年度只有 PDF 沒 CSV。記錄這些政府開放資料的真實樣貌與 ETL 處理 pattern。

Web 地圖底圖是什麼?vector vs raster、tile pyramid、style spec 一次搞懂

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

Mosh 入門 — 把 SSH 帶到不穩網路上的 mobile shell

高鐵上、咖啡店、跨洲 SSH 一斷線就崩潰?Mosh 用 UDP + 本地回顯,讓 session 撐過 sleep、IP 切換、丟包,是行動辦公的標配工具。

生產級 LLM 可觀測性與評估:沒有 eval 的 agent,等於沒有測試的軟體

生產級 LLM 可觀測性與評估:沒有 eval 的 agent,等於沒有測試的軟體

你改了一句 prompt、換了個模型,怎麼知道系統變好還是變壞?拆解 eval harness(黃金題庫、LLM-as-judge、回歸測試)、agent 的 tracing(每一步檢索/工具/模型的 span)、token 與成本監控,以及上線後怎麼偵測品質漂移。把後端的可觀測性硬功夫,搬到會講人話的元件上。

Token 經濟學進階:當 Agent 一天燒掉 $50,你怎麼控制成本

Token 經濟學進階:當 Agent 一天燒掉 $50,你怎麼控制成本

Agent 越強大,token 燒越快。深入 token 成本的結構分析——哪些任務是 token 黑洞、怎麼設計 context 降低消耗、caching 策略、model routing,以及月成本從 $287 降到 $148 的實際做法。

成本控制:省錢是一門工程藝術

成本控制:省錢是一門工程藝術

從 Token 成本全貌、模型選擇策略、Prompt Caching 到 Batch API,系統性地把 AI 應用的成本降下來。一個真實 RAG 系統從每月 $2000 降到 $300 的完整過程。

多代理協作:什麼時候真的需要 multi-agent,什麼時候那只是讓系統更貴

多代理協作:什麼時候真的需要 multi-agent,什麼時候那只是讓系統更貴

Multi-agent 聽起來很厲害,但大多數時候一個 agent 加好工具就夠了,而且更好 debug。談 supervisor/worker、pipeline、debate 等協作模式,handoff 怎麼傳 context,錯誤怎麼隔離不互相傳染,以及最重要的——什麼時候你「不」該用多代理。

GitHub README 動態 demo 的 5 種策略:從 GIF 到自架 CDN

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 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 的最後一哩

幫開源產品做了 30 秒介紹影片,想內嵌到 GitHub README,卻踩了三個雷才發現潛規則:README 的 video 標籤只認 GitHub 自家 user-attachments CDN,raw 與 Release URL 都不會 inline 播放。

為什麼一支 30 秒影片是 OSS 上架最大的槓桿

為什麼一支 30 秒影片是 OSS 上架最大的槓桿

OSS 99% 死於沒人看,不是 code 不好。從訊息密度、頂級 OSS 共識、8 小時換 1 年的 ROI 三個角度,解釋為什麼一支 30 秒動態影片是 README 最強的槓桿,並回應「我的工具不適合做影片」的 3 種常見反論——給第一次發 OSS 的 indie hacker / solo builder。

MCP Server 開發:讓你的服務成為 AI 工具

MCP Server 開發:讓你的服務成為 AI 工具

從使用者角度到開發者角度,掌握 MCP(Model Context Protocol)Server 開發。學會定義 Tools、Resources、Prompts,讓你的服務被 Claude Code、Claude.ai 以及任何 MCP 客戶端呼叫。

Agent memory 與狀態管理:short / long / episodic,以及記憶也有權限

Agent memory 與狀態管理:short / long / episodic,以及記憶也有權限

檢索是「公司的知識」,記憶是「這個使用者、這個任務的脈絡」,兩者不一樣。拆解短期、長期、episodic 三種記憶的用途與設計,context engineering 怎麼決定塞什麼進有限的視窗,以及一個最容易出包的點——A 使用者的記憶不能洩進 B 使用者的對話。

Multi-Agent 編排實戰:我怎麼讓 Claude Code、OpenClaw、n8n 三個 Agent 協作

Multi-Agent 編排實戰:我怎麼讓 Claude Code、OpenClaw、n8n 三個 Agent 協作

一個 agent 很強,但真正的生產力飛躍來自多個 agent 協作。分享三 agent 系統如何分工、如何傳遞 context、如何避免衝突——以及 LangGraph、CrewAI 等框架我試過之後為什麼沒用。

Tool use 與 MCP:當 agent 能動手操作系統,邊界該怎麼劃

Tool use 與 MCP:當 agent 能動手操作系統,邊界該怎麼劃

Tool-using agent 真正可怕的地方,不是它會講錯話,是它能操作外部系統——改資料、送訂單、動設定。從 function calling 的本質、MCP 作為標準介面,到 action boundary、approval flow、idempotency 與 rollback,談怎麼讓 agent 戴著手套動手,而不是裸手亂抓。

Solo Builder Checklist:你的產品及格了嗎

Solo Builder Checklist:你的產品及格了嗎

Solo Builder Checklist 全書總整理:一份可操作的產品健康檢查清單,從點子驗證、建造上線到成長與自主運行,逐項檢查你的產品在每個階段是否達標。附 AI 輔助自我評估 prompt 與精選延伸學習資源,幫你一個人也能把產品做到及格。

Multi-Agent 系統:Orchestrator 與 Subagent 設計模式

Multi-Agent 系統:Orchestrator 與 Subagent 設計模式

單一 agent 有 context 限制、無法平行化、難以專業分工。本章教你用真實的 Anthropic SDK 設計 Orchestrator-Worker 多 agent 系統:在程式碼裡當 orchestrator 做 routing、用 asyncio 平行跑 subagent、設計 agent 間的資料傳遞,以及防止 agent 失控的關鍵技術。

MCP 與 A2A 協議實戰:讓 Agent 從「只會讀 code」變成「能操作整個開發環境」

MCP 與 A2A 協議實戰:讓 Agent 從「只會讀 code」變成「能操作整個開發環境」

MCP 讓 agent 連接外部工具,A2A 讓 agent 之間對話。這兩個協議正在重新定義 agentic engineering 的邊界。從實戰角度解析:哪些 MCP server 真的有用、A2A 目前能做什麼、以及怎麼把它們整合進日常工作流。

權限感知檢索:企業 RAG 最難、也最容易被略過的一關

權限感知檢索:企業 RAG 最難、也最容易被略過的一關

個人玩 RAG 不會遇到這個問題,但企業一定會撞牆:當不同權限的人問同一個 agent,它怎麼確保每個人只檢索得到自己有資格看的東西?拆解 pre-filter vs post-filter、權限繼承、機密分級、來源歸屬與多租戶隔離——這是把「能 demo」和「過得了資安」分開的那條線。

實戰案例:我的四個產品

實戰案例:我的四個產品

紙上談兵不如看真實案例。這篇拆解我身為 Solo Builder、邊上班邊做的四個產品——bobo-blog 部落格、cloud-on-academy 課程平台、course-forge CLI 工具、code-fossil YouTube 頻道——每個產品的 AI 使用紀錄、實際時間花費、關鍵技術決策與踩坑教訓,給想一個人做產品的你一份真實參照。

向量資料庫與 embedding 策略:先別急著上 Pinecone,pgvector 可能就夠了

向量資料庫與 embedding 策略:先別急著上 Pinecone,pgvector 可能就夠了

向量庫選型是 RAG 的地基,也是最容易過度工程的地方。pgvector vs 專用向量庫(Pinecone/Qdrant/Vectorize)怎麼選?embedding 模型與維度怎麼挑?什麼時候需要 hybrid search?HNSW 和 IVF 差在哪?用一張決策表和一個「先用 Postgres」的務實建議,幫你把地基打對。

打造你的第一個 Agent:工具、狀態與循環

打造你的第一個 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 與 Rules Files 大師班:我維護 40+ 份設定檔學到的事

CLAUDE.md 不是寫一次就不管的 README。經過一年的迭代,設定檔系統已經從單一檔案演化成多層架構——global、per-project、per-task、per-tool。分享完整的設定檔架構設計、版本演化歷程、和維護心得。

RAG 架構實戰:從文件 ingestion 到 source-cited 回答的每一步

RAG 架構實戰:從文件 ingestion 到 source-cited 回答的每一步

企業 RAG 不是「把文件丟進向量庫然後問問題」這麼簡單。從 ingestion、chunking 策略、embedding、檢索、reranking 到 source citation,拆解每一步的設計取捨與最常見的翻車點,以及為什麼「答案要附來源」是企業信任 AI 的第一道門檻。

從 Side Project 到 Micro SaaS

從 Side Project 到 Micro SaaS

你的 Side Project 開始有陌生人付費,下一步呢?這篇談 Micro SaaS 的 PMF 信號、用「10 倍價值」法則定價、零行銷預算成長、台灣行號與公司的法律稅務結構,以及「該不該離職」的三道門檻,幫你判斷下一步該怎麼走、何時該認真經營。

企業 AI Agent 系統架構藍圖:一張圖看懂能上 production 的 agent 長什麼樣

企業 AI Agent 系統架構藍圖:一張圖看懂能上 production 的 agent 長什麼樣

把上一篇的六道鴻溝收斂成一張參考架構:從 API Gateway、Agent Runtime、Tool Registry、權限感知檢索、Memory Store 到 Model Router 與可觀測性旁路。每個元件為什麼存在、少了它會出什麼事、以及怎麼跟你既有的後端整合而不是另起一座孤島。

MCP 到底是什麼?一篇讀懂 Claude 的插件系統

MCP 到底是什麼?一篇讀懂 Claude 的插件系統

MCP(Model Context Protocol)是讓 Claude 能呼叫外部工具的標準協議。這篇從零解釋 MCP 的核心概念、和一般 API 的差異,以及如何用 FastMCP 在 10 分鐘內跑起第一個本地工具。

一個需求從 Prompt 到 Production 的完整旅程

一個需求從 Prompt 到 Production 的完整旅程

一個真實的功能需求,從收到 ticket 到最終 deploy,全程用 agentic workflow 完成——包含完整的 prompt、agent 的回應、review 過程、CI 結果、和最後的 deploy log。零理論,純實戰。

Agent SDK 入門:從 API 到 Agentic 應用

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 的六道鴻溝

為什麼企業 AI Agent 卡在 PoC?從 demo 到 production 的六道鴻溝

兩天就做出一個會查資料、會呼叫 API 的 AI agent demo,老闆很興奮——然後它在 production 待了六個月還上不了線。這篇拆解 demo 到 production 之間最容易被低估的六道鴻溝,以及為什麼「能動」離「能信任」還很遠。

監控與維運:睡覺時產品也在跑

監控與維運:睡覺時產品也在跑

產品上線不是終點,而是維運的起點。用最小化但有效的監控告警 + self-healing 自動修復,搭配 AI 故障診斷與 Runbook,讓你的產品在你睡覺、甚至休假兩週時也能穩定運行。

Agent 產出品質保證:Code Review、自動測試、與「不要太信任」的藝術

Agent 產出品質保證:Code Review、自動測試、與「不要太信任」的藝術

Agent 寫的 code 看起來很專業,但你怎麼知道它是對的?建立一套 agent output 的品質保證流程——從 CI 自動化驗證、人工 review 的重點、到最重要的心態:永遠假設 agent 的 code 有 bug。

Batch API:大量任務的高效非同步處理

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:降低 90% 重複成本的技術

為什麼 prompt caching 是最重要的成本優化技術;cache_control 用法;快取有效期與定價;適合 vs 不適合快取的內容;Python + TypeScript 實作;快取命中率監控;RAG 系統省錢案例。

PR99 的家庭關係

PR99 的家庭關係

朋友說:「你們其實已經擁有 PR99 的家庭關係了好嗎!」我愣住了。穩定的家庭關係,對有些人來說是奢侈品。而我從來不覺得那是我的優勢,直到有人這樣說。

Spec-Driven Development:寫給 Agent 的需求文件,比寫給人的還嚴格

Spec-Driven Development:寫給 Agent 的需求文件,比寫給人的還嚴格

Agent 不會讀心術,你的 spec 越模糊,它越容易失控。分享怎麼寫 agent-ready 的 spec——從 task decomposition、acceptance criteria 到 constraint definition,附真實的 spec 範本和「寫太少 vs 寫太多」的對照實驗。

媽到底在不爽什麼

媽到底在不爽什麼

跟媽講到最後就是吵架,完全無法溝通。她拒絕就醫、拒絕搭計程車、拒絕所有你為她安排的東西。不是因為她不需要,是因為在她的世界觀裡,接受幫助就等於示弱。

真心勸世文

真心勸世文

這篇不是心靈雞湯,是一個照顧者的血淚整理。台灣長照的經濟現實、扶養義務的法律困境、你可以打的電話和找的資源。如果你正在面對家人的重大醫療決定,這些事情越早知道越好。

500 元的界線

500 元的界線

哥每天在家族群組裡抱怨失業、沒女朋友、人生沒希望。每一則訊息都像一顆情緒炸彈丟進我的生活。直到有一天我說:「你每發一則這種訊息,就欠我 500 元看醫生。」哥立刻退出群組。那是我第一次學會設界線。

最後一程

最後一程

2024 年 10 月 21 日,爸走了。我沒有哭。不是因為不愛,是因為我們已經送走他太多次了。佛教助念八個小時,放棄繼承避免債務,最後在陽明山火化。一切結束得很平靜。

奶瓶蓋都要我開

奶瓶蓋都要我開

媽說哥小時候連奶瓶蓋都不會開,每次都是我幫他。三十年過去了,這個模式從來沒有變過。奶瓶蓋變成了工作、感情、房子、人生大小事。而我,從小就是那個「幫忙開蓋子」的人。

手足的距離

手足的距離

照顧一個有精神疾病的哥哥,跟照顧中風臥床的爸爸,是完全不同的事。爸的照顧有終點,哥的沒有。想幫但幫不了、想放手但放不下。這個距離,我到現在還在學怎麼拿捏。

應該要聽媽媽的話

應該要聽媽媽的話

媽從一開始就說不要救。我們沒聽。手術成功了,但爸沒有醒來。一年半後我終於說出那句話:「我應該聽媽的話,真的不應該救的。」這句話,比手術同意書還重。

用戶回饋循環:聽懂用戶在說什麼

用戶回饋循環:聽懂用戶在說什麼

一個人做產品最容易犯的錯是「自己覺得好就好」。本文教 Solo Builder 建立系統化的用戶回饋收集與分析流程,用 AI 自動分類、情感分析與優先排序,每週不到一小時,讓有限時間花在最重要的改進上。

精神科的藥

精神科的藥

帶哥去看精神科、開了藥、吃了藥。結果越吃越消沉、精神越消迷。藥物治療的兩難:不吃,症狀惡化;吃了,整個人變成行屍走肉。什麼才是「治療成功」?

沒有人跟他講話

沒有人跟他講話

哥整天說「沒有人跟我講話」「大家都不理我」。群組裡的訊息轟炸,背後其實是極度的孤獨。思覺失調症讓他的社交世界越縮越小,最後只剩下一個 LINE 群組和兩個不知道怎麼回應的家人。

每月三萬八

每月三萬八

每月三萬八,全給養護中心。長照帳單足以把一個中產家庭拖進深淵。而政府的補助,因為我有工作,被判定「不夠窮」。

好逸惡勞的哥和他的病

好逸惡勞的哥和他的病

哥就是不努力、好逸惡勞、眼高手低。做什麼工作就罵什麼工作,被前公司告,自己也去告前公司。但他也有思覺失調症。這兩件事同時為真,才是最讓人崩潰的地方。

希望是最殘酷的

希望是最殘酷的

2023 年 3 月 27 日,爸腦出血倒在家裡。醫生給了兩個選項:不開刀,大概就走了;開刀,可能不會醒來,需要長期呼吸器。我們選了救。但「救成功」的意思,和我們想像的完全不同。

多模態輸入:圖片、PDF 與文件處理

多模態輸入:圖片、PDF 與文件處理

支援格式(JPEG/PNG/GIF/WebP/PDF);base64 vs URL 兩種圖片輸入方式;PDF 文件上傳與分析;token 計算與成本;截圖分析、OCR、圖表解讀實戰範例;Python + TypeScript 完整代碼。

Context Engineering 深度解析:Tobi Lutke 說對了,Prompt Engineering 已經不夠用

Context Engineering 深度解析:Tobi Lutke 說對了,Prompt Engineering 已經不夠用

Tobi Lutke 把 Prompt Engineering 重新命名為 Context Engineering,這不只是換個詞。當 agent 要自主完成任務,你餵給它的 context 決定一切——從 CLAUDE.md、codebase indexing 到 conversation history management,拆解 context 的六個層次。

到底是怎樣的家庭環境

到底是怎樣的家庭環境

爸的酒駕、家暴、法院傳票。哥的習得無助。媽的被迫堅強。我一直在問自己:到底是怎樣的教育與家庭環境,會造就這樣的互動模式?直到我有了自己的孩子,才開始有了答案。

媽的勇敢

媽的勇敢

酗酒的丈夫、還不完的債、兩個要養的孩子。在最絕望的時候,媽沒有放棄。她沒有選擇離開這個世界,而是每天早上起來,做該做的事。這是我見過最安靜、也最強大的勇敢。

紙條上的數字

紙條上的數字

小時候想跟爸要零用錢,我不敢直接開口,都是寫紙條。「爸,可以給我 20 元嗎?」「可以給我 30 元嗎?」那些紙條上的數字,從來沒有超過五十。

一隻小黑狗教我的事

一隻小黑狗教我的事

2011 年 4 月 25 日,陪伴我長大的小黑狗走了。牠老了之後視力模糊、日夜顛倒、半夜會亂叫,我每天半夜起來照顧牠。多年後爸中風住院,我才發現:照顧老狗的那段日子,竟然是照顧爸的預演。

計程車上的童年

計程車上的童年

爸開計程車的那幾年,我的遊樂場就是副駕駛座。他載著我上陽明山、穿過台北的大街小巷。臥室牆上貼著米奇和唐老鴨的貼紙,是爸不知道從哪裡帶回來的。那個會帶我兜風的人,跟那個喝了酒會打人的人,是同一個人。

五份工讀的大學生

五份工讀的大學生

大學四年,我同時做過最多五份工作:圖書館、學校餐廳、家教、健身房、系辦網站維護。不是因為想要什麼額外的東西,而是光活著就需要這麼多收入。這段經歷教會我一件事:你永遠可以比自己以為的再多撐一點。

付費機制:一個人怎麼收錢

付費機制:一個人怎麼收錢

從免費到付費,是 side project 變成真正產品的關鍵一步。比較 Stripe、綠界、藍新的整合難度與適用場景,用 AI 一個晚上串接金流,並搞懂台灣個人收費的發票、退款與法律考量。

沒有牛肉的牛肉湯麵

沒有牛肉的牛肉湯麵

小時候外食的選項就是牛肉湯麵——但不是有牛肉的那種。鐵板燒是成年之後才第一次吃到的東西。復興口夜市 99 元的牛排,在記憶裡比後來任何一頓大餐都好吃。不是因為味道,是因為那是少數「不用在意價錢」的時刻。

家裡沒有錢,欠了很多債

家裡沒有錢,欠了很多債

媽的一句話改變了我的整個童年。從那天起,我學會不吃午餐、不開口要東西、不讓任何人知道家裡的狀況。國中某天考試考到一半暈倒,老師才知道這個學生已經好幾天沒吃飯了。

2026 年 AI Coding 工具全景圖:Cursor、Claude Code、Codex、Devin,我全用過

2026 年 AI Coding 工具全景圖:Cursor、Claude Code、Codex、Devin,我全用過

市面上至少 20 個 AI coding 工具,哪個適合你?不是功能比較表,而是一個全部都用過的人告訴你每個工具的「甜蜜點」在哪裡、踩過什麼坑,以及我最後為什麼選了現在這套組合。

Extended Thinking:複雜推理任務的殺手鐧

Extended Thinking:複雜推理任務的殺手鐧

深入解析 Claude Extended Thinking:適用與不適用場景、budget_tokens 設定策略、thinking blocks 的回應格式、與 Streaming 結合、成本計算,以及 with/without thinking 的實際效果對比。

自序:人的一生,是一塊熱壓三明治

自序:人的一生,是一塊熱壓三明治

從小孩身上補上 0-7 歲的記憶,從爸媽身上補上人生後半段的想像,從幫祖先撿骨補上往生後的了解。三明治世代的人,被加熱加壓得最扁,但也看得最完整。這本書記錄的,就是那個「看完」之後的我。

Landing Page 與 SEO:讓產品被找到

Landing Page 與 SEO:讓產品被找到

產品做出來了,但沒人知道它存在。學會用 AI 快速產出高轉換率的 Landing Page 文案、建立 SEO 策略,讓你的產品被目標用戶找到。

Multi-Agent 記憶架構:讓你的 AI Agents 不再各自為政

Multi-Agent 記憶架構:讓你的 AI Agents 不再各自為政

當你有多個 AI agent 分散在不同環境,如何設計共享記憶架構?從痛點出發,走過社群驗證的 pattern,到 MVP 實作的設計思考全紀錄。

從「寫 code 的人」到「管 agent 的人」:工程師的角色重新定義

從「寫 code 的人」到「管 agent 的人」:工程師的角色重新定義

Agentic Engineering 最大的挑戰不是技術,是身份認同。當你的價值不再來自打字速度和演算法背誦,你到底是誰?分享角色轉換過程中的心理掙扎、具體變化,以及最終找到的新定位。

Tool Use:讓 AI 成為你應用的大腦

Tool Use:讓 AI 成為你應用的大腦

完整的 Claude Tool Use(Function Calling)指南:tool 定義格式、如何設計好的 tool description、parallel tool use、tool_choice 參數、structured output,以及完整的 Python 執行循環範例。

自己的 MCP Server 自己包:從既有 Python 腳本到 Claude 可呼叫的工具,只要 15 分鐘

自己的 MCP Server 自己包:從既有 Python 腳本到 Claude 可呼叫的工具,只要 15 分鐘

用 uv + FastMCP + importlib 把既有的 Python 腳本包成 MCP server,2 個檔案、150 行、0 行既有程式碼修改

部署上線:選對平台省 80% 的事

部署上線:選對平台省 80% 的事

一個人做產品,部署平台選錯就要花一半時間在維運上。本文比較 Cloudflare Workers、Vercel、Cloud Run 三大平台的免費額度、真實成本與適用場景,並用一套三問決策框架幫你選對平台,做到 git push 就自動上線。

Agentic Engineering 是什麼?為什麼 Karpathy 要發明這個詞

Agentic Engineering 是什麼?為什麼 Karpathy 要發明這個詞

2026 年 2 月 Karpathy 提出 Agentic Engineering,但它跟 Vibe Coding、Prompt Engineering 差在哪?從定義出發,用一年實戰經歷解釋這個新詞背後的真正含義——以及為什麼它比寫 code 本身更難。

從零開始的 Mac 開發環境:Brewfile 完全指南

從零開始的 Mac 開發環境:Brewfile 完全指南

什麼是 Brewfile?怎麼建第一份?哪些工具每個開發者都該裝?一篇搞懂 Homebrew 的套件清單管理,換電腦再也不用一個一個手動安裝。

Brewfile + chezmoi + dotfiles:Mac 開發環境的完整備份策略

Brewfile + chezmoi + dotfiles:Mac 開發環境的完整備份策略

Brewfile 管軟體、chezmoi 管 dotfiles、VS Code Settings Sync 管編輯器——三個工具各司其職,讓你換電腦只需要四個步驟就能還原整個開發環境。

你的 Brewfile 是不是也在做白工?我清掉了 76 行才發現的事

你的 Brewfile 是不是也在做白工?我清掉了 76 行才發現的事

整理 Brewfile 時發現 76 行在備份 VS Code Extensions,但 VS Code Settings Sync 早就在處理了。記錄確認方式、清理指令,以及「兩個工具做同一件事」這個維護陷阱。

chezmoi 實戰:一份 dotfiles 管理三台不同用途的 Mac

chezmoi 實戰:一份 dotfiles 管理三台不同用途的 Mac

用 chezmoi 管理多台 Mac 的差異化 dotfiles:模板語法、age 加密、多機同步工作流程,以及實際踩過的坑。

Streaming:打造即時回應的用戶體驗

Streaming:打造即時回應的用戶體驗

深入理解 Claude API Streaming 的 SSE 事件類型、Python 與 TypeScript 實作、在 Next.js/Express 建立 streaming endpoint,以及 streaming 搭配 Tool Use 的特殊處理。

新 Mac 開箱後,我怎麼 30 分鐘裝好所有東西

新 Mac 開箱後,我怎麼 30 分鐘裝好所有東西

用 Homebrew Bundle、dotfiles、defaults write 腳本,四層自動化策略讓新 Mac 設定從半天縮短到 30 分鐘。不是工程師也能上手。

Mackup vs chezmoi vs 手寫 script:macOS 設定備份工具怎麼選?

Mackup vs chezmoi vs 手寫 script:macOS 設定備份工具怎麼選?

三種主流的 macOS 設定備份方案,設計哲學完全不同:symlink 派、copy 派、script 派。沒有最好的工具,只有最適合你的工具。

macOS defaults 備份別踩坑:為什麼 5.3MB 的 plist 不如 130 行的 shell 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 入門

終端機不可怕:給非工程師的 macOS Terminal 入門

終端機不是工程師專屬工具。這篇用生活化比喻帶你認識 5 個基本指令,從打開 Terminal 到實際操作,讓你不再對黑底白字的畫面感到害怕。

我的 Brewfile 公開:一個全端工程師裝了哪 50 個工具

我的 Brewfile 公開:一個全端工程師裝了哪 50 個工具

公開我的完整 Brewfile,按分類介紹 50 個開發、終端機、生產力工具,附上選擇理由和實際使用情境,讓你直接複製修改。

5 分鐘幫 Astro 部落格加上 Giscus 留言功能

5 分鐘幫 Astro 部落格加上 Giscus 留言功能

從零開始在 Astro 部落格加上 Giscus 留言系統,包含 GitHub Discussions 設定、Astro 元件建立、Dark Mode 同步與 View Transitions 踩坑筆記。

Git Worktree 入門 — 不用 stash 的多分支並行開發

Git Worktree 入門 — 不用 stash 的多分支並行開發

還在用 git stash 切分支嗎?Git Worktree 讓你同時 checkout 多個分支到不同目錄,徹底消除 stash 的認知負擔。

AI 驅動開發:從 Vibe Coding 到 Agentic Workflow

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 深度解析:對話的基本單位

Messages API 深度解析:對話的基本單位

深入理解 Claude Messages API 的核心設計:system/user/assistant roles、多輪對話管理、temperature 與 top_p 調校、stop_sequences,以及生產環境的 system prompt 最佳實踐。

MVP 設計:砍到不能再砍

MVP 設計:砍到不能再砍

上班族做 side project 最大的敵人是「功能蔓延」。本文教你用 AI 輔助 MVP 設計與 feature prioritization,找出最高風險假設,砍到不能再砍,用最少時間驗證最關鍵的產品假設。

Claude API 入門:帳號、費用與第一個 API 呼叫

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 就是一支團隊

Solo Builder 宣言:一個人 + AI 就是一支團隊

2026 年是 Solo Builder 的黃金時代——AI 徹底改變了一個人能做到的事。這篇文章告訴你為什麼現在是邊上班邊做產品的最好時機,一個有正職的上班族如何靠 AI 加持,把備忘錄裡永遠做不完的 side project 真正做出來、推上線。系列首章,帶你建立 Solo Builder 的心法與全貌。

2025

16 篇
系統整合的藝術:API、Event、Data 三大整合模式

系統整合的藝術:API、Event、Data 三大整合模式

深入了解 RESTful API、GraphQL、gRPC、Event-Driven Architecture、ETL/ELT/CDC 三大整合模式,掌握 Kafka、RabbitMQ 選擇標準,學會 Strangler Fig Pattern 整合遺留系統,應用 Idempotency、Circuit Breaker 最佳實踐。

PHP/Laravel 完全指南:從這裡開始你自己的旅程

PHP/Laravel 完全指南:從這裡開始你自己的旅程

用 Laravel 12 打造揪好買團購平台的完整旅程到此告一段落。本章回顧全書 15 章的 Laravel 學習路徑,整理揪好買可擴展的功能方向,介紹 Nova、Vapor、Laracasts 等生態系資源,並為你規劃從初級到進階的 PHP/Laravel 成長路線圖。

部署上線:從 Laravel Forge 到容器化的三條路

部署上線:從 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 程式

用 Pest 測試框架為 Laravel 12 應用寫單元測試與功能測試:actingAs 模擬登入、RefreshDatabase 隔離資料、Mail::fake() 與 Queue::fake() 攔截副作用,再搭配 GitHub Actions 建立 CI pipeline,讓每次 Push 都自動跑測試,從此敢重構、放心部署。

後台管理與進階查詢:用 Filament 打造管理介面

後台管理與進階查詢:用 Filament 打造管理介面

用 Filament 5 快速建立後台管理系統,搭配進階 Eloquent 查詢技巧解決真實世界的效能問題。

RESTful API 與 Sanctum:讓 LINE Bot 也能開團

RESTful API 與 Sanctum:讓 LINE Bot 也能開團

用 Laravel 12 打造 RESTful API、以 Sanctum Token 認證保護端點,加上 Rate Limiting、API 版本管理與 CORS 設定,讓揪好買同時服務手機 App、LINE Bot 與第三方整合。

Queue 與 Event:讓耗時任務不阻塞使用者

Queue 與 Event:讓耗時任務不阻塞使用者

成團後要寄 50 封信、推播、更新統計,全塞在同一個 request 會讓使用者等十秒。用 Laravel 12 的 Queue 把耗時任務丟到背景、用 Event/Listener 解耦成團後的多個動作、用 Notification 一個類別搞定 Email 與站內訊息——以「揪好買」團購平台實作完整非同步通知系統,含 queue:work 失敗重試與 Horizon 監控。

訂單與金流:成團後用 Cashier 串接 Stripe 收款

訂單與金流:成團後用 Cashier 串接 Stripe 收款

用 Laravel Cashier 串接 Stripe,從成團確認到收款的完整結帳流程:Checkout Session、Webhook 簽名驗證、訂單狀態機與 DB Transaction,含 Stripe 測試模式與本地 Webhook 測試。

跟團與成團邏輯:用 Laravel Session 打造從「+1」到「成團確認」

跟團與成團邏輯:用 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 認證與授權:用 Starter Kit 十分鐘搞定會員系統

每個有使用者的應用都逃不過認證與授權。本章用 Laravel 12 官方 Starter Kit(Livewire 版)一行指令搞定註冊、登入、忘記密碼與 Email 驗證,再用 Gate 與 Policy 做細粒度授權,並示範以 role 欄位與 Enum 實作角色權限,打造完整會員系統。

Blade + Livewire:打造互動式前端不需要寫 JavaScript

Blade + Livewire:打造互動式前端不需要寫 JavaScript

用 Blade 模板引擎與 Livewire 3,完全不寫 JavaScript 也能打造互動式前端:可重用的 Blade Component、wire:model 即時搜尋與篩選、Volt 單檔元件,再搭配 Alpine.js 處理純 UI 互動與 Tailwind CSS 美化,做出流暢的全 PHP 前端體驗。

Eloquent ORM:不寫 SQL 也能操作資料庫的 Laravel 之道

Eloquent ORM:不寫 SQL 也能操作資料庫的 Laravel 之道

Laravel Eloquent ORM 完整教學:從 Migration 建表、Model 命名慣例、CRUD 操作,到一對多/多對多關聯與 Factory/Seeder 測試資料,不寫 SQL 也能優雅操作資料庫,一次搞懂。

Laravel 的魔法與紀律:Request Lifecycle、Service Container 與 Middleware

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 到第一個 Route 的十分鐘

從零安裝 Laravel 12——用 composer create-project 或 laravel new 一行建立專案,搞懂目錄結構、Artisan CLI、Route 路由與 Blade 模板,再用 .env 管理環境變數,十分鐘做出第一個首頁。

PHP 不是你記憶中的樣子:寫給現代開發者的 PHP 快速入門

PHP 不是你記憶中的樣子:寫給現代開發者的 PHP 快速入門

打破「PHP 是上個時代語言」的偏見。對照 JavaScript、Python、TypeScript,帶現代開發者掌握 PHP 8.4+ 型別系統、Enum、Match Expression、Named Arguments、Property Hooks 與 Composer 套件管理,為 Laravel 12 開發打好基礎。

esc
輸入關鍵字搜尋文章...
查看收藏 →