.NET Core / .NET Fx 應用程式如何在開發環境使用環境變數

組態設定除了存放在 IO 檔案之外,存放在作業系統的環境變數則是選項之一,NET 提供 System.Envrionment.GetEnvironmentVariable、System.Environment.SetEnvironmentVariable 讓開發人員輕鬆的存取作業系統的環境變數,但是,開發一個應用程式就要動到作業系統的環境變數,還是挺麻煩的;要讓機密性的資料不上版控,還是會需要付出一些額外的成本,這是跑不掉的。

這一篇則是為了要紀錄了幾種在開發環境(VS IDE、Rider)下可以取得環境變數的方式而且不用動到程式碼。

...繼續閱讀 »

[.NET 6] 如何優雅(Gracefully Shutdown)的關閉 .NET Core Console 應用程式

當有一個應用程序被用戶 ( SIGINT /Ctrl+C) 或 Docker ( SIGTERM / docker stop ) 停止時,它需要優雅地關閉一個長時間運行的工作;換句煥說,當應用程式收到關閉訊號的時候,要把工作做完,應用程式才可以關閉。微軟的 Microsoft.Extensions.Hosting 可以幫我們接收/處理關閉訊號,我們只需要告訴它要怎麼做就可以了,我在實作的過程當中,碰到了一些問題,以下是我的心得

...繼續閱讀 »

如何使用 Rider 的暫存

我們很常在開發的過程當中,切換工作,這時很有可能會切換分支,這時候可以利用 git 的 Stash 或是 Rider 的 Shelve 來暫停目前的開發,下次切換回來的時候,就可以繼續尚未完成的開發工作。

TFVC 也有提供擱置(Shelve),是將檔案放到遠端伺服器,Rider 則是放在本地端。

...繼續閱讀 »

如何在 Jetbrains Rider 套用 editorconfig

在同一個團隊裡面每個人的開環境和習慣都不太一樣,IDE 的選擇也玲瑯滿目,也很難硬性規範團隊使用特定的環境跟 IDE。我們會面臨到 IDE 程式碼編排風格的問題,這時候 Editor Config 就是統一不同 IDE 程式碼格式的套件,只要在你的專案資料夾加入 .editorconfig 並配置好程式碼的編排風格,比如像是縮排、tab 的寬度以及 EOL 字元,只要確定編輯器所安裝的套件認得 .editorconfig 這支檔案就會自動套用了。

...繼續閱讀 »

在 Windows 使用本機 Gitlab Runner + Shell Executor 跑 Gitlab CI / CD 腳本

以往我在跑 Azure DevOps 跑 CI 腳本的時候,會把 CI 腳本放到 Server 上面執行,每次都需要透過 Azure DevOps 線上觸發/運行過一遍才能知道  CI 腳本是否有問題 ;gitlab runner 提供了一種機制,讓我們先在本地端執行,確定腳本沒有錯誤再放到 gitlab Server 上面執行,大幅降低 CI 腳本的除錯成本。

...繼續閱讀 »

WIndows 套件管理工具 - Scoop 配置與安裝

各個系統都會有自己的工具包管理工具 Ubuntu上 的 apt-get / apt、MacOS上的 homebrew、Linux 的 snap 、CentOS 或者 REHL 的 yum 或者 dnf、Windows 的 Chocolatey、Scoop、Winget,透過這樣的工具,做到自動安裝,節省下載和手動安裝時間。

之前有介紹 Chocolatey 配置與安裝 | 余小章 @ 大內殿堂 - 點部落 (dotblogs.com.tw) 的使用方式,這次來介紹 Scoop。

不同於 Chocolatey , Scoop 預設安裝位置在 home (個人)目錄,所以安裝軟體時不會有討人厭的 UAC 。另外一個優點就是 Scoop 對環境變數的管理,可以方便開發者快速切換軟體版本。

...繼續閱讀 »