原创 XML已死 ?

近十幾年來唱衰XML的聲音一直不曾間斷過,作爲曾經風靡一時的可擴展標記語言,似乎真的江河日下了。近期在跨部門合作過程中,有幸得以接觸到以XML作爲通用配置的大型工程項目,然而在開發過程中逐漸感受到這種面向xml配置的編程方式使得簡單的問題變

原创 go-micro 框架源碼剖析之函數選項模式

近期在查閱go-micro源碼過程中發現,在設置創建微服務的參數選項時都依賴於項目外層一個名爲github.com/micro/go-micro/options.go的文件,它定義了創建一個微服務所需要的各種參數選項,其實現過程值得借鑑。

原创 go-micro 框架初探

得益於Go語言的編譯快性能高特點,在雲原生時代其作爲服務端編程語言發展迅速,尤其是微服務領域,已逐漸形成一個良好的生態,基於Golang的微服務框架如今有很多,如go-kit、go-micro、kite、gizmo等,每一種都自有其優點。今

原创 Golang Error Handling 是好的設計?嗎

從Java、C++、PHP轉過來的Gopher在遇到錯誤處理時都會很苦惱,與前者們的類似try/catch模式相比,Golang的檢查返回值判斷錯誤的寫法顯得特別繁瑣。本文試圖去探究下Golang中Error Handling設計的背景與思

原创 Golang Context是好的設計嗎?

最近實現系統的分佈式日誌與事務管理時,在尋求所謂的全局唯一Goroutine ID無果之後,決定還是簡單利用Context機制實現了基本的想法,不夠高明,但是好用。於是對它當初的設計比較好奇,便有了此文。 1、What Context Co

原创 Python 程序構架淺析

一、概念 通常的Python程序的構架是指:將一個程序分割爲源代碼文件的集合以及將這些部分連接在一起的方法。 Python的程序構架可表示爲: 一個Python程序就是一個模塊的系統。它有一個頂層文件(啓動後可運行程序)以及多個模塊文件(