The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

深入理解 package-lock.json 的用途與適用情境

我最近幫一位同事整理一個已經維護 7 年的 Angular 專案,結果發現一個前後端分離的專案,只有「後端」有設定 CI / CD,前端一直以來都是人工建置與部署。我在弄 CI / CD 的時候,發現了許多 npm 套件版本有依賴問題,為了能消除這些惱人的警告,花了我好幾個小時的時間才得到徹底的解決。我這次會遇到套件依賴問題,就是因為當初的開發人員搞不定,多年來一直都視而不見,依賴問題從來都沒有搞定過,每次換人維護都用 npm install --forcenpm install --legacy-peer-deps 來解決問題,然後一代傳一代,變成祖傳的慣例,變成技術債。如果專案有個維護妥當的 package-lock.json 檔案,其實要還原套件不是什麼難事,今天這篇文章我就來深入探討這個問題。

... 繼續閱讀 ...

如何在 .NET Core、.NET 5+ 與 ASP.NET Core 正確使用 Big5 編碼

由於從 .NET Core 1.0 開始,就沒有自動載入 BIG5 編碼的 Encoding 資料,所以你沒辦法直接透過 Encoding.GetEncoding("Big5") 取得 Encoding 物件。在 .NET Core 3.1 之前,還需要須額外安裝 System.Text.Encoding.CodePages 套件才行。不過,從 .NET 5 開始,這個套件成為了 .NET SDK 的一部分,不再需要額外安裝。但即便如此,你還是要特別執行一段註冊以使用此編碼。接下來,我們將深入探討如何註冊這些編碼並正確使用它們在不同的場景中。

... 繼續閱讀 ...

理解 WAV 格式:從 PCM 編碼格式到檔案大小計算方法

最近正在設計一個「即時口譯」的應用,可以幫助我們客戶在舉辦現場活動或即時線上活動時,可以提供多語言的口譯服務。我們需要將語音輸入訊號轉換為文字,然後再轉換為其他語言的語音。在這個過程中,首先要先深入瞭解常見的 WAV 格式,瞭解之後才能做一些更深層的細部操作。這篇文章將深入探討 WAV 格式,從 PCM 編碼格式到檔案大小計算方法,讓我們更好地處理音頻資料。

... 繼續閱讀 ...