Django

为游戏分析设计的分布式数据存储系统

本文是今年5月在中国云计算大会中的分享内容,主要是介绍腾讯游戏数据分析平台的一些后台架构设计和游戏分析思路。 在“大数据”相对泛滥的今天,我们

继续阅读

stl的内存管理

zz http://biancheng.dnbcw.info/c/73875.html

在你大量使用stl的各种容器时,你确定它们会按你想象的那样释放内存吗?你使用map存放1G的数据,当map clear后,它占用的空间释放了吗?

下面是一些统计数据:

继续阅读

thrift之python客户端使用

  1. 写好了cpp的服务器后,测试是个问题,写cpp程序来测试好像不是很灵活,所以想用python脚本来写测试程序,记录一下过程。

  2. 首先是thrift的python程序库的安装,有些基础库需要安装后才能运行,在thrift的目录库目录中,选择py目录,使用root账户就可以直接安装了。

cd thrift-0.9.0/lib/py
python setup.py install

即可完成安装。当然安装完成之后也要记得测试一下,安装是否成功。

继续阅读

Thrift的required和optional源码分析

thrift的数据类型定义的时候和protobuf(后面简称pb)一样也有requried和optional标签,意义是类似的,required标示改消息在序列化之前必须设置该字段值,如果不设置则无法序列化,当然也就更无法反序列化,该标签标示的字段是必填字段;而optional字段则标示该字段可赋值也可以不赋值,当然不赋值的结果是在序列化之后的数据中该字段被标示为无值字段,就是说直接访问获取该值是不行的,必须先判断是否设置了该字段的值,再去读值;这样作的好处是在协议扩充和变更时可以较为灵活的设计程序,而且在传输上也就减少了不必要的字段传输。

继续阅读

Thrift学习笔记—IDL基本类型

thrift 采用IDL(Interface Definition Language)来定义通用的服务接口,并通过生成不同的语言代理实现来达到跨语言、平台的功能。在thrift的IDL中可以定义以下一些类型:基本数据类型,结构体,容器,异常、服务

继续阅读

Thrift http嵌入sever设计实现

背景介绍

在服务器模块程序种嵌入一个简单的httpserver,再通过网页或是后台再访问这个httpserver,得到一些服务模块的实时运行数据或是运行环境数据,或者在浏览器端调整服务器的实时运行参数,从而达到对后台服务模块的实时监控。 本文所写的是在thrift框架之下如何嵌入一个httpserver模块,并且如何在thrift框架之下使用js和httpserver交互,发送数据到服务器,并且获取展示服务模块的运算结果。

继续阅读

terminate called after throwing an instance of 'stdz::logic_error'

程序编译没有问题,突然在测试的时候出了这样的问题。 terminate called after throwing an instance of ‘std::logic_error’ what(): basic_string::_S_construct NULL not valid 这个问题在我这里是因为调用了getenv,但是在测试的是后get

继续阅读

c种内存分配错误:malloc.c:3096: sYSMALLOc: Assertion

今天在学习一个小程序的时候出现了下面的内存分配错误。 rbtest: malloc.c:3096: sYSMALLOc: Assertion `(old_top == (((mbinptr) (((char *) &((av)->bins[((1) - 1) * 2])) - __builtin_offsetof (struct malloc_chunk, fd)))) && old_size == 0) || ((unsigned long) (old_size) >= (unsigned long)((((__builtin_offsetof (struct malloc_chunk, fd_nextsize))+((2 * (sizeof(size_t))) - 1)) & ~((2 * (sizeof(size_t))) - 1))) &&

继续阅读

Gstyle-Protocol Buffers(protobuf)

部门内部在大行其道Gstyle—gtest、glog、protobuf。。。。。。所以我也就先学习学习,以备后面使用的时候在手慌脚乱的,上个月对gtest的使用做了一些学习,基本在日常的开发中已经开始慢慢使用了,而且我自己也根据网友的一个项目lcut分了一个分支xcut–主要是增加了一些我想要的特点。

这几天又学习了protobuf,是google的一个广泛的数据包协议,有了这个就可以把这边定义的包发送到对方,对方就可以很简单的解析出来,就类似于xml,json等协议一样,据网上说,该协议效率很高,空间占有量又很小,是一个比xml或是json要好很多的协议,但是一点就是可读性比较差,看不懂数据是怎么排列和各个字段的意思。

继续阅读