存档

作者存档

括号匹配问题

2013年5月19日 4 条评论 6400次阅读    

刚起床看微博,陈利人又发了个题:

“括号匹配:给定字符串,输出括号是否匹配,例如,"()" yes;")(" no;"(abcd(e)" no;"(a)(b)" yes。要求必须用递归写,整个实现不可以出现一个循环语句。"

很多人都说用栈实现,太麻烦了吧,直接用递归自然堆栈就行了:

阅读全文...

Share
分类: 算法 标签:

redis内存管理代码分析

2013年5月4日 1 条评论 7179次阅读    

今天开始学习redis代码,首先内存分配。
本以为它的内存分配会很复杂的,不过看样子比较简单,基本就是在malloc上面包了一层,不过也可选的可以使用tcmalloc进行内存分配了,据说google这个tcmalloc性能不错。
不多说了,show me the code.详见代码注释。
阅读全文...

Share
分类: Redis 标签: , ,

最长公共子序列LCS-算法回顾

2013年4月29日 没有评论 5531次阅读    

最长公共子序列(lcs) 有些变种,比如最长递增子序列,求最小编辑距离;
类似vimdiff等也用的lcs基本原理,猜测可能是这样的:先按行求LCS,或者说编辑距离,然后对需要“编辑”的地方按行求编辑距离。

阅读全文...

Share

最优二叉搜索树-算法回顾

2013年4月29日 没有评论 4873次阅读    

在review之前的书籍,所以把学到的顺手记录在这里了。

由最 优二叉搜索树可以延伸到3X,4X,nX搜素树,只不过在寻找最优子树的时候需要处理3,4的情况。

如果所有节点的概率都想等的话,直接构造完全二叉树就行了。
阅读全文...

Share

nginx 配置文件解析原理

2013年4月26日 没有评论 5292次阅读    

最近看了nginx配置文件解析的相关代码,用Graphviz花了个草图,够草的图····

先做回标题党,最近事情比较多

阅读全文...

Share
分类: C/C++, Nginx 标签:

北京北京

2013年2月6日 没有评论 4067次阅读    

北京北京
词曲:汪峰
演唱:汪峰

当我走在这里的每一条街道
我的心似乎从来都不能平静
除了发动机的轰鸣和电气之音
我似乎听到了他烛骨般的心跳
阅读全文...

Share
分类: 生活杂感 标签:

2013,我的苦旅

2013年1月1日 没有评论 4266次阅读    

2013年的第一天,依旧有点忙

从实习到现在1年半了,有所成长但是还没有达到预期的程度。
记得那年下火车踏上北京的土地的时候,给自己的誓言:5年后,给自己一张完美的答卷。
如今已过1.5,还剩3.5年,所剩的时间不多了,而要做的事情却还很多,很多,很多····

剩下的 时光愈是短暂,我愈要使之过的丰盈充实。

趁着年轻,希望我不会让自己失望!

Share
分类: 生活杂感 标签:

nginx源码阅读-ngx_times.c时间管理

2012年10月5日 没有评论 8568次阅读    

此处记录一下在看ngx_times.c时的随手写下的注释。 阅读全文...

Share
分类: Nginx 标签:

由换座便器冲水管想到的软件开发中的接口设计

2012年10月3日 没有评论 4632次阅读    

前段时间家里的座便器按下去后好一阵子才能弹起来,其影响为:
1. 声音很大吵人;
2. 随机出现弹不起来,得再去按一下才行;
3. 浪费水资源;
因此必须换了,之前一直没有时间,正好国庆在家没有出去玩。目测是因为里面的冲谁管弹簧坏了,所以到外面的水暖店里面买了个冲谁管,老板说都是通用的(赞),样子如下图: 阅读全文...

Share

家里干活的环境搭建完成-Sweet Home

2012年10月3日 没有评论 4097次阅读    

这个国庆准备猫在家充电了。刚发的工资果断用来配置东西了。

1.一个PHILIPS 23寸显示器,超薄的,宽屏可以显示2屏代码拉,爽!

2.道远便宜的台灯 配一个比台灯还贵的好视力灯泡,果断护眼开夜车!

3.一张转椅;

总结:一桌,一椅,一灯,一屏,一电脑,一码农····

白天求生存,晚上谋发展--经典
阅读全文...

Share
分类: 生活杂感 标签:

