運用SSH認證來避免每次對遠端repository操作都要輸入密碼
[DotNet套件] Common.Logging
不論開發哪種類型的程式,大都會有紀錄Log的需求,來協助我們來了解程式的運作情形。但市面上有許許多多的Log套件,如:log4net、Nlog...等,每套都有自己的使用方法。所以當我們有需求要轉換Log套件時,變成我們要去變更程式中所有使用Log的程式碼,光想就覺得是件大工程!
Common.Logging就是將這些套件使用方式抽象化出一個共通的Interface,所以程式碼中呼叫的都是Interface的方法。因此,不論我們底層是使用哪個Log套件,程式碼都是一樣的。當我們有變更Log套件的需求時,我們也只要變更設定檔的設定即可。
[C#] 記憶體快取 MemoryCache
最近開發一個Web Api程式,它每次被呼叫都必須先讀取一份XML檔案,然後將內容反序列化成一個清單變數。但由於Web Api物件的生命週期都只維持一個Request,所以每次Request都必須要重新反序列化,這樣便會造成系統效率下降。因此為避免這樣的情況發生,便很適合導入快取的機制到此系統
[C#] Console.WriteLine 文字對齊
常常我們在Console程式要輸出結果時,因為字數的不一致,導致輸出畫面很亂,像下面這張圖一樣。此篇文章就是要紀錄如何將輸出畫面給弄整齊
[C#] 更精簡的 string.Format 表示法:內插字串
string.Format這個方法,有寫過C#的人應該都很熟悉。但string.Format如果在很多參數時,常常程式碼要分個兩三行才會比較好閱讀,但程式碼看起來就會有點雜亂。
[C#] 複製物件的方式比較
在 .Net Framework中,物件類型可分為 ValueType 及 Reference Type 兩種類型,也就讓物件的複製分為「淺複製(Shallow Copy)」及「深複製(Deep Copy)」兩種。
[Visual Studio] ILMerge 自動合併多個DLL
- 11819
- 0
- Visual Studio
當軟體的規模到達一個程度時,一個方案下就會依功能將程式分到多個專案,進而導致在發布程式時就要注意是不是少部屬一個DLL,導致程式執行失敗,因此 ILMerge 就是解決這類問題的其中一個方法。ILMerge可以將多個DLL合併成一個DLL,也能讓DLL和EXE檔合併成只有單一EXE檔。
[軟工] 類別圖「關聯」、「聚合」及「組合」比較
「類別圖 (Class Diagram)」是用來描述系統所使用到的類別資訊及類別之間的關係。
這篇著重在類別間的關係這塊,之前都只記得「繼承 (inheritance)」類別及「實作(implement)」介面這兩塊,對「關聯(Association)」、「聚合(Aggreation)」及「組合(Composition)」三個關係來複習一下。
[C#] params 基本介紹
params 運用在 method 的參數區塊,讓原本固定的參數個數變為可變動。
[C#] 索引子的基本運用
之前雖然有看過C#的「索引子 (Indexers)」,但沒有進一步去了解它的用法。最近聽到別人的介紹,才發覺「索引子」運用得宜的話,對程式的可讀性會加分不少。
在Windows建置Git環境
之前在開發一些軟硬整合的應用程式時,必須使用廠商所提供的IDE來開發,但偏偏這些IDE不直接支援版控系統,導致在這些專案的程式控管非常粗糙。
導入Git主要是因為原本就有使用Team Foundation Server (TFS) 的服務,而TFS在2013後開始支援Git。這樣的話,就能將所有程式集中在TFS此一平台做管理。
- 1