所有文章

開發現場與生活趨勢的實戰筆記

文章從實作、測量與公開資料出發。你可以依主題瀏覽,先找到問題的答案,再回到原始來源繼續查證。

最新文章

最新

JBoss EAP 09:看懂 Spring XML,驗證 Java 設定沒有改掉交易

用同一個 Service 對照 XML、Java 設定與 ImportResource,辨認 Bean、掃描與交易代理。

閱讀文章

AI 開發實戰

把 AI 放進真實開發流程的方法、框架與踩坑紀錄——從知識管理到工具鏈。

WebMCP 會取代 Playwright 嗎?把「猜按鈕」改成網站主動提供工具

不會。Playwright 是瀏覽器自動化與測試工具;WebMCP 則讓願意配合的網站,把原本藏在介面裡的能力主動宣告成結構化工具。兩者解的是不同層次的問題。

閱讀文章

AI 程式碼怎麼驗收:從本站建置流程看五層檢查

本站建置會驗證雙語文章、初始 HTML 與廣告範圍。這篇直接對照設定與腳本,區分已執行的檢查、可採用的建議,以及仍需要人工判斷的事。

閱讀文章

排程跑 AI Agent,我踩過的三個坑:exit 0 不代表成功

手動跑一百次都過的 AI agent 腳本,掛上 launchd 排程之後第一晚就死了。而且不是報錯的那種死——是印了錯誤訊息、然後回傳 exit 0 的那種。

閱讀文章

瀏覽器自動化怎麼避免抓錯答案:NotebookLM 整合的可靠性檢查

以 kof-notebooklm-mcp 的瀏覽器整合為例,處理舊答案、串流中斷與 UI 污染;並區分企業版官方 API 與本文使用的網頁自動化。

閱讀文章

把 YouTube 連結直接餵給 Gemini:一個 API 呼叫,以及上線前要補的四件事

想把 YouTube 影片變成重點筆記,直覺做法是先抓字幕,再餵給模型。Gemini API 的 fileData 可以直接接 YouTube URL,讓模型處理影片,沒有字幕也能用。

閱讀文章

AI 答錯不可怕,可怕的是它看起來剛好可以交付

AI 回傳空白、逾時或格式錯誤時,產品很容易知道要停下來。更難處理的是語氣完整、格式正確,內容卻漏掉限制或做錯判斷的輸出。

閱讀文章

AI 開發進化論:從 Prompt、Context、Harness、Loop 到 Graph

剛開始用 AI 寫程式,我把大部分力氣花在 Prompt:調整問法、補範例、指定輸出格式。等模型開始讀專案、使用工具、連續工作,一句提示詞就裝不下整個工程環境了。

閱讀文章

我為什麼不再讓 AI 一次把整個 App 做完

一開始用 AI 寫 App 的時候,我最常下的指令是:「幫我把這個功能做完。」有時候它真的做得很快,快到我覺得自己是不是找到了什麼新方法。

閱讀文章

從零到 PyPI:讓 NotebookLM 可以被程式控制

kof-notebooklm-mcp 把 NotebookLM 網頁操作接進 MCP 工作流程。本文說明套件來源、安裝後還要完成哪些設定,以及如何區分套件可執行與線上操作成功。

閱讀文章

AI 工具與模型

模型與工具的第一手實測:誰適合放在工作流程的哪一段。

llms.txt vs AGENTS.md vs OKF:三種「給 AI 的 markdown」,其實在解不同問題

最近「給 AI 用的 markdown」冒出一堆:llms.txt、AGENTS.md、CLAUDE.md、OKF。它們常被當成同一類東西,於是有人問「有了一個,其他就不用了嗎」。

閱讀文章

我把 repo 做成 OKF bundle,讓 AI agent 不再失憶,卻差點讓我漏掉一個 bug

這個網站是我和 Claude Code、Codex 一點一點做出來的,但每次開新 session 都是冷啟動,它們不知道前面發生過什麼。我用 Google 的 OKF(Open Knowledge Format)把 repo 的「腦」整理成一份結構化 Markdown 知識庫。

