代码改变世界

[firefly]暗黑源码解析

2014-06-13 09:50 by 阿普的博客, 407 阅读, 0 推荐, 收藏,
摘要:一、架构二、各模块详解 1、net 2、gate 3、game 4、db三、启动四、举例说明五、性能测试 阅读全文

[python]魔术方法

2014-06-10 22:56 by 阿普的博客, 574 阅读, 0 推荐, 收藏,
摘要:一、初始化:1、__new__方法,初始化过程中第一个用到的方法(用处不大)。2、之后,__init__方法,构造方法。3、最后,在对象回收时,调用__del__方法。如果解释器退出时,对象还存在,则不能保证__del__能够执行。二、比较__cmp__(self, other) 定义了比较的行为。... 阅读全文

[Twisted] Test

2014-06-10 15:27 by 阿普的博客, 226 阅读, 0 推荐, 收藏,
摘要:由于Twisted程序采用事件驱动,并使用Deferred来处理事件,使用Python unittest的写测试并不容易。因此,Twisted拓展了unitest,并使用命令行工具来运行测试。这些组建构成了Trial。 阅读全文

[Twisted] 部署Twisted

2014-06-10 14:45 by 阿普的博客, 538 阅读, 0 推荐, 收藏,
摘要:Twisted提供了基础设施,来实现可重用、可配置的方式来部署。1、ServiceTwisted使用Service来实现了许多协议,如TCP,FTP,HTTP,SSH等。实现的IService接口,接口包含:startService和stopService两个方法。2、Application一个Ap... 阅读全文

Mysql常用命令

2014-06-10 11:55 by 阿普的博客, 204 阅读, 0 推荐, 收藏,
摘要:1:使用SHOW语句找出在服务器上当前存在什么数据库:mysql> SHOW DATABASES;2:2、创建一个数据库MYSQLDATAmysql> CREATE DATABASE MYSQLDATA;3:选择你所创建的数据库mysql> USE MYSQLDATA; (按回车键出现Databas... 阅读全文

[Twisted] deferred

2014-06-09 19:59 by 阿普的博客, 295 阅读, 0 推荐, 收藏,
摘要:Twisted提供一个优雅的实现(Deferred)来管理回调函数。Deferred Object 的结构Deferred Object包含两个回调函数列表。一个用来保存成功的回调函数,另一个用来保存出错的回调函数。Deferred相关1、Deferred 的 callback或者errback 方... 阅读全文

[Twisted] transport和protocol解耦

2014-06-09 18:45 by 阿普的博客, 379 阅读, 0 推荐, 收藏,
摘要:Twisted中transport和protocol完全解耦。这样设计的优点:1、不同的Protocol协议实现可以重用相同类型的transport。2、方便测试:假如测试一个协议实现,可以使用一个mock transport,来检查写入的数据。 阅读全文

[Twisted] Protocols协议和Protocol Factories 协议工厂

2014-06-09 18:40 by 阿普的博客, 312 阅读, 0 推荐, 收藏,
摘要:Protocols描述了如何异步处理网络事件。Twisted维护了许多协议的实现,如HTTP,Telent,DNS,IMAP。Portocols实现了IProtocol接口,IProtocol包含如下方法:makeConnection:在两个节点中间创建连接。节点通过transport连接。conn... 阅读全文

[Twisted] transport

2014-06-09 18:21 by 阿普的博客, 440 阅读, 0 推荐, 收藏,
摘要:transport代表网络上两个节点的连接。它描述了连接的具体细节,如TCP还是UDP。transports实现了ITransport接口,包含以下方法write:以非阻塞的方式向连接写数据。writeSequence:向连接写入字符串列表。(适合面向行的协议)loseConnection:写入所有... 阅读全文

[Twisted] 事件驱动模型

2014-06-09 17:39 by 阿普的博客, 273 阅读, 0 推荐, 收藏,
摘要:在事件驱动编程中,多个任务交替执行,并且在单一线程控制下进行。当执行I/O或者其他耗时操作时,回调函数会被注册到事件循环。当I/O完成时,执行回调。回调函数描述了在事件完成之后,如何处理事件。事件循环轮询等待事件,当事件到达时将他们分派到相应的回调。事件驱动编程适合多线程和单线程。 阅读全文