最近更新文章

进入Erlang的世界

进入Erlang的世界 作为程序员,我们曾经闻听很多“业界动态”,“技术革新”,曾经接触很多“高手箴言”,“权威推荐”。这些正确与否,都已成过去! 现在,让我们迎接Erlang盛宴! 经历 2007年11月在koders.com搜索代码时,发现*.erl格式的源文件,感叹开发语言的花样百出,此时,我觉得erlang是一个丑陋的小家伙,看名字就没有对它提起多少兴趣。 2008年初的时候,公司的项 ...
litaocheng 评论 (29) 有 44295 人浏览 入门介绍章节 2011-06-01

Erlang中的half-sync/half-async和Leader/Followers 模式

http://www.iteye.com/article/60414 里面,谈到了半同步/半异步和领导者/追随者模式,在Erlang里面可以很简单得实现它 下面看看 half-sync/half-async 的例子 start() -> case gen_tcp:listen(80, [binary, {nodelay,true}, {packet, 0}, {reuseaddr, true ...
AvinDev 评论 (1) 有 2500 人浏览 网络编程章节 2011-06-01

Erlang网络编程-Binary

在Erlang里面,Binary支持强大的模式匹配,这为编写网络通讯程序提供了便利。 比如一个协议串,格式如下 HEADER(2 Bytes) ID (1 Byte) MESSAGE(10 Bytes) 可以这样匹配 <<Header:16, Id:8, Message:10/binary-unit:8>> 有一些协议,头部是接下来数据的长度,这样就更简单了 <&l ...
AvinDev 评论 (1) 有 2679 人浏览 网络编程章节 2011-06-01

Erlang网络编程-packet参数

gen_tcp:listen(Port, Options),Options 为一个参数列表 之前介绍过 {active, Boolean} 这个 opt,现在介绍一下 {packet, PacketType} 引用{packet, PacketType} (TCP/IP sockets) Defines the type of packets to use for a socket. The f ...
AvinDev 评论 (0) 有 2525 人浏览 网络编程章节 2011-06-01

Erlang 的分布通讯安全策略

Erlang的分布式通讯安全策略,可以归结为 All or None。要不拥有全部的权限,要不就完全没有。 它的节点安全设置,是通过一个magic cookie来实现的。这个文件默认放到 $HOME/.erlang.cookie ,文件内容是字符串。 当启用分布通讯的时候,这个magic cookie就很重要了。如果在命令行里面带上 -setcookie ,则在当前节点使用这个cookie值,否 ...
AvinDev 评论 (0) 有 3517 人浏览 入门介绍章节 2011-06-01

使用Erlang Profile工具进行性能分析

Erlang tools lib中包含三个用于性能分析的工具:cprof,eporf和fprof。 cprof 提供函数调用计数,其对系统的性能影响最小 eprof 提供函数运行时间的百分比 fprof 通过将trace存储到文件,提供函数调用计数及运行时间统计信息 这里我们主要介绍fprof,首先其提供的信息最为详细,其次因为将trace存储到文件中,我们可以进行较长运行时间的性能分析 fpr ...
litaocheng 评论 (0) 有 3968 人浏览 开发实战章节 2011-06-01

Erlang 中的Module级别热部署

Java里面要实现Code Replacement,也就是什么热部署,通常是使用ClassLoader机制。不久前看到了一篇Google的Paper,里面讲解的C++代码热部署更为复杂。 在Erlang里面,实现Code Replacement其实很简单,最方便的方法可以参考 《Erlang Reference Manual》的12.3: -module(m). -export([loop/0]) ...
AvinDev 评论 (0) 有 2529 人浏览 入门介绍章节 2011-06-01

erts运行期内存使用情况查看

翻erlang的代码发现erlang对memory的管理非常重视 内置了多种内存allocator: B: binary_alloc D: std_alloc E: ets_alloc F: fix_alloc H: eheap_alloc L: ll_alloc M: mseg_alloc S: sl_alloc T: temp_alloc Y: sys_a ...
mryufeng 评论 (0) 有 1456 人浏览 底层研究章节 2011-06-01

erl_call erlang cnode 功能强大

otp_src_R11B-5\lib\erl_interface\src\prog\erl_call.c 是个不错的工具, 就是ei的前端能够通过cnode给erlang的后端发各种请求。 具体的见 主题: 如何把erlang应用在项目中? http://www.iteye.com/topic/100425 where: -a apply(Mod,Fun,Args) (e.g -a 'erla ...
mryufeng 评论 (0) 有 1921 人浏览 底层研究章节 2011-06-01

erlang inet:setopts 未公开选项

inet:setopt有packet设置选项: {packet, PacketType} (TCP/IP sockets) Defines the type of packets to use for a socket. The following values are valid: raw | 0 No packaging is done. 1 | 2 | 4 Packets consi ...
mryufeng 评论 (0) 有 2027 人浏览 网络编程章节 2011-06-01

方便调试erlang程序的脚本

经常的时候看大型工程的时候 碰到一二个地方实在不明白他是如何运作的 这时候最好的工具就是debugger 如gdb,的backtrace 可以得到完整的函数调用栈。在linux下推荐使用ddd, 俺的centos5 下标准版本没有安装ddd 顺手下载个安装就好了(标准版本却个motif-devel yum下就好)。ddd图形界面方便查看函数和变量,还有点击跳转功能。 附上几个调试erlang的脚本, ...
mryufeng 评论 (0) 有 2274 人浏览 开发实战章节 2011-06-01

Erlang: 当你net_adm:ping(Node)的时候发生了什么?

当你net_adm:ping(Node)的时候发生了什么? 这个涉及到很复杂的流程。让我为你解刨: 这个流程很长而且在erlang代码和c代码里面窜来窜去,重要的点 我用红字标注 请各位耐心。 1. net_adm.erl: ping(Node) when is_atom(Node) -> case catch gen:call({net_kernel, Node}, '$gen_call' ...
mryufeng 评论 (0) 有 4100 人浏览 底层研究章节 2011-06-01

erlang driver和热部署(重要)

erlang的热部署包括2个方便的 beam(.beam)级别的和driver(.dll .so)级别的. beam级别的就简单。但是driver级别的就相对复杂很多。 先看下erl_ddll的说明: Loading and reloading for code replacement This scenario occurs when the driver code might need re ...
mryufeng 评论 (0) 有 1188 人浏览 底层研究章节 2011-06-01

erlsnoop erlang消息监听器 调试erlang网络程序利器

在erlang的邮件列表上看到: Have you tried putting a snoop to see whether the delay is on the sending/receiving side? This might be useful: http://www.erlang.org/contrib/erlsnoop-1.0.tgz 去http://www.erlang.org ...
mryufeng 评论 (0) 有 1743 人浏览 开源项目介绍章节 2011-06-01

file:read_file的注意细节

arbow发现的问题如下: 4> file:read_file("/proc/cpuinfo"). {ok,<<>>} 11> {ok, IoDevice} = file:open("/proc/cpuinfo", [binary]),file:read(IoDevice, 1024). {ok,<<&quo ...
mryufeng 评论 (0) 有 3031 人浏览 底层研究章节 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