2020年9月27日 星期日

C# 7.3 泛型條件約束增強

又往前推進了一個版本,這次來到 C# 7.3 ,而這小改版有一個地方讓我非常有感,

那就是「泛型的條件約束」,所以來特別來介紹,以前在設計泛型的時候,很常使用到「列舉」

,但就是無法直接使用關鍵字 Enum,需要轉念一下,原來是要使用 struct 關鍵字...

2020年9月26日 星期六

T-SQL Insert 語法選型參考

觀察很多人寫 tsql insert 的習慣,慢慢拿捏出幾種風格的好處,以及在多變的情境下,

應該會採取的策略及相關注意事項。

連接的資料庫伺服器不支援從 uniqueidentifier 到 int 的轉換

這篇名字有點長,這是無意間發現的狀況,好奇心作祟筆記一下;實務上不可能將既有運作中的資料

表隨意的轉換型別,更不用說兩者類型所儲存的內容天差地遠,轉換也沒意義;

2020年9月20日 星期日

C# 7.2

這系列進展到 7.2 了,微軟敏捷運作下週期推出新的更新,這幾天技術圈真是熱鬧,

不僅 .NET 5 RC 版推出,差異可先參考官網介紹,另外vue.js 3.0 也推出了正式版

(one piece),相關介紹也可以參考官網,好吧,我們趕快把這系列完結。

2020年9月19日 星期六

解決Visual Studio 建置錯誤 - Packages 缺少檔案

踩到這系列的雷,以往都是看別人解決,終於發生在自己身上,順手紀錄一下;

情境是抓了某個版控的專案,一抓下來,執行build就炸掉...

2020年9月13日 星期日

單元測試前之本質學能

我認為單元測試主要用來驗證程式設計邏輯與系統功能正常運作的技法,期望哪些情境下,確保我們的設計都有考量到,

並且滿足需求,另外再未來擴充與修改系統功能下,依然能 維持既有的測試案例(不會改東壞西),

增加對軟體的信心度。但,再開始之前,

2020年9月12日 星期六

C# 7.1

來到C# 7.1 介紹,實際上這個版本的推出與7.0 版本在官方記載,兩者似乎只差2 個

多月的時間,經過實際使用可以理解為何需要這麼快推出,因為這點改進才可以讓撰寫上

手感一致...

2020年9月10日 星期四

SQL Server 使用FOR XML 合併多筆欄位的值

這個語法之前一直沒有相對必要的實際應用,若真需要列表分群,覺得使用表格呈現較好閱讀,但若僅是單純的文字

表達作為備註欄位,覺得是個不錯的解法...

2020年9月6日 星期日

C# 7.0

C# 7.0 持續追加feature,撰寫的自由度越來越高且狂,第一次看到時驚為天人,手感上有種慢慢偏動態語言的錯覺,

另外,在「模式比對」這一塊,有種遊戲使用「外掛」,看到黑影就可以開槍打中的錯覺,世界已經不是慢慢轉動,是跳耀式進展...

2020年9月5日 星期六

C# 6.0

 .net 發展至今,隨著.net core 3.1 的發佈,武器庫是越來越兇狠,新的語法支援可以更快速產出,編譯器也會

幫我們編出高效率的中繼碼,但實務還上還是有人不知道,這邊列出自己實務上很常使用的語法並且搭配應用情境,

另外,C# 6.0 其實在 VS2015 就已經支援了。

單元測試 - Fake 模擬系統環境參數

有時測試會需要模擬系統環境參數,而Fake 是其中的選項之一,但其限制Visual Studio Ultimate版本才支援,其中還有一些眉角..

2020年9月3日 星期四

Reflection (反射) 小技巧

 

Reflection 很常使用,雖不是專案標配,但一年之內總會有使用它的地方,實務上往往與多型搭配起來完成動態實例化物件的技法;

但現實中既有程式難以捉摸,不一致的撰寫風格,或意指相同事務,但文字與設計方式卻充滿弔詭。這次遇上了,

還好C# 內建函式可以幫忙解決。