poll 内核原理-注释

2012年9月20日 没有评论 6509次阅读    

之前整理的poll的实现原理,给内核代码做了个注释,linux 2.6.11代码貌似,后来偷懒没有写epool了,只是在代码里面分析了一下epoll,poll,select的区别。
下面是一张poll过程的草图,点击大图看清楚一些,太大了不太好显示:

poll原理流程图

阅读全文...

Share

最近的目标

2012年9月20日 1 条评论 3961次阅读    

最近的目标:

1.提高干活并发量;

2.提高TPS(效率);

3.快速迭代看代码;

Share
分类: 生活杂感 标签:

inet_ntoa 是采用静态内存分配的 线程安全 函数

2012年8月12日 2 条评论 13812次阅读    

好吧,其实这是个很简单的问题

1.原因

好久没碰过C代码了,刚看到inet_ntoa(),突然想到这个应该是静态分配的内存,不用释放。但不知道是不是线程安全的,就是说一个线程一份buffer。 阅读全文...

Share
分类: C/C++, UNIX/LINUX 标签:

sunner终于竟然离开哈工大了

2012年7月18日 没有评论 4846次阅读    

希望此后的大学还能有几位这样的老师,纯洁的,不官样世俗的老师。http://blog.sunner.cn/to-south-after-10-years-teaching/

bless

阅读全文...

Share
分类: 生活杂感 标签:

fork()父子进程运行先后顺序

2012年7月14日 1 条评论 21026次阅读    

本文意在解决如下2个问题:

fork函数创建子进程后,到底哪个先运行?linux系统为什么要这么设计?

阅读全文...

Share

买车啦买车啦

2012年7月7日 4 条评论 4506次阅读    

今天买了辆新自行车,以后上班加班各种方便了。

至少10.1之后再替换我这破烂的阿尔卡特手机,立此为据。

Share
分类: 生活杂感 标签:

继续开始实习了

2012年7月4日 没有评论 3561次阅读    

2号毕业答辩,3号到23点回到北京,4号早上上班。

又开始实习了······

以后有时间好好休息吧

Share
分类: 生活杂感 标签:

就这么匆匆的毕业了

2012年7月2日 没有评论 3896次阅读    

回校这十多天一直很忙,感觉学校的节奏太慢了,看完带来的书后就感觉心慌,没事干闲的心慌···才发现已经适应了工作的节奏了

今天刚答辩完,改了张3号的火车票,就匆匆的准备离开哈尔滨了,不是不留恋,只是心底太憧憬前面的苦旅了,加上公司有事。

大学四年真的很快,快得让我没来得及静静的想想这四年的生活,以前在学校还偶尔一个人去学校旁的铁路上走走,回顾一下自己的生活,或者去咖啡馆坐一个下午,写写日记,发现现在回来都没有再跟北国这片土地留张照片了,明天走的时候记得拍张背影吧···出去了,就不回头 阅读全文...

Share
分类: 生活杂感 标签:

关于基类构造函数调用虚函数实际调用的不是派生类的问题的原因

2012年7月1日 没有评论 4714次阅读    

关于基类构造函数调用虚函数实际调用的不是派生类的问题的原因

我们知道,类的构造函数里面编译器插入了很多代码,比如异常安全,虚函数表指针的设置,基类构造,等等。

而且,关键是这些代码时在任何用户的代码(非初始化)的地方之前插入的,问题就来了···

如果在基类构造函数里面调用基类的虚函数,那么,实际调用的却不像我们当初认为的多态效果,为什么呢?

下面看看编译怎么实现的就知道了····
阅读全文...

Share
分类: VC++ 标签: , ,

ATL与MFC消息分发机制的对比—由金山开源代码引出的思考(一)

2012年7月1日 没有评论 6205次阅读    

前几天刚看金山开源代码时写了一篇博客分析了一下其消息机制的实现方式。后来发现写的很多都是ATL里面的,最**的是犯了一个严重的错误,把ATL的窗口消息机制里面一个重要技术:实现HWND和对应窗口类this指针之间的映射的Thunk技术给忽略掉了。后来陈坤GG即时的提醒了我,先谢谢他了!
好了,步入正题,今天主要对比一下ATL和MFC是如何将窗口句柄HWND和对应的类的this指针映射的。
阅读全文...

Share
分类: VC++ 标签: ,