TCP 的那些事儿(上)

2014-05-28

TCP是一个巨复杂的协议,因为他要解决很多问题,而这些问题又带出了很多子问题和阴暗面。所以学习TCP本身是个比较痛苦的过程,但对于学习的过程却能让人有很多收获。关于TCP这个协…

C语言的整型溢出问题

2014-04-21

整型溢出有点老生常谈了,bla, bla, bla… 但似乎没有引起多少人的重视。整型溢出会有可能导致缓冲区溢出,缓冲区溢出会导致各种黑客攻击,比如最近OpenSS…

C语言结构体里的成员数组和指针

2014-04-01

单看这文章的标题,你可能会觉得好像没什么意思。你先别下这个结论,相信这篇文章会对你理解C语言有帮助。这篇文章产生的背景是在微博上,看到@Laruence同学出了一个关于C语言的…

Python修饰器的函数式编程

2014-03-20

Python的修饰器的英文名叫Decorator,当你看到这个英文名的时候,你可能会把其跟Design Pattern里的Decorator搞混了,其实这是完全不同的两个东西。…

函数式编程

2013-12-27

当我们说起函数式编程来说,我们会看到如下函数式编程的长相:函数式编程的三大特性:immutable data 不可变数据:像Clojure一样,默认上变量是不可变的,如果你要改…

Lua简明教程

2013-12-03

这几天系统地学习了一下Lua这个脚本语言,Lua脚本是一个很轻量级的脚本,也是号称性能最高的脚本,用在很多需要性能的地方,比如:游戏脚本,nginx,wireshark的脚本,…

程序的本质复杂性和元语言抽象

2013-10-31

(感谢 @文艺复兴记(todd) 投递此文)目录组件复用技术的局限性程序的本质复杂性元语言抽象总结组件复用技术的局限性常听到有人讲“我写代码很讲究,一直严格遵循DRY原则,把重…

数据即代码:元驱动编程

2013-08-09

(感谢 @文艺复兴记(todd) 投递此文)几个小伙伴在考虑下面这个各个语言都会遇到的问题:问题:设计一个命令行参数解析API一个好的命令行参数解析库一般涉及到这几个常见的方面…

类型的本质和函数式实现

2013-07-22

(感谢 @文艺复兴记(todd) 投递此文)在上一篇文章《二叉树迭代器算法》中,我介绍了一种基于栈的二叉树迭代器实现。程序设计语言和Haskell大牛@九瓜 在看过之后评论到:…

二叉树迭代器算法

2013-07-14

(感谢 @文艺复兴记(todd) 投递此文)二叉树(Binary Tree)的前序、中序和后续遍历是算法和数据结构中的基本问题,基于递归的二叉树遍历算法更是递归的经典应用。假设…