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

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

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

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

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

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

Outlook 的收件匣規則應該很多人用過,它能依據事先設定條件,將特定發信者寄來或主旨包含特定關鍵字的信件移到指定資料夾、自動轉寄,甚至直接刪除,當信如潮水般湧來時,至少有基本的分類,還可加上簡單的自動化處理,是常身陷 Email 地獄社畜們的一大救贖。 我有個困擾,信箱會收到大大小小系統自動寄...

這些年 FB/YouTube 上的電影解說短片超級泛濫,明知是浪費時間每次還是忍不住點進去看,等發現莫名連看半小時再罵聲幹。 這類量產式電影解說相信大家都有看過,一模一樣的 AI 配音、千篇一律的背景音樂、主角配角永遠叫小帥、大壯、小美、翠花、喪彪,還有經典的「注意看,這個男人太狠了」、「如果不出意...

多因素認證(Multiple Factor Authentication,MFA)網頁常會用到一種技巧,介面停在登入網頁,等待手機 App 操作,網頁能偵測 App 動作是否完成,若驗證成功自動導向已登入畫面。 以 Facebook 為例,若有啟動兩階段驗證,第一次登入網站,輸入密碼後會出現以下畫面...

上回提到我想做過手機掃 QR Code 條碼登入 ASP.NET Core 網站,這涉及自訂登入身分檢查邏輯,在 ASP.NET 時代可以呼叫 FormsAuthentication.SetAuthCookie 寫入 Cookie (範例) 模擬登入成功狀態,但換成 ASP.NET Core 要怎...

網站放上雲端,通常一次執行多台,分擔流量兼互相備援。這種模式下連線字串、API Key 等機密設定不適合寫在設定檔,最好集中管理並嚴密管控存取。 Azure 在這方面提供的解決方案是 Azure Key Vault (金鑰保存庫),可用來保存 Secret (密碼、Token、API Key... ...

在上篇文章我們將一個 ASP.NET Core 測試網站部署成 Azure App Service 並設定自動擴增及縮減規則,CPU 負載過重時自動增加執行個體數量,負載降低時自動減少,體驗了真正的雲端威力。 上次練習採用的部署方式是將 ASP.NET Core 專案 Publish 結果檔案 ZI...