閱讀文章

OKF vs RAG vs 向量資料庫:差在哪,什麼時候用哪一個

「OKF 取代向量資料庫」這種說法容易讓人混淆,因為它把三個不同層次的東西放在一起比較。OKF 是知識的格式,RAG 是取用知識的工作流,向量資料庫則是其中一種檢索基礎設施。

閱讀文章

RAG 錯答怎麼查:切段、相似度、版本與適用條件

用訂單保留規則的假設案例,拆開相似度排名、環境篩選與版本同步;附不依賴模型的可執行範例。

閱讀文章

OKF bundle 怎麼寫:一個目錄、三條規則、一個最小可跑範例

OKF 的規格刻意極簡:一個目錄的 markdown、YAML frontmatter、三條規則,就這樣。這篇用一個最小可跑的 bundle 帶你走一遍。

閱讀文章

OKF 接到 RAG 之前:來源版本、切段與查詢契約

來源格式不會自動修好檢索。從本站 knowledge 導覽出發,設計可追溯的索引欄位、更新切換與答案驗收。

閱讀文章

Google OKF 會取代 RAG 與向量資料庫嗎?先弄清楚 AI Agent 的新知識格式

Google Cloud 推出 Open Knowledge Format(OKF)後,網路上很快出現「Beyond RAG」和「向量資料庫將被取代」的說法。其實沒那麼戲劇化:OKF、RAG 與向量資料庫處理的是不同層次的問題。

閱讀文章

AI 多模型大戰第二回合:Gemini 3.1 Pro、GPT-5.6、Claude Fable 5、Opus 4.8,以及 Grok 4.5

上一篇文章才剛整理完 Gemini 3 Pro、GPT-5.1 和 Claude Opus 4.5,版本號已經往前跑了一大截。Google 推出 Gemini 3.1 Pro,OpenAI 來到 GPT-5.6,Anthropic 又推出 Claude Fable 5,xAI 則把 Grok 4.5 拉進戰場。

閱讀文章

我做了一個 Local-first AI Brain Skill,然後發現自己其實不需要 Notion AI

筆記應該在想法出現的當下就被記下來。AI 聰不聰明不是關鍵,真正卡住我的是思考和記錄被迫分開。

閱讀文章

只用 Google AI Pro 的工作流程實驗:2026 年 1 月紀錄

保留 2026 年 1 月的工具分工與人工交接經驗,交代當時未完成的串接;本文不提供現行額度或節費成效保證。

閱讀文章

三個 AI 回答同一題:一次「模型迭代速度」對話的觀察與限制

一次同題問答,讓三個模型分析彼此的匿名回答。保留當時觀察,同時交代缺少原始紀錄、控制條件與評分標準的限制。

閱讀文章

2025 多模型工作筆記:文件、程式與額度怎麼分工

這是 2025 年使用 GPT、Claude、Codex 與 Cursor 的工作筆記,保留當時文件整理與額度限制的經驗。

閱讀文章

3D 與互動網頁

Three.js、WebGL 與 Blender 的入門與實作,搭配實驗室裡可以直接玩的作品。

遊戲分享碼怎麼重現結果?從 seed、選擇紀錄到版本相容

用本站職涯模擬器拆解可重播設計,附固定版引擎、4,096 組驗證與可執行範例。學會保存必要輸入、找出分歧,以及處理舊分享碼。

閱讀文章

Godot 4 Web 匯出怎麼檢查:執行緒、檔案大小、載入與聲音

從本站 Last Pitch Derby 的匯出設定與檔案實測,區分單執行緒、gzip 傳輸與記憶體成本,再用一份檢查流程定位灰畫面、聲音與載入問題。

閱讀文章

把平面圖變成可以走進去的 3D:Three.js 室內格局的完整做法

平面圖是空間最通用的語言,但大多數人其實讀不懂它——牆上那張 2D 格局圖,和「住進去是什麼感覺」之間有一道翻譯的鴻溝。我把一張真實的三房格局做成了瀏覽器裡可以轉視角、拖家具的 3D 空間。

閱讀文章

