Nginx 脚本引擎解析源码注释
nginx的配置文件功能是相当强大的,之前了解了其主体执行流程,配置文件加载等,今天学习了一下其脚本解析的原理等,写了点注释放下面。
目前没写什么描述代码了,快趴下了,得睡觉去···
其他注释的代码在这里:https://github.com/kulv2012/ReadNginxSrc
最近比较忙,过段时间用grahpviz画个图吧
阅读全文...
nginx的配置文件功能是相当强大的,之前了解了其主体执行流程,配置文件加载等,今天学习了一下其脚本解析的原理等,写了点注释放下面。
目前没写什么描述代码了,快趴下了,得睡觉去···
其他注释的代码在这里:https://github.com/kulv2012/ReadNginxSrc
最近比较忙,过段时间用grahpviz画个图吧
阅读全文...
刚起床看微博,陈利人又发了个题:
“括号匹配:给定字符串,输出括号是否匹配,例如,"()" yes;")(" no;"(abcd(e)" no;"(a)(b)" yes。要求必须用递归写,整个实现不可以出现一个循环语句。"
很多人都说用栈实现,太麻烦了吧,直接用递归自然堆栈就行了:
今天开始学习redis代码,首先内存分配。
本以为它的内存分配会很复杂的,不过看样子比较简单,基本就是在malloc上面包了一层,不过也可选的可以使用tcmalloc进行内存分配了,据说google这个tcmalloc性能不错。
不多说了,show me the code.详见代码注释。
阅读全文...
最长公共子序列(lcs) 有些变种,比如最长递增子序列,求最小编辑距离;
类似vimdiff等也用的lcs基本原理,猜测可能是这样的:先按行求LCS,或者说编辑距离,然后对需要“编辑”的地方按行求编辑距离。
在review之前的书籍,所以把学到的顺手记录在这里了。
由最 优二叉搜索树可以延伸到3X,4X,nX搜素树,只不过在寻找最优子树的时候需要处理3,4的情况。
如果所有节点的概率都想等的话,直接构造完全二叉树就行了。
阅读全文...
2013年的第一天,依旧有点忙
从实习到现在1年半了,有所成长但是还没有达到预期的程度。
记得那年下火车踏上北京的土地的时候,给自己的誓言:5年后,给自己一张完美的答卷。
如今已过1.5,还剩3.5年,所剩的时间不多了,而要做的事情却还很多,很多,很多····
剩下的 时光愈是短暂,我愈要使之过的丰盈充实。
趁着年轻,希望我不会让自己失望!
此处记录一下在看ngx_times.c时的随手写下的注释。 阅读全文...
前段时间家里的座便器按下去后好一阵子才能弹起来,其影响为:
1. 声音很大吵人;
2. 随机出现弹不起来,得再去按一下才行;
3. 浪费水资源;
因此必须换了,之前一直没有时间,正好国庆在家没有出去玩。目测是因为里面的冲谁管弹簧坏了,所以到外面的水暖店里面买了个冲谁管,老板说都是通用的(赞),样子如下图: 阅读全文...
这个国庆准备猫在家充电了。刚发的工资果断用来配置东西了。
1.一个PHILIPS 23寸显示器,超薄的,宽屏可以显示2屏代码拉,爽!
2.道远便宜的台灯 配一个比台灯还贵的好视力灯泡,果断护眼开夜车!
3.一张转椅;
总结:一桌,一椅,一灯,一屏,一电脑,一码农····
白天求生存,晚上谋发展--经典
阅读全文...
之前整理的poll的实现原理,给内核代码做了个注释,linux 2.6.11代码貌似,后来偷懒没有写epool了,只是在代码里面分析了一下epoll,poll,select的区别。
下面是一张poll过程的草图,点击大图看清楚一些,太大了不太好显示:
好吧,其实这是个很简单的问题
好久没碰过C代码了,刚看到inet_ntoa(),突然想到这个应该是静态分配的内存,不用释放。但不知道是不是线程安全的,就是说一个线程一份buffer。 阅读全文...
希望此后的大学还能有几位这样的老师,纯洁的,不官样世俗的老师。http://blog.sunner.cn/to-south-after-10-years-teaching/
bless
近期评论