由於從 .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 發出郵件。
... 繼續閱讀 ...
最近看了一本書 Tidy First?: A Personal Exercise in Empirical Software Design,作者是令人景仰的 Kent Beck 大神,他是一位擁有 Wikipedia 頁面的人物,也是美國著名的軟體工程師和作家,在軟體工程領域有著深遠的影響力。這本書整理了 32 個「整理程式碼」的心法,他並不是一本強調 Clean Code 或 Refactoring 的技巧,而是一些更細微的、個人層面的軟體設計考量,這些技巧都是作者在多年軟體開發經驗中的心得,也是他在日常開發中的一些習慣,我真的越看越亢奮,因為很多內容其實也跟我二十多年的開發經驗相吻合,有種為什麼不早點看到這本書的感覺,我特別整理了這本書的讀後心得,希望大家可以從中獲益。這本書在台灣已有翻譯書,名為 先整理一下?|個人層面的軟體設計考量,大家有興趣也可以買來看看。
... 繼續閱讀 ...
前幾天我們公司有個網站準備上一個新版,工程師發出 PR (Pull request) 之後請我進行程式碼審核(Code Review),結果我發現他本次的修正項目不太合理,他改了一個前端套件的資料夾名稱。我當下覺得不妙,一個已經測試數月,也準備上線的網站,怎麼還會在最後一刻修改資料夾名稱呢?我反問工程師為什麼要改這些地方時,卻得到一個我不是很滿意的回答,因此退件請他重改。這不是一個什麼嚴重的技術問題,改改資料夾名稱就正常了,但是卻又激起我追根究底的柯南精神,真相只有一個,我要找出來!🕵️♂️
... 繼續閱讀 ...