同一個 BFS,我寫了兩次:一次當品質閘門,一次當老師

我的推箱子遊戲有兩個解題器。演算法一模一樣——最普通的廣度優先搜尋——一個用 GDScript 寫在 Godot 裡,一個用 TypeScript 跑在瀏覽器。這不是重複造輪子,因為它們是兩個完全不同的產品。

閱讀文章

我沒有手刻 100 個關卡:用反向生成、BFS 與 CI 替 Godot 推箱子把關

BoxCat 1.0 上架時有 40 關。準備 1.1.0 時,我想把它擴成 100 關,還要確保沒有無解地圖、par 不是隨手填的數字,難度也不會突然倒退。

閱讀文章

房間代碼就是伺服器位址:我做了一個即時多人遊戲,沒寫配對服務也沒開資料庫

一個五人連線的阿瓦隆,傳統做法需要配對服務、狀態儲存、WebSocket 伺服器和一個清理排程。我用 Cloudflare Durable Objects 寫完,這四件事變成了一行 idFromName 和一個 setAlarm。

閱讀文章

我的 3D 網頁傳了 1.9MB,其中 90% 從來沒有被壓縮過

打開 DevTools 看 Midnight Run 的網路面板:整頁傳了 1,894KB,其中 1,714KB 是兩個 GLB 模型。而同一頁的 three.js,磁碟上 564KB、實際只傳了 142KB。

閱讀文章

把真實城市變成 3D 場景:OpenStreetMap、Blender 與 Three.js 的一條管線

Midnight Run 跑的不是我畫出來的賽道,是台北信義區真正的街廓。整條路線來自 OpenStreetMap 的一份快照,經過 Blender 產生城市模型,最後變成瀏覽器裡 1.3MB 的 GLB。

閱讀文章

React 遇上中文輸入法:為什麼 onChange 會把注音當成錯字

打字測驗做完那天我測了一輪,速度、正確率、換題全部正常。隔天早上切回注音,畫面整片紅——我按下 ㄐ,系統立刻判定「ㄐ ≠ 今」。前一天沒發現,是因為我測的是英文。

閱讀文章

WebGL 是什麼?瀏覽器如何不用外掛就畫出即時 2D 與 3D

WebGL 是瀏覽器內建的低階圖形 API。JavaScript 可以透過 canvas 把頂點、顏色、貼圖與著色器交給 GPU,畫出即時 2D 與 3D,不必安裝 Flash 或其他外掛。

閱讀文章

Three.js 是什麼?從 WebGL 到瀏覽器裡的 3D 世界

Three.js 讓網站不只是一張平面。它把瀏覽器底層的 WebGL 包成比較容易理解的場景、相機、材質與燈光,讓開發者能用 JavaScript 做出 3D 產品展示、資料視覺化、遊戲和互動敘事。

閱讀文章

Blender 是什麼?從一人的內部工具,到全世界共用的 3D 創作平台

Blender 是免費、開源的 3D 創作工具,建模、雕刻、材質、動畫、模擬、算圖、合成和影片剪輯都能在同一套軟體完成。它不是只有專業動畫師才用得上的龐大軟體,也能成為網站資產的自動化工廠。

閱讀文章
去實驗室看互動作品 →

產品開發記

從想法到上架的第一手紀錄:做了什麼、為什麼做、學到什麼。

文章越多,首頁越重?把文章目錄與正文拆開載入

用本站 Vite/React 的實作,拆解文章目錄、每篇正文模組與動態載入表。附可重現的檢查流程,也說明快取失敗、雙語 chunk 與預渲染的取捨。

閱讀文章

英文頁的下載連結為什麼壞掉?雙語路由與靜態檔案的分界

追查 /en/downloads 失效的真實案例,分清原生連結、下載屬性、兩套渲染器與 SPA fallback。附可操作的檢查表和下載檔驗證步驟。

閱讀文章

iPhone 照片刪了,iCloud 也會刪嗎?清空相簿前先看副本在哪

開啟 iCloud 照片時,刪除也會同步。先分清手機容量與雲端容量,再確認照片是否另有可用的獨立副本。

