Category: .net

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

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

工作環境有些祖傳專案是用 log4net 寫 Log (後來的專案大多以 NLog 為主 參考 ),前人慣用 RollingFileAppender 的兩種設定方式,第一種是固定檔名,依指定大小分檔(rollingStyle="Size"),舊檔附加 .1、.2 順序編號,類似這...

要調查網站 TLS 憑證無效問題,最直接做法是從瀏覽器安全連線圖示逐步點開檢視憑證內容: 憑證檢視器會顯示憑證信任鏈,可查看根憑證、中繼憑證及伺服器憑證的詳細資料,但要知道憑證的主體(Subject)、簽署者(Issuer)、有效期間、指紋等資訊,需逐一點開才能看到。 今天處理一個案例,需要比對...

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

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

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

想在伺服器跑一下 Azure AD 登入程式範例,將本機的專案資料夾複製到 Windows Server,用 Chocolatey 安裝 dotnet-sdk、vscode(註:不少朋友問「何不 winget?」,winget 要從微軟商店安裝對 Server 不友善),Server 搖身變成 .N...

先幫沒踩過的同學補充這顆小地雷 - Windows 檔名不分大小寫阱陷。 我們都知道 Windows 的檔案系統不區分大小寫,對 Windows 來說,Logo_TW.png 跟 Logo_tw.png 是同一個檔案。因此,你無法在檔案總管將 Logo_TW.png 更名成 Logo_tw.png、...

用 .NET 程式加解密不是新鮮話題,但如果是用 .NET 程式整合 USB 實體金鑰加密資料,做到沒實體金鑰不知 PIN 碼就解不開,聽起來是不是就有點意思了? 土砲 USB 金鑰 Side Project 持續進行,產生及設定金鑰、使用 GPG 加解密、登入 SSH 都沒啥問題,下一步我想拿來做...

半年過去,大家已學會平常心看待 ChatGPT,了解它的長處跟弱點,不再過度神化,什麼都問再靠北它瞎扯。我認為這才是面對 ChatGPT 的正確心態,認知到生成式 AI 的產出從來就不保證正確,需自負查核複檢之責,方能善用新科技提升競爭力,而不是亂用搞到可能飯碗不保。 現在才開始學寫 ChatGPT...

現代 API 服務大都是靠 API Key 管控存取權限及計算費用,因此貌似亂碼的 API Key 字串必須妥善保管,若是落入賊人之手,對方有可能看光你的資料、替你發文、幫你交易,或是大方享用服務由你買單。例如就有駭客鎖定 OpenAI 的會員服務,掃瞄 Github 原始碼用 "sk-*...

我在一些系統通知信偶爾會發現類似以下文字內容,多半是事件的詳細資訊,突發奇想打算寫些小服務,偵測到特定類型或特定目標相關事件時觸發額外通知。之前我都把這種內容當成某系統才有的專屬格式,寫個 Regular Expression 抓出關鍵欄位能動就好,沒想過要完整解析。 CEF:0|Trend Mi...