baidu

05 2011 档案

摘要:本文炒冷饭.说实话,一直挺看好Thrift,支持的语言又多,代码写的有很清晰,效率又不低,为啥研究Protocol Buffer的人那么多.不管那么多了....Thrift中的对象序列化是我很看好的东西,他用compiler+类库,让你高效的完成任务,而且可以少犯错误.试想,有谁可以保证自己设计的对象,不会再改变呢?数据库的schema改了,你可以改改查询语句,但是如果你对象改了,之前序列化好的东西,有时候就很难搞回来了.(哎.....)废话不说,看Thrift里面怎么搞的.1. Thrift支持的数据类型Thrift支持的数据类型定义在TProtocol.h这个头文件中,有一个TType的枚 阅读全文
posted @ 2011-05-14 16:02 egmkang 阅读(13995) 评论(4) 推荐(2) 编辑
摘要:成天写迭代器,写的手指都疼,BOOST_FOREACH可以方便的遍历STL容器.只需要头文件:#include <boost/foreach.hpp>然后遍历容器vector/list/set/deque/stack/queue都是类似的:vector<int32_t> _v;BOOST_FOREACH(int32_t value,_v){//这里就可以访问value}同时元素还支持引用,const,比如上面代码还可以写成:vector<int32_t> _v;BOOST_FOREACH(int32_t& value,_v){//这里就可以修改/访问 阅读全文
posted @ 2011-05-14 13:46 egmkang 阅读(15583) 评论(0) 推荐(2) 编辑
摘要:每每看一遍都有新的收获 阅读全文
posted @ 2011-05-12 18:48 egmkang 阅读(516) 评论(2) 推荐(1) 编辑
摘要:lua里面函数是first-class function,这样就显得lua的函数跟C/C++里面不太一样.local function print()--code hereend--其实就是local print = function () --匿名函数--code hereend因为函数是first-class function,所以你可以拿一个变量去索引那个函数,而且此时函数的上下文信息还有,在函数体内可以访问外部的信息.(扯远了,这是闭包,有兴趣的去看看wiki)经常看到这样的代码:tb = {}function tb.print()end其实有了上面的知识,我们也能知道,刚才那段代码也 阅读全文
posted @ 2011-05-02 15:30 egmkang 阅读(5322) 评论(3) 推荐(1) 编辑

点击右上角即可分享
微信分享提示