2023-07-24 10:26 PM 2 1,514
這個坑我踩兩三次了,氣自己記性真差,還是寫篇筆記吧。 狀況是在 VSCode F5 偵錯 .NET Core/.NET 6+ 專案,明明程式碼已經修改,但執行結果卻像沒改過一樣。 以下圖為例,我在 Hello, World! 下方又加了一行 Conosle.WriteLine(),但 DEBUG C...
2023-06-18 10:26 AM 0 2,655
我在一些系統通知信偶爾會發現類似以下文字內容,多半是事件的詳細資訊,突發奇想打算寫些小服務,偵測到特定類型或特定目標相關事件時觸發額外通知。之前我都把這種內容當成某系統才有的專屬格式,寫個 Regular Expression 抓出關鍵欄位能動就好,沒想過要完整解析。 CEF:0|Trend Mi...
2023-06-15 09:34 PM 0 3,880
我有個迷思。Parallel.For 或 Parallel.ForEach 有個 ParallelOptions.MaxDegreeOfParallelism 參數,可用來控制並行運算的工作數量,避免 Thread 數過多效能反而變差(延伸閱讀:從 ThreadPool 翻船談起),我的理解是如果我...
2023-06-14 10:33 PM 0 3,192
開會討論到一個系統需求,要從大量資料標註出特定類別,例如:呼叫端提交一百萬筆帳號,系統由資料庫查詢屬於該類別的帳號清單(假設有五萬筆),API 服務要在標記出這五萬筆並傳回結果。 由於帳號具敏感性,為進一步降低資訊外洩風險,既然只要比對相符,我提議傳入帳號雜湊值取代帳號本身,感覺一定比傳明碼安全。不...
2023-06-04 03:00 PM 2 3,478
前情提要:SCH (Self-Contained Html) 單檔 HTML 文件提供密碼保護功能,做法是「用密碼字串 SHA256 雜湊當金鑰加隨機 IV 對內容做 AES256 加密」,但因解密會在瀏覽器執行,JavaScript 端解密邏輯是公開的祕密,有心人寫支程式就能暴力破解。 而我自己寫...
2023-06-03 09:50 PM 8 7,593
早上提到我的 SCH (Self-Contained Html) SideProject,文件保護是「用密碼字串 SHA256 雜湊當金鑰加隨機 IV 對內容做 AES256 加密」,但因解密會在瀏覽器執行,JavaScript 端解密邏輯是公開的祕密,有心想破解的人,寫支程式用不同密碼嘗試解密,就...
2023-05-19 11:00 PM 0 1,679
.NET Core 開始內建 System.Text.Json,強調效能快、省記憶體,計劃逐步取代 Json.NET。從 .NET Core 3 一路發展,System.Text.Json 加入 JsonObject、JsonArray 支援 DOM 巡覽及 JSON 文件編修,功能及順手度慢慢追上...
2023-05-14 01:22 PM 2 4,606
前陣子怒讀一波演算法入門書,而排序是每本演算法書永不缺席的章節:Bubble Sort、Selection Sort、Insertion Sort、Heap Sort、Merge Sort、Quick Sort... 多不勝數(維基百科整理的更多)。看完這一堆排序演算法不免好奇:那 .NET 的 A...
2023-05-11 10:36 PM 0 1,943
前天說到提醒上班打卡的小程式,有讀者提到:下班關機時也很需要打卡提醒! (不過該個案為按完關機鈕,立刻關上螢幕瀟灑轉身離開... 灑脫至此,所有防呆機制望塵莫及。) 關機或登出時提示尚有未儲存修改,允許使用者取消關機或登出回桌面存檔的做法很常見,像是 Word、Notepad,連小畫家都有,儼然已成...
2023-05-01 09:00 AM 2 3,806
陸續看過 .NET ThreadPool 執行緒數量增減模式,也見識了 async/await 提高 Thread 使用率的神奇效果,將焦點放在 ASP.NET 網站,實際測試 async/await 是否能提高 ASP.NET 效能?ThreadPool.SetMinThreads() 是否能幫助...
2023-04-29 08:12 AM 0 5,642
在深入 .NET ThreadPool 執行緒數量管理文章中,為了讓程式範例能跟 ThreadPool 緊密關聯,也避免失焦,我採用 ThreadPool.QueueUserWorkItem() 示範將作業拋到 ThreadPool 執行。這篇文章則將場景拉到時間拉到現代,看看 .NET Frame...
2023-04-26 11:45 PM 7 8,561
前陣子有支模擬面試 YouTube 影片引發討論,不少讀者認為,連基本 BFS 演算法跟 Big O 都不熟,在真實世界的程式面試必死無疑。 雖然在資訊業打滾了幾十年,我因為不是本科系,在學校沒學過資料結構跟演算法這些東西(這對資訊本科生屬肌肉記憶等級吧),沒正式學過 BFS/DFS,學習及寫程式...
2023-04-25 09:18 PM 1 5,027
.NET 有個效能調校技巧是透過 ThreadPool.SetMinThreads() 設定 ThreadPool 的最小工作 Thread 數,這個做法為什麼能改善效能?何時有效?這篇文章會用實驗來理解與驗證。 當程式需要多工執行大量工作,除了自己弄 Queue 建執行緒,更簡便的方法使用 Thr...
2023-04-20 10:23 PM 0 1,632
在某些特殊情境下我們會想將 .NET dll/exe 反組譯成 CIL,或許是想研究 .NET 編譯行為,或許是要魔改無原始碼程式搞暴力破解。總之,.NET Framework 時代有 IL 反組譯及組譯工具 - ildasm.exe、ilasm.exe,安裝 Visual Studio 後開個 D...
2023-04-16 11:26 PM 0 1,367
昨天介紹了 POSIX 參數慣例,它是主流 CLI 工具一致遵守的參數語法規則,以 git 或 dotnet 為例,指令工具要能指定動作命令,選項名稱支援 --long-option-name 或單一字元 -o 兩種表示法,選項可接參數值 (--verbosity n)或可加可不加,參數選項可自由調...
2023-04-01 07:32 AM 0 3,349
這篇主要寫給自己未來參考,整理一份 RSA 公私鑰加解密及數位簽章的 .NET 程式範例,滿足以下應用場景: 同時考量 .NET Framework 與 .NET Core/.NET 6+、Windows、Linux 等不同 .NET 版本及作業系統平台 老 .NET Framework 專案續用...