- 博客(11)
- 收藏
- 关注
原创 Rust Trait Object 和对象安全
所谓 trait 对象,可以理解为其它面向对象语言中,指向接口或基类的指针或引用。其它OO语言指向基类的指针在运行时确定其实际类型。Rust 没有类继承,指向 trait 的指针或引用起到类似的效果,运行时被确定具体类型。所以编译期间不知道大小。trait 对象体现出来就是对一个 trait类型的指针或引用。不是所有的 trait都可以被当做 trait对象使用,能作为 Trait 对象使用的 trait 要同时满足以下规则: rule 1: trait 的 Self 类型参数不能..
2020-12-16 09:52:03
2884
原创 Akka FSM 源码分析
Akka FSM 源码分析萧猛<simonxiao@qq.com>啰嗦几句有限状态机本身不是啥新鲜东西,在GoF的设计模式一书中就有状态模式, 也给出了实现的建议。各种语言对状态机模式都有很多种实现的方式。我自己曾经用C++和java实现过,也曾经把 apache mina 源码中的一个状态机实现抠出来单独使用。但Akka的状态机是我见过的最简洁漂亮实现,充分利用了Sc...
2014-06-18 10:11:12
2867
翻译 Scala Akka 活动对象持久化 Eventsourced 设计模式使用指南
Scala Akka 活动对象持久化 Eventsourced 设计模式使用指南
2014-01-02 11:45:47
3723
原创 配置 Sublime Text 方便查看Scala 编译器的解析结果
Scala 编译器会对代码进行几个阶段的处理,检查处理的中间结果,可以便于理解Scala编译器的工作机制,更好的理解语言本身。在命令行使用 Scalac -Xprint:parse XXX.scala 就可以得到编译器在prase阶段的处理结果。(要了解所有处理阶段请参阅 Scalac 的文档 )例如代码:class Main extends App{ f
2013-12-21 16:13:26
1334
翻译 A Groovy DSL from scratch
研究DSL 时发现这篇文章不错,顺手翻译了一下。原文地址 A Groovy DSL from scratch in 2 hours今天是我的幸运日,我在Dzone发现了Architecture Rules。这是一个对 Jdepend 进行抽象的一个有趣的小框架。 Architecture Rules有它自己的Xml Schema定义,
2012-10-18 08:59:35
1199
原创 《From C++ to Objective-C 》中译稿
前段時間看Mac OS 及 IOS的開發,發現一本書不錯《From C++ to Objective-C 》,可以讓C++程序員較快的掌握 Objective-C 。順手把這本書翻譯了一下。歡迎感興趣的朋友看看。有建議請發郵件到 simonxiao@gmail.com 方便我改進翻譯質量,謝謝!《From C++ to Objective-C 》简体中文版http://www.simo
2011-01-11 19:20:00
1046
1
原创 网游服务器系列之三:定制Linux内核实现基于QoS高效数据广播
高延迟产生的原因 前文提到了网游服务器有大量的广播数据需要及时分发出去,否则将导致延迟增长,这也是限制网游服务器负载能力的一个重要原因。目前主流的网游服务器的实现机制是采用TCP的前置连接服务器分担广播压力。好处是可以通过增加前置连接服务器的数量增加负载能力,但是其发送延迟却不是最优的。 首先,TCP的可靠性保证,流量控制机制在保证可靠传输的同时也增加了通讯的延迟。 第二,前置连接服务器的存在实际上额外增加了转发处理的延迟。 假如游戏逻辑服务器直接与客户端通讯,那么数据从服务器发到客户端
2010-11-11 18:03:00
1578
3
原创 网游服务器系列之二:常用的网游服务器集群设计
两面人原创,优快云 首发网游服务器集群设计至少需要达到以下目标: 高负载能力 既定的硬件配置下能够尽可能支持更多的用户 高响应能力 用户的响应延迟尽量要小,一般而言,对于RPG类游戏非战斗情况下延迟应低于500ms,PVE战斗情况下要低于300毫秒,PVP战斗下应低于200毫秒。对于格斗类游戏,延迟要求应该更小。 可伸缩性 很少的硬件下也能部署出完整的系统,负载要求提高时可以通过新增硬件来提高负载能力。但硬件投入的增加和负载能力的增长应该是线性关系。另外由于
2010-11-11 18:01:00
1972
原创 网游服务器系列之一:网游数据通信特点
两面人原创,优快云 首发网络游戏的数据通信的带宽占用情况是有一定规律可循的,分析这些规律对设计服务器的负载均衡,优化服务器的网络I/O性能都有很大帮助。下面以著名网络游戏《魔兽世界》为例,选取三个典型的游戏场景,通过NetLimiter记录游戏客户端的网络I/O的带宽占用情况,分析网游在不同场景下的数据通信特点。首先选择在一个无人(没有NPC也没有其他玩家)的野外 场景,角色站立不动一段时间,记录上下行的传输速度,然后角色迅速的不停移动位置,记录数据。得到的结果如下图:图1无人荒野
2010-11-11 18:00:00
2416
2
原创 用Word 写csdn blog
测试一下OK加一张图片测试一下 Very Good.配置说明: 在Word 新建文件时选择选择模板"博客文章",账号管理对话框如上图配置。MetaWebLog是一个RFC标准标准,支持编程的方式发布博客文章。Csdn 支持这个协议,url地址:http://blog.youkuaiyun.com/twoface/services/metablogapi.aspx ,记得把twoface换成那你自己的账号。
2010-07-12 16:32:00
754
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人