Quantcast
Channel: 黑暗執行緒
Browsing all 2311 articles
Browse latest View live

Full-Code RPA - 使用 .NET 6 搜尋 Outlook 收件匣

這些年 RPA(Robotic Process Automation) 是個熱門話題,日常瑣事的機械化動作丟給機器人處理,讓人類脫離手工作業地獄,怎麼想都是個好主意。不過,業界在談的 RPA 多指採購廠商開發的軟體,強調介面友善功能豐富又容易上手(甚至具備機器學習等 AI 功能),讓不會寫程式或的使... Read More

View Article


iRent 個資外洩事件是怎麼一回事?我的非專業解讀

這幾天大家應該都有看到新聞,共享汽機車大廠 iRent,被國外資安研究人員發現,因系統設定不當導致資料庫開放匿名存取,只要知道 IP 便能在上面查到客戶姓名、手機、Email、信用卡等個資,經通報廠商遲無回應(可能剛好在年假期間),最後透過數位發展部轉由 TWCERT/CC ( 台灣電腦網路危機處理... Read More

View Article


把 ASP.NET Core 變成 Windows 桌面常駐程式

愛用 .NET 寫桌面小工具的我,先前研究出「單一執行檔,啟動時自動啟動瀏覽器進入操作網頁,網頁關閉後自動結束程式」的優雅做法,還寫了 NuGet 程式庫簡化開發流程;一樣是借用 ASP.NET Core 技巧寫桌面程式,卻遠比 Eletron.NET 輕巧,我對這套自創做法還挺滿意的。(延伸閱讀:... Read More

View Article

Markdown 轉 PDF

嘗試用 Markdown 取代 Word 寫零散文件,但交付對象只接受 Word 或 PDF 格式,我需要一個方便(而且最好免費)的 Markdown 轉 PDF 工具,找到一個好用的 VSCode 擴充套件 - Markdown PDF,省下自己造輪子的工夫。 官方說明文件頗詳細,很容易上手,在... Read More

View Article

C# 笨問題 - 唯讀的 ICollection 屬性為什麼能設定初始值?

一時糊塗,被一段程式迷惑。 Foo 類別的 ICollection<string> 屬性設成 { get; } 唯讀,嘗試將 Items 設成某個 List<string> 編譯出錯完全合理,但為什麼用 Items = { "Item3", "I... Read More

View Article


ASP.NET Core Minimal API 快速轉桌面常駐 - 有趣的 Notepad 偵測器

前幾天分享把 ASP.NET Core 變成 Windows 桌面常駐程式的小技巧,一不做二不休,再把它包進 Drk.AspNetCore.MinimalApiKit NuGet 程式庫,方便未來應用。 使用程式庫後,開發桌面常駐小工具的步驟再簡化如下: 建立 ASP.NET Core Minim... Read More

View Article

Coding4Fun - 年資計算,顯示幾年幾月又幾天 (邀請 ChatGPT 同樂)

不少人資系統有個有趣功能:顯示從到職日到今天你的年資已經有幾年幾個月又幾天。 熊熊想到:若是在 C# 這個邏輯要怎麼寫呢? 在 C#,我們將兩個 DateTime 相減可以得到 TimeSpan 結構,其中有 Days、Hours、Minutes、Seconds 可算出幾天幾小時幾秒 (另外有 To... Read More

View Article

【茶包射手日記】SSH.NET 無法連線特定 SFTP 主機

某批次作業使用 SSH.NET 元件走 SFTP 上傳檔案,實測上傳多台 SFTP 伺服器中有一台失敗,其訊息為「An existing connection was forcibly closed by the remote host / 遠端主機已強制關閉一個現存的連線」: 該主機與成功上傳主... Read More

View Article


實用 C# 小技巧 - 零散連續動作彙整一次執行

Debounce (去抖動)是前端開發時很常用的技巧,經典應用是整合 AJAX 的欄位輸入自動完成。原始設計是每敲一個字元查一次,當使用者連續輸入 d a r k t 便會發出 "d"、"da"、"dar"、"dark"... Read More

View Article


網頁操作及自動測試程式開發利器 - Playwright for .NET 筆記

之前在用 C# 呼叫 Chrome 批次產生網頁快照的簡便做法 讀者 Rong 留言提到 Playwright。最近計劃寫一些機器人程式將複雜網頁操作自動化,機緣成熟,這回就不用 PuppeteerSharp 了,想試試很多人推的 Playwright。 Playwright 是微軟 2019 推出... Read More

View Article

【茶包射手日記】Visual Studio 偷偷啟用 EFS 加密檔案系統

今天電腦忽然彈出「備份您的檔案加密金鑰 / Back up your file ecnryption certificate and key」提示: 大驚! 啟用 EFS (Encrypting File System) 後一定要備份加密金鑰這個我知道,否則一旦系統出問題金鑰遺失,加密資料夾或檔... Read More

View Article

Windows 小密技 - 拖拉整批 Word / PDF 檔進行批次列印

辦公室文書苦手會遇到的場景: 有數十上百個 Word / PDF 檔需要列印(不夠環保,但總有非紙本不可的場合),除了認命一個個打開按鈕(或快速鍵)列印,有沒有一氣喝成的簡單做法? 寫程式成癮的我,遇到這類需求都常是優先選擇寫幾行程式搞定,保證又快又好還能止癢。但最近在讀 DDD 的書有些新領悟:探... Read More

View Article

Coding4Fun - 用 C# 寫 Google Analytics 即時報表

Google Analytics (GA) 是分析網站流量的好工具,對於行銷專業人士是火力強大的重兵器,能用來解讀客群背景與來源、觀察訪問行為及路徑、分析行銷活動效果,其中包含一堆行銷專業術語:轉換率、跳出率、區隔... 是搞網路行銷的重要依據。坦白說,以上這些我一個也不懂,除了心血來潮查查大家查哪... Read More

View Article


將 Playwright 網頁自動操作程式部署到客戶端執行

上回提到我想用 Playwright for .NET 也可以用來開發網頁操作自動化機器人,但部署到客戶端可能會是問題。Playwright 原本被設計用於 End-To-End 測試,多在開發測試環境或 Build 主機上執行,程式庫下載安裝不用太講究 User Friendly。我想把它放到客戶... Read More

View Article

AD 實驗:跨網域 AD 帳號登入 IIS 網站之 DC 連線需求

從 Windows 2000 開始,使用 AD 已超過 20 年,但我對其運作仍屬一知半解。 今天來探索一個我很想知道答案的冷門問題:若企業 AD Forest 包含多個子網域,Domain A 有台 IIS 伺服器 Web X,使用者使用另一個子網域 Domain B 的 AD 帳號登入,網站伺服... Read More

View Article


沒熬過情人節的 IE11 - 強迫導向 Edge 問題及後續停用計劃

前情提要:企業 IE 保育指南 IE11 在去年 6/15 停止支援,除了 Windows 10 LTSC 版的 IE11 可以用到 2029,消費者版本 Windows 10 的 IE11 會逐步限縮使用。今年的 2/14 情人節是另一個坎,開啟 IE11 將自動跳轉 Edge,強迫改用 Edge... Read More

View Article

使用 LDAP 協定驗證 AD 帳號密碼

除了使用 IIS 整合驗證跟呼叫 Windows API,.NET 還有一種流傳甚廣的 LDAP 帳號密碼驗證程式寫法: var username = "Child\\someone"; var password = "P@ssW0rd"; // web Do... Read More

View Article


今晚,我想來點奇技淫巧 - 竄改 .NET 系統方法

【警告】本文要介紹的技巧很有趣,在某些情境可以巧妙解決刁鑽問題,令人拍案叫絕。 但對開發來說這類手法如同雙面刃,帶有嚴重副作用,常導致程式邏輯不易理解且難以維護。想像一下,接手程式的人追了三天三夜,百思不得其解,最後才發現有人他 X 的偷改某個 System.* 方法的傳回值,下一秒就算沒有抄起棒球... Read More

View Article

Vue.js 因停用 CSP unsafe-eval 崩壞之初步研究

讀者 Kg 分享,我愛用的 Vue 3.0 輕前端寫法若遭遇資安政策要求禁用 CSP script-src 'unsafe-eval' 將會失效。登楞!!! 研究了一下,Vue 超方便的 template 寫法 template: '<div>{{ message }}</div&... Read More

View Article

批次更新 Azure VM 之 RDP/SSH 開放來源 IP

困擾我一陣子的小問題,今天花點時間寫幾行程式解決。 使用 Azure VM 時,我們需要使用 SSH 或 RDP 遠端登入,但實務上都建議要加限制來源 IP,以防成為攻擊或入侵的目標: 不信的話,在 Internet 放一台 Linux 22 Port 對外全開跑一晚上,隔天用 journalct... Read More

View Article
Browsing all 2311 articles
Browse latest View live