原创 API的設計(5) - 細節與填坑 proto文件編輯 模板編輯 總結

protoapi如約開放源碼了:github.com/yoozoo/protoapi;這裏先求個Star。:) (我認爲開放源碼還稱不上是開源;一個項目需要有社區、有成功的第三方使用案例等等,才能稱得上開源。) 目前protoapi的實現代

原创 軟件框架設計原則 原則

原則 框架是常見開發的最佳實踐的抽象,目的在於提高開發效率 框架的應該感覺自然 idiomatic,即與相應語言的風格保持一致 框架通過抽象,使得常見的開發更加便利 抽象需要鼓勵最佳實踐的使用 提供默認的最佳實踐使用,比提供選擇

原创 API的設計(4) - protoapi VS swagger 文檔先行 vs 實現先行 總結一下

接上文 swagger可能是目前開發resful API時最流行的工具集,可能很多童鞋在遇到API開發需求時,直接反應會是:“用swagger不就好了?”。 protoapi與swagger會有一些理念上根本性差異,爲詳細闡述這些差異,我們

原创 API的設計(2) - protoapi協議 最後

上一節講API的錯誤處理時,是java定義爲例,講述了正常結果、異常結果、常見異常、錯誤四種層次的劃分,我把使用這種返回劃分的風格的API叫做:protoapi。 protoapi適用於同一語言、同一進程內的API接口定義;同時也會適用於跨

原创 API的設計(1) - 錯誤處理 API的錯誤處理 總結

API的錯誤處理 正常結果 Response 當我們在定義一個函數接口的時候,往往會定義: 接口名 輸入參數 Reqest 返回結果 Response 以java爲例,登陸接口定義會是類似: User login(String user

原创 API的設計(3) - 實現方式 protoapi實現的方式 最後

protoapi實現的方式 接上文,我們選擇了protobuf作爲IDL,而在代碼生成的工具上,我是選擇了使用go實現,因爲: go開發的程序可以方便的編譯爲windows / linux / osx上的可執行程序,並且幾乎沒有任何依賴,

原创 史上最公正的抽獎算法在此!看懂這篇,年會抽獎就不用CTO現場審覈代碼啦~

我不是針對六合彩,我是說所有的抽獎都是渣渣;據我知道的所有抽獎技術上都有作弊內定的可能。 搖獎?可以通過不同重量的乒乓球的來作弊吧?可以收買公證人,直接念一個內定的得獎號碼吧? 微博抽獎平臺則就更容易,微博的程序可以被作弊吧?代碼CTO審覈

原创 API的設計(5) - 細節與填坑

protoapi如約開放源碼了:github.com/yoozoo/protoapi;這裏先求個Star。:) (我認爲開放源碼還稱不上是開源;一個項目需要有社區、有成功的第三方使用案例等等,才能稱得上開源。) 目前protoapi的實現代