閱讀文章

「點此了解更多」到底會去哪裡?把連結文字寫清楚

連結文字要讓人知道下一頁有什麼。從報名資訊、下載文件到參考資料,用具體改寫範例說明哪些字該留、哪些資訊可以放在旁邊。

閱讀文章

把 YouTube 影片整理成學習卡片:示範、核對方法與限制

我電腦裡有一排「之後要看」的 YouTube 演講,每一個動輒半小時起跳,每一個都還沒打開。存起來很快,真正變成腦裡的東西才是被推遲的成本。

閱讀文章

Apple 其實沒有全球排行榜:我抓了 51 個市場的付費榜,發現的事

你在 App Store 看到的「排行榜」,是你所在國家的榜。美國、日本、台灣各有一份,它們不是同一份榜的翻譯,是三份完全獨立的名單——而 Apple 從來沒有提供過「全球榜」這種東西。

閱讀文章

付了錢,App 卻說我是免費方案:訂閱狀態同步的雙路徑設計

訂閱制最傷的瞬間:使用者剛付完錢,回到 App,畫面上寫著「免費方案」。錢已經扣了,權益還沒到。這不是購買流程的 bug,是狀態同步的架構問題。

閱讀文章

對爬蟲來說,我的網站每頁只有 46 個字元:SPA 預渲染的三個階段,不換框架

我用 curl 抓自己的文章頁,去掉 script 之後數了一下:46 個字元。標題而已,正文一個字都沒有。34 個文章頁,每一頁都是這樣——對不執行 JavaScript 的爬蟲來說,這個站接近空白。

閱讀文章

我的產品沒有 PM,所以每個功能都在搶同一個人的時間

一個人做產品,沒有人替我排優先順序,產品管理卻一項也不會少。誰需要這個功能、現在為什麼要做、什麼情況下該停,最後都回到我身上。

閱讀文章

稍後再讀,其實是最有禮貌的刪除

看到一篇好像很重要、現在卻沒空讀的文章時,按下「稍後再讀」很合理。內容沒有被丟掉,我們也不用立刻承認自己可能永遠不會回來。

閱讀文章

功能不是產品:我用「結果契約」重新檢查 KOFNote

KofAI Note 1.0.0 已經上架。它的功能可以濃縮成一句話:「一鍵捕捉,AI 幫你讀完。」這句話說清楚了產品會做什麼,卻還沒回答使用者最後得到什麼。

閱讀文章

摘要不是知識:AI 如何判斷一個觀點值得保存、研究,還是做成產品

摘要可以把內容變短,卻沒有回答接下來該做什麼。一個看似有道理的觀點,可能只值得留下來源,也可能需要查證、公開成文,或進一步驗證成產品。

閱讀文章

為什麼我做了 BabyDay

老實說,這個 App 的起點不是什麼產品規劃,是一個很實際的問題:二寶快出生了,大寶那時候的紀錄散落在 LINE、備忘錄、手寫筆記本,回頭找的時候什麼都對不上。

閱讀文章

為什麼我做了 KeepOnFirst Focus

老實說,我一開始真的沒打算做一個番茄鐘。

閱讀文章

我是如何開始寫 Medium 的:三天寫三篇後,我學到的事

原本沒有經營計畫,只想記下一個有趣的實驗,結果連續寫了三篇。這是開始使用 Medium 前幾天的個人紀錄,談選題、寫作節奏,以及用文字整理想法。

閱讀文章

AI 正在改變日常工作,但哪些事仍要自己驗證?

AI 可以先整理影片、文件與程式碼,但產出一份看起來完整的答案,和完成一件事,是兩個不同的結果。

閱讀文章

Java 企業系統升級

JBoss EAP 與 Spring Boot 的學習路徑與升級驗證筆記。

JBoss EAP 09:看懂 Spring XML,驗證 Java 設定沒有改掉交易

用同一個 Service 對照 XML、Java 設定與 ImportResource,辨認 Bean、掃描與交易代理。

閱讀文章

