Skip to main content

Series

Go

Introducing Go and its related designs

Posts in this series

  1. Jan 24, 20266 min read844 views

    Claude Code 利用 Event-Driven Hooks 打造自動化開發大腦

    在現代 AI 輔助開發中,我們不僅需要 AI 寫程式,更需要它懂規則、記性好,並且能自動處理那些繁瑣的雜事。透過 Claude Code Hooks 機制,我們可以介入 AI 的思考與執行迴圈,實現真正的「人機協作自動化」。 一、 動機與痛點:為什麼你需要介入 AI 的生命週期? 在預設狀態下,Claude Code 雖然強大,但它是「被動」且「無狀態」的,這導致了開發者常遇到以下痛點: 記憶重置 (Session Amnesia): 痛點:每次重啟終端機,AI 就像失憶一樣。 解法:你...

  2. Dec 29, 20253 min read190 views

    SingleFlight

    Go Singleflight 實作全攻略:優化 API 消耗、並發控制與監控實務 在開發高併發應用程式(如股票分析機器人)時,我們常面臨 「驚群效應」(Thundering Herd):當快取失效或系統剛啟動時,大量請求同時湧入,導致昂貴的 API(如 Gemini)成本爆炸或資料庫崩潰。 singleflight 是 Go 官方擴充套件(golang.org/x/sync/singleflight)中的神兵利器,確保當多個請求同時要求同一個結果時,實際的運算只會執行一次。 1. 為什麼需要...

  3. Apr 5, 20256 min read1.7K views

    續談 MCP Server︰Resource、Server Inspector

    繼上一篇 了解 MCP Go 只談到 Tools,以及 MCP client 與 server 之間的交互過程。這次我們來看看另外兩個功能(Capability) Resource 與 Prompt。 Resource Capability Resource 在 MCP Server中,用來表示 Client 能夠存取該 Server 哪些內部的資源或者提供訂製化的請求,並且把這些內容當作跟 LLM 交互的上下文來使用,使得 AI 給我們更加精準的回應。所以不同的 MCP Client 可能有...

  4. Mar 17, 20257 min read4.7K views

    認識 MCP Go 工具

    第一次知道 Mark3labs 開發的 MCP Go 工具是因為 MCP Grafana 是基於該工具開發出來的。看了一下後,真的很容易就能開發出自己的 MCP Server。同時他也支援 STDIO 與 SSE 兩種 transport 模式。 MCP 概觀 參考自 Visual Guide to Model Context Protocol (MCP) MCP 遵從 client-server 的系統架構設計: Host:終端用戶直接接觸的 AI 應用,如 Claude Deskto...

  5. Feb 8, 20254 min read455 views

    了解 Go Map

    GO map shrink 最近同事給了我這篇文章, 文章想證明 Go 的 map 哪怕改成 swisstable 版本, 在元素都刪除後且 GC 發生後, map 的大小依然不那麼小, 好像不會 shrink. 但這問題的根本我們得先了解 map 的組成. 1.23 版本的 Map Source Code Go 的 map 實際上是基於 hash table 的資料結構。資料存儲在一個 bucket 的array 中,每個 bucket(Go的map中叫 bmap) 可以存放 8 個key v...