原创 16種設計思想 - Design for failure

目錄 1、防禦性設計(Defensive Design) 2、邊界情況(Edge Case) 3、防誤措施(Mistake Proofing) 4、解耦(Decoupling) 5、 艙壁模式(Bulkhead) 6、冗餘(Redund

原创 論如何優雅的消滅If-else

目錄 前言 醜陋的代碼 1、通過spring配置文件 2、通過自定義枚舉類 3、通過Optional類 4、通過Map 5、策略+工廠模式 結語 前言 看到項目代碼中有N多“If-else”,對於一個代碼潔癖患者來說是非常不舒服的,同時我

原创 爲什麼我們需要製品管理?

目錄 目錄 一、什麼是製品與製品庫? 二、哪裏痛? 三、如何管控? 四、有哪些工具? 一、什麼是製品與製品庫? 製品是指由源碼編譯打包生成的二進制文件,不同的開發語言對應着不同格式的二進制文件,這些二進制通常可以直接運行在服務器上。 製品

原创 玩轉Redis高可用 - 哨兵(Sentinel)模式

目錄 一、前言 二、何爲哨兵模式 三、Redis環境搭建 1、安裝gcc依賴 2、下載redis安裝包 四、哨兵模式設置 五、數據同步、高可用方案驗證 1、數據同步 2、高可用驗證 六、結語 一、前言  本人所負責的團隊裏也廣泛使用Re

原创 API接口設計最佳實踐

目錄 目錄 前言 API接口設計 Token設計 API接口設計原則 1、明確協議規範 2、統一接口路徑規範 3、統一接口版本管理 4、爲你的接口設定調用門檻 5、接口返回規範 6、接口安全規範 7、冪等性 8、接口設計的一些最佳實踐 A

原创 結果【outcome】大於產出【output】

結果大於產出 著者 Martin Fowler 譯者 塵世間一個迷途小碼農   想象一下一個團隊在編寫購物網站的技術團隊。如果我們在看這個團隊的產出的時候,我們或許會考慮上個季度產出了多少個功能,或者一個跨功能模塊的度量(如頁面加載時間)

原创 【設計模式第二彈】責任鏈模式

目錄 前言 何爲責任鏈 三個角色 類圖 代碼結構 結果 “純”和“不純”責任鏈  前言 上一篇我們講到了策略模式【設計模式第一彈】 ,實際上我理解是責任鏈模式跟策略模式在某種程度上是類似的,畢竟它們也是基於接口或者基於抽象類編程的,只是在

原创 YAPI接口管理平臺使用基礎入門(一)

目錄 一、前言 二、YAPI平臺的常規配置使用 三、總結 一、前言 上篇:API接口管理平臺YAPI的搭建 之前已經寫了一下YAPI平臺的大致搭建步驟,這篇寫一下大致的用戶配置等功能(實際上YAPI安裝完後也有個教程,它那個絕對全面),但

原创 API接口管理平臺YAPI的搭建

目錄 一、前言 二、YAPI簡介 三、YAPI安裝 四、YAPI守護線程的安裝 五、總結 六、參考 一、前言 上一篇文章我們聊到API接口設計最佳實踐,後面給自己挖了個坑(也算是自我激勵吧)。爲什麼這裏要調研YAPI呢?原因也很簡單: 所

原创 【設計模式第一彈】策略模式

目錄 前言 啥是策略模式 三個角色 開波 定義及實現武器使用行爲策略 定義及實現角色策略 定義上下文 最後一步,設置上下文背景 結果如何 結語 前言 以前一直就想整理一下以前使用過的設計模式,趁着現在有點激情而且也從日常的代碼中發現,好的

原创 分解微服務,還是平衡分佈式系統的複雜性

分解微服務,還是平衡分佈式系統的複雜性 著者:Vladik Khononov         微服務的蜜月期已經結束了。Uber正在把數千個微服務重構成一個更容易管理的解決方案;Kelsey Hightower又開始預言單體架構就是未來

原创 源代碼、編譯包版本管理團隊實踐

目錄 1、前言 2、源碼版本管理 3、編譯包版本管理 4、後話 1、前言 隨着所搭建的團隊人數越來越多,開始形成一個個獨立小團隊的時候,協同開發的機制重要性就顯得格外重要。剛好最近要針對這塊版本管理向領導做個總結匯報,我這裏就順便分享一下

原创 API接口設計規範總結

目錄 目錄 前言 API接口設計 Token設計 API接口設計原則 1、明確協議規範 2、統一接口路徑規範 3、統一接口版本管理 4、爲你的接口設定調用門檻 5、接口返回規範 6、接口安全規範 7、冪等性 8、接口設計的一些最佳實踐 A

原创 讀書筆記:Google軟件測試之道【三】

目錄 1、測試規模分類 2、測試規模的優缺點 3、測試認證 1、測試規模分類 在Google裏面,測試分爲以下三種: 小型測試 小型測試是爲了驗證一個代碼單元的功能,一般與運行環境隔離,它是不需要依賴於外部,一般集中於函數級別的測試,即我

原创 讀書筆記:Google軟件測試之道【二】

目錄 1、“烏托邦式”軟件開發過程 2、SET的工作 1、“烏托邦式”軟件開發過程 在理想的情況下,TDD模式先行,即在代碼編寫前開發人員會構思好整個代碼邏輯並編寫成僞代碼(當然僞代碼中包含了數據取值邊界,循環嵌套,異常處理等情況),然後