[料理秘方] "KISS",Keep it simple, stupid

「保持簡單」這句話是多麼地簡單,但是簡單並不意謂著「輕鬆、容易」,當程式碼夠簡單時表示它的結構透明、清楚、不會隱藏 Bug,我相信大多數的人不會喜歡複雜的東西,程式設計也是如此,當我們一邊罵著前人留下來的 Legacy Code 的時候,自己是否能設計得比現在更為優雅?還是單純地只是想按照著自己的習慣,以自己覺得輕鬆的方式解決問題?

...繼續閱讀 »

[小菜一碟] 取得往上第 n 個階層的目錄路徑

有時候我們會有這樣的需求,我們需要取得相對於當前所在目錄的祖父兄弟目錄(暫且稱呼為叔公目錄)的絕對路徑,如果我們已經知道叔公目錄的絕對路徑永遠不變,當然就直接 Hard Code 取用就好,但是這種狀況是少之又少,大多數情況是整個家族目錄會因需要而搬家,在已知叔公目錄名稱的條件下,要得知叔公目錄的絕對路徑,我們可以這樣做,找到曾祖父目錄之後,把叔公目錄名稱合併在後面就可以了,而我們要怎麼用 C# 找到曾祖父目錄呢?

...繼續閱讀 »

[食譜好菜] 用 SqlBulkCopy 可以快速批次 Insert 大量資料,那批次 Update 大量資料呢?

先前有介紹過用 SqlBulkCopy 快速批次 Insert 大量資料,心裡想說既然快速批次 Insert 大量資料有 SqlBulkCopy,那我要快速批次 Update 大量資料有沒有類似於 SqlBulkCopy 的東西可以用?很可惜,可能是我孤陋寡聞,遍尋不著可以像 SqlBulkCopy 這麼相對容易操作的工具,不過我倒是有找到替代方案,速度上也可以接受,我把整個實作的過程做個記錄,以利往後參考。

...繼續閱讀 »

[料理秘方] 隱身在程式碼堆中的背後靈 - 技術債

技術債是一種「任何有意或無意地做出可能不利於日後修改或擴展系統的錯誤或非最佳的設計決策所帶來了的設計導正工作」,我們說簡單一點,在軟體開發的過程當中,我們或許出於無奈、又或者始於無能,採用了會對將來修改或擴展系統造成麻煩的設計方式,而「改採用正確的設計方式的修改工作」就是等待償還的技術債。

...繼續閱讀 »

[創意料理] 僅供參考的 SQL Server 2016 vs SQL Server on Linux 不負責任效能評比

我在 2016/11/17 這天收到 Microsoft SQL Server Team 寄的一封信 Email,第一句話就說「The public preview of SQL Server on Linux has arrived!」,當天我就把 SQL Server 裝在 CentOS 7 上,但是我心中有個疑問「在 Linux 上的 SQL Server 會不會只是個玩具?」

...繼續閱讀 »

[料理佳餚] 用 HammerDB 來執行資料庫 TPC-C 效能量測

TPC(Transaction Processing Performance Council)是一個組織,翻成中文就叫「交易處理效能委員會」,這個委員會的主要功能是定義一些交易處理及資料庫效能量測的標準,其中 TPC-C 標準是測量 OLTP 系統的 tpmC(每分鐘可以處理的 Transaction 數量)來看看 OLTP 系統輸出的效能,而 HammerDB 就是一個提供 TPC-C 標準量測的 Open Source 工具。

...繼續閱讀 »

[食譜好菜] 用 SonarQube 分析 C# 程式碼品質

之前將 SonarQube 裝在 CentOS 上,裝完後發現它無法跟我的幻想一樣地分析 C# Code,要分析 C# Code 還是得要在 Windows 的環境才行,因此我把 SonarQube 移到 Windows Server 上,資料庫就延用 MySQL,執行分析的步驟跟在 CentOS 環境上有一點不一樣,我們就來看看 SonarQube 在 Windows 環境怎麼分析 C# Code。

...繼續閱讀 »