原创 小頂堆

廢話不多說,直接代碼, 以後就用這個: /* author : qiulu date : 2017-03-07 */ #ifndef _MIN_HEAP_H #define _MIN_HEAP_H #include<vector> us

原创 一種反射機制

今天看dtc代碼,有這樣的一種實現,感覺還挺巧妙的。 先說過程,再說好處: char *so = ...//讀取配置文件,得到so的文件名 void* dll = dlopen(so, RTLD_NOW|RTLD_GLOBAL);//打

原创 異步化方案

最近做項目,需要調用的一些服務,但是這個服務本身和主線程沒有什麼關聯,所以這時候我們可以將其異步化,從而提升整體的性能。 然後我是怎麼做的呢? 第一步,肯定是要開啓線程,初始化mutex pthread_mutex_t locker;

原创 agent TCP read

這兩天解除了網絡模型,踩了一些坑, 現在寫一點慘痛教訓。 TCP 才read的時候,可能有這幾種情況 1. 返回值>0,這種情況又分爲2中情況 1.1 返回值==想要讀到的size,這種情

原创 curl 使用範例 c++

1. curl_global_init(CURL_GLOBAL_ALL); m_CurlHandle = curl_easy_init(); //初始化環境,構造handle 2. struct curl_slist *header

原创 tcpdump

今天讀了一些tcpdump的使用方式, 總結一下, 還是用最簡單的例子來說吧: sudo tcpdump -i eth0 host 192.168.166.40 -i 指定網卡 host 表示從host出發到結束的包 然後讀一下結果

原创 Nginx 內存池管理

主要涉及的兩個文件爲ngx_palloc ngx_alloc Nginx內存池的設計十分巧妙, 可以研究一下, 以後再寫代碼的時候可以用上。其具體分配的每個內存塊的結構如下圖。那麼怎麼構造出這樣的結構呢? 看下下面的數據結構再說。

原创 手把手教你使用Git

轉載自:http://my.oschina.net/gsbhz/blog/337719Git是分佈式版本控制系統,那麼它就沒有中央服務器的,每個人的電腦就是一個完整的版本庫,這樣,工作的時候就不 需要聯網了,因爲版本都是在自己的電