我習慣將常用功能包成套件讓各專案共享。以昨天介紹的 QR Code Tag Helper 為例,通常會跟一堆網頁功能放進某個開發工具箱專案,編譯成 NuGet Package 方便各專案引用,而 ASP.NET Core 讓我們能輕易實現這個理想,只要像下圖這樣: 建立一個類別程式庫專案 Shar...

這兩天被一則「7-Zip Windows 程式存在安全漏洞」的資安消息洗版(參考:7-Zip Windows App漏洞讓攻擊者取得管理員權限 by iThome),代號 Kagancapar 的土耳其研究員展示了「從 7-Zip 開啟說明檔,再將檔案拖到說明窗視可讓一般使用者取得管理者權限」的安全...

我打算將之前研究用 Minimal API 寫桌面小工具的設計包成元件,把自動尋找可用 HTTP Port 跟啟動時帶出預設瀏覽器、網頁關閉自動結束等機制包成擴充函式加入網站,未來 Program.cs 加一行 app.RunAsDesktopTool(); 即可取代原本查詢 URL、 啟動瀏覽器、...

改寫 .NET Core 之後,我都盡量改用 System.Text.Json處理 JSON,做個不守舊,擁抱新時代的老人。System.Text.Json 主打高效能,雖然功能跟擴充性比不上 Json.NET 完整,但身為 .NET 內建元件,不用擔心支援性及整合度,預期會持續強化(例如:.NET...

用 LINE 貼圖時我有個困擾,記憶中有張超貼切的圖,但我永遠記不住它來自哪一組,作者給的關鍵字又匹配不上,只好一組一組打開來找,但最絕的是,往往全部找完一輪也沒看到,遇上傳說中的「貼圖鬼遮眼」,最後隨便找張貼圖了事。 為了解決這個困擾,我開了 Side Project,用 ASP.NET Core...

前幾天幫同事看問題,要在 JavaScript 偵測 location.href 是否為 / 字元結尾,看到 Visual Studio 自動提示了 endsWith() 函式,大驚! JavaScript 不知何時早已內建 startsWith、endsWith (Chrome 41 就有,目前版...

我猜蠻多人跟我一樣,從沒上過 HTML/JavaScript 的課,甚至連書都很少買,寫網頁全靠著邊做邊學,上網複製貼上程式查資料慢慢養成。坦白說這不是最有效率的學習方式,但似乎是大部分有程式經驗的人跨界網頁開發常用的做法,也不能說是不長進不積極,就只是走平凡人走的路罷了。 我自己目前常遇的狀況,是...

撰寫 EF Core 相關測試時,若偏向單元測試性質,除了真的連接資料庫實測試,若測試內容未高度依賴資料庫特性,還有更輕便、易控制且有效率的選擇。 使用真實資料庫是最省事最逼真的做法,但實務上可能會遇到困難,例如: 因軟硬體資源或網路限制,未必有專供測試的資料庫可用。 實際連線資料庫速度太慢,單元...

我們都知道 ASP.NET Core 依賴注入(DI)容器註冊服務有三種生命週期選項:Singleton、Scoped、Transient,依先前學習 Autofac 建立的概念,Singleton 是從頭到尾共用一個、Transient 是每次建立新物件,每次 Request 共用的 Scoped...

截至目前,我的 EF Core 範例都是用 dotnet ef migrations create 產生建立(或升級) Schema 所需程式,再透過 dotnet ef database update 或 DbContext.Database.Migrate() 套用 Migration 建立或修...

上回提到 ASP.NET Core 架構大幅革新,大量以介面取代直接引用類別,並透過依賴注入(DI)取得服務或元件,付出複雜化的代價,為的是在關鍵時刻換取擴充彈性,前篇文章神不知鬼不覺地將 .html、.css、.png 移進 JSON 檔,取代用 wwwroot 存放靜態檔案,便是一個範例。用 J...