幫忙查問題遇到第三次,依慣例已達專門為它寫篇文章的門檻。 案例一,.NET 呼叫 URL,在本機測試 OK,移至目標主機後程式冒出「基礎連接已關閉」錯誤(詳細訊息在下面),這個錯誤最典型的原因是 .NET 未啟用 TLS1.2 支援,但確認程式有明確指定 TLS 1.2;同一時間,該主機上另有 Py...

用 IIS ARR 架 Reverse Proxy 已經好幾年,雖然運作正常,但有個問題始終困擾著我,我一直找不到傳說中有個「Application Request Routing Cache」圖示: 網路上看過有人跟我一樣抱怨找不到,起初我覺得是 ARR 太老舊跟 Windows 2016+ 相...

日常 .NET 程式開發,若要處理超大數字,ulong 可到 18,446,744,073,709,551,615 (64位元),若還不夠,decimal 支援範圍從 ±1.0 x 1028 to ±7.9228 x 1028,精確度為 28-29 位,對一般應用已如天文數字,足以應付各式需求。 但...

CRC 檢查碼我們每天都在用,Ethernet 乙太網路的每個封包(Frame)後方有個 FCS (Frame Check Sequence),可以用來偵測傳輸過程有沒有 0 變成 1、1 變成 0 的錯誤。其使用的演算法為 Cyclic Redundancy Check 循環冗餘校驗,簡稱 CRC...

學生時代玩 BBS,曾學過在純文字模式讓文字變色的小密技,但工作後開發程式以網頁、WinForm/WPF 為主,這項能力漸漸從腦中退去。這兩年愛上 CLI,寫 Console Application、PowerShell 的機會變多,重新擁抱終端機純文字模式,是時侯重拾往日技能惹。 這個技巧的學名叫...

今天學習到新知識 - 資料表欄位進行排序時,遇到 NULL 會怎麼辦?茲針對我平時較會遇到的資料庫:ORACLE、MSSQL 及 SQLite 做個整理。 我弄了一個模擬資料表,用 CorpName, StartDate, EndDate 記錄工作履歷: 查詢條件為「仍在職者(離職日為 NULL)...

之前寫過比對兩個 JSON 物件陣列差異的 .NET 小工具,用來對照多哪幾筆、少哪幾筆,哪幾筆的哪幾個欄位不同。這回場景類似,但要改用 PowerShell 實現,當成暖身練習。 先準備測試資料如下,故意讓 src.json 與 dst.json 二者有一筆新增、一筆缺少、一筆相同、一筆欄位值不同...

這波 AI 熱潮,大家最先想到的都是 ChatGPT。微軟身為 OpenAI 主要投資者,有近水樓台之便,也在加速將 AI 整合到自家產品,除了讓人期待但仍在封測的 Office 365 Copilot (正式名稱為 Microsoft 356 Copilot,但我想 Office Copilot ...

嘗試 SSH 連線某台 Unix 主機時出現 Incorrect Signature 錯誤: 該主機歷史悠久,使用者眾,理論上不該存在無法 SSH 連線問題,所以我優先懷疑是自己客戶端有問題。這種狀況的 SOP 是找對照組比較,我的 SSH 客戶端依據玩 USB 實體金鑰的心得,是用 Win32-...

Oracle Client 版本問題像鬼魂般揮之不去,x86/x64、11.2/12.1...,歷經多年糾纏,現在遇到 .NET 要連 Oracle,我一律力推改用 Managed ODP.NET。 但老系統多如牛毛,老鳥都知道「If it works, don't touch it!」是有益身心健...

這幾年蠻常用 IIS ARR 架 Reverse Proxy 或做網址重新導向(應用範例:在 ASP.NET MVC 站台使用 IIS ARR、HTTP Host Header 資安弱點防護),由於常需在隔離環境離線安裝,我找到最簡便的做法是下載四合一組合包 Application Request ...

同事分享資安知識一則:在網頁引用 Host Header 可能形成資安弱點,給予攻擊者操作重新導向或引用惡意程式的機會。特筆記備忘。 使用 IIS + ASP.NET 示範如下: <%@Page Language="C#"%> <html> <...