最近更新文章

Erlang新手进阶笔记(1) - 一个简单的服务器示例

~~~~~华丽的分割线~~~~ 最近老赵对C#和java进行比较的一篇博客引起了很多人的关注,但是我并不是很同意这个角度,我一直认为,一把钥匙一把锁,有明确针对性的语言是好语言,例如 erlang 之于分布式高可靠性系统,ruby 之于DSL类应用 学习Erlang的过程中,感觉它的语法其实很简单,比较强大的是它针对分布式系统所建构的基础设施,这个在语言层面和类层面都有考虑,这个系列blog就 ...
自由天堂 评论 (0) 有 2944 人浏览 erlang章节 2011-06-01

Erlang新手进阶笔记(2) - 有限状态机

上一篇写了一个服务器,包括基本的请求响应,服务关闭等功能,但是这并不是服务器的全部。 一般来说,服务器应当内部保存若干数据,这些数据参与对request的运算,然后生成response,有时候,这些计算还会改变服务器上的数据本身。我们可以把这些数据抽象为服务器的"状态",当服务器启动时,状态数据被初始化(初始化的工作应该根据环境有所区别)。 话说的真累,其实这就是大名鼎鼎的有 ...
自由天堂 评论 (0) 有 2071 人浏览 erlang章节 2011-06-01

Erlang新手进阶笔记(3) - 通用的server

分析一下之前的代码,可以注意到,server的功能其实是非常类似的,我们可以把公共的部分抽取出来,把不同的部分单独实现,做到一定程度上的复用,erlang支持动态的使用变量,例如: Mod = my_server. Mod:start(). 这样的代码会启动my_server,借助这个功能,我们可以把模块名作为参数传入,还可以使用模块名作为进程的注册名,于是,代码就便成了这样 % my_ser ...
自由天堂 评论 (4) 有 1990 人浏览 erlang章节 2011-06-01

Erlang新手进阶笔记(4) - behaviour机制

我们之前写的server已经比较通用了,但是erlang有更进一步的方案。 erlang不象java那样到处都是接口和实现类,它关注的是函数,也就是逻辑,当然,只要编程就要有规约,erlang的规约是通过"模板类"实现的,这个"模板类"的正式名称叫做behaviour。 一个典型的模板类大概就像这样—— % my_behaviour.erl % -modul ...
自由天堂 评论 (0) 有 5297 人浏览 erlang章节 2011-06-01

reltool用户指南

说明,最近比较忙,没有太多时间更新blog,请各位朋友谅解. 寻找俺的朋友,可以gtalk : litaocheng[at]gmail.com 或者 twitter : @litaocheng 这篇文章,应该是我写的最久的一篇,请各位多实践. reltool使用指南 Author: litaocheng Mail: litaocheng@gmail.com Re ...
litaocheng 评论 (0) 有 2223 人浏览 OTP系列章节 2011-06-01

CNode指南

CNode用户指南 Author: litaocheng Mail: litaocheng@gmail.com Date: 2009.7.8 目录 1 概述 2 CNode 相关API 2.1 建立连接 2.2 发送接收消息 2.3 Erlang client 3 编译运行 4 完整代码 1 概述 利用Erlang的 erl ...
litaocheng 评论 (0) 有 2806 人浏览 教程文档章节 2011-06-01

Erlang类型及函数声明规格

Erlang类型及函数声明规格 Author: litaocheng Mail: litaocheng@gmail.com Date: 2009.6.8 Copyright: This document has been placed in the public domain. Contents 概述 意义 规范 类型及其定义语法 自定义类型定 ...
litaocheng 评论 (0) 有 8550 人浏览 教程文档章节 2011-06-01

erlang otp 应用发布指南(一) tiny-1.0非真正OTP

Author: litaocheng@gmail.com Data: 2009-3-1 Version: 0.2 tiny OTP Application 为了简单,我们创建一个超级简单的application, 其只有一个module, 其不使用supervisor, 只创建一个简单的process, 我们为这个应用名叫:tinyapp (tinyapp-1.0). 其代 ...
litaocheng 评论 (1) 有 4657 人浏览 OTP系列章节 2011-06-01

erlang otp 应用发布指南(二) tiny-2.0 (supervisor)

Release Handling Erlang的Release Handling, 充分利用Erlang的code hot swap特性, 让你的应用可以比较顺畅的进行升级,回退. tiny-2.0 tiny-1.0已经成功的部署到了 /opt/local/tiny-1.0/ 目录. 最近,我们对tiny进行了改进, 准备要发布tiny-2.0. 我们在回想一下tiny-1.0, 在开始 ...
litaocheng 评论 (0) 有 2828 人浏览 OTP系列章节 2011-06-01

erlang otp 应用发布指南(三) tiny-3.0

tiny-3.0 最后,让我们弥补前面tiny-2.0的缺憾, 我们要开发tiny-3.0. tiny-3.0中我们不会在重启application, 我们这次 让Application温和的不间断的完成升级. 这里我假设你已经看懂前面的部分,并且亲自动手做了很多尝试. 下面是快速,直白的代码罗列.. 代码修改 新建tiny-3.0目录,添加一个module: mydict.erl ...
litaocheng 评论 (0) 有 1945 人浏览 OTP系列章节 2011-06-01

使用etop查看系统中进程信息

