erlang知识库 |
||
|
入门介绍
进入Erlang的世界
进入Erlang的世界 作为程序员,我们曾经闻听很多“业界动态”,“技术革新”,曾经接触很多“高手箴言”,“权威推荐”。这些正确与否,都已成过去! 现在,让我们迎接Erlang盛宴! 经历 2007年11月在koders.com搜索代码时,发现*.erl格式的源文件,感叹开发语言的花样百出,此时,我觉得erlang是一个丑陋的小家伙,看名字就没有对它提起多少兴趣。 2008年初的时候,公司的项 ...
Erlang 的分布通讯安全策略
Erlang的分布式通讯安全策略,可以归结为 All or None。要不拥有全部的权限,要不就完全没有。 它的节点安全设置,是通过一个magic cookie来实现的。这个文件默认放到 $HOME/.erlang.cookie ,文件内容是字符串。 当启用分布通讯的时候,这个magic cookie就很重要了。如果在命令行里面带上 -setcookie ,则在当前节点使用这个cookie值,否 ...
Erlang 中的Module级别热部署
Java里面要实现Code Replacement,也就是什么热部署,通常是使用ClassLoader机制。不久前看到了一篇Google的Paper,里面讲解的C++代码热部署更为复杂。 在Erlang里面,实现Code Replacement其实很简单,最方便的方法可以参考 《Erlang Reference Manual》的12.3: -module(m). -export([loop/0]) ...
Erlang里的OO和Java里的OO
[Updated: Feb 18, 2007, 增加了关于Java中静态方法的内容] 首先,这里的OO中的Object仅指包含可变状态的Object,暂不涉及有关OO的多态、继承等概念。 一、Erlang的OO 1、保存在函数调用栈中的状态 Erlang是函数式语言,一般而言,对于事物可变的状态(参数和中间状态)尽可能局限在函数调用中处理完,在调用过程中这些状态全部保存在函数的调用堆栈中,也就是说 ...
Erlang的分布式编程
1,什么是分布式程序? Erlang分布式程序是设计用来在网络计算机上运行并且只可以通过消息传递来协调活动 2,为啥要写分布式程序? 1) 性能 通过将程序的不同部分分布到不同计算机来并行运行,以此提升性能(适用于密集型、CPU是瓶颈的计算) 2) 可靠性 通过将程序分布来构建容错系统,以此提升可靠性。如果一台机器失败了,我们可以在另一台机器上继续计算 3) 伸缩性 如果我们scale up,迟早 ...
Erlang里的make
Erlang自带一个make工具 我们看一个例子 目录结构: --Emakefile -include --test.hrl -src --test.erl -ebin Emakefile: {'src/*', [{i, "include"}, {outdir, "ebin"}]}. test.hrl: -record(server_opts, ...
local pid and remote pid
pid 既可以代表本地的process,也可以代表其他节点即远程 process,因此pid ! Msg,既可以向本地节点又可以向其他节点发送消息。 如何来区分local pid和remote pid呢,让我们先看看pid具体包含哪些信息。 打印pid变量的时候,其为X.Y.Z格式的数据,其中X代表的便是本地节点或者其他node(其可以为一个索引,指向某个已知节点),Y为4字节 unsigned ...
使用etop查看系统中进程信息
Erlang提供了丰富的开发工具,你认为没有的时候,很可能是你不知道它存在. 在OS中,我们经常查看操作系统的进程信息,帮助我们进行诊断。 Erlang提供了一个小工具 etop (Erlang top), 用来查看Erlang运行环境中,内存,ets,binary,进程等相关信息。 这些被收集的信息大部分是通过erlang module的相关bif输出,etop只是做了一个好的展现。 ...
群组知识库热门文章
- 44289 进入Erlang的世界
- 11559 gen_server入门
- 11525 如何写超强伸缩性的多游戏玩家服务器
- 8613 Erlang类型及函数声明规格
- 6361 使用etop查看系统中进程信息
最新评论
我是erlang 菜鸟,弱弱的问一下,erlang帮助文档,那有怎么用,连 Mod名、Func名,是什 ...
wrj913 评论了 Programming Erlang读书笔记8: Concurrency ...
wrj913 评论了 Programming Erlang读书笔记8: Concurrency ...
不明白为什么第一个例子handler(Socket)中close(Socket)后还调用了handle ...
erlangguy 评论了 Erlang中的half-sync/half-async和Leader/F ...
erlangguy 评论了 Erlang中的half-sync/half-async和Leader/F ...
event manager本质上是维护一个{Module, State}对的list,每个Module ...
erlangguy 评论了 OTP Design Principles: Gen_Event Behavio ...
erlangguy 评论了 OTP Design Principles: Gen_Event Behavio ...