摘要: Erlang消息接收函数,一般都会设计成尾递归调用自己的模式。但是这样的模式,如果没有消息则会无限的等待下去,所以为了不无限等待,这里可以加个超时设定,例如:flush() -> receive _ -> flush() after 1000 -> ok ... 阅读全文
posted @ 2014-06-23 19:25 kiven.li 阅读(450) 评论(0) 推荐(0) 编辑
摘要: Erlang的shell功能强大,这里我将它当成我的客户端。可以动态的输入你需要发送的内容,也可以动态的接收内容,就像调试器一样,在开发过程中起到很重要的作用。具体使用方式如下:C:\Documents and Settings\Administrator>erlEshell V5.10.4 ... 阅读全文
posted @ 2014-06-09 19:47 kiven.li 阅读(243) 评论(0) 推荐(0) 编辑
摘要: Note:I've compared,and;in guards to the operatorsandalsoandorelse. They're not exactly the same, though. The former pair will catch exceptions as th... 阅读全文
posted @ 2014-05-30 20:01 kiven.li 阅读(199) 评论(0) 推荐(0) 编辑
摘要: Erlang的模式匹配用来处理二进制数据可谓是得心应手。不仅直观,而且超乎想象的简单。在C++中,处理二进制数据首先要管理缓冲区。然后再按字节进行操作,如果要处理的数据不是按字节对齐,则需要进行位移等操作。操作过程复杂又难懂,如果再没有注释,那对于维护这段代码的人来说简直就是噩梦。例如:操作一串... 阅读全文
posted @ 2014-05-28 22:47 kiven.li 阅读(1442) 评论(0) 推荐(0) 编辑
摘要: Erlang最大的优点是方便,很多基础功能都已经集成到Erlang语言中。之前用C++写服务器的时候,管理TCP连接很繁琐,需要写一大堆代码来实现。底层的框架需要写很多代码实现,这样既浪费时间,又会有很多BUG。但是用Erlang就方便多了,底层的一切你都不需要考虑,你只需要考虑,服务器的架构以... 阅读全文
posted @ 2014-05-24 18:11 kiven.li 阅读(3168) 评论(4) 推荐(3) 编辑
摘要: 今天在看《Distributed Systems Concepts and Design》这本书的时候,在讲到分布式系统的安全性的时候,给出了TEA算法,书本上有现成的代码,所以摘录下来以备后用。下面摘自百度百科的简短介绍: TEA算法由剑桥大学计算机实验室的David Wheeler和Roger Needham于1994年发明[3]。它是一种分组密码算法,其明文密文块为64比特,密钥长度为128比特。TEA算法利用不断增加的Delta(黄金分割率)值作为变化,使得每轮的加密是不同,该加密算法的迭代次数可以改变,建议的迭代次数为32轮。 加密算法代码如下: 1 void encrypt... 阅读全文
posted @ 2013-11-30 17:21 kiven.li 阅读(1001) 评论(1) 推荐(0) 编辑
摘要: 最近在看别人的博客的时候,看到别人推荐一种开源的输入法Rime。然后就下载下来一用,果然给力啊,没有广告,没有插件,很干净的输入法。比其他输入法强太多。废话少说,下面是链接https://code.google.com/p/rimeime/wiki/Downloads。里面介绍的已经很详细了,然后想要选择具体输入方案时可以直接按F4进行选择,里面有介绍说要按Ctrl + `。但是我一次都没有成功过。 阅读全文
posted @ 2013-11-07 19:06 kiven.li 阅读(348) 评论(0) 推荐(0) 编辑
摘要: 一、怎样通过为观众制造不便来提高说服力? 当人们对一件事抱不确定态度时,他们倾向于观察周围人的做法,以指导自己的行为。 我觉得这就是一个从众的心里态度,只要有很多人做了,对自己的决断是有很大影响力的。比如书中举的例子:研究人员和同事以及一名助手在纽约大街上驻足仰望天空,该姿势足足保持了60秒,期间,大多数行人都匆匆地从身旁经过,并未对他们产生好奇。后来研究人员把仰望天空的人数增加了四名以上。这时,主动停下来和他们一起抬头看天的行人数翻了四倍。 还有一个例子就是:纸盒抓奖的骗局,骗子A拿一个盒子然后里面有很多有小奖励的奖券,骗子B装做路人在哪里观看,不时的问几个问题然后装作忍不住的样... 阅读全文
posted @ 2013-03-28 11:31 kiven.li 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 到现在2012年已经过去三个月了,之前一直懒的没有写总结。想想去年还是干了蛮多事情的,具体如下: (1).完成公司页游项目,并对服务器端进行压力测试,效果比较理想。但是这部分内容不宜多说。 (2).读了<<计算机程序的构造和解释>>,学会了LISP编程语言,对函数式编程有了新的认识。也对编程的思维方式有了新的认识。最让我惊叹的是用LISP实现LISP,呵呵。也让我对自己想做但是一直做的不完美的游戏模拟器有了新的认识。 (3).读了<<TCP/IP详解>>卷一和卷二对UNIX V6版本中网络协议栈的实现有了深刻的了解。也读了<<Linu 阅读全文
posted @ 2013-03-10 18:14 kiven.li 阅读(175) 评论(0) 推荐(0) 编辑
摘要: TCMalloc(Thread-Caching Malloc)与标准glibc库的malloc实现一样的功能,但是TCMalloc在效率和速度效率都比标准malloc高很多。TCMalloc是google-perftools工具中的一个,这个工具都是开源的,以源码形式发布。如果觉得自己维护一个内存分配器麻烦的话,可以考虑将TCMalloc静态库连接到你的程序中。使用的时候和glibc中的malloc调用方式一样一样的。你需要做的只是把TCMalloc的动态库或者静态库连接进你的程序中,你就可以获得一个高效,快速,安全的内存分配器。好了废话不多说,如果想知道更多关于TCMalloc的信息,看.. 阅读全文
posted @ 2013-03-07 15:30 kiven.li 阅读(6048) 评论(3) 推荐(1) 编辑