為網站加入定期排程算很常見的設計,可用來處理過期 Cache 清除、資料定期刷新,系統狀態監控及自動問題修復。過去在 ASP.NET 時代,我會用一種笨但有效的方法 - 跑 Windows 排程每隔幾分鐘呼叫特定網頁執行任務,遇到較複雜需管理介面甚至要能重試的需求,也曾用過 Hangfire。來到 ...

EF Core Migration 可依據 Entity 類別針對不同資料庫(MSSQL、SQLite、Oracle、MySQL...)產生對映的 CREATE TABLE Script,能自動連上資料庫伺服器建好資料表,Entity 修改時還能生出增減修改欄位 ALTER Script (但有一些...

【聲明】關於類別程式庫是否該自行讀取 config 設定檔?靜態屬性或方法是否為適當設計?在開發人員間仍存在意見分歧。基於現實世界這類應用仍算常見(例如:NLog.config、 JsonConvert.DefaultSettings...),而開發習慣調整非一朝一夕可以改變,這篇文章聚焦舊元件改...

工作專案採用 Git 版控接 TFS 伺服器。我遇到一個狀況:TFS 主機早期曾建了一些實驗性質的分支(例如:feature/test),在本機端已刪除,在 TFS 上也用網頁介面刪掉了。但是,在我開發機 Visual Studio 的 remotes/origin 下 feature/test 分...

在傳統觀念,從網頁以新視窗或 IFrame 開啟外部網站連結,只要不隸屬同站台,瀏覽器基於同源政策(Same-Orgin Policy)會禁止外部站台以 JavaScrpit 存取來源網頁,理論上應該是安全的。但事實是,外部網頁仍有機會跨網站搞鬼。 用以下例子展示,假設我有兩個網頁,Home.htm...

我有個特殊需求,需要一個壓縮(Minify) JavaScript 檔的指令列工具。JavaScript 壓縮工具多如牛毛,從線上轉換網站、Visual Studio 擴充套件,到 GUI 軟體工具都有,而 Gulp/Grunt 等打包工具也都有內建,由於每次只處理單一檔案,我希望安裝跟操作步驟愈簡...

前篇文章提到 VSSetup PowerShell Module,在一般連網環境用 Install-Module 可自動下載安裝: 但如果主機處在連不到網際網路的網段,Install-Module 指令會冒出如下錯誤: 這篇就來介紹如何在離線環境安裝 PowerShell。參考:Manual P...

Cookie 安全性近年來常成為網站弱點掃瞄或滲透測試的重點,其中常被糾舉彈劾的點是: Cookie 應限定加密通訊(SSL/TLS)時傳遞,降低被竊聽外流的風險。 Cookie 應限定伺服器讀取,禁止 JavaScript 透過 document.cookie 存取以防盜用。 HTTP 協定已...

一般要執行 MSBuild 指令,標準做法是由開始選單找到 Developer Command Prompt for VS 2019 或 Developer PowerShell for VS 2019: 而這兩個環境跟一般命令視窗的差別在於它會先執行 "X:\Program File...

工作上還有些用 wdproj 的專案,由於 Visual Studio 從 2012 起已不再支援 wdproj,雖然可以透過 MSBuild 編譯,但它在 Solution 會呈現無法載入狀態,不時提醒著「別人都已上太空,我還在殺豬公」,有股淡淡違和感。 VS2012+ 雖然不支援 .wdproj...

我的部落格網站是在 Linux 上跑 nginx-certbot Docker 一次搞定 Nginx 跟 Let's Encrypt 網站憑證自動更新。 幾個月前接到 Let's Encrypt 通知,舊版 ACMEv1 協定已於 2019 年 11 月停止接受新帳號註冊,2020 年 6 月停止新...

與 Unmanged ODP.NET 纏鬥多年,自以為看遍各種球路,今天再遇上沒見過的變種新球路 - 四縫線變速深卡球,經驗值再加一。 同事將程式部署到測試環境,網站所引用的程式庫參照了 ODP.NET 版,噴出Unable to load DLL 'OraOps12.dll': Access is...

PowerShell 執行環境以單執行緒為主,優點是程式邏輯直覺、簡單,但遇上呼叫遠端服務的大量批次操作,性急如王藍田的我,自然無法忍受一堆作業乾等單一窗口消化,這種情境就是要開多執行緒萬箭齊發才爽多線並行才合理! 寫 C# 多執行緒程式我已駕輕就熟,有 Parallel.For、ThreadPoo...

最近依舊是寫 PowerShell 多過 C# (雖然在 PowerShell 裡卯起來用 .NET 元件),開始進入見山不是山的階段,程式寫得更多之後,踩到一些奇怪特性,會覺得自己並不懂 PowerShell,哈! 下面這個範例是一個讓我吶喊「花惹發」的行為。我在函式裡建立 System.Data...