同事報案,他的電腦使用某個靠 localStorage 暫存資料的網頁時,暫存資料常會無故消失,沒法放過夜。 經此一事,學到冷知識 - IE 的「結束時刪除瀏覽歷程記錄」(而且有人選擇勾選),清除範圍包含 localStorage: 依據微軟文件: However, users can clea...

Side Project 是練習新技術的好地方,工作上還以 MVC 為主,自己玩倒是全面改用 ASP.NET Core。遇到編輯 UI 主分類與次分類下拉欄位連動的需求,這玩意兒之前在玩前端時幾乎是必修課程,寫過 Knockout 版、AngularJS 版,這回試寫了 Razor Page 版,用...

轉進 ASP.NET Core 世界,依循過去寫 MVC 經驗,加上參考網路技術文章(當然,還有流著奶與蜜的 Stackoverflow) 大致還算都順利,但不時發現新的眉角。 今天遇到的問題是 Razor Page 傳回 JsonResult 時,中文字元被轉成 UCN (Unicode Char...

Cache 回收更新機制不外乎幾種做法 - 絕對逾時期限、閒置固定時間後失效、鎖定檔案或資料庫異動後失效。以 .NET MemoryCache 為例,分別對映到 CachePolicy 的 AbsoluteExpiration、SlidingExpiration 以及 ChangeMonitor。(...

網站需要開放使用者指定時間預約執行作業的功能,並需要簡單的介面查詢執行狀況。前陣子剛研究過 ASP.NET Core 的 IHostedService,但它限定 ASP.NET Core,而且查詢管理介面都需要自己刻;Quartz.NET 也蠻多人推的,API 簡潔擴充性高,但缺少現成的查詢管理介面...

我想處理的情境如下:Git Repository X 內含多個資料夾,每個資料夾可視為子專案,比如 Project A、B、C、D。隨著專案規模長大及時空環境改變,想將其中的 Project D 移出來,另外新建 Git Repository Y 獨立發展,而搬移時要求修改歷程必須保留。 爬文查了一...

我有段將彈性格式 JSON 反序列化為 Dictionary<string, object> 的程式,在處理小點數時遇上問題。假設 JSON 來源長這樣: [ { "ItemNo": "A-100", "Value&...

這是前陣子寫 PowerShell 我常踩到的小雷,大多發生在手動下指令的測試階段。 例如,在 PowerShell 裡我用 Set-Location (或使用 cd 指令別名) 將所在目錄切換成 X 資料夾,後續用 Out-File 寫入 ".\Test.json",Get-C...

工作上還有不少批次作業靠 DOS Batch 檔跑排程,執行時常需確認工作目錄指向 .bat 檔所在目錄,指令檔中的相對路徑才會正確。 之前常用解法不外乎兩種,第一種是設定排程時指定 Start in 路徑: 額外設定要求增加人為出錯風險且只在排程執行時有效,手動下指令執行 .bat 的話不適用。...

昨天 Git 資料夾搬家一文發表後,讀者 Danny Lin 於小站留言提到一則重要觀念: 事實上 Git 並沒有記錄所謂的「搬檔/更名」動作,在 Git 眼中,不管搬檔案或檔案改名,都一律被視為刪除舊檔外加新增檔案,差別在於若刪除檔案與新增檔案的內容相似度達一定門檻(預設為50%),Git 就會將...

[2020-07-28 更正] 本篇提到使用 git mv 確保 git status 狀態為 renamed 的技巧非絕對必要性,即使狀態為 deleted + added,在 Commit 後 Git 也會自動判別成 renamed,詳情請見 冷知識 - Git 的搬檔更名跟你想的不一樣 隨著專...

如果你跟我一樣,過去在專案裡都是自己連資料庫寫 SQL 指令,轉用 EF Core 之後,免不了會想確認 Where().Select() 產生的 SQL 查詢是否有效率,好奇 SaveChanges() 背後 EF Core 是怎麼更新資料庫? 要解答上述疑惑,最好的方法莫過於啟用 Loggin...

昨天提到 EF Core 的 DbContext 有內建資料快取,與資料庫真實狀況可能存在落差,另外也提到,當兩個 DbContext 更新同一筆資料,則視 SaveChanges() 呼叫時機,以後者為準。 EF Core 能追蹤資料修改狀況,產生 UPDATE 指令時只會更新有修改的欄位,若兩個...