自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (3)
  • 收藏
  • 关注

原创 epoll的原理

缘由昨夜再把深入理解nginx中epoll的部分读了一遍,这次主要关注epoll的原理。这篇博客也是用自己的话转述了书中的内容。预想场景假设我们的服务器端的进程同时与100万个用户保持着TCP的链接,但是这100万个用户中并不是所有的用户都在发送请求。那么也就是说只有几十个用户是发送来了请求的。所以,实际上我们的进程只是处理这100万个链接中的几十个。为了接受这些响应,我们首先要做

2014-04-30 14:56:54 1002

原创 nginx:试图理清 nginx 发回给 浏览器 响应包

缘由今天的思路比较杂,随意翻了翻 深入理解nginx,看了挺多的内容。后来就开始做实验。我本来想看看ngx_cycle_t 的成员 connections 和 free_connections 如何把连接池串起来了。后来查来查去就直接查到 nginx怎么发送 响应包的问题了。实验过程首先浏览器要试图去连接nginx,那么就需呀发送请求包给nginx,但是每次都需要将浏览器的缓存清空

2014-04-29 19:29:17 765

原创 ngnix:初步使用log日志系统打印ngx_conf_parse解析的配置项

缘由这次主要是由昨天的那篇博客啊,书上说ngx_conf_s的成员 name是什么名字,但是我在用ddd调试的时候,却没有发现里面存的有什么值。今天就打算用nginx自带的日志系统来验证一下。实际证明我是对的,对于我这份配置文件来说name确实什么值都没有。配置文件先看一下我的配置文件:master_process off; daemon off; error_lo

2014-04-28 19:49:23 879

原创 nginx:从配置文件读值 到 代码中的变量

