原创 C++反射機制:可變參數模板實現C++反射(二)

1. 概要   2018年Bwar發佈了《C++反射機制:可變參數模板實現C++反射》,文章非常實用,Bwar也見過好幾個看了那篇文章後以同樣方法實現反射的項目,也見過不少從我的文章抄過去連代碼風格類名函數變量名什麼都沒改或者只是簡單改一下

原创 通過UNIX域套接字傳遞描述符的應用

  傳送文件描述符是高併發網絡服務編程的一種常見實現方式。Nebula 高性能通用網絡框架即採用了UNIX域套接字傳遞文件描述符設計和實現。本文詳細說明一下傳送文件描述符的應用。 1. TCP服務器程序設計範式   開發一個服務器程序,有較

原创 極力推薦一個簡單好用的C++JSON庫

  極力推薦一個簡單好用的C++JSON庫CJsonObject,讓使用json如使用C++原生的結構體那般方便,隨心所欲。CJsonObject是個優秀的C++JSON庫,也許會是你見過的最爲簡單易用的C++json庫。CJsonObje

原创 多線程、事件驅動與推薦引擎框架選型

  事件驅動編程是一種編程範式,這裏程序的執行流由外部事件來決定。它的特點是包含一個事件循環,當外部事件發生時使用回調機制來觸發相應的處理。多線程是另一種常用編程範式,並且更容易理解。   高性能通用型C++網絡框架 Nebula 是基於事

原创 Protobuf協議精品應用

  Protobuf應用廣泛,尤其作爲網絡通訊協議最爲普遍。本文將詳細描述幾個讓人眼前一亮的protobuf協議設計,對準備應用或已經應用protobuf的開發者會有所啓發,甚至可以直接拿過去用。 這裏描述的協議設計被用於生產環境的即時通訊

原创 Protobuf協議應用乾貨

Protobuf應用廣泛,尤其作爲網絡通訊協議最爲普遍。本文將詳細描述幾個讓人眼前一亮的protobuf協議設計,對準備應用或已經應用protobuf的開發者會有所啓發,甚至可以直接拿過去用。 這裏描述的協議設計被用於生產環境的即時通訊、埋

原创 C++反射機制:可變參數模板實現C++反射

1. 概要   本文描述一個通過C++可變參數模板實現C++反射機制的方法。該方法非常實用,在Nebula高性能網絡框架中大量應用,實現了非常強大的動態加載動態創建功能。   C++11的新特性--可變模版參數(variadic templ

原创 git多個遠程倉庫

1. 前言    用 GitHub 管理自己的開源項目有幾年了,最近一年更新得比較多,倉庫也越來越多越來越大。有時候感覺GitHub太慢,尤其是最近感覺更爲明顯,於是萌生了再找個國內類似GitHub的代碼託管平臺的想法,同時我也還想持續更新

原创 集羣管理選舉算法實現

一個分佈式服務集羣管理通常需要一個協調服務,提供服務註冊、服務發現、配置管理、組服務等功能,而協調服務自身應是一個高可用的服務集羣,ZooKeeper是廣泛應用且衆所周知的協調服務。協調服務自身的高可用需要選舉算法來支撐,本文將講述選舉原理

原创 集羣選舉算法實現

一個分佈式服務集羣管理通常需要一個協調服務,提供服務註冊、服務發現、配置管理、組服務等功能,而協調服務自身應是一個高可用的服務集羣,ZooKeeper是廣泛應用且衆所周知的協調服務。協調服務自身的高可用需要選舉算法來支撐,本文將講述選舉原

原创 輕量簡單好用的C++JSON庫CJsonObject

1. JSON概述        JSON: JavaScript 對象表示法( JavaScript Object Notation) 。是一種輕量級的數據交換格式。 它基於ECMAScript的一個子集。許多編程語言都很容易找到JSON

原创 【Nebula系列】C++反射機制:可變參數模板實現C++反射

1. 概要   本文描述一個通過C++可變參數模板實現C++反射機制的方法。該方法非常實用,在Nebula高性能網絡框架中大量應用,實現了非常強大的動態加載動態創建功能。Nebula框架在Github的倉庫地址。   C++11的新特性--

原创 【Nebula系列】通過UNIX域套接字傳遞描述符的應用

  傳送文件描述符是高併發網絡服務編程的一種常見實現方式。Nebula 高性能通用網絡框架即採用了UNIX域套接字傳遞文件描述符設計和實現。本文詳細說明一下傳送文件描述符的應用。 1. TCP服務器程序設計範式   開發一個服務器程序,有較

原创 Git 最佳實踐:分支管理 GitHub Flow & Git Flow 基於Git 的兩種協作開發模式

      5月份,爲統一團隊git分支管理規範,剛開始準備自己寫,在網上搜了下,發現不少不錯的git分支管理實踐。最後我爲團隊選擇了這個git分支管理實踐 A successful Git branching model ,網上有不少參考

原创 設計模式—橋接模式的C++實現

這是Bwar在2009年寫的設計模式C++實現,代碼均可編譯可運行,一直存在自己的電腦裏,曾經在團隊技術分享中分享過,現搬到線上來。 1. 裝飾模式簡述 1.1 目的       將抽象部分與它的實現部分分離,使它們可以獨立地變化。 1.2