Category: .NET

昨天提到 .NET Secret Manager 機制,可取代 appsettings.json 或環境變數作為本機開發測試時的 ApiKey 或密碼保存容器,但美中不足是它用明碼儲存,檔案一旦外流便無險可守。我想應用 Secret Manager 的情境除了開發測試,也會用於在本機跑一些自用的 R...

遇到一個小需求,想用 .NET 出一份檔案修改前後對照表,我心中最理想的方案是用 git diff + diff2html 產生 HTML 報表,省時省力又好看。 git diff 指令跟產生 diff2html 網頁技能是現成的,最不花腦的解決方法是用 .NET 將修改前後檔案雙雙寫成檔案,呼叫...

我們都知道,資料庫使用 GUID 作為叢集索引易造成索引碎片化影響效能。若要用 GUID 作為 Primary Key,應另設自動跳號數字欄位當叢集索引。(註:不熟悉此議題的同學可先看這篇:GUID Primary Key 資料庫避雷守則) 近期在古蹟專案遇到偶發 INSERT 逾時錯誤(SqlCo...

百分位數 (Percentile) 跟 PR (Percentile Rank 百分等級) 是統計學常用參考值,年輕同學應該很不陌生(我們那個年代聯考比較簡單,直接用分數比大小,沒這麼多名堂),用考試分數比喻的話,百分位數是要在一百個等級中勝過幾個等級需要考幾分,或是位於某百分等級的人分數是幾分;...

用電腦解聯立方程式,一般會使用高斯消去法用矩陣求解: 在 .NET 做矩陣運算,Math.NET Numerics 程式庫是首選。 Math.Net Numerics 是個開源數學程式庫,囊括矩陣、線性代數求解、機率、線性回歸、積分、傅立葉轉換... 等各種你想得到的數學運算,且被學術論文和期刊廣...

.NET 內建的數字型別裡有整數、浮點數,但如果我們計算 -2 * 1/3 + 3/4 想得到 1/12 而不是 0.08333333333,該怎麼做? 就來寫個可以加減乘除的自訂分數型別吧。就像下面這樣,是不是很酷? Frac g = -2 * (Frac)"1/3" + ne...

PVS-Studio 是一套源碼檢測軟體(小知識:專業術語叫 SCA,(Static Code Analysis 靜態程式分析),知名度遠不及 Fortify、Checkmarx 或 SonarQube,不過,PVS-Studio 專注於 C、C#、C++、Java 四種語言,且有給學生及開源專案免...

SonarQube 是一套程式碼品質掃瞄工具,可以分析你的程式的寫法是否存在 Bug、漏洞或不好的寫法(Code Smell)。 這篇簡單記錄我如何在 Linux 主機上安裝 SonarQube Docker,並用它在 Linux 掃瞄 .NET 專案。 安裝步驟我主要參考這篇:於 Ubuntu 透...

專案上的小需求,公司內網依實體網路架構區分了多個網段,系統有網段清單,已知不同 CIDR (Classless Inter-Domain Routing) 格式(例如:192.168.1.0/24、10.0.0.0/8) 對映的代碼及說明。系統在接收到任一 IP 地址時,需識別出其隸屬哪一個網段。有...

接續前一篇用 .NET Native AOT 編譯程式庫給 Python 呼叫的實驗。 下一步我打算搬到 Linux 執行,過程有些小波折,編譯原生二進位檔案有優點,但領教過比較複雜繁瑣的編譯程序,倒也襯托出 .NET Runtime 的好處。 參考官方文件 Native AOT deploymen...