依先前所學,System.Net.HttpClient 的 GetAsync()/PostAsync()/SendAsync() 等方法為 Thread-Safe,建議做法是只建立一份 HttpClient,以 static 方式共用。 今天踩到雷,以下為重現問題的程式範例。網頁使用 Windows...

.js/.css 換版後,想防止網頁讀取 Cache 強迫改用新版,最無敵的做法是在網址加個 ?v=XXX 參數,每次換版一併更新,URL 參數不同讓原 Cache 失效,即可確保萬無一失。 但手工維護 ?v=... 參數意味著每次換版必須叫出所有引用該 .js/.css 的網頁,一一修改 URL ...

Process Monitor 是調查刁鑽問題的神兵利器,透過觀察程式存取檔案、Registry 行為,往往能在案情膠著之際找出關鍵線索,在我的茶包射手生涯中立功無數,堪稱茶包一哥。 【延伸閱讀】 Process Monitor基本操作教學 Process Monitor 2.0 ProcMon五...

小閃光報案,家裡雷射印表機列印時紙上會出現固定規律的雜點,如下圖,每隔固定距離出現平行的兩個黑點: 我對雷射印表機的研究僅限於換碳粉匣跟處理卡紙,第一次遇到這種狀況還以為是核心組件出了問題,只能送修或買新機。 爬文後再長知識:入門等級印表機的感光鼓(或稱感光滾筒)跟碳粉匣都裝在那個可抽出的組件上,...

2023-11-17 程式更新:修正密碼英文未正確識別大小寫問題 Have I Been Pwned (HIBP) 是澳洲安全專家 Troy Hunt 在 2013 年建立的外洩密碼查詢平臺,連美國 FBI 跟英國 NCA (國家犯罪調查局)都會將蒐集到的外洩密碼貢獻給 HIBP 收藏 (參考:繼美...

前陣子參加一個 SHA1 暴力破解挑戰,寫了 .NET 程式用上 Parallel.ForEach 平行處理,幾經調校將嘗試次數推上每秒 300 萬次, 64 顆 CPU 齊上 85% 真是壯觀,是次有趣體驗: 這類大量破解運算用 CPU 跑吃力不討好。但決定入手迷你電腦當工作機的那一刻,便註定跟...

【前言】關於 SQL 執行計劃如何影響查詢效能議題很久之前研究過了(SQL筆記:Index Scan vs Index Seek、SQL筆記:Literal, Variable與Parameter),昨天研究 網站執行 Stored Procedure 爆慢,在 SSMS 秒回問題找到 SQL Se...

身為程序員,一直把「增進人類全體之生活」當成使命,沒能力為人類產生貢獻,能「增進家人之生活」也好。 長輩請了外籍看護,國語跟英文只到勉強溝通,最後 LINE 加翻譯軟體竟是目前效果最好的溝通方式。結果我做了件「用大砲打小鳥」的事 - 用 ASP.NET Core 寫 LINE Bot 接 ChatG...

突發奇想閃過念頭,想把 PDF 投影片逐頁轉成圖檔,索性當成 .NET 練習題伸展暖身,說做就做。 .NET PDF 元件選擇不少,但好用的多是商用軟體,開源專案如 iTextSharp、QuestPDF 新版也改成商業授權,而轉存圖檔不同於編譯修改文件,訴求重點不同,順便趁機認識不同的程式庫。 這...