2023-09-16 10:20 AM 0 788
Oracle Client 版本問題像鬼魂般揮之不去,x86/x64、11.2/12.1...,歷經多年糾纏,現在遇到 .NET 要連 Oracle,我一律力推改用 Managed ODP.NET。 但老系統多如牛毛,老鳥都知道「If it works, don't touch it!」是有益身心健...
2023-09-14 11:23 PM 2 1,611
寫了個小工具偷看網站即時 Log,配合 NLog 使用時正常,但遇到 log4net Log 會出現「The process cannot access the file 'xxxx.log' because it is being used by another process.」錯誤。(註:手邊...
2023-08-30 10:55 PM 0 691
想在伺服器跑一下 Azure AD 登入程式範例,將本機的專案資料夾複製到 Windows Server,用 Chocolatey 安裝 dotnet-sdk、vscode(註:不少朋友問「何不 winget?」,winget 要從微軟商店安裝對 Server 不友善),Server 搖身變成 .N...
2023-08-22 10:23 PM 5 1,276
先幫沒踩過的同學補充這顆小地雷 - Windows 檔名不分大小寫阱陷。 我們都知道 Windows 的檔案系統不區分大小寫,對 Windows 來說,Logo_TW.png 跟 Logo_tw.png 是同一個檔案。因此,你無法在檔案總管將 Logo_TW.png 更名成 Logo_tw.png、...
2023-08-19 10:11 PM 0 1,644
用 .NET 程式加解密不是新鮮話題,但如果是用 .NET 程式整合 USB 實體金鑰加密資料,做到沒實體金鑰不知 PIN 碼就解不開,聽起來是不是就有點意思了? 土砲 USB 金鑰 Side Project 持續進行,產生及設定金鑰、使用 GPG 加解密、登入 SSH 都沒啥問題,下一步我想拿來做...
2023-08-17 11:21 PM 0 1,948
半年過去,大家已學會平常心看待 ChatGPT,了解它的長處跟弱點,不再過度神化,什麼都問再靠北它瞎扯。我認為這才是面對 ChatGPT 的正確心態,認知到生成式 AI 的產出從來就不保證正確,需自負查核複檢之責,方能善用新科技提升競爭力,而不是亂用搞到可能飯碗不保。 現在才開始學寫 ChatGPT...
2023-08-16 10:14 PM 0 1,979
現代 API 服務大都是靠 API Key 管控存取權限及計算費用,因此貌似亂碼的 API Key 字串必須妥善保管,若是落入賊人之手,對方有可能看光你的資料、替你發文、幫你交易,或是大方享用服務由你買單。例如就有駭客鎖定 OpenAI 的會員服務,掃瞄 Github 原始碼用 "sk-*...
2023-07-24 10:26 PM 2 1,232
這個坑我踩兩三次了,氣自己記性真差,還是寫篇筆記吧。 狀況是在 VSCode F5 偵錯 .NET Core/.NET 6+ 專案,明明程式碼已經修改,但執行結果卻像沒改過一樣。 以下圖為例,我在 Hello, World! 下方又加了一行 Conosle.WriteLine(),但 DEBUG C...
2023-06-18 10:26 AM 0 2,253
我在一些系統通知信偶爾會發現類似以下文字內容,多半是事件的詳細資訊,突發奇想打算寫些小服務,偵測到特定類型或特定目標相關事件時觸發額外通知。之前我都把這種內容當成某系統才有的專屬格式,寫個 Regular Expression 抓出關鍵欄位能動就好,沒想過要完整解析。 CEF:0|Trend Mi...
2023-06-15 09:34 PM 0 2,222
我有個迷思。Parallel.For 或 Parallel.ForEach 有個 ParallelOptions.MaxDegreeOfParallelism 參數,可用來控制並行運算的工作數量,避免 Thread 數過多效能反而變差(延伸閱讀:從 ThreadPool 翻船談起),我的理解是如果我...
2023-06-14 10:33 PM 0 2,981
開會討論到一個系統需求,要從大量資料標註出特定類別,例如:呼叫端提交一百萬筆帳號,系統由資料庫查詢屬於該類別的帳號清單(假設有五萬筆),API 服務要在標記出這五萬筆並傳回結果。 由於帳號具敏感性,為進一步降低資訊外洩風險,既然只要比對相符,我提議傳入帳號雜湊值取代帳號本身,感覺一定比傳明碼安全。不...
2023-06-04 03:00 PM 2 2,930
前情提要:SCH (Self-Contained Html) 單檔 HTML 文件提供密碼保護功能,做法是「用密碼字串 SHA256 雜湊當金鑰加隨機 IV 對內容做 AES256 加密」,但因解密會在瀏覽器執行,JavaScript 端解密邏輯是公開的祕密,有心人寫支程式就能暴力破解。 而我自己寫...
2023-06-03 09:50 PM 8 6,232
早上提到我的 SCH (Self-Contained Html) SideProject,文件保護是「用密碼字串 SHA256 雜湊當金鑰加隨機 IV 對內容做 AES256 加密」,但因解密會在瀏覽器執行,JavaScript 端解密邏輯是公開的祕密,有心想破解的人,寫支程式用不同密碼嘗試解密,就...
2023-05-19 11:00 PM 0 1,268
.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,382
前陣子怒讀一波演算法入門書,而排序是每本演算法書永不缺席的章節:Bubble Sort、Selection Sort、Insertion Sort、Heap Sort、Merge Sort、Quick Sort... 多不勝數(維基百科整理的更多)。看完這一堆排序演算法不免好奇:那 .NET 的 A...
2023-05-11 10:36 PM 0 1,707
前天說到提醒上班打卡的小程式,有讀者提到:下班關機時也很需要打卡提醒! (不過該個案為按完關機鈕,立刻關上螢幕瀟灑轉身離開... 灑脫至此,所有防呆機制望塵莫及。) 關機或登出時提示尚有未儲存修改,允許使用者取消關機或登出回桌面存檔的做法很常見,像是 Word、Notepad,連小畫家都有,儼然已成...