- 浏览: 64339 次
- 性别:
- 来自: 北京
最新评论
-
zjy3771272:
不知道你是在哪定义的,急啊。希望能解答我啊。谢谢!
一小时的极限编程, 关于socket.io -
zjy3771272:
你好,能说明一下data.cid
一小时的极限编程, 关于socket.io
文章列表
1 用一个Agent实例处理所有的逻辑,其他Agent只做服务
2 所有Agent都是逻辑的一部分,用Queue总线来交互
这两种方案,孰优孰劣?
写了个python脚本,第一行没有写shebang, 直接用了import sys, 执行的时候鼠标呈现十字架装, 程序停止不动,还以为出现什么问题了,只好ctrl-c杀掉。
后来一想原来使用了ImageMagick的import命令来截屏。
效果不错,以前虽然用蒙特卡洛方法,虽然也能筛选出不错的ant,但是无法证明其稳定性,面对股票池或者其他参数的改变,不一定稳定,因此预测的效果也会大打折扣。
而使用遗传算法,则是一代代优选下来的,不好的结果被选择淘汰了,这样稳定性是有保证的,事后的评估也体现了这一点。
在网站开发中, Queue Server是广泛使用的组件,实现有简单又复杂,其作用表现为
1:使系统的任务更容易分布式处理, 通过tcp/ip网络连接,实现部署透明。
2 : 实现任务发布和处理解耦合。发布者不用管处理的组件是谁,同样处理者也不用管发布者是谁。多发布者/多消费者模型可以天然契合。
3 : 能缓冲系统中某些部件的压力,创建任务和处理任务的速率可以不一致。
Redqueue就是一个这样的组件,redqueue是本人在业余时间搞的一个开源项目, 放在github上,有兴趣的同志们可以用用,充当小白鼠,当然要是在生产环境中使用更好了。
RedQueue参考了github开源项目star ...
google 的go语言里呆了goyacc工具,使用方法基本类似于贝尔实验室的yacc工具. 所以熟悉了解yacc工具的人应该比较容易掌握。不过网上几乎没有找到详细的step by step。 虽然yacc方面的资料比较多, 但是具体细节上goyacc还是有些不同的。所幸在源代码里有一个sample。具体位置是~/go/src/cmd/goyacc/units.y. 算是比较详细。于是照猫画虎,经过代码裁剪,我自己写了个简单的表达式计算器goexpr。
一个.y文件中, 由^%{ 和 ^%}包括的部分, 是嵌入代码。 %%中间的部分则是要解析的LALR(1)文法,其定义是非常直接的。
于ya ...
以python语言里的marshal为例, 基本序列化方式为: 类型说明+真实数据
>>> import marshal
>>> marshal.dumps(4.5)
'g\x00\x00\x00\x00\x00\x00\x12@'
>>> marshal.dumps(3)
'i\x03\x00\x00\x00'
>>> marshal.dumps('astring')
't\x07\x00\x00\x00astring'
>>> marshal.dumps({'a': 3})
'{t\ ...
今天粗略地看了Apache Avro的资料, 这是一种类似于Thrift和ProtocolBuffer的数据序列化工具,看起来不错。主要特点是:有schema定义以及动态类型。
schema定义的好处是能减少数据大小,如果没有schema定义,那么协议处理器不可能知道下一个遇到的类型是什么,只好通过每个数据的头部知道,这样头部的大小会占比较可观的比例, 比如每个整数四个字节,就要有一个字节说明这个数据的类型, 利用率只能有80%. 典型这样的协议有AMF, BSON, Erlang Node protocol, python语言的pickle, mashal等; 有了schema 定义,则处 ...