
erlang
文章平均质量分 62
langxianwu
本人性格开朗,爱好体育运动和编程.目前从事公安行业软件开发.
展开
-
明天 你看好Erlang还是看好android
1.当erlang和android摆在你面前你会选那一个。android手机开发平台在国内随3G的到来很多企业都看好android,google的退出也并没有影响到国内对android的追捧。移动化的中国肯定会有android的一席之地。android的开放式吸引了一大批开发人员。有的帖子上还说70%的iphone会在将来选择android,作为你会选择吗。erlang:天生的发布...2010-03-29 14:30:55 · 160 阅读 · 0 评论 -
关于erlang中self()与Pid的思考
这几天对gen_tcp有些疑惑便看了一下最基本的客户端服务器原理,对self()和PID 工作原理也产生了疑问。花了很多时间便有了的进一步理解。从运行的结果看 Pid与self()发生了互换。因前面理解有误故对结果产生怀疑。1、主要是我对rpc/2 中的self() 的值是哪里来的产生疑问。Pid ! {self(),msg}API中是这样描述的self() -> pid()...2010-04-14 13:45:12 · 821 阅读 · 0 评论 -
erlang远程控制其它节点
远程控制 注意setcookie设置(看过好多文章都没有明确说明,cookie一定要一致新手很容易忽略)1、 先启动一个langzhe节点langzhe@lang:~/bcast_server$ erl -name langzhe@192.168.1.108 -setcookie 123456Erlang R13B01 (erts-5.7.2) [source] [64-bit] ...2010-04-26 21:08:45 · 379 阅读 · 0 评论 -
erlang debug调试
研究了大半天eclipse调试erlang,一直不成功,可能是插件安装出错的原因。安装了好几次总是有错误提示。最后只好用erlang自带的调式环境,发现也不错。就是加断点特麻烦 下次启动需要重加。1.debugger:start()或im()打开调试环境,im()是debugger导出的方法。2.把需要调试的模块加载到调试环境中,界面添加和代码添加两种方式。注意:eclipse环境下编...2010-04-27 11:06:39 · 260 阅读 · 0 评论 -
Erlang集群节点集合的启动注意的问题
Erlang集群节点集合的启动 一文中已经描述的很清楚 在一台机器上控制Erlang集群节点的实验1 也是一个比较简单容易理解的例子 Boot Server 启动 是基本的了 文章里面有个setcookie写成了setcooke 读者需要注意就可以了。 erlang远程控制 也是不错的文章综合上面四个文章实验了一把,折...2010-05-01 01:50:26 · 168 阅读 · 0 评论 -
C, Erlang, Java and Go Web Server performance test
C, Erlang, Java and Go Web Server performance testhttp://timyang.net/programming/c-erlang-java-performance/原创 2010-07-12 10:20:19 · 136 阅读 · 0 评论 -
erlang 解决edoc生成中文乱码
昨天突然想edoc一下,英文顺利通过。与到中文就出出问题了。首先抛出的是{'EXIT',{no_translation,[{io,put_chars.....。搜了一下发现erlang对中文支持不好(litaocheng,Qoom都说过)。但都没有说怎么解决(还是我没搜到?)。最后发现http://erlang.2086793.n4.nabble.com/UTF8-and-EDoc-t...原创 2010-05-11 15:06:04 · 330 阅读 · 0 评论 -
关于对两个list的每个元素做减法操作的讨论。
> Hi All, > after a long time, here I am programming in Erlang again... > I have 2 lists: > L1=[1,2,3,4,5], L2=[1.1,2.2,3.3,4.4,5.5] > and I want to have a third list which i...2010-07-23 18:11:20 · 1300 阅读 · 0 评论 -
不期而遇的选择---Erlang
不期而遇的选择---Erlang今天再次在《程序员》杂志上看到关于Erlang的文章---《不期而遇的利器--Erlang》,心里突然好兴奋。更让我兴奋的是,这文章是成立涛写的。LoL!!关于他的文章我受益匪浅。第一次看到关于Erlang的文章是在2008年程序员杂志,忘记是谁写的了(回家查查,我所有的杂志都从青岛背到北京了)。当时那篇文章,是简单介绍Erlang,...原创 2010-08-09 15:31:33 · 113 阅读 · 0 评论 -
第二次为技能投资,花的时候一点都不心疼
第一次投资是在大学未毕业之前。那时在受到“华迪”打击之后才投资的,当时因为一个“青软的培训生”把给我给踢掉了。心里特郁闷决定去“青软”看看,花了3000多元(笔记本也卖了东拼西凑,算是把学费凑够了,还借了张老师的钱),去得目的只为了解tomcat。去了才知道,原来一切都那么简单只是当初自己浮躁罢了。没想到从此便进入了JAVA WEB 开发领域,当时一片黑暗。幸好青软老师给指了一个不是自己...2010-08-12 08:35:18 · 129 阅读 · 0 评论 -
修改etop 解决System NOT running to use fully qualified hostnames 问题
修改etop 解决System NOT running to use fully qualified hostnames 问题 这是很久以前的一个问题 #!/bin/sh NAME="etop@testrsa.igrslabdns.com"echo erl -sname $NAME -hidden -s etop -s erlang halt -output t...2010-12-14 10:24:44 · 988 阅读 · 0 评论 -
Erlang shell debug调试
== ==前提:erl文件 必须用debug_info选项进行编译。否则会出现 Invalid beam file or no abstract code: error编译方式: make:all([debug_info]). | c(test.erl,debug_info).基本调试方法:<br>im/0:打开调试器<br>i/1 :把文件添加到调试...2010-05-21 15:10:31 · 415 阅读 · 0 评论 -
appmon查看进程
本工具比较简单在shell中直接输入appmon:start()就可以。剩下的已经很明了2010-05-21 15:12:01 · 199 阅读 · 0 评论 -
Cover:A Coverage Analysis Tool for Erlang
== ==Cover:A Coverage Analysis Tool for Erlang <br>Erlang覆盖率分析工具 Level:module|function|clause|line <br>Analysis:coverage|calls <br> 以下只是最近本的介绍 <br>1.start/...2010-05-22 14:19:32 · 123 阅读 · 0 评论 -
Erlang 图形界面集成工具toolbar
== ==toolbar:start().启动1.table管理2.process Manager3.Debugger4.ApplicationMonitor== ==tv:start().查看ets和Mnesia tables2010-05-22 14:26:42 · 166 阅读 · 0 评论 -
Erlang tools cprof性能评估工具
此工具没有提供写日志的接口:我暂时用 直接写文件实现 12 {ok,S} = file:open("data1.log",write), 13 io:format(S,"~p",[Result]), 14 file:close(S), == ==1.start/0 2.analyse/0 3.pa...2010-05-22 15:33:22 · 327 阅读 · 0 评论 -
彻底解决erlang edoc中文乱码问题
今天经过两天得奋战 终于彻底解决edoc中文乱码问题。前段时间学习edoc发现中文乱码问题,当时只是用了临时得解法方法。(Write前截取list插入数据)详见http://langzhe.iteye.com/blog/663947 看了以下edoc API,也没有发现设置meta标签函数。看原码得时候发现,xmerl中有meta。其实在原码里面最终调用xmerl得方法。本次得...2010-05-25 17:40:22 · 332 阅读 · 0 评论 -
Erlang 远程查看其他服务的mnesia和ets,pid
问题: A服务器node_a B服务器node_b 分别创建了 两个Mnesia,启动了一些服务。我现在想在任何一台电脑上 可以监控另外一台服务器的上进程创建情况与Mnesia表的使用情况。 用什么工具查看?(只看本地的用tv:start(),appmon:start) 原来这样就可以只要A服务和B服务器相互之间 通信一次 就可以在任何一台服务器上用 tv\pman\app...2010-05-28 08:56:56 · 189 阅读 · 0 评论 -
去掉重复的 sets:to_list(sets:from_list(L2)).排序可用ordsets
去掉重复的 sets:to_list(sets:from_list(L2)).排序可用ordsets LangEr(36245) 9:07:52哦 不好意思 弄错了lists:umerge 这个只是合并有序列表 并提出重复的元素 Android郎哲<langxianzhe@163.com> 如果是无序的列表 你说的是对的 Android郎哲<langx...2011-04-13 14:12:36 · 175 阅读 · 0 评论 -
Erlang应用部署与热代码替换--理解1
最近几天看了一下erlang的代码热替换,原本计划三天。现在花了快5天了,才刚刚有点对头。开始我搜了一下,没有找到前人的例子,Erlang程序设计上面的热代码替换例子只不过是个替换思想,实际的应用替换要复杂的多。我只好从API gen_server中Module:code_change/3开始看。找到OTP Design Principles (http://www.er...2010-06-01 16:23:58 · 225 阅读 · 0 评论 -
Erlang应用部署与热代码替换--理解2
在Erlang应用部署与热代码替换--理解1这我提出了三个问题,后来fengyu老师推荐我看一下litaocheng的blogerlang otp 应用发布指南(一) tiny-1.0非真正OTPerlang otp 应用发布指南(二) tiny-2.0 (supervisor) erlang otp 应用发布指南(三) tiny-3.0...2010-06-02 21:51:28 · 474 阅读 · 0 评论 -
Erlang应用部署与热代码替换--理解3总结
我看了litaocheng的erlang otp 应用发布指南文章 试着做了一下,也顺利升级.但我自己写的程序。第一个例子在升级时执行了code_change/3 但版本号,不是我定义的1.0 而是 一串很长的数字。第二个例子压根没有执行code_change/3方法。 {update, your_gen_server, {advanced, []}}已定义 一串数字 lit...2010-06-03 21:28:09 · 215 阅读 · 0 评论 -
observer (ttb\etop\crashdump_viewer)
一、etop/getop etop位于: erlang/lib/observer-xxx/priv/ebin 目录下 昨天看了一下liaocheng的帖子,里面提到监控内存,引起了我对etop的兴趣/他的例子是这样写的: etop -node ip@litaocheng -lines 5 -sort memory -interval 1 -accumulate true -tracin...2010-06-04 11:19:00 · 251 阅读 · 0 评论 -
erlang 的源代码保护机制 反编译erlang
http://erlang-china.org/study/erlang_sourcecode_protect.html 今天发现我写的代码在编译的时候总是出 两次编译结果不一致。原来我在从svn获取代码的时候,svn上面的beam文件是旧的。但我下载到本地的时候 创建日期与.erl文件的创建日期是一致的。导致make编译 出现两种不同的结果。最后用$ erlc +de...原创 2010-06-10 19:56:52 · 277 阅读 · 0 评论 -
保存一个文件rel自己用的
我打包时包含了所有erlang的lin但发现启动start.boot时发现出错,只好去掉了一部分。生成个rel真费劲。在此保留使用target_system:install("ch_rel-1.0","/usr/local/targetC") ...2010-06-12 17:13:51 · 99 阅读 · 0 评论 -
Erlang应用部署与热代码替换--理解 续
前几天学习了一下erlang的release的基本概念与基本用法。本周引入了 log4erl\mochiweb\ibrowse。事情没有想象的那么简单。遇到了以下几个问题:1、发现打包的程序无法运行,仔细分析发现release中少了很多module,最后发现在log4erl.app\mochiweb.app中的 {modules,[ibrowse,...]}中没有写想的module都没有大包到...2010-06-18 16:52:25 · 153 阅读 · 0 评论 -
记下一个eunit单元测试的例子方便以后备查。
-module(basic).-export([basic/1]).-ifdef(TEST).%%-define(NOTEST,true).-include_lib("eunit/include/eunit.hrl").basic_test_() -> fun() -> ?assert(1+1 =:= 2) end.simple_te...2010-06-19 13:22:14 · 132 阅读 · 0 评论 -
修改linux socket 连接数量 做erlang程序测试
第一种方法:需要注意的是 只有在当前shell下生效(我不懂这个知识点,花了我好几个小时)ulimit -n 3000 3000个连接数ulimit -s 256 每个连接占内存ulimit -a 查看 两个shell都必须设置第二种方法:修改配置文件两个文件内容(从网上搜到的试过了,但没起作用)/etc/sysctl.conffs.file-max=65532/e...2010-06-25 16:02:22 · 141 阅读 · 0 评论 -
webtool CrashDumpViewer
webtool CrashDumpViewer 以前用过,最近用了两次都遇到此问题。网上查了一下貌似目录不同造成的(http://forum.trapexit.org/mailinglists/viewtopic.php?t=17597&sid=bb9c2ebeea0ac0da4f03e33afbd5aa8b)。照着做了还是不可以 我的环境是ubuntu 和Erlang R...2010-12-29 09:27:58 · 331 阅读 · 0 评论 -
net_adm:names() 能得到所有的节点名
Simon 10:07:42 有个命令,能得到所有的节点名,是什么? Android郎哲10:08:06 nodes() 熊心飞扬 10:08:09 nodes() Simon 10:08:35 不是,是得到本机器的所有节点名 Simon 10:08:43 什么names Android郎哲10:09:12 是得到本机器的所有节点名? Si...2010-12-30 13:18:40 · 151 阅读 · 0 评论 -
和兄弟们聊内存的事
Android郎哲 11:26:2810分钟左右晕 11:26:36你的数据库是什么?Android郎哲 11:26:49mysql 晕 11:27:14报错说申请多少失败?Android郎哲 11:27:23另一种情况用户在3 4 W 相互发消息时 失败Android郎哲 11:27:27对LinkTalk 11:27:293...2011-01-13 14:44:00 · 114 阅读 · 0 评论 -
erlang R13B03 编译不应该发生的问题
我的错误片段信息/jinterface/java_src/com/ericsson/otp/erlangconfigure: error: No curses library functions found[fourth_bootstrap_build] Error 2make: *** [fourth_bootstrap_build] Error 2 分析错误日志发现是j...2011-01-17 15:25:02 · 380 阅读 · 0 评论 -
初次想到record转换成 list方法
把:rd(test,{a=1,b=2}).成:[{a,1},{b,2}]方法1通用 1 -module(test). 2 -export([test/0,testif/2,testcase/2]). 3 -record(langxw,{name=name,sex=sex,age=age}). 4 test()-> 5 A=#langxw...2011-05-05 16:58:36 · 1266 阅读 · 0 评论 -
关于ETS 复习一下
关于ETS 一起复习一下new(Name,[Opt])今天操作ets表出现了不少问题1、关于ets权限:public,protected,private(我使用了protected导致我spawn创建的进程无法写 ets)2、创建ets表使用了named_table,所以可以直接使用Name 操作表。 3、当使用了 public 将会出现 多个线程共享内存的问题。...2010-07-01 14:16:02 · 252 阅读 · 0 评论 -
自己写的测试例子备用
1 %%通过 gen_server 发送消息来实现 insert 2 3 -module(test_ets_gen). 4 -behaviour(gen_server). 5 -export([start_link/0,test_call/1,test_cast/1]). 6 -export([init/1,handle_call/3,handl...2010-07-01 19:57:25 · 107 阅读 · 0 评论 -
dbg 工具使用
主要步骤自己记下dbg:tracer()dbg:p(Pid,Flags)Flags can be a single atom, or a list of flags. The available flags are:s (send)Traces the messages the process sends.r (receive)Traces the mess...原创 2011-05-12 11:35:47 · 1018 阅读 · 0 评论 -
fprof
相关文档 http://erlangdisplay.iteye.com/blog/318975输出文件test.analyse 测试Eshell V5.7.4 (abort with ^G)1> fprof:trace([start,{file,test.trace}]).ok2> fprof:trace(stop)2> .ok...2011-05-12 16:16:02 · 166 阅读 · 0 评论 -
eprof代码分析工具
清参考http://www.erlang.org/doc/man/eprof.html A Time Profiling Tool for Erlang主要API R14B 比R13B提供了更多的APIstart/0,start_profiling/1stop_profiling/0profile/2..analyse/0,total_analyse/0l...2011-05-13 16:43:06 · 224 阅读 · 0 评论 -
Erlang进程的创建
个人理解:1、start1/0 创建的进程 创建结束后立即消失2、start2/0 创建的进程 创建结束后再收到一次消息后立即消失3、start2/0 创建的进程 创建结束后可以多次接受消息造成这三者的区别关键是与receive的写法。是否可以理解为一个进程的生命周期是receive--end?测试代码: 1 -module(testspawn). 2 -c...2011-05-13 21:36:34 · 298 阅读 · 0 评论 -
关于erlang:apply/2/3
57 apply(Fun, Args) -> 58 apply(Fun,Args). 59 60 apply(Mod, Name, Args) -> 61 apply(Mod, Name, Args). 上面代码是erlang.erl文件里看到的。这里aplly/3方法里面又调用一次...2011-05-18 14:15:20 · 683 阅读 · 0 评论