缘由这个过程原来是我在深入剖析nginx里面读到过,但是没有总结,那么后来我一直对这块有点印象。今天突然觉得这个看这个结构体:struct ngx_conf_s { char *name; ngx_array_t *args; ngx_cycle_t *cycle;

2014-04-27 18:00:08 1700

原创 APUE: 12-2程序清单 使用递归锁 处:能不能不用递归锁? P321

缘由有为同学在http://blog.csdn.net/zy825316/article/details/21390199给我留了问题:我是初级学习UNIX的,我看了好久没懂,程序清单12-2中指出的retry函数因为被安排为原子操作而函数内进行加锁。retry内加锁是不是想让里面的操作粒度更细?还有如果我另外为retry创建一个互斥量,是不是最初的那个互斥量可以不指定

2014-04-26 00:53:59 939

原创 nginx:单独抽取nginx的红黑树源码以及运行例子

缘由最近一段时间想了想红黑树,理解了一下原理之内的,算法导论上已经讲的非常好了,我就不多废话了,所以这是我从nginx中抽取的红黑树的源码,共三分文件,能够单独运行。除了nginx中用于写的红黑树的两份代码以外,主要是就运行实例的main函数文件。红黑树的好处两附图说清楚,如果我们有序插入1、6、8、11、13、15、17、22、25、27普通二叉查找树的话,会形成下图一样的树:

2014-04-25 16:27:23 812

原创 nginx:“端口”之行

缘由今天我又读了一遍 深入理解nginx的第八章。觉得又有了更深理解。不过由此带来了一个问题,书上既然说了ngx_listening_s的结构体是用于代表一个监听端口的。那么里面怎么没有一个int类型的成员代表端口呢?由这个问题,引来了我一系列探索和思考。基础知识刚开始的时候还有点忘了,就是端口不是单独列出来的,是和结构体sockaddr和sockaddr_in有着密切的关系。

2014-04-24 20:21:36 701

原创 nginx:模块的理解以及划分

缘由看了深入理解nginx 第八章 nginx基础架构之后,对整个nginx的模块还是有了比较清晰的认识。所以在这里总结一下。首先要明确的就是:模块化设计是面向过程设计中常用的一种手段。太抽象我现在的级别还是领悟不了,我看了一下百度百科,随便摘两句话:模块化是指解决一个复杂问题时自顶向下逐层把系统划分成若干模块的过程,有多种属性,分别反映其内部特性。模块化用来分割,组织和打包软件。

2014-04-23 15:45:20 1256

翻译 Linux man page - epoll(7)

缘由主要是今天看到 深入理解nginx的第九章:事件模块。不得不说作者写的特别好。让我明白了epoll。不过总感觉看懂中文的,显得自己比较不专业和没有上进心。所以决定翻译一下:epoll(7) - Linux man page。我相信没有哪里比man手册更权威了。注意,epoll在这个词在man手册里有两个分类里面有,分别是:epoll(4) - Linux man p

2014-04-22 22:25:48 2399

原创 编程之美 3.10: 分层遍历二叉树

缘由看到这本书就有一直哦题干我的思路使用循环队列首先,看到问题1我首先想到了图的广度优先搜索遍历算法,后来一查书(数据结构高分笔记),才想起来树本来就有一种遍历方式叫“层次遍历(P110)"。也就问题1中想要打印树的方式。利用了数据结构“循环队列”作为辅助的工具。其实自己想的时候也想到了用队列的这个办法。不过想来这本数据结构之高分笔记是我很久之前看过的书

2014-04-22 13:53:30 790

原创 nginx:将自己编写HTTP过滤模块融入nginx时遇到的问题

缘由今天看了 深入理解Nginx 第6章,看懂了书之后,利用了书上的代码自己测试了一下。测试的过程居然有点艰难,虽然最后还是完成了功能。但是还是暴露出两点:自己的基础知识不扎实书中有些部分不严谨当然,现在发现这些是值得庆幸的,因为这使的我能够早日学到更多知识。所以这篇博客主要是我在阅读完成第六章之后,做实验过程中遇到的问题,而不是将http过滤模块讲清楚。实验过程从

2014-04-21 19:16:28 1593 1

原创 编程之美 3.9:重建二叉树

缘由偶然翻开那本编程之美,好!今天来一题题干思路:从题干中给出的例子来分析,要点有下面三个直觉很强烈!递归。递归后的子序列前序的还是前序,中序的还是中序前序的第一个字符是整棵树的根节点,那么在中序中以根节点为界,可以获得左子树与右子树如:s前序:abdcef中序:dbacefa为根节点,那么从中序中以a节点为界可以划分为两半,前序

2014-04-19 22:03:18 712

原创 设计模式:观察者模式

缘由之前看懂了的设计模式,不总结总结,总觉得心里很难受。我的理解来个生活中的例子,有一天,一个朋友要坐公交来你家里玩,怕他找不到路,你们约定你到你家附近的公交站牌等他。假设你朋友坐公交都要一个多小时,那你什么时候去公交站牌等他呢?总部能一开始就去吧?那会白等一个小时的。你可以一直打电话问你朋友,过一会就打个电话问问他到哪里了,他告诉你之后你再决定是在家里等,还是去公交站牌等。过了一

2014-04-19 11:58:53 681

原创 Recommender Systems Handbook的目录

翻译:Recommender Systems Handbook的目录缘由就想翻译点东西,看完"集体智慧编程"之后对机器学习那块有点淡化了。总觉得自己不喜欢数学,更喜欢编程。今天随意翻译翻译 Recommender Systems Handbook的目录。虽然现在处于一个比较迷茫的阶段,不过昨晚写那段设计模式的代码的时候,还是深深的感受到了对编程的喜爱。废话不多说,上吧。目录

2014-04-18 22:12:45 1329

原创 NoSQL以及其应用场景

缘由今天主要想了想在项目(音乐网站)中如何使用我们的有没有必要使用Nosql,突然发现原来只是粗浅的认为:就要用NoSQL,因为NoSQL听起来是高新技术,然后我就要用。而不考虑适合不适合。今天上午看了本noSql数据库入门,整本书扫了很久,虽然没有得出最终的结论,不过还是收获良多。下面还是自己总结一下:NoSQLNoSQL是Not Only SQL的缩写,含义为:

2014-04-17 19:27:35 1592

原创 项目相关:网站设计的要点

缘由导师后来又追加任务,要求我来完成音乐网站的设计。我想了一想,这一部分主要分为两个大块,设计与实现。实现的问题由于我暂时不太熟悉javaWeb那一套,目前还在继续学习之中。看了本书:JavaWeb项目开发案例精粹和两篇论文。大概知道所谓“设计”该写些什么了。设计中需要完成的内容下面依次说一些我在一份设计文档中该写的内容,并且逐一分析我该写什么。具体写的内容我暂时保留写在一份w

2014-04-16 21:45:01 955

原创 设计模式:装饰者模式

缘由没什么特别的,之前看懂了,这次自己再复述一下。毕竟把别人讲懂了才是真的懂了。主要参考了head first 设计模式。书中例子面和具体的面例子讲述的是在为星巴克咖啡的制作订单的情况,比如客人点了饮料,那么系统会自动算出价格(不知道是我没有体会到,还是这个例子不太合适,算出价格那么简单的事还需要用到类?,不过不影响我们思考装饰者模式)。不过似乎星巴克离普通的中国人还是太遥远了

2014-04-15 23:13:45 765

原创 java:简单聊聊hashMap的实现

缘由偶然看到一位兄台在面试的时候被问到了java中hashmap的实现。突然来了兴趣,就想着自己也看看hashmap的实现的源码。此外,由于被老师要求使用JE22实现音乐网站的事,最近正在奋力利用传智博客的视频学习java web,所以nginx的事恐怕只能暂时放一下放了。从官方文档来看综述:网址:http://www.javaweb.cc/JavaAPI1.6/我挑了几句重要

2014-04-14 19:22:55 853

原创 设计模式:责任链模式

缘由设计模式:责任链模式说实话,责任链模式确实是我在学习设计模式中最简单的一个。思路非常简单。head first 设计模式在附录中只用了两页,却让我懂了大概的原理。首先说一下定义:责任链模式:chain of responsibility pattern 当你想让一个以上的对象有机会处理某个请求的时候,就使用责任链模式。我的理解就是有一个事务需要被处理,可能是由这个对

2014-04-13 17:13:38 860

原创 ngix:subrequest 的 用途 和 使用流程

缘由今天阅读了深入理解nginx的第五章的后半部分,主要讲的就是subrequest,功能我觉得主要就是两点具备类似代理的功能,就是把一个请求转发到上游服务器,但是与upstream的不同之处主要在于upstream只能把上游服务器的内容原封不动的返还给客户端。但是subrequest可以把上游服务器的相应在代理服务器这边做一定的修改之后再返回给上游服务器由substream可以将一个

2014-04-12 09:18:54 1242

原创 设计模式学习笔记:策略模式

缘由今天周五,下午那集课是讲设计模式的,今天讲了三个。现在总结一个,策略模式。上课讲的什么还是有点晕,不过好在看 head first 设计模式,还是把这个设计模式看懂了。下面这篇博客几乎是转述了head first 设计模式 里面的内容,表述的可以说更为清楚鸭子-策略模式(Strategy)http://www.cnblogs.com/justinw/archive/20

2014-04-11 21:35:00 748

原创 nginx:代理服务器(涉及upstream)的例子

缘由今天阅读 深入理解nginx 的第五章,前半部分讲解了upstream的问题,并且指导完成了一个例子。upstream先来回答upstream拿来做什么:客户端请求nginx,nginx将请求转发给第三方服务器(也称上游服务器),第三方服务器返回响应,nginx将响应转发给客户端。这时,nginx作为了一个代理服务器。一般,我们只是把第三方服务器的内容原封不动的返回给客户端

2014-04-10 22:35:33 2802

原创 nginx与Apache处理HTTP事务不同:以餐厅服务为例 (涉及nginx的上下文结构)

缘由今天读到 深入理解nginx的第四章,读到这个例子的时候非常棒,感觉非常有利于理解两个非常出名的服务器为什么不同。也可以说是为什么nginx就能支持高并发。背景我们去餐厅吃饭,一般都步骤都是:找到座位点餐用餐付钱走人如果把web服务器当作餐厅,那么一个请求当作一个客人一个worker进程当作一个服务员。那么,让我们来看看两款web服务器分别是如何为它们的

2014-04-09 13:44:31 1187

原创 nginx:让nginx运行自己的编写第三方模块

缘由今天阅读 深入理解ngnix 的第三章,需要完成一个第三方模块,然后添加到nginx里面去,然后我在对应的网页访问的时候就可以直接调用我写的第三方模块,这个第三方模块只是发浏览器发了一个hello world而已。流程1、P72:建一个ngx_http_mytest_module.c的文件,写我的新添加的模块的代码,因为还是比较简单的,所以用一个文件就可以了。2、P79

2014-04-08 23:23:46 1549 1

原创 高速缓存以及相关的几种算法的小结

缘由今日读完深入理解

2014-04-07 11:38:56 2044

原创 linux内核 与 web服务器 相关的某些参数(sysctl)

缘由昨天,深入理解ng

2014-04-06 14:07:31 1104

原创 ngnix:slab机制

http://www.cnblogs.com/doop-ymc/p/3412572.htmlhttp://www.dcshi.com/?cat=19http://blog.csdn.net/qifengzou/article/details/11678115

2014-04-05 21:43:53 715

原创 ngnix:共享内存

总览简要描述ngnix利用共享内存的流程。

2014-04-04 12:54:46 847

原创 ngnix之内存池:结构体简析 和 函数功能总览

感悟感悟有两点,第一点就是别人已经把这个内存池总结的非常好了,我只是在继续炒冷饭而已,但是我还觉得该写点什么,我打算写结构体的含义和相关函数的功能。源码文件:ngx_palloc.c和ngx_palloc.h更多复杂、详细的内容建议您参考:Nginx源码剖析之内存池,与内存管理深入剖析nginx  P65第二点就是如何看源码,昨日不知在哪里看源码的经验,需要三步:

2014-04-03 12:07:26 754

原创 nginx 源码:动态数组

动态数组这玩意吧,应该最简单的一个。动态数组有以下特征:访问速度快。允许元素的个数具体不确定性。也就说是可以动态扩充数组在ngnix中,动态数组的内存是通过向ngnix的内存池内申请的,所以动态扩充数组的时候特别方便,由ngnix统一管理。动态数组的结构和方法动态数组的结构struct ngx_array_s { void *elts;

2014-04-02 21:59:41 707

原创 ngnix hash的两个关键 : 预计算hash的元素个数 和 通配符存在时的建表

缘由说实话,代码也单步调试着看完了,本来打算详细的写写,结果网上资料太丰富,想想了自己写的也写不出什么新意,就算这次主要讲的两点也是炒冷饭而已。但是这两点确实是在认为在这次ngnix的hash中学到的最重要的东西。主要参考了:深入理解ngnix:对hash的实现原理将的非常清楚,非常有条理深入剖析ngnix:讲述ngnix会预先计算这个hash表中会存在多少元素,这样可以提

2014-04-02 19:43:27 1123

metronic.bootstrap

metronic.bootstrap.rar

2015-03-24

CLRS_exercises_2.1-1.xlsx

Using Figure 2.2 as a model, illustrate the operation of INSERTION-SORT on the array A =(31, 41, 59, 26, 41,58).

2015-02-26

WpdPack vs2010使用的winpcap的api

WpdPack vs2010使用的winpcap的api

2013-10-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除