不小心瞄到網路文章,發現一件事: 2018 年 7 月發生一件大事,VB.NET 在 TIOBE 程式語言排行榜的排名首次超越 C#。 五個月後VB.NET 更上層樓首次擠進前五名創下歷史高點。 雖然上個月(2019 年 7 月) C# 再次超越 VB.NET 奪回第五名寶座,結束為期一年的 VB....

接獲報案,其他系統匯入簡體中文資料寫入 Oracle 資料表後部分字元無法顯示。 追查轉擋程式是使用 System.Data.OracleClient 執行 UPDATE Table SET C2=N'...' WHERE C1=1 進行更新。 (註:N'...' 寫法的術語為 NChar Lite...

上回介紹過 Razor Pages,是 ASP.NET Core 在 MVC 之外的簡便選擇, 概念上更貼近 WebForm 的簡單直覺,只需一個 .cshtml 加一個 .cshtml.cs 就可寫出動態網頁。 Razor Pages 的 GET 與 POST 伺服器端邏輯要寫成 Model 物件...

分享 Visual Studio 小技巧一則。 直接用實例示範比較快,前篇文章提到nameof(Stages.驗收)比Stages.驗收.ToString()更好, 除了程式碼更簡潔,nameof() 可用在限定靜態常數(Static Constant)的場合,應用範圍更廣。 假設有一堆程式碼原本寫...

今天介紹一則讓你的 C# 程式好維護且不容易改壞的小技巧。 寫程式時難免會有需要字串常數的場合,若不要想太多,"常數A"、"常數B"是最直覺的寫法。 這樣寫沒什麼問題,程式通常也會跑得好好的。但遇到常數要修改,就是對細心度、視力與耐性的考驗了。 配改善這個問題...

同事反映某段使用 WebClient 抓網頁的共用函式傳回中文亂碼, 追查後發現我有個觀念錯了很久 - 我一直以為 WebClient.DownloadString() 會依據 HTTP Response Header 傳回的 Contenty-Type 自動決定編碼。 用以下 MVC 範例示範。H...

程式開發人員被字型陰已不是新聞,我小時候就狠摔過(延伸閱讀:陰險的Bug,沈重的一擊), 但十幾年後,身為資歷老鳥還會踩坑,就值得好好反省記上一筆。 今天開啟 Notepad++ 修改某段 Office 相容 HTML,範例程式正常,我照著改寫卻出錯,花半小時還查不出原因。 最後靠著一段一段將問題程...

與 ASP.NET MVC 相比,ASP.NET Core 架構上更傾向靠依賴注入(Dependency Injection)處理服務物件的傳遞, 造成一項非常有感的改變 - 過去一些慣用靜態物件或方法解決的情境,在 ASP.NET Core 要改成從建構式參數取得才能引用。 舉兩個典型例子: 使...

這幾天在寫 WinForm 程式,遇到有意思的需求。小程式透過 Registry Shell/Open/Command 註冊方式啟動(類似在 Chrome/Edge 網頁用 IE 開啟超連結所介紹的技巧),以 MyApp.exe %1 方式接收參數執行任務。 這裡用個簡化範例模擬我遇到的挑戰。 Pr...

在這個開發者不學新技術會被嘲諷成原始人的時代,我們不乏吹捧讚嘆新技術的推坑文(不說別人,我自己就常寫)。 前幾天讀到這篇「我是一名技术总监,被技术选型给埋坑里了」 宛如清流,格外覺得痛快,切中過去幾年自己的觀察體驗,講出我說不出口的心聲。 這篇中文文章源自 Dan McKinley 2015 年的老...

Web 主機上 Log 成長頗快,我想寫個小程序將時間較久的 Log 以月為單位壓縮儲存節省空間。 實測壓縮後體積只剩 3%,足足減少 30 倍有餘,估計可省下大量空間。 類似的工具之前寫過 C# 版,這回試試用 PowerShell 解決。 Log 檔一天一個,壓縮排程設在每月第一天。執行時前一個...