2020-10-03 11:48 AM 3 3,869
當年紅透半邊天的 XML,如今已成過氣老人,但地球的某些角落仍是由他把關,不小心碰上了,馬上能感受他板著臉孔列出一堆規矩,並不時嚴厲指正:這裡格式錯了、那邊不能這樣寫,當年不偷快的回憶全都回來了,其中最讓我暈頭轉向的莫過於 Namespace。 前天自己牙給,想土砲製作 ePub 電子書,一看規格,...
2020-09-18 11:05 PM 0 5,007
寫 .NET 存取 Excel 檔對我已是家常便飯,基本上只要有 ClosedXML 就能搞定。但偶爾會遇到資料存在 Word 表格,在江湖行走,這點雜耍技巧多少要懂。 研究了一下,比想像簡單。MS Docs 有篇簡單扼要的範例,原理是先用 MainDocumentPart.Document.Bod...
2020-09-06 09:01 AM 7 35,400
前些時候幫忙排除一個 DB Connection Pool 相關問題,學到點東西,所以有了這篇。 這篇文章將介紹如使用效能監視器觀測 SQL Connection Pool 使用狀況,並以實驗驗證其行為模式。 如果對 Connection Pool 還有點陌生,以下是一些參考資料: SQL Ser...
2020-08-06 11:19 PM 3 3,818
Cache 回收更新機制不外乎幾種做法 - 絕對逾時期限、閒置固定時間後失效、鎖定檔案或資料庫異動後失效。以 .NET MemoryCache 為例,分別對映到 CachePolicy 的 AbsoluteExpiration、SlidingExpiration 以及 ChangeMonitor。(...
2020-08-03 09:32 PM 2 2,694
我有段將彈性格式 JSON 反序列化為 Dictionary<string, object> 的程式,在處理小點數時遇上問題。假設 JSON 來源長這樣: [ { "ItemNo": "A-100", "Value&...
2020-06-02 09:28 PM 2 6,433
今天遇到的小問題,如下: 不長不短的人員姓名清單,想用 LINQ OrderBy 排序方便使用者尋找,排序結果有點怪,看不出依據為何。 加上 UT8 編碼後就清楚了,原來是依照 UTF8 編碼結果 byte[] 排列的: 爬文找到自己 9 年前的文章,才驚然想起,.NET 的字串排序可以靠 Cu...
2020-05-21 10:24 PM 5 3,269
說來也算 .NET 的笨問題,但我第一時間竟有些迷惑,做個實驗強化信念。 疑問是下圖中的 Prop1、Prop2 是否每次取用都會重新執行,傳回不同結果? 完整程式如下: using System; using System.Collections.Generic; using System.Di...
2020-05-20 09:00 PM 0 1,994
前一篇文章我學到一個 .NET 組件編譯名詞 - Determinism。是指 .NET 編譯組件時停用加入 Timestamp 及隨機產生的 GUID 的做法,改以原始碼內容、工作路徑... 等條件為依據,確保相同程式碼在相同環境編譯出來的組件二進位內容完全一致,這有助於識別組件是否來自可信任來源...
2020-05-19 09:20 PM 0 3,521
在 Visual Studio 2019 想將 .NET Framework 專案設定版號自動跳號時卡住。 AssemblyInfo.cs [assembly: AssemblyVersion()] 上方的註解明明還提示可以寫成 1.0.* 讓系統自動跳號產生第三及第四段的 Build 及 Rev...
2020-05-11 10:45 PM 0 4,372
先懺悔一下好了。前篇討論 LINQ 邏輯執行時機的文章不小心示範了「好寫好用但不該推廣的技巧,」但未加註「叔叔有練過,小朋友不要學」或「叔叔在寫 Side Project,不會害到人」警語,恐有誤導之嫌。撰文前其實曾閃過「是否不妥」的念頭,但想想覺得還好便沒放心上。貼文後讀者 Shu Huan Hu...
2020-05-09 09:29 AM 8 3,327
在同事的 LINE 群組看到這個據說是小三的趣味數學題(是國小三年級啦,有人是衝著狐狸精才點進來看的嗎?)。 請在下列方格內填入 1-9 的數字以滿足等式: 應該可以用相乘、相加不可超過百位數的限制先過濾掉一些組合再嘗試排列求解,BUT... 小孩子才用紙筆,我偏要用 Coding 早上晨跑腦袋閒...
2020-05-07 09:30 PM 2 4,823
同事報案,遇到一宗罕見的 .NET Namespace 命名衝突問題,我用以下專案結構模擬案發現場: 專案 Darkthread.Mobile 參照了 Utility 與 Darkthread.Utility 兩個 Class Library 專案。 Utility 專案有個 Uitlity.Re...
2020-05-06 04:39 PM 0 3,272
即便後來出現眾多標榜速度的 .NET JSON 程式庫,連 .NET Team 也推出自己的版本 System.Text.Json,強調效能翻倍記憶體更省,但 Json.NET 仍是我心中現階段處理 JSON 的不二選擇。 今天遇到一個較少見的需求,有一個 JSON 結構如下: { "...
2020-05-03 07:55 AM 4 46,546
上篇文章介紹了 Visual Studio 的兩項祕密武器 - Source Link 及 Decompile Source Code 功能,能幫助我們針對開源 NuGet 程式庫,甚至對沒有源碼的第三方程式庫逐行偵錯。今天再補充一件無源碼偵錯的神兵利器 - dnSpy。 在 Visual Stud...
2020-04-14 08:31 PM 2 3,903
對 ODP.NET 如何跑 Oracle 多行指令,我始終一知半解。何時可以加分號「;」?何時該用 begin end?為何冒出 Encountered the symbol "xxx" when expecting one of the following: ... 錯誤?我...
2020-04-09 10:06 PM 1 3,194
紀念在一個 Regular Expression 小問題卡住的二十分鐘。 手上有份 Oracle DDL (Data Definition Langauge) PL/SQL 指令稿,其中以 / 符號串接多組資料表、View 及 Trigger 建立指令,在 SQL Plus 裡 / 符號可觸發執行動...