原创 輕鬆學DDD之二:如何高效消化知識

輕鬆學DDD之二:如何高效消化知識   我是2012年開始接觸DDD的,後續研讀過幾遍《領域驅動設計:軟件核心複雜性應對之道》,也用DDD做過項目。總的感受是DDD的一些概念比較晦澀難懂,很難掌握,因此想寫個系列短文,希望能幫助大家更輕鬆地

原创 輕鬆學DDD之一:模型驅動設計

輕鬆學DDD之一:模型驅動設計   我是2012年開始接觸到DDD(領域驅動設計)的, 後續陸陸續續研讀過幾遍Eric的大作《領域驅動設計:軟件核心複雜性應對之道》,也使用DDD重構過一個項目。總的感受是DDD的一些概念比較晦澀難懂,很難掌

原创 漫遊計算機系統之虛擬存儲器

漫遊計算機系統之虛擬存儲器 1. 背景 一個典型的計算機系統如下圖所示:直接讓應用使用硬件可能會導致濫用,並且應用需要處理複雜的硬件細節,容易出錯。所以我們引入了操作系統來管理硬件資源,如下圖所示:操作系統爲了讓應用能更好更簡單地使用硬件資

原创 自動化運維工具fabric的簡明使用手冊

1.簡介 Fabric 是一個 Python (2.5-2.7) 的庫和命令行工具,用來提高基於 SSH 的應用部署和系統管理效率。更具體地說,Fabric 是: 一個讓你通過命令行執行Python函數的工具; 一個讓你通過SSH執行Sh

原创 linux程序莫名異常怎麼查

內存異常經常導致程序出現莫名其妙的錯誤,往往很難查證,本文介紹在linux下的各種常見內存異常的查證工具和方法。1 訪問空指針/未初始化指針/重複釋放內存對於像訪問空指針、未初始化指針(非法地址),重複釋放內存等內存異常,linux默認會拋

原创 使用gperftools對程序進行性能分析

使用gperftools對程序進行性能分析 gperftools是google出品的一個性能分析工具,相關介紹可見:https://github.com/gperftools/gperftools/wikigperftools性能分析通過抽

原创 go語言的面向對象模型

      Go語言的面向對象模型與主流OO語言差異很大,本文通過對比Go與C++的三個差異來介紹Go的面向對象模型及其設計思想。 一:可見性控制粒度是包Go用首寫字母的大小寫來控制類、類成員、函數的可見性, 可見性控制的粒度是包。下面是G