Erlang提供了丰富的开发工具,你认为没有的时候,很可能是你不知道它存在. 在OS中,我们经常查看操作系统的进程信息,帮助我们进行诊断。 Erlang提供了一个小工具 etop (Erlang top), 用来查看Erlang运行环境中,内存,ets,binary,进程等相关信息。 这些被收集的信息大部分是通过erlang module的相关bif输出,etop只是做了一个好的展现。 ...
litaocheng 评论 (0) 有 6331 人浏览 入门介绍章节 2011-06-01

gen_server tasting 之超简单名称服务

年假不能白休,时间不能浪费,看了 erlang 程序设计的 gen_server 章节,为了更好的理解、掌握于是上手写一个名称(键值)服务器。这个 lzy_name_svc 服务器是基于 otp gen_server 写成的,在底层键值被保存在了 erlang 的进程字典里,并且用于存储字典的进程是可以替换的,可以通过 lzy_name_svc:start/1 启动服务时指定,缺省情况保存在“当前 ...
lzy.je 评论 (1) 有 3135 人浏览 开发实战章节 2011-06-01

gen_server tasting 之超简单名称服务(续)

前几天写了篇《gen_server tasting 之超简单名称服务 》东西,亲身体验了 erlang otp 的强悍威力。不过正所谓“超简单”,那个版本还是很初级的,所以这两天边继续研究边动手,开发迭代版本的名称服务。 在这个版本中,需要提供如下功能: 使用 otp 的 supervisor 监控树,保证服务可靠性。 添加日志功能,通过定制 sasl alarm_handler 来记录 ...
lzy.je 评论 (0) 有 4570 人浏览 开发实战章节 2011-06-01

gen_server tasting 之超简单名称服务(再续)

前几天写了篇《gen_server tasting 之超简单名称服务(续) 》东西,亲身体验了 erlang otp 的强悍威力。这周正好有时间对 vsns/erlang 做个性能测试,验证传说中的 erlang 强大威力,其中包括了容错测试用例,关注在大并发压力下(13000tps)时,服务 oops 后通过 supervisor restart 时对整体性能的影响。在最后还包括了一些对服务容错 ...
lzy.je 评论 (1) 有 3071 人浏览 开发实战章节 2011-06-01

CouchDB了解(-) 特性及实现

概述 CouchDB,大家或多或少都听说过。它到底有什么特性,适合哪些应用场景,和我们常用的关系型数据库有什么区别? 这些问题,可能我们心里都不是非常清楚。在以前的Blog中(PS,不是在javaeye哦),我提及了几次CouchDB,但是仅仅 限于编译,安装这些浮在水面上的工作。今天抽出时间把最近关于CouchDB的一些了解整理一下。 CouchDB是什么 CouchDB一种半结构化面向 ...
litaocheng 评论 (0) 有 4620 人浏览 CouchDB 系列章节 2011-06-01

知识库信息

最新评论

相当不错的erlang,我们通信后台自从改成elrang后基本没出过什么大问题
406656983 评论了 进入Erlang的世界
听说几百万进程都不高cpu的
xlaohe1 评论了 进入Erlang的世界
有没有自己的例子公布一个
wrj913 评论了 gen_server入门
我是erlang 菜鸟,弱弱的问一下,erlang帮助文档,那有怎么用,连 Mod名、Func名,是什 ...
wrj913 评论了 Programming Erlang读书笔记8: Concurrency ...
winstars 写道这篇文章排版不错哈哈。。楼主一定是经常写文档的
suu 评论了 进入Erlang的世界
在学精JAVA语言之前,我是不会学其它语言的,无论它有多好、多美。
lshhjxlj 评论了 进入Erlang的世界
坚持学,会有成果的,正在感受erlang带来的快乐和便利
acme_ltt 评论了 进入Erlang的世界
学过一段时间,没有认真静下心来学,就没再坚持看
mj-beijing 评论了 进入Erlang的世界
这篇文章排版不错
winstars 评论了 进入Erlang的世界
Erlang目前还没打算学习,不过长见识了;多谢楼主分享
blues1021 评论了 进入Erlang的世界
在本文中,self表示的是实际执行中创建的那个进程,也就是 start(Mod,Env) -> ...
fsword 评论了 Erlang新手进阶笔记(3) - 通用的server
最后一句,在erlang中所有的self()我见过的都是表示进程的……
松秋明 评论了 Erlang新手进阶笔记(3) - 通用的server
self()实际表示如下% 实际执行体 % loop(Mod, State) -> rece ...
松秋明 评论了 Erlang新手进阶笔记(3) - 通用的server
% 初始化服务,注册名称,启动init方法,初始化服务时接受一个参数 % init(Mod, Env) ...
松秋明 评论了 Erlang新手进阶笔记(3) - 通用的server
应该不错吧,我正在学习Erlang哦。
kangdiji 评论了 进入Erlang的世界
更好的解决方案是指设置{packet,size}?
erlangguy 评论了 Erlang网络编程-Binary
不明白为什么第一个例子handler(Socket)中close(Socket)后还调用了handle ...
erlangguy 评论了 Erlang中的half-sync/half-async和Leader/F ...
解释得不错。
erlangguy 评论了 OTP Design Principles: Supervisor Behavi ...
再说明一下和init里{ok,State}的关系,容易理解一些。
erlangguy 评论了 OTP Design Principles: Gen_Event Behavio ...
event manager本质上是维护一个{Module, State}对的list,每个Module ...
erlangguy 评论了 OTP Design Principles: Gen_Event Behavio ...
Global site tag (gtag.js) - Google Analytics