自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

萧猛的技术博客

分布式系统 软件架构 程序设计 互联网产品

  • 博客(11)
  • 收藏
  • 关注

原创 Rust Trait Object 和对象安全

所谓 trait 对象,可以理解为其它面向对象语言中,指向接口或基类的指针或引用。其它OO语言指向基类的指针在运行时确定其实际类型。Rust 没有类继承,指向 trait 的指针或引用起到类似的效果,运行时被确定具体类型。所以编译期间不知道大小。trait 对象体现出来就是对一个 trait类型的指针或引用。不是所有的 trait都可以被当做 trait对象使用,能作为 Trait 对象使用的 trait 要同时满足以下规则: rule 1: trait 的 Self 类型参数不能..

2020-12-16 09:52:03 2564

原创 Akka FSM 源码分析

Akka FSM 源码分析萧猛<[email protected]>啰嗦几句有限状态机本身不是啥新鲜东西,在GoF的设计模式一书中就有状态模式, 也给出了实现的建议。各种语言对状态机模式都有很多种实现的方式。我自己曾经用C++和java实现过,也曾经把 apache mina 源码中的一个状态机实现抠出来单独使用。但Akka的状态机是我见过的最简洁漂亮实现,充分利用了Sc...

2014-06-18 10:11:12 2792 1

翻译 Scala Akka 活动对象持久化 Eventsourced 设计模式使用指南

Scala Akka 活动对象持久化 Eventsourced 设计模式使用指南

2014-01-02 11:45:47 3634 1

原创 配置 Sublime Text 方便查看Scala 编译器的解析结果

Scala 编译器会对代码进行几个阶段的处理,检查处理的中间结果,可以便于理解Scala编译器的工作机制,更好的理解语言本身。在命令行使用 Scalac -Xprint:parse XXX.scala 就可以得到编译器在prase阶段的处理结果。(要了解所有处理阶段请参阅 Scalac 的文档 )例如代码:class Main extends App{  f

2013-12-21 16:13:26 1289

原创 在 Vmware 上安装 MacOS 10.9

分享 Mac10.9 VMware 安装启动盘,可以方便的在虚拟机中安装Mac10.9.

2013-12-21 15:46:25 2557 2

翻译 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 1145

原创 《From C++ to Objective-C 》中译稿

前段時間看Mac OS 及 IOS的開發,發現一本書不錯《From C++ to Objective-C 》,可以讓C++程序員較快的掌握 Objective-C 。順手把這本書翻譯了一下。歡迎感興趣的朋友看看。有建議請發郵件到 [email protected] 方便我改進翻譯質量,謝謝!《From C++ to Objective-C 》简体中文版http://www.simo

2011-01-11 19:20:00 1013 1

原创 网游服务器系列之三:定制Linux内核实现基于QoS高效数据广播

高延迟产生的原因 前文提到了网游服务器有大量的广播数据需要及时分发出去,否则将导致延迟增长,这也是限制网游服务器负载能力的一个重要原因。目前主流的网游服务器的实现机制是采用TCP的前置连接服务器分担广播压力。好处是可以通过增加前置连接服务器的数量增加负载能力,但是其发送延迟却不是最优的。 首先,TCP的可靠性保证,流量控制机制在保证可靠传输的同时也增加了通讯的延迟。 第二,前置连接服务器的存在实际上额外增加了转发处理的延迟。 假如游戏逻辑服务器直接与客户端通讯,那么数据从服务器发到客户端

2010-11-11 18:03:00 1519 4

原创 网游服务器系列之二:常用的网游服务器集群设计

两面人原创,CSDN 首发网游服务器集群设计至少需要达到以下目标: 高负载能力 既定的硬件配置下能够尽可能支持更多的用户 高响应能力 用户的响应延迟尽量要小,一般而言,对于RPG类游戏非战斗情况下延迟应低于500ms,PVE战斗情况下要低于300毫秒,PVP战斗下应低于200毫秒。对于格斗类游戏,延迟要求应该更小。 可伸缩性 很少的硬件下也能部署出完整的系统,负载要求提高时可以通过新增硬件来提高负载能力。但硬件投入的增加和负载能力的增长应该是线性关系。另外由于

2010-11-11 18:01:00 1902

原创 网游服务器系列之一:网游数据通信特点

两面人原创,CSDN 首发网络游戏的数据通信的带宽占用情况是有一定规律可循的,分析这些规律对设计服务器的负载均衡,优化服务器的网络I/O性能都有很大帮助。下面以著名网络游戏《魔兽世界》为例,选取三个典型的游戏场景,通过NetLimiter记录游戏客户端的网络I/O的带宽占用情况,分析网游在不同场景下的数据通信特点。首先选择在一个无人(没有NPC也没有其他玩家)的野外 场景,角色站立不动一段时间,记录上下行的传输速度,然后角色迅速的不停移动位置,记录数据。得到的结果如下图:图1无人荒野

2010-11-11 18:00:00 2279 2

原创 用Word 写csdn blog

测试一下OK加一张图片测试一下 Very Good.配置说明: 在Word 新建文件时选择选择模板"博客文章",账号管理对话框如上图配置。MetaWebLog是一个RFC标准标准,支持编程的方式发布博客文章。Csdn 支持这个协议,url地址:http://blog.csdn.net/twoface/services/metablogapi.aspx ,记得把twoface换成那你自己的账号。

2010-07-12 16:32:00 714

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除