部落格原本用的程式碼顏色標示(Syntax Highlight)套件是十年前的產物,早就跟不上程式語言演進腳步,上篇文章起網站悄悄改版,改用支援 176 種語法及 76 種樣式並持續更新的 highlight.js。(列入評估的另一選項 prism.js 也很出色,頗難抉擇,最後選定 Githu...

最近在資料夾比對工具遇到一個需求:要以某個資料夾為基準推算檔案的相對路徑。例如,若基準資料夾為 C:\Folder,則 C:\Folder\SubFolder\Test.txt 的相對路徑為 SubFolder\Test.txt。 類似需求以前加減寫過,說穿了全是字串比對的功夫,靠將路徑前方相...

SQL Server 預設會用光主機所有記憶體(預設上限為 2PB = 2048TB),除非整個資料庫容量小於總記憶體,否則把記憶體當成 Cache 能提升效能、減少磁碟 I/O 耗損,絕對利多於弊。如果同主機有多個資料庫執行個體,或是要與其他應用程式、服務分享記憶體,就必須透過 Max_Ser...

抓到一個誤用 Request.Url.ToString() 造成的 Bug。 由使用者回報錯誤,追出某段程式擷取 Request.Url.ToString() 加工產生的連結有誤。 原本 URL 參數包含另一頁網址,依規定做了 UrlEncode,如: b=http%3A//blog.dark...

測試一陣子的專案接到回報,某網頁在某台電腦用 IE11 檢視有錯,用 Chrome 或其他電腦的 IE 則無問題。 起初懷疑是 IE 相容模式問題,幸好使用者在同一辦公室,得以親自借用電腦開 F12 查案,追出關鍵點在於問題 IE 的 localStorage 不知何故為 null,而網頁裡的...

.NET Core 版本已推進到 2.0,但對我而言,相關元件、程式庫的支援度才是能否用於工作的關鍵。最近有則好消息 – Oracle 在這個月推出 ODP.NET Core 12.2 Beta,感覺在工作專案使用 .NET Core 的日子又更近了~ 工作環境常會存取 Oracle 資料庫...

近來在筆電用 Chrome Google 查東西怪怪的,搜尋結果出現後一兩秒,最上方會冒出幾則 AdSense 廣告,廣告項目的樣式偽裝成一般查詢結果,還會隨機插穿於正常結果之間,閱讀結果時得自行剔除還常不小心點到,讓人肚爛到極點。 一度懷疑是 Google 網站改版想藉此增加廣告營收,但...

再遇到老題目:在 IIS 上如何將 HTTP 請求強制導向 HTTPS? 之前試過顯示說明網頁,倒數後透過 JavaScript location.href 轉向 HTTPS 的做法 - 設計賓至如歸的HTTPS強制導向網頁。 但這有個缺點,如果不需要顯示導向提示,則先 HTTP 200 送...

這是我常遇到的困擾 - 壓縮打包 .NET 專案時,packages、bin、obj 等目錄下的 DLL 檔常讓檔案大小暴增數十倍,而這些檔案可透過 NuGet Restore 或重新編譯產生,基本上不需要保留。如果能在壓縮時略過這些資料夾,預期可省下可觀的體積。 平時我都用免費且開源的 7-...

多年下來,寫程式發 Email 通知的需求做過 N 回,其中寄給客戶的通知為求美觀常需採用 HTML 格式,而客戶姓名、通知內容等要隨客戶動態改變,嚴格來說也是一種套表。過去我慣用一套自己發明的「特別註記+Replace」做法,例如: var tmpl = "<span>[$Na...

在使用 Windows 檔案總管我常遇到以下狀況 – 遇到滿載 MP3 或 JPG 檔的資料夾,選擇「詳細資料」檢視時檔案總管會自動切成音樂或照片專用的檢視,像是這樣: 遇到音樂顯示標題、演出者、專輯名稱,遇到照片可以帶出拍攝日期、尺寸,對一般消費者來說是很貼心的設計,可依據媒體特性方便排序...