以往我都使用 dotTrace 診斷 .NET 應用程式的使用狀況,可以得知執行時間、佔用記憶體、SQL Command 等。

但,NET Core 沒有支援 SQL ETW,代表攔截不到有關 SQL 的命令,於是我得尋求其它解方,MiniProfiler 則是這次的調查對象。
以往我都使用 dotTrace 診斷 .NET 應用程式的使用狀況,可以得知執行時間、佔用記憶體、SQL Command 等。

但,NET Core 沒有支援 SQL ETW,代表攔截不到有關 SQL 的命令,於是我得尋求其它解方,MiniProfiler 則是這次的調查對象。
以往,大量資料異動我們都知道要使用 Bulk 系列的 API,EFCore.BulkExtensions 除了提供大量資料異動之外,還有查詢後異動、BulkRead(Where In),這裡我將先記錄初步的使用方式,後續有其他心得再補上
Allure TestOp 是一套可以將測試結果產生成漂亮的測試報表,支援很多測試框架和 Cucumber/Gherkin 語言,我將專注在 .NET,接著,就來動手實作吧。

組態設定除了存放在 IO 檔案之外,存放在作業系統的環境變數則是選項之一,NET 提供 System.Envrionment.GetEnvironmentVariable、System.Environment.SetEnvironmentVariable 讓開發人員輕鬆的存取作業系統的環境變數,但是,開發一個應用程式就要動到作業系統的環境變數,還是挺麻煩的;要讓機密性的資料不上版控,還是會需要付出一些額外的成本,這是跑不掉的。
這一篇則是為了要紀錄了幾種在開發環境(VS IDE、Rider)下可以取得環境變數的方式而且不用動到程式碼。
當有一個應用程序被用戶 ( SIGINT /Ctrl+C) 或 Docker ( SIGTERM / docker stop ) 停止時,它需要優雅地關閉一個長時間運行的工作;換句煥說,當應用程式收到關閉訊號的時候,要把工作做完,應用程式才可以關閉。微軟的 Microsoft.Extensions.Hosting 可以幫我們接收/處理關閉訊號,我們只需要告訴它要怎麼做就可以了,我在實作的過程當中,碰到了一些問題,以下是我的心得
以往 ASP.NET Core 可以使用 TestServer 來進行整合測試,現在多了一個選擇 WebApplicationFactory,WebApplicationFactory 基於 TestServer 又封裝了更多的功能,我覺得使用起來又更簡單了,如果可以的話可以改用它
ValidationAttribute 可以讓我們自訂驗證邏輯,搭配 ValidationContext 就可以驗證整個 Model 的狀態,詳情請參考 [Validation] 自訂模型驗證 | 余小章 @ 大內殿堂 - 點部落 (dotblogs.com.tw)
我們很常在開發的過程當中,切換工作,這時很有可能會切換分支,這時候可以利用 git 的 Stash 或是 Rider 的 Shelve 來暫停目前的開發,下次切換回來的時候,就可以繼續尚未完成的開發工作。
TFVC 也有提供擱置(Shelve),是將檔案放到遠端伺服器,Rider 則是放在本地端。
Rider + Gitlab 應該是未來開發的組合,為了讓後面的開發工作順利我找了整合 gitlab 的外掛,花了一些時間,為了下次設定的時候可以直接使用,我將設定方式筆記起來。
在同一個團隊裡面每個人的開環境和習慣都不太一樣,IDE 的選擇也玲瑯滿目,也很難硬性規範團隊使用特定的環境跟 IDE。我們會面臨到 IDE 程式碼編排風格的問題,這時候 Editor Config 就是統一不同 IDE 程式碼格式的套件,只要在你的專案資料夾加入 .editorconfig 並配置好程式碼的編排風格,比如像是縮排、tab 的寬度以及 EOL 字元,只要確定編輯器所安裝的套件認得 .editorconfig 這支檔案就會自動套用了。