最近幾週 MCP
(Model Context Protocol) 正夯,要瞭解這個 AI 世界的 USB 介面,那肯定是要親手寫一個 MCP Server 才行。今天這篇文章我將參考 MCP 官網的範例,示範一個完整的開發步驟,讓大家知道用 Python 開發 MCP Server 的起手式。我會透過最新潮的 uv 快速建立 Python 開發環境,並且寫一個簡單的 MCP Server 應用,然後快速安裝到 Claude Desktop 與 Visual Studio Code Insiders 之中,讓 Claude Desktop 與 GitHub Copilot 的 Agent Mode 都可以呼叫 MCP 伺服器中的工具。
... 繼續閱讀 ...
我最近幫一位同事整理一個已經維護 7 年的 Angular 專案,結果發現一個前後端分離的專案,只有「後端」有設定 CI / CD,前端一直以來都是人工建置與部署。我在弄 CI / CD 的時候,發現了許多 npm 套件版本有依賴問題,為了能消除這些惱人的警告,花了我好幾個小時的時間才得到徹底的解決。我這次會遇到套件依賴問題,就是因為當初的開發人員搞不定,多年來一直都視而不見,依賴問題從來都沒有搞定過,每次換人維護都用 npm install --force
或 npm install --legacy-peer-deps
來解決問題,然後一代傳一代,變成祖傳的慣例,變成技術債。如果專案有個維護妥當的 package-lock.json
檔案,其實要還原套件不是什麼難事,今天這篇文章我就來深入探討這個問題。
... 繼續閱讀 ...
由於從 .NET Core 1.0 開始,就沒有自動載入 BIG5
編碼的 Encoding
資料,所以你沒辦法直接透過 Encoding.GetEncoding("Big5")
取得 Encoding
物件。在 .NET Core 3.1 之前,還需要須額外安裝 System.Text.Encoding.CodePages
套件才行。不過,從 .NET 5 開始,這個套件成為了 .NET SDK 的一部分,不再需要額外安裝。但即便如此,你還是要特別執行一段註冊以使用此編碼。接下來,我們將深入探討如何註冊這些編碼並正確使用它們在不同的場景中。
... 繼續閱讀 ...
最近正在設計一個「即時口譯」的應用,可以幫助我們客戶在舉辦現場活動或即時線上活動時,可以提供多語言的口譯服務。我們需要將語音輸入訊號轉換為文字,然後再轉換為其他語言的語音。在這個過程中,首先要先深入瞭解常見的 WAV 格式,瞭解之後才能做一些更深層的細部操作。這篇文章將深入探討 WAV 格式,從 PCM 編碼格式到檔案大小計算方法,讓我們更好地處理音頻資料。
... 繼續閱讀 ...
最近研究了多套語音轉文字的模型,今天這篇文章我打算來分享一套由 Google 發展的 Chirp 通用語音模型 (Google USM),該模型能夠在單一模型中統一處理多種語言的數據,且主要用來處理短音頻(小於1分鐘)和長音頻(1分鐘至8小時)的應用情境。
... 繼續閱讀 ...
我現在維護著幾套不同的 Chrome 擴充套件,每次發佈新版本時都需要手動上傳更新,覺得有點麻煩,所以我這幾天研究了一下 Chrome Web Store Publish API 並設定了 GitHub Actions 來自動化發佈 Release 與 Chrome Extension,真的方便太多了。這篇文章我就來說說這個設定的過程。
... 繼續閱讀 ...
我在春節期間看了 Netflix 熱播的韓劇《外傷重症中心》,我在追劇的過程中不僅被劇情吸引,還不禁將劇中的情節與軟體開發的日常進行對比。這部劇不僅展現了醫療救援的緊張與挑戰,也讓我思考了許多與職場、專業精神相關的議題。以下是我從軟體人的角度出發,對這部劇的一些觀察與感想。
... 繼續閱讀 ...
微軟從 ASP.NET Core 9 開始正式支援 OpenAPI 規格,並推出 Microsoft.AspNetCore.OpenApi NuGet 套件,在建立 ASP.NET Core Web API 專案時,預設就會加入可以產生 OpenAI 規格的端點。不過,對許多開發人員來說,常用的 Swagger UI 介面卻不見了。今天這篇文章我就來說說怎樣把 Swagger UI 加回專案中。
... 繼續閱讀 ...
前陣子在企業授課 OAuth 2.0 的時候,我原本想現場示範走 Google 的 OAuth 2.0 流程,並且在取得 Access Token 之後怎樣透過原始的 REST API 發信。原本以為這是個很簡單的任務,誰知道膝蓋中了一箭,拿 Token 都很簡單,唯讀「發信」的困難度超出了我的想像,原因無他,就是 Google 的參考文件實在是寫太爛了。這篇文章我打算跟大家說個官方文件沒寫的資訊,教大家怎樣順利透過 Gmail API 發出郵件。
... 繼續閱讀 ...