Erlang
李亞飛
这个作者很懒,什么都没留下…
展开
-
几个不错的Erlang视频
老外用Mochiweb Erlang做的一个在线便签的例子http://v.youku.com/v_show/id_XMTM0MTk4ODA0.htmlECUG 2010大会http://v.ku6.com/special/index_3859073.html原创 2010-11-27 10:44:00 · 2550 阅读 · 0 评论 -
远程结点启动与执行
master结点启动命令:高亮部份只支持IP,参数 -kernel start_boot_server true boot_server_slaves '[{10,0,0,253},{10,0,0,252}]' 是让主节点成为引导服务器,从节点的beam程序都将从主节点传送。 参数-rsh ssh是为了让主节点远程启动从节点(slave)必须的 erl -kernel start_boot_server true boot_server_slaves '[{172,16,209,99},{172,16,2原创 2010-11-22 18:54:00 · 442 阅读 · 0 评论 -
erlang负载均衡
<br /> <br />The BIF statistics(run_queue) is used for estimating future loads. It returns the length of the queue of ready to run processes in the Erlang runtime system.<br /> <br />1.先在$HOME目录建立.hosts.erlang文件,内容如下ST36:~ # cat .hosts.erlang 'ST36'.原创 2010-11-22 19:37:00 · 1052 阅读 · 0 评论 -
How to Change Domain Name? ejabberd
<br /> <br />Error<br />Changing the domain name in the configuration file and in ejabberd's startup command do not work.<br />Explanation<br />Because ejabberd uses Mnesia as its internal database, and because this system stores the Erlang node name into原创 2010-11-22 19:42:00 · 992 阅读 · 0 评论 -
Erlang 笔记
<br />1.不能够声明指定类型的变量,变量的类型是在运行时确定的<br />2.The scope of an Erlang Variable is limited to the function it is declared in.<br />3.No global state<br />4.Summary of less painfull loops<br />if you need to perform an action for each element in a list (returning原创 2011-01-20 19:42:00 · 482 阅读 · 0 评论 -
从表达式到函数:表面的简洁
<br /> <br />一、把大象装进冰箱===== 在命令式语言(当然我们可以确指为C、Delphi、Java或C#等等)中,初学者的第一个疑难便是这样的代码(*注1): X=X+1 为什么?因为在数学概念中,上述等式是不能成立的。这种表达式是计算机的思维逻辑:当它运算上述表达式(或语句)时,X被作为暂存单元——例如冰箱。为了让冰箱产生变化,比如解决“把大象装进冰箱”这样的问题,我们需要如下三步: 把冰箱门打开,把大象放进去,把冰箱门关上 (图转载 2010-11-24 11:39:00 · 558 阅读 · 0 评论 -
“主要的编程范型”及其语言特性关系
<br />转自:http://blog.csdn.net/aimingoo/archive/2009/10/10/4648284.aspx<br />主要的编程范型”(The principal programming paradigms)这幅图,其实出现得不算早,作者在2007年完成了该图的1.0版,到2008年更新至v1.08版本。本次提供的是翻译成中文的版本(老实说,笔者翻译水平相当有限,若有不当之处,请各位尽量指出,必尽快补正)。<br />这幅图的原作者Peter Van Roy,是《Con转载 2010-11-24 12:44:00 · 534 阅读 · 0 评论 -
Distel 在R14B nodedown解决办法
<br />更新Erlang版本到R14b01后,发现distel连接不到node上了,总是提示nodedown。Google之后发现原来是R14B的epmd的协议变了,给distel的epmd.el打个补丁就行了。<br />详细信息见 http://code.google.com/p/distel/issues/detail?id=24<br /> <br />原创 2011-01-22 20:59:00 · 1124 阅读 · 0 评论 -
Erlang 常见错误
<br /> <br />badarg 参数错误,参数格式或类型错误<br />badarith 算术表达式错误,算术表达式中含有错误的参数<br />{badmatch,V} 模式匹配错误,V指具体的发生匹配错误的数值<br />function_clause 函数子句错误,没有找到匹配的函数子句<br />{case_clause,V} case匹配错误,没有找到匹配的case pattern<br />if_clause if子句错误,没有找到为ture的if子句<br />{try_clause,V原创 2011-04-01 10:56:00 · 1025 阅读 · 0 评论 -
I/O Group Leaders
<br />原创 2011-04-01 11:01:00 · 455 阅读 · 0 评论 -
Socket错误
<br /> <br /> 4 start() -> 5 {ok,Listen} = gen_tcp:listen(40000,[binary]), 6 io:format("Lisen socket is:~p~n",[Listen]), 7 Pid = spawn(fun() -> par_connect(Listen) end). <br />为什么在命令行运行就出错?<br /># erl -noshel原创 2010-11-22 18:37:00 · 544 阅读 · 0 评论 -
{reuseaddr, true}选项的使用
<br /> <br />Most common use of {reuseaddr, true} option is to handle reacquisition <br />of a socket by a server in the following scenario: <br /> <br />1. A listening server is started. <br />2. It receives a connection request, and spawns a child proces原创 2010-11-22 18:31:00 · 930 阅读 · 0 评论 -
Eunit学习笔记
<br /> <br />首先将eunit.hrl包含进文件<br />-include_lib("eunit/include/eunit.hrl").<br />文件中以_test()结尾的函数为实际的测试函数(eunit会依次执行这些函数),以_test_()结尾的函数为测试生成函数,用来生成实际的测试函数,通常测试生成函数会返回一个描述测试函数的列表。<br /> <br />禁用eunit:<br />Erlc -DNOTEST my_module.erl<br />-define(NOTEST,t原创 2010-11-22 19:25:00 · 566 阅读 · 0 评论 -
Distel 读Erlang源码
<br />首先编译一下源码<br />然后用emacs打开一个源码文件,C-c C-z 打开一个erlang node<br />在打开的node中用code:add_pathz(源码ebin)将源码的ebin目录加入erlang的beam path中。然后就可以使用 M. 和M,跳转了。原创 2010-11-21 22:28:00 · 533 阅读 · 0 评论 -
Tsung压力源集群
<br /> 5 <!-- Client side setup --> 6 <clients> 7 <client host="ST99" maxusers="80000" cpu="2" ></client> 8 <client host="ST97" maxusers="80000" cpu="2" ></client> 9 <client host="ST96" maxusers="80000" c原创 2010-11-22 13:06:00 · 1115 阅读 · 0 评论 -
Eaddrinuse 错误
<br /> <br />在Tsung进行并发测试的时候,Tsung的报告中可能出现error_connect_eaddrinuse错误,用netstat -antp 可以看到大量处于TIME_WAIT状态的链接,处于TIME_WAIT状态的链接需要等待2MSL才能关闭,很快系统就没有Socket可用了。可以通过修改内核参数来解决。<br />vi /etc/sysctl.conf<br />编辑文件,加入以下内容:<br />net.ipv4.tcp_syncookies = 1<br />net.ipv原创 2010-11-22 13:09:00 · 4381 阅读 · 0 评论 -
Tsung安装指南
<br /><br />1. 所需要软件包<br />unixODBC-2.2.14.tar.gz<br />otp_src_R13B02-1.tar.gz<br />tsung-1.3.1.tar.gz<br />Template-Toolkit-2.22.tar.gz<br />2. 安装UnixODBC<br />#tar zxvfunixODBC-2.2.14.tar.gz<br />#cd unixODBC-2.2.14<br />#./configure–prefix=/usr/loca原创 2010-11-22 12:37:00 · 486 阅读 · 0 评论 -
每个CPU跑一个VM
<br /> <br /> <br />修改hosts文件,增加<br />本机IP 机器名<br /> <br /> <br /> <br /> <br />这样就可以在一台多核机器上跑多个Erlang虚拟机,每个CPU一个虚拟机。<br /> <br /> <br /> <br /> <br />原创 2010-11-22 12:49:00 · 431 阅读 · 0 评论 -
从SERVER返回数据中提取数据
<br /> <br />例如SERVER返回如下内容:<br /> 1 <html> 2 <head> 3 <title>Welcome to nginx!</title> 4 </head> 5 <body bgcolor="white" text="black"> 6 <center><h1>Welcome!</h1></center> 7 </body> 8 </h原创 2010-11-22 12:57:00 · 360 阅读 · 0 评论 -
wxErlang
<br />This should display an empty frame:1> wx:new().{wx_ref,0,wx,[]}2> Frame = wxFrame:new(wx:null(), 0, "myFrame").{wx_ref,36,wxFrame,[]}3> wxFrame:show(Frame).true<br /> <br />wxErlang不能用distel调试原创 2010-11-22 19:19:00 · 685 阅读 · 0 评论 -
目录结构
<br /> <br />project/<br />Emakefile<br />src/<br />ebin/<br />include/<br />Emakefile的内容为:<br />{‘src/*’,[debug_info,{i,"include"},{outdir,"ebin"}]}.<br />就这一句就行了,然后在 erlang 的命令行中用 make:all()或者用erl -make. 就万事大吉。<br />注意:如果修改了Emakefile文件,再次编译时并不会将上次编译的beam原创 2010-11-22 19:30:00 · 367 阅读 · 0 评论 -
IO group leaders
<br />原创 2010-11-22 19:32:00 · 381 阅读 · 0 评论 -
common test 记录
erlang 字符串连接要用string:concat/2或string:join/2,不能用++以GUI方式启动common testct_run -vts -browser firefox -config cfg/test.cfg -logdir logs/ -dir ./ -erl_args -pa /home/louieli/work/test/itf -s inets sta原创 2012-08-08 20:03:47 · 987 阅读 · 0 评论