JBoss EAP 10:MDB 到資料庫,讀懂交易失敗、重送與重複處理

沿 MQ、RAR、EJB 容器、MDB 與 Service 追蹤交易責任,再用 H2 實作失敗與重送模型。

閱讀文章

JBoss EAP 深入淺出:從認識容器,到看懂部署與交易

接續 Spring Boot 基礎,釐清 JBoss、WildFly 與 EAP,沿六堂基礎課與四堂實作讀懂部署、交易與升級驗證。

閱讀文章

JBoss EAP 01:Standalone、Domain 與管理介面,先知道自己連到誰

分清單一實例、managed domain、profile 與 server group,避免對錯實例除錯。

閱讀文章

JBoss EAP 02:WAR、EAR 與 Spring Boot,從檔案走到可呼叫的 API

看懂 WAR、EAR、RAR 各自裝什麼,以及誰負責啟動。

閱讀文章

JBoss EAP 03:明明有 jar,為什麼找不到類別?模組與 Jakarta 入門

分清編譯依賴、打包內容與執行期可見性,避免靠加 jar 猜答案。

閱讀文章

JBoss EAP 04:JNDI、DataSource 與交易,連得上資料庫還不夠

理解 pool name、JNDI name、driver 與實際連線的差別。

閱讀文章

JBoss EAP 05:MDB、RAR 與 IBM MQ,訊息進來之後誰負責提交?

沿 MQ、resource adapter、EJB 容器與 MDB 追蹤訊息處理。

閱讀文章

JBoss EAP 06:從錯誤訊息找到責任層,再驗證升級前後行為不變

按 JVM、部署、模組、資源與業務逐層除錯,不靠一次改很多設定猜原因。

閱讀文章

JBoss EAP 07:把 HTTP、DB、MQ 與 log 比對做成可重跑的練習

接續 EAP 基礎課,用可下載的離線工具比較升級前後四種證據,分開一致、差異與證據不足。

閱讀文章

JBoss EAP 08:把 Spring Boot 打包成 WAR,順手抓出 context root 的陷阱

沿用工單 API,實作 WAR packaging、容器初始化入口與 provided 依賴,並修正非根路徑的 Location。

閱讀文章

Spring Boot 深入淺出:從看懂一個請求,到能驗證一次改動

給正在接手舊 Java 系統、想把 Spring Boot 基礎補起來的開發者。導讀加六堂課,共用一個可下載的工單 API。

閱讀文章

Spring Boot 01:main 如何變成一個可以接 HTTP 的應用

從 pom.xml、main 與一個 ping 端點,分清 Maven、Spring 與 Spring Boot 的責任。

閱讀文章

Spring Boot 02:Bean 是誰建立的?看懂注入與自動設定

沿著 Controller → Service → Store 的建構子,理解 Spring 容器與依賴注入。

閱讀文章

Spring Boot 03:設定寫了卻沒生效?追出 Profile 與覆寫來源

用同一個 lab.label 練習設定檔、Profile、環境變數與命令列的覆寫。

閱讀文章

Spring Boot 04:從 JSON 到 Service,讀懂驗證與錯誤回應

追蹤工單新增請求如何經過 JSON 轉換、欄位驗證、Controller 與 Service。

閱讀文章

Spring Boot 05:資料寫進去了,為什麼還會回滾?

從 DataSource、JdbcClient 與 SQL 開始,區分執行寫入與交易提交。

閱讀文章

Spring Boot 06:測試到底證明什麼?從除錯走到 JAR/WAR

用工單 API 的測試分清 HTTP 契約、資料庫副作用、真實連線與部署驗證。

閱讀文章

JBoss EAP × Spring Boot 升級入門:先懂執行路徑,再驗證行為不變

從 EAP 6.4、舊 Spring 升級到 EAP 8.1 與 Spring Boot 3.5,先分清 Web、MDB、批次與 Angular 的執行邊界,再比較 HTTP、DB、MQ 與 log。

閱讀文章

讀累了?來玩一場

中文打字每日挑戰——今天所有人都打同一組題目,打完看你排第幾。

進入遊戲區