上一页 1 2 3 4 5 6 ··· 9 下一页

2012年8月8日

protobuf用Extensions定义消息方法

摘要: protobuf Extensions这个东西还真蛮有用的, 这里记录一下用Extensions定义方法。msg.protopackage ProtoCS; enum CmdID { CID_MOD = 1, } message MsgHead { optional int32 cid = 1; } message Msg { optional MsgHead head = 1; optional int32 ret = 2; extensions 100 to 10000; } 这是主文件,注意看最后一行, 留了100~10000的tag numbe... 阅读全文

posted @ 2012-08-08 15:20 daemonh 阅读(1207) 评论(0) 推荐(0) 编辑

2012年8月5日

C++运算符优先级,记录一下

摘要: C++ 运算符优先级列表http://www.cppreference.com/operator_precedence.htmlPrecedenceOperatorDescriptionExampleAssociativity1()[]->.::++--Grouping operatorArray accessMember access from a pointerMember access from an objectScoping operatorPost-incrementPost-decrement(a + b) / 4;array[4] = 2;ptr->age = 34 阅读全文

posted @ 2012-08-05 13:35 daemonh 阅读(180) 评论(0) 推荐(0) 编辑

2012年7月21日

32bit g++编译64位整数作为key的__gnu_cxx::hash_map的编译错误问题

摘要: 类似这样一段代码:__gnu_cxx::hash_map<uint64_t, Obj> objs;64bits的整数作为key的__gnu_cxx::hash_map, 原来一直在64bits的编译器下编译,一直好好的。有一次放到32bits的编译器下,产生一大堆乱七八糟的错误(模板编译错误提示太坑爹了)。问题出现在template<class _Key> struct hash{} 里面。struct __gnu_cxx::hash{}偏特化了几种整数版本,包括char, short, int, long,以及上面4种unsigned版本,分析unsigned lon 阅读全文

posted @ 2012-07-21 18:14 daemonh 阅读(242) 评论(0) 推荐(0) 编辑

2012年7月9日

从 Memcached 分布式应用看一致性哈希散列函数的选择 .

摘要: 一致性哈希算法来源于 P2P 网络的路由算法,目前主流的 P2P 软件就是利用我们所熟知的 DHT (Distributed Hash Table,分布式哈希表) 来定位整个分布式网络的信息,另外此算法在目前火热的云计算领域也将占有极其重要的位置。可以说散列函数在当代计算机和网络系统中所起的重要作用大家应该都有目共睹了,特别是在目前这个分布式应用爆炸的时代,这个方面的知识只会越来越引起人们的重视,本文重在从 Memcached 这个流行的分布式应用的场景中来对一致性哈希散列的几个主流算法做一些比较和分析。[背景信息] 对于 Memcached 来说,本身是集中式的缓存系统,要搞多节点分布,只能 阅读全文

posted @ 2012-07-09 15:37 daemonh 阅读(173) 评论(0) 推荐(0) 编辑

2012年6月12日

更快、更强 64位编程的三十二条军规

摘要: http://www.cnblogs.com/niocai/archive/2011/11/09/2242565.html即使目前没有为纳米电子学、空气动力学、分子静力学、细胞生命周期建模等等编写高级应用程序,说不定以下这32条规则,对你向更高级处理器移植程序会有所帮助。 近期以来,似乎大家都在谈及64位计算,如采用AMD Athlon 64处理器的笔记本、采用IBM PowerPC 970芯片的Apple G5、又或Intel Itanium架构是否会被取消,对此,IT界和新闻界似乎都还没有尽兴。新一轮处理器所带来的冲击,不仅表现在改善数据库执行效率、提高图形程序速度上,也为编写解决世界上. 阅读全文

posted @ 2012-06-12 15:38 daemonh 阅读(137) 评论(0) 推荐(0) 编辑

2012年5月31日

遇到的一个bug

摘要: 大体代码是这样:class Role;void GameMgr::Handle(){ DispParam dp; Role* role = GetRole(xxx); if (!role) { role = CreateRole(...); dp.role = role; } Dispatch(...);} 上面dp的role,如果role是合法的时候,就不会去设置正确的role。然后经过X层调用后,最后dp.role->Set(xxxxx);void ... 阅读全文

posted @ 2012-05-31 19:47 daemonh 阅读(138) 评论(0) 推荐(0) 编辑

2012年4月27日

TCP4次关闭状态

摘要: 这个状态老记不住,网上copy一张。 阅读全文

posted @ 2012-04-27 10:17 daemonh 阅读(105) 评论(0) 推荐(0) 编辑

2012年4月22日

Mysql 5.1 安装和配置

摘要: 1. 安装 安装前可以看一下configure -h,其中可能用到的有: --without-server 不安装服务器mysqld之类的。 --with-mysqld-ldflags=-all-static--with-client-ldflags=-all-static 全部用静态库shell> groupadd mysqlshell> useradd -g mysql mysqlshell> gunzip < mysql-VERSION.tar.gz | tar -xvf -shell> cd mysql-VERSIONshell> ./configu 阅读全文

posted @ 2012-04-22 20:30 daemonh 阅读(342) 评论(0) 推荐(0) 编辑

2012年4月21日

把vim配置记录一下

摘要: set autoindentset numberset smartindentset shiftwidth=4set tabstop=4syntax on 阅读全文

posted @ 2012-04-21 09:38 daemonh 阅读(125) 评论(0) 推荐(0) 编辑

2012年4月19日

RPG和SNS类游戏的cache server设计和实现区别随笔

摘要: 把平时对cache这块内容的思考、实践总结一下。游戏的cache server的设计和实现策略由游戏逻辑特点决定。RPG和SNS类用户(这里用户指游戏中的玩家帐号和角色)行为特征不一样,他们的cache server实现策略也存在不同。RPG类的cache server实现起来比较简单一些。大部分情况以玩家帐号和角色ID作为key,处理查增改删的功能。查询 先看cache中有没有对应key的数据,有,直接返回;没有从持久化设备处查询,查到了,更新cache。增加和更新 很多时候,这两个功能要一起实现。增加一条记录大部分情况要有返回值。 应用要增加一条记录,要确定一下,他是否存在了,存在的话,就 阅读全文

posted @ 2012-04-19 15:09 daemonh 阅读(231) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 ··· 9 下一页

导航