近两个月没有更新博客了,为了证明shitou还活着,需要动动了..
其实这半年时间除了在忙工作的事情之外shitou一直在关注web game方面的资料,之前尝试的C2C, SNS,感觉这块在国内独立开发者是很难做起来的,尤其是国内环境的影响....(省略2万字)
好了,下面开始正题,关于Erlang OOP(面向对象)特性
其实Erlang本身就是Function Language, 所谓OOP特性什么的都不是Erlang所强调的重点,Erlang帮主Joe在Erlang程序设计 一书中也一字未提Erlang的OOP内容,最近在用Erlang开发游戏的Socket Server时遇到其中一个模块设计如果用OOP的概念来做的话会更合适,想起了之前在mochiweb的源码中关于http request的解析module就是用的OOP的设计思路,回头再次查看mochiweb的源码,又google一翻,终于得到了解决办法,下面show一个简单的例子:
%oo.erl -module(oo, [QS]). -export([get_qs/0]). new(Qs) -> instance(Qs). get_qs() -> QS. >A = oo:new("hello"). >A:get_qs().
2010-12-23 21:31:37, 784 reviews, comment
send to mailbox
Ruby的速度慢是公认的(虽然我并不想面对这一点),所以在遇到一些需要大量运算的业务时就会遇到瓶颈,这时可以把这部分的逻辑运算交給其他相对运算较快的语言来做,ruby只用得到返回结果就行了,
可以使用Rubyinline在ruby代码种嵌入C, 也可以使用Erlectricity来实现与Erlang的对接,
除了这种办法之外还可以使用后台运行来处理消耗资源的任务,当然这只能针对于及时性不高的业务。
参考:
http://www.infoq.com/cn/news/2009/09/haskell-ruby-hubris
http://github.com/mojombo/erlectricity
2010-01-18 15:47:57, 925 reviews, comment
一直都在忙别的东西,还没怎么认真的开始学erlang, 最近正好工作中要用到AMQP了, 用的broker就是RabbitMQ, RabbitMQ正是用erlang写的, 所以安装RabbitMQ的前提肯定要先安装erlang了,
在Debian中的安装是预想中的顺利apt-get install erlang 就搞定了, RabbbitMQ的安装要去官方下载专门的deb包, 也是一条命令就OK了, 不过我还是对CentOS有爱,就在CentOS中也安装了一遍,不过过程真的是不顺利,
首先下载Erlang的源程序包,我用的是最近的R12B-4, 然后看了README就是标准的编译方式,先
./configure
报缺少java, 于是还得先安装JDK, 安装完JDK后记得要export JDK的bin路径到系统PATH中, (记得还缺少一个什么忘了,应该容易安装的)
然后make
经过大约10分钟的编译, 出现了可怕的Error,
collect2: ld returned 1 exit status
make[4]: *** [../priv/bin/x86_64-unknown-linux-gnu/ssl_esock] Error 1
google了好长时间才发现原来这是CentOS5的一个bug, 编辑erlang源目录中的文件lib/ssl/c_src/Makefile.in, 将
LIBS = @LIBS@(我这里是第41行)
修改为
LIBS = @LIBS@ -lkeyutils -lselinux
然后重新./configure, make, 最后make install 就行了
RabbitMQ的安装也采用源码包的方式, 安装比较简单, 看下源目录中的README就OK了
2008-12-09 17:44:46, 2179 reviews, comment
少女,不点下广告吗!
all by shitou
blog comments powered by Disqus