- 博客(8)
- 收藏
- 关注
转载 Nginx配置解析
基础数据结构ngx_conf_tstruct ngx_conf_s { //当前解析到的命令名 char *name; //当前命令的所有参数 ngx_array_t *args; //使用的cycle ngx_cycle_t *cycle; //所使用的内存
2013-08-27 22:34:44 620
原创 Nginx启动详解(未完)
基础知识一——模块先看一下nginx 的模块设计,官方nginx共有五大类型的模块:核心模块、配置模块、事件模块、HTTP模块、MAIL模块。各个模块的实现如下图:ngx_module_t结构体作为所有模块的通用接口。ngx_command_t类型的commands数组则指定了模块处理配置项的方法。ngx_module_t中的ctx成员是一个void*指针,它可以指向任
2013-08-23 10:43:16 770
原创 字符串匹配算法
最近看了一些匹配算法,发现其实算法也不是很高深,也还是要一个个匹配字符嘛,就是在一个个匹配基础上想一些法子提升性能和优化。下面列出一些常用匹配算法:图1 字符串常用匹配算法单模式匹配是指一次操作只能判断待匹配序列是否和某一个模式匹配。多模式匹配是指一次操作能判断待匹配序列是否和多个模式匹配。单模式匹配:KMP具体参看wiki的链接:http://zh.wik
2013-08-05 20:27:34 589
原创 Unix环境高级编程学习笔记整理
第3章 文件I/O对内核而言,所有打开的文件都能通过文件描述符引用。(建立好链接的套接字描述符在unix系统使用文件描述符实现的)。内核使用三种数据结果表示打开的文件。(1)每个进程在进程表中都有一个记录项,记录项中包含有一张打开文件的描述符表,每个描述符占用一项。表中的每个文件描述符包含:①文件描述符标志②指向一个文件表项的指针。(2)内核为所有打开文件维持一张文件表。每个文件表
2013-08-04 16:12:52 704
原创 Hash
实现字典的一种有效数据结构为散列表。在散列表中,不是直接把关键字用作数组下标,而是根据关键字计算出下标。适用范围:快速查找,删除的基本数据结构,或者一次存储,多次查询的数据结构,通常需要总数据量可以放入内存。比如:某日访问百度次数最多的IP,网络爬虫检验链接是否爬取过。散列表如果域很大,实际要存储的关键字集合k相对于U来说很小时,也是用散列表。多数散列表函数都假定关键字域为自然
2013-08-03 11:49:55 385
原创 图算法及其应用
首先对图的理解不要太死板,不要以为只有类似于地图这样具有明显顶点和边的结构叫做图。举几个例子,一张游戏地图的坐标(每一个坐标都看成顶点),网络中的各个链接(每个链接都看成顶点),这些也都可以使用图结构,只是比较抽象而已。接下来先写图的存储方式,一种是邻接矩阵存储结构,适用于稠密图;一种是邻接表存储结构,适用于稀疏图。(其实,所有的数据结构最终存储实现,都是连续存储或链接存储,具体情况下要看哪个
2013-08-01 22:00:04 1154
转载 应用程序与内核之间数据与套接字的传输
网络栈位于内核中,而产生网络数据的应用程序很多都位于内核之外,客户端与服务器端通过内核网络协议栈实现网络传输,那么应用程序与内核之间数据与套接字是怎么样传输的呢?套接字传输当往一个套接字函数传递一个套接字地址结构时,该结构总是以引用形式来传递,也就是传递的是指向该结构的一个指针。该结构的长度也作为一个参数来传递,不过其传递方式取决于该结构的传递方向:是从进程到内核,还是从内核到进程。(
2013-07-30 19:53:22 949
原创 网络服务器初探
最近在学习网络编程,为了结合实例,打算研读一下nginx的源码,在细说nginx之前,先从宏观上弄清楚网络服务器的定义及其与浏览器的交互。先看wiki上的定义:网页服务器(Web server)一词有三个意思:一台提供服务的电脑一台负责提供网页的电脑,主要是HTML文件,通过HTTP协定传给客户端(一般是指网页浏览器)。一个提供网页的服务器程序。虽然每个网页服务
2013-07-27 14:19:09 669
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人