The Will Will Web

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

使用 LINQPad 進行長時間的非同步事件該如何安全的取消執行

我現在幾乎所有的 Side Projects 都是用 LINQPad 開發的,不用管理什麼方案或專案,也不用想什麼各種詭異的架構,想到什麼功能就直接寫出來,搭配 AI 助理更是如虎添翼。最近我的一個小小的 AI 專案由於執行時間長,且 AI 回應速度慢又不穩定,因此我加入了快取功能,但是程式只要手動停止,執行中所建立的快取就會失效,所以有點小困擾。今天這篇文章我要介紹一個 LINQPad 8.1 的新功能,還有分享如何「優雅的結束」程式執行。

... 繼續閱讀 ...

如何快速將 OpenAI 的 API 轉換成呼叫 Azure OpenAI Service (AOAI) 的 API

在 GitHub 上面有許多可以呼叫 GPT-3.5 或 GPT-4 的開源專案,但大多都僅支援 OpenAI 提供的 API 端點。如果你想要將這些專案改成呼叫 Azure OpenAI Service (AOAI) 的 API 端點的話,沒用過 AOAI 的人就會不知道怎樣調整。今天這篇文章我打算來整理一下幾個重要的背景知識,方便你快速的轉換過去。

... 繼續閱讀 ...

如何在 Azure DevOps Service 建立 Docker Registry 的 Service Connection 並成功推送 Image 到 Azure Container Registry (ACR)

上個月我花了許多時間在幫一家知名企業導入 Azure DevOps Services 服務,過程中遇到了一些關於 Azure Container Registry (ACR) 的授權問題,因為企業要求「最小權限原則」的關係,很多時候並不能用 UI 介面上的「預設值」來設定,尤其是要盡可能使用 Azure IAM 授權這件事,就很考驗使用者對 Entra ID ( Azure AD ) 的理解。今天這篇文章我就來分享幾個在 Azure DevOps Service 建立 Docker Registry 的 Service Connection 並成功推送 Image 到 Azure Container Registry (ACR) 的經驗。

... 繼續閱讀 ...

使用 Directory.Build.props 自訂方案中所有專案共用的 MSBuild 屬性值

我們在建置 .NET 專案時,有許多可自訂的建置操作是由 MSBuild 的屬性(Properties)所控制的。重要的是要知道如何以及在哪裡設定屬性值,以達到期望的效果。一般來說,你可以在執行 msbuild.exe 命令列工具的時候指定屬性值,也可以在專案檔(*.csproj)中加入屬性設定,也可以在專案目錄中加入 Directory.Build.props 屬性定義檔。今天這篇文章,我就打算來介紹這個 Directory.Build.props 檔案的用法,以簡化我們方案中各專案的設定。

... 繼續閱讀 ...

重新認識 Azure App Service 與 App Service Plan 各種部署模式與執行方式

我每次需要部署網站到 App Service Plan on Linux 都會遇到各種問題,所以我大部分都會選擇 Windows 平台來部署網站應用程式,因為我對 IIS 非常熟悉,所以遇到問題通常都很容易可以解決。最近我又再次遇到需要部署網站到 App Service Plan on Linux 執行,沒意外的再次發生了意外,所以這次決定不要逃避他,好好的研究一下 App Service Plan on Linux 的運作方式與相關細節。這篇文章我就來分享我的研究整理。

... 繼續閱讀 ...