2017-01-30 Borg
Schema Design mongodb区别于sql数据库,没有外键,支持内嵌文档。在设计数据库时既可以内嵌也可以分别创建不同的集合再进行连接,较为自由。内嵌的好处是提高磁盘读取效率。缺点是不能内嵌太多文档,否则会超过16MB的文档大小限制,还有如果内嵌导致大量重复数据则容易造成数据不一致。 继续阅读 »
2014-01-25 Kun Ren
Sublime Text is an extremely powerful text editor. Currently I use Sublime Text 3 and quite enjoy its simplicity and extensibility. In this blog, I would like to introduce some of my favorite packages that leverage my productivity. 继续阅读 »
2013-09-26 Robin Wen
文/Robin 本站推广 币安是全球领先的数字货币交易平台,提供比特币、以太坊、BNB 以及 USDT 交易。 币安注册: https://accounts.binancezh.pro/cn/register/?ref=11190872 邀请码: 11190872 2013年9月22日Oracle官方发布MySQL5.7.2,功能增加了很多,也有很多优化,该版本提供了更快的连接速度,更高的事务吞吐量,提升了复制速度,带来了内存仪表和其他增强功能,从而实现更高的性能和增强的可管理性。 但另外一条新闻是“MySQL再度失势:继维基百科之后,Google也迁移到了MariaDB”,不知此时Oracle怎么想。早在今年4月份就有报 继续阅读 »
2017-02-27 Borg
Security authentication access control/authorization encryption network setup auditting authentication 用户信息存储在dbname.system.users, 当dbname为admin时为全局设置,当使用数据库级别设置(即dbname不等于admin时)可以在不同的数据库使用相同的用户名而不产生冲突。 继续阅读 »
2015-06-23 Klaus Ma
#if __cplusplus >= 201103L #include #else // __cplusplus >= 201103L #include #endif // __cplusplus >= 201103L 继续阅读 »
2015-04-05 刘太华
游戏里有很多事件, 可能会随玩家, 或场景内某个物品或某个生物体的状态, 来触发这些事件。比如那种跟随主人走动的宠物,可以认为随主人的状态变更为STATE_MOVE来触发宠物的某个事件, 比如跟随主人,宠物类和宠物的AI类, 以及人物类, 均是独立的, 我们需要一个观察器来连接他们之间的关联: 继续阅读 »
2013-02-18 刘太华
FlameGraph的例图,解释如下: 图中每一个方块代表栈里的一个函数。 Y轴代表调用深度,最上面的是当前正在CPU上执行的函数,下面的都是其祖先。每个函数都是由它下方的函数调用的。 X轴不是按照时间先后排列的,它只代表样本数目。方块越宽,代表该函数出现的次数越多。 在有多个并发线程同时被采样,样本总数可能超过采样所用的时间。 继续阅读 »
2015-08-22 刘太华
工厂类回收资源和夸线程回调时对象是否还存在判断 虽然大多数逻辑都在单线程里实现, 但是不能避免的是一些IO阻塞类型逻辑, 不得不放入子线程里执行,当IO完成后boost:bind(callback, arg1, arg2 ...) 放入主线程队列内执行callback, 但是问题是,假如callback指向的对象函数的对象, 已经销毁了, 这时候就无法判断对象是否还存在了,不判断就会core dump. 继续阅读 »
2015-02-26 Jason Liao
http://www.queness.com/post/13679/7-tips-for-improving-your-user-interface-design 继续阅读 »
2014-10-23 Xie Jingyi
鉴于U盘中Sublime的配置常常莫名其妙地消失,在此将其记录一下。 Code { "cmd": ["fpc", "-S2", "${file}", "-o${file_path}/${file_base_name}.exe"], "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", "working_dir": "${file_path}", "selector": "source.pascal", "variants": [ { "name": "Run", "c 继续阅读 »