The Will Will Web

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

如何在 Windows 打造 OpenCC 中文繁簡轉換工具

OpenCC 是一個開源的中文繁簡轉換工具,可以用來將簡體中文轉換成繁體中文,或是將繁體中文轉換成簡體中文,我已經用十多年了,是個很棒的工具。不過,我以前一直都是在 Linux 底下使用它,因為官方並沒有提供 Windows 執行檔,如果要能在 Windows 直接執行,就需要自行編譯原始碼才行。這篇文章將介紹如何在 Windows 平台上建置 OpenCC 專案,以及分享如何透過 .NET 8 (C#) 載入 opencc.dll 直接呼叫 C++ 的函式庫。

... 繼續閱讀 ...

認識 Microsoft Entra ID 中的企業應用程式與服務主體物件

在 Microsoft Entra ID 中,有兩個很重要卻又有點抽象的物件,那就是「企業應用程式」(Enterprise applications) 與「服務主體」(Service Principal) 這兩項,這個應該有困擾我好幾年的時間,一直沒機會可以摸透這兩個物件的關聯性,這次終於在 Microsoft 的技術支援工程師的幫助下釐清了多年以來模糊的觀念,今天這篇文章我就來好好談談這個概念。

... 繼續閱讀 ...

整理開發者應該知道的 Google 最新 Gemini API 相關知識

Google 最近一年來承受著 OpenAI 帶來的極大壓力,感覺公司內部不斷重組,產品名稱也是一直在變化。由於我最近花了比較多時間在研究 Google 的 Gemini 技術,過程一直不斷被「命名」苦惱,直到最近才比較清楚整個來龍去脈。這篇文章我打算來整理一下 Google 的 Gemini 到底推出過多少「相似」的名稱,包含分類方式、產品名稱、舊名稱、新名稱、變化的名稱、套件名稱、模型名稱、工具名稱、函式庫名稱等等,坐好啊,馬上起飛!😅

... 繼續閱讀 ...

使用 .NET 8.0 與 Azure Functions Core Tools 開發與部署函式應用程式

我一直以來都是 Serverless 架構的信徒,因為實在是不太想自己管伺服器,我從 2018 年就開始採用 Azure Functions 技術,到目前為止歷經了 4 個大版本,到現在終於算是穩定些了。不過即便到目前為止,你要是照著官方文件下去設定,肯定會在很多不同的環節鬼打牆,地雷一直都沒有少過。這篇文章我將介紹如何使用 .NET 8.0Azure Functions Core Tools 來開發函式應用程式,並說明如何部署應用程式到 Azure App Service 使用 Consumption Plan (Y1) 方案來執行!

... 繼續閱讀 ...

如何查詢公司 Microsoft Entra ID 目錄下有多少已經建立的 Azure DevOps 組織

在 Azure DevOps 中,我們可以透過 Microsoft Entra ID (以前的 Azure Active Directory) 來管理組織,當你用了 M365 組織帳戶建立的 Azure DevOps 組織,預設就會跟 Microsoft Entra ID 綁定。如此一來,就可以套用更為完整的組織原則,並提供稽核記錄等等,相當方便。不過,如果你是 Tenant 管理者的話,你可能會想知道你的公司目前有多少個 Azure DevOps 組織,這篇文章教你怎樣查詢這個資訊。

... 繼續閱讀 ...

如何透過 .NET 的 Google.Apis.Auth 套件來取得服務帳戶的 Access Token

為了要能夠呼叫 Google Cloud Platform (GCP) 上的 API 資源,我們通常要透過 OAuth 2.0 的方式來取得存取權杖 (Access Token)。其實 Google 對 .NET 的支援還算完整,只是文件寫的太差,為了要能成功串好這個 OAuth 流程,花了我不少時間,主要是沒辦法找到一個清楚且完整的範例程式。也因為網路上可用的範例程式太少,導致各大 LLM 平台的回答都充滿了幻覺,每個都在胡說八道。這篇文章我就分享「服務帳戶」如何取得 Access Token 的方法,並提供一個完整可用的範例程式。

... 繼續閱讀 ...

如何在 Microsoft Entra ID 中建立一個 100 年都不會過期的 Client Secret 金鑰

我最近的 Azure 與 Azure DevOps 的顧問案很多,我在很多不同客戶與學員之間被問到一個相同的問題,他們問:「在 Azure 建立 Service Principal (服務主體) 並產生 Client Secret 金鑰時,為什麼到期日最長只能設定 2 年?那不就代表 2 年後如果忘記要手動更新,自動化的服務或 Pipeline 不就會自動停擺了嗎?」這個問題其實有標準答案,就是不要建立 Client Secret 金鑰,而是改用 Managed Identity (MI) 即可。不過,在你還沒學會 MI 之前,我先教你怎樣建立一個 100 年都不會過期的 Client Secret 金鑰!😆

... 繼續閱讀 ...

如何從 Azure Repos 的 Files 快速開啟 vscode.dev 編輯與查找檔案

應該很多人並不知道,其實在 Azure DevOps ServicesAzure Repos 中,長久以來都有一個很方便的功能,那就是可以在 Files 頁籤按下一個 . (小數點) 就可以立刻轉到 vscode.dev 網站,這是一套以雲端為主的 VS Code 編輯器,這樣你就不用將專案下載到本機,讓你可以直接用瀏覽器直接編輯版控中的檔案,還可以對所有檔案進行快速搜尋與取代,享用 VS Code 所有的功能,實在是非常方便。不過,我有好一段時間無法快速從 Azure Repos 順利開啟 vscode.dev 網站了,這篇文章我就來說說這個問題。

... 繼續閱讀 ...