Skip to content
所有分類

tech

529 篇文章

Claude Code settings.json 設定大全:五層 scope、合併規則與常用欄位

Claude Code 的設定分五層——managed settings、CLI flag、專案 local、專案共用、使用者——純值型 key 由高層蓋掉低層,permissions.allow 這類清單型 key 則跨層合併。本文整理每層檔案的角色、allow/deny/ask 三清單的寫法,以及用 /status 和 claude doctor 驗證設定是否生效。

從 Slack 指派 coding 任務:Claude Code in Slack 與 Claude Tag 兩條路

在 Slack @Claude 就能把 bug report 變成雲端跑的 Claude Code session。但現在有兩條路:Pro/Max 走原 Claude Code in Slack(每個 session 掛在個人帳號),Team/Enterprise 新設定或遷移則看 Claude Tag(組織共用身分、admin 管權限與用量)。先確認方案再設定,才不會裝錯。

Claude Code Sub-agents 怎麼運作:context 隔離、frontmatter 定義、背景執行與權限繼承

Sub-agent 是在獨立 context window 中工作的專業助手:一個 Markdown 檔定義 system prompt、工具與模型,Claude 依 description 自動委派,也能 @-mention 直接指派。本文拆解 frontmatter schema、背景執行與巢狀 spawn 的現狀、permission 繼承規則,以及什麼時候不該用。

「推薦下一條」和「推薦類似的」不是同一件事 — RAG 推薦系統的意圖消歧

攀岩 RAG 系統中「推薦下一條路線」(progression)和「推薦類似路線」(similarity)被同一個 hasSimilarRouteIntent() 函式混為一談,導致推薦品質崩壞。解法是 Regex Fast Path + LLM Fallback 的兩階段意圖分類。

RAG 多實體查詢:當使用者一次丟五條路線,系統只看到第一條

RAG 系統的 extractRouteReference() 用 for...return 只抓第一個匹配,使用者給了五條完攀紀錄卻只用到一條。解法從 rule-based 多實體擷取、user profile aggregation 到 embedding centroid,分三層遞進實作。

當 Vector Search 把名字當難度搜:RAG 系統的 Attribute Conflation 問題

查詢「美人照鏡 5.11b,推薦類似難度路線」,結果回來的全是名字像的路線而不是難度像的。根因是 dense embedding 把多個屬性壓進同一個向量,名稱的稀有性壓過了難度訊號。解法:metadata pre-filter + query rewriting + score fusion 三層防線。

techguide

Biome:用 Rust 取代 ESLint + Prettier

Biome 一個工具做 ESLint + Prettier 兩個工具的事,速度快 10-20 倍,設定簡單很多。DaoDao 在整個 monorepo 用它,lint + format 一次過。

AEO 答案引擎優化指南 — 讓 AI 搜尋引擎引用你的內容

AEO(Answer Engine Optimization)是針對 AI 搜尋引擎(Perplexity、ChatGPT Search、Google AI Overview)的內容優化策略。核心是讓你的內容成為 AI 最容易引用的「答案來源」,而不只是搜尋結果中的一個連結。

部落格 SEO 優化完整指南 — 從 meta tags 到結構化資料

SEO 不只是關鍵字,結構化資料(JSON-LD)、Open Graph、hreflang、robots.txt 這些技術面優化才是讓搜尋引擎真正理解你內容的關鍵。本文以 Astro 部落格為例,完整走一遍實作。

techguide

BullMQ:Node.js 最成熟的 Redis-backed 任務佇列

BullMQ 是 Node.js 生態裡最成熟的任務佇列,底層用 Redis,支援優先級、重試、排程、延遲任務。島島用它處理通知發送和實踐自動完成排程。

techguide

Celery:Python 生態裡分散式任務佇列的標準解法

Celery 是 Python 最主流的分散式任務佇列,用 Redis 或 RabbitMQ 當 broker,讓耗時工作跑在背景。島島的 AI 服務用它處理 LLM 回饋生成等非同步任務。

Claude Code Global Skills 新 Session 找不到?釐清 Skill Discovery 機制與排查方法

Global skills 放在 ~/.claude/skills/ 但新 session 或 Desktop App 看不到?問題通常不是檔案不存在,而是 skill 描述沒被載入 context。本文釐清 CLI vs Desktop App 的差異、settings.json 的角色,以及最穩定的解法。

techguide

ClickHouse:當 PostgreSQL 的分析查詢開始變慢,你需要 OLAP

ClickHouse 是欄導向 OLAP 資料庫,掃幾億行只要幾秒,島島用它記錄使用行為事件,供 AI 推薦引擎的特徵工程使用,讓 PostgreSQL 專心處理交易型資料。

Cloudflare D1:跑在邊緣的 SQLite 關聯式資料庫

D1 是 Cloudflare 的 serverless SQLite 資料庫,直接綁定 Workers,支援完整 SQL(JOIN、transaction)、自動備份。適合中小規模的關聯式資料需求,NobodyClimb 把它當主資料庫用。

Cloudflare KV:全球邊緣的 Key-Value Store

KV 是 Cloudflare 的全球分散式 key-value store,讀取從最近的邊緣節點回應,延遲極低。適合快取、feature flag、暫態資料,但寫入是最終一致性。

Cloudflare R2:零 Egress 費用的 S3 替代方案

R2 是 Cloudflare 的物件儲存,S3 相容 API、零 egress 費用、Workers 原生 binding。媒體密集的應用不用再擔心流量帳單。

Cloudflare Workers:不是 Lambda,不是容器,是 V8 Isolate

Cloudflare Workers 用 V8 Isolate 取代容器,沒有 cold start,全球邊緣部署,透過 Bindings 接 D1、R2、KV、AI。適合 API、SSR、輕量後端,不適合 CPU 密集的工作。

techguide

Docker 實務入門:從開發到部署的容器化

Docker 讓你把應用程式和它的環境打包在一起,消除「在我電腦上可以跑」的問題。搭配 multi-stage build 和 Compose,是現代後端部署的基本配備。

techguide

Expo + React Native:一套程式碼跑 iOS 和 Android,實際上是什麼體驗

Expo 讓 React Native 開發從「環境設定地獄」變成可以直接寫邏輯的狀態。Expo Router 帶來 file-based routing,讓 web 開發者轉移成本更低。島島和 NobodyClimb 都用它跨 iOS/Android。

techguide

Express.js:Node.js 後端的預設答案,以及它為什麼還值得選

Express 是 Node.js 最成熟的 Web framework,middleware 生態完整、學習資源豐富。搭配 TypeScript 和清楚的分層架構,在 2026 年仍然是有理由選的選項。