摘要:
派生类的构造函数初始化列表将实参分别传递给每个直接基类,其中基类的构造顺序与派生列表中基类的出现顺序保持一致,而与派生类构造函数初始化列表中基类的顺序无关。类型转换与多个基类编译器不会在派生类向基类的几种转换中进行比较和选择,因为在它看来转换到任意一种基类都一样好,所以要避免二义性。void pri... 阅读全文
摘要:
Constructing selectorsFor convenience,response objects exposes a selector on .selector attribute,it's totally ok to use this shortcut when possible.//... 阅读全文
摘要:
调用HTTP模块的流程:Worker进程会在一个for循环语句中反复调用事件模块检测网络事件。当事件模块检测到某个客户端发起的TCP请求时(接收到SYN包),将会为它建立TCP连接,成功建立连接后根据nginx.conf文件中的配置会交由HTTP框架处理。HTTP框架会试图接收完整的HTTP头部,并... 阅读全文
摘要:
1. const常量,如const int max = 100; 优点:const常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查,而对后者只进行字符替换,没有类型安全检查,并且在字符替换时可能会产生意料不到的错误。2. const 修饰类的数据成员。 const数据成员只在某... 阅读全文
摘要:
After an item has been scraped by a spider,it is sent to the Item Pipeline which process it through several components that are executed sequentially.... 阅读全文
摘要:
模块如何在运行中生效配置文件中的location块决定了匹配某种URL的请求将会由相应的HTTP模块处理,因此,运行时HTTP框架会在接收完毕HTTP请求的头部后,将请求的URL与配置文件中的所有location进行匹配,匹配后再根据location{}内的配置项选择http模块来调用。在mytes... 阅读全文
摘要:
kill和raise函数#include int kill(pid_t pid,int signo);int raise(int signo);//两个函数返回值:若成功则返回0,若出错则返回-1kill函数将信号发送给进程或进程组,raise函数则允许进程向自身发送信号。调用raise(signo... 阅读全文
摘要:
上下文与全异步web服务器的关系请求上下文指在一个请求的处理过程中,把一些关键的信息保存下来的类似struct这样的结构体。每个http模块都可以有自己的上下文结构体,一般都是在刚开始处理请求时在内存池上分配它,之后当经由epoll、http框架再次调用到http模块的处理方法时,这个http模块可... 阅读全文
摘要:
我们可以定义拷贝操作,使类的行为看起来像一个值或者像一个指针,这取决于如何拷贝指针成员。 当我们拷贝一个像值的对象时,副本和原对象是完全独立的,改变副本不会对原对象有任何影响,反之亦然。标准库容器和string类的行为像一个值。 当我们拷贝一个行为像指针的类的对象时,副本和原对象使用相同的底层数据, 阅读全文
摘要:
一、信号概念信号都被定义为正整数,不存在编号为0的信号。信号是异步事件的经典实例。产生信号的事件对进程而言是随机出现的,进程不能简单地测试一个变量来判别是否出现了一个信号,而是必须告诉内核在此信号出现时,请执行下列操作。信号的处理有三种方式:1.忽略此信号。大多数信号都可使用这种方式进行处理,SIG... 阅读全文