原创 nginx-nginx數據結構

 本篇文章主要記錄說明使用nginx時,開闢一個簡單http模塊的時序圖,還有nginx中封裝的數據結構及其處理函數。 1.如何開發一個充滿異步調用,無阻塞的http模塊? 首先,我們需要把程序嵌如到nginx中(最終變異處的二進制程序ng

原创 nginx-如何將自己的HTTP模塊編譯進nginx

上一篇博客講解了nginx相關的數據結構。這一篇主要交接如何將自己的模塊編譯進nginx;一種常用的簡單方法:1)首先把源代碼文件全部放大一個目錄下,然後在改目錄中編寫一個config用於通知Nginx如何編譯本模塊,這個文件名必須爲con

原创 位圖:源代碼

#include <iostream> using namespace std; #include <vector> class BitMap { public: BitMap() :_size(0) {} BitMap(si

原创 布隆過濾器:實現代碼

#pragma once #include <string> #include "BitMap.h" struct HashFunc1 { size_t BKDRHash(const char *str)   {   regist

原创 Linux 上實現雙向進程間通信管道

轉載於:https://www.ibm.com/developerworks/cn/linux/l-pipebid/ 問題和常見方法Linux 提供了 popen 和 pclose 函數 (1),用於創建和關閉管道與另外一個進程進行通信。其

原创 HTTP協議簡介

一、TCP/IP 協議介紹在介紹 HTTP 協議之前,先簡單說一下TCP/IP協議的相關內容。TCP/IP協議是分層的,從底層至應用層分別爲:物理層、鏈路層、網絡層、傳輸層和應用層,如下圖所示:TCP的三次握手建立連接:四次揮手釋放:在這裏

原创 動態規劃:從新手到專家

作者:Hawstein出處:http://hawstein.com/posts/dp-novice-to-advanced.html前言本文翻譯自TopCoder上的一篇文章: Dynamic Programming: From novic

原创 樹:二叉樹的公共祖父節點

1.如果這棵二叉樹是二叉查找樹,那麼記錄根節點到x和y節點的路徑問題變得很簡單,藉助於二叉查找樹的性質,藉助BST的查找過程,很簡單便可以做到。void find1(TreeNode* root,TreeNode* p,vector<Tre

原创 Linux:進程池實現

進程池在服務器應用中有很多很多=。=下面是半同步半異步進程池的實現代碼:#ifndef _PROCESSPOOL_H #define _PROCESSPOOL_H #include<sys/types.h> #include<sys/so

原创 智能指針

RAII(Resource Acquisition Is Initialization)資源分配即初始化,定義一個類來封裝資源的分配和釋放,在構造函數完成資源的分配和初始化,在析構函數完成資源的清理,可以保證資源的正確初始化和釋放。----

原创 HTTP:HTTP狀態碼

這一篇博文就講一下HTTP協議中的狀態碼:什麼是狀態碼?狀態碼指的是HTTP響應中返回的一個迴應消息。通過數字表示相關的消息種類。2.狀態碼具體內容:1xx: 信息消息:描述:100 Continue服務器僅接收到部分請求,但是一旦服務器並

原创 數據結構:圖的代碼

直接上代碼:代碼裏面有註釋#pragma once #include <assert.h> #include <queue> #include "Heap.hpp" #include "UnionFindSet.hpp" // // 臨

原创 URI,URL,URN

首先,URI,是uniform resource identifier,統一資源標識符,用來唯一的標識一個資源。而URL是uniform resource locator,統一資源定位器,它是一種具體的URI,即URL可以用來標識一個資源,

原创 將博客搬至CSDN

請求搬家到CSDN

原创 大/小堆:源代碼

#pragma once #include <vector> #include <assert.h> // // 小堆 == 大堆 // 仿函數 // template<class T> struct Greater { bool o