技術債是一種「任何有意或無意地做出可能不利於日後修改或擴展系統的錯誤或非最佳的設計決策所帶來了的設計導正工作」,我們說簡單一點,在軟體開發的過程當中,我們或許出於無奈、又或者始於無能,採用了會對將來修改或擴展系統造成麻煩的設計方式,而「改採用正確的設計方式的修改工作」就是等待償還的技術債。
[料理秘方] 隱身在程式碼堆中的背後靈 - 技術債
- 1067
- 0
- Software Design
技術債是一種「任何有意或無意地做出可能不利於日後修改或擴展系統的錯誤或非最佳的設計決策所帶來了的設計導正工作」,我們說簡單一點,在軟體開發的過程當中,我們或許出於無奈、又或者始於無能,採用了會對將來修改或擴展系統造成麻煩的設計方式,而「改採用正確的設計方式的修改工作」就是等待償還的技術債。
SqlBulkCopy 它不是個新玩意兒,但是我最近才認識它,「你不知道你還有哪些不知道」是一件很恐怖的事情,原來 SqlBulkCopy 在 .NET 2.0 就有了,它的出現讓 Insert 大量資料變得更方便了,我只能感嘆相見恨晚。
我在 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 會不會只是個玩具?」
TPC(Transaction Processing Performance Council)是一個組織,翻成中文就叫「交易處理效能委員會」,這個委員會的主要功能是定義一些交易處理及資料庫效能量測的標準,其中 TPC-C
標準是測量 OLTP 系統的 tpmC
(每分鐘可以處理的 Transaction 數量)來看看 OLTP 系統輸出的效能,而 HammerDB 就是一個提供 TPC-C 標準量測的 Open Source 工具。
之前提到的 ngBind、{{ }}、ngBindHtml、ngBindTemplate 資料綁定 是屬於單向資料綁定,也就是說在畫面上修改的值,不會回寫到 Model,當我們需要把使用者輸入的訊息回寫到 Model 時,可以使用 ngModel
這個雙向資料綁定的 Directive。
之前將 SonarQube 裝在 CentOS 上,裝完後發現它無法跟我的幻想一樣地分析 C# Code,要分析 C# Code 還是得要在 Windows 的環境才行,因此我把 SonarQube 移到 Windows Server 上,資料庫就延用 MySQL,執行分析的步驟跟在 CentOS 環境上有一點不一樣,我們就來看看 SonarQube 在 Windows 環境怎麼分析 C# Code。
SonarQube 是一套程式碼品質分析的工具,支援多種程式語言,像是 C/C++、C#/VB.NET、Java、JavaScript、Python…等超過 25 種程式語言,SonarQube 用 7 個維度來分析程式碼品質,包括:
還可以與 CI 做結合,讓 SonarQube 成為持續整合當中的一環,可以幫助節省一部分人工 Code Review 的力氣,也可以幫助提前發現一些不小心忽略的疏失。
最近在研究一個服務,這個服務需要 DB 支持,而我選擇使用 Open Source 的 MariaDB(關於 MariaDB 的歷史可以參考這裡),就在裝完之後從外部用工具連線時,出現了這個畫面 - Host 'x.x.x.x' is not allowed to connect to this MariaDB server
。
為什麼會想寫這篇呢?因為我看到了這樣的程式碼:
以及
我不曉得,原來有很多的 .NET 程式設計師不知道 .NET Framework 已經提供了很好的日期時間處理方式。
之前扒網頁扒到「伺服器認可通訊協定違規. Section=...」的問題,決定追根究柢一下,這個訊息不是只有在用 RestSharp 接收 Response 時會這樣,用 Fiddler 做側錄的時候也會跳出警告訊息來。