
erlang
文章平均质量分 51
小馬life
it男,希望將來從事教育,醫療行業,但目前來看,最有可能的方向是it教育
展开
-
erlang rb的使用<3>
刚开始使用log日志,通过自己写的文件,后来发现 通过log.config来配置相当方便,查询管理都很方便 按照 里面的配置为例,{sasl, [ %% minimise shell error logging {sasl_error_logger, false}, %% only report errors %% {errlog_type, error}, %...原创 2012-10-24 18:10:29 · 227 阅读 · 0 评论 -
<15> lists模块补充
%% 对list模块经常用到的进行补充%% 1 对所有元素进行去重%% (1) lists:umerge%% (2)ldrop_dup(List) -> Fun = fun(X, List1) -> IsMem = lists:member(X, List1), if IsMem == true -> List1; true -> [...原创 2013-08-05 20:12:34 · 165 阅读 · 0 评论 -
<16>Efficiency Guide之Common Caveats
(1) ++如果做一个list的反转,不要这样,naive_reverse([H|T]) -> naive_reverse(T)++[H];naive_reverse([]) -> [].因为这样, ++左边的列表会被一次次的拷贝,结果出现相当复杂的操作, Since the ++ operator copies its left operand, th...原创 2013-08-11 11:07:43 · 98 阅读 · 0 评论 -
erlang 字符编码 <29>
用mochiweb通过网页发送中文到服务器,结果服务器显示乱码,无论打印,还是存储日志,还是再次解析出来发往客户端均是乱码,网上搜索后发现了一些问题所在:编码不一致erlang 字符编码的文章有很多,erlang默认是用latin1,不支持中文,如果要支持中文,需要用其他编码,unicode常用, utf8是unicode中最常用的.eshell也要是unicode编码才可以。否则不支...原创 2014-01-14 16:31:02 · 439 阅读 · 0 评论 -
关于iolist<30>
iolist是比较常用的数据结构.iolist的分析,见博客[url]http://mryufeng.iteye.com/blog/634867[/url][url]http://www.cnblogs.com/me-sa/archive/2012/01/31/erlang0034.html[/url]...原创 2014-01-15 10:42:27 · 304 阅读 · 0 评论 -
<17>Efficiency Guide之Function
1. 函数模式匹配模式匹配,在函数头,case和receive从句都会被编译器优化,有一些优化排序后也没有好处,例如二进制的匹配。还有如下例子DO NOTatom_map1(one) -> 1;atom_map1(two) -> 2;atom_map1(three) -> 3;atom_map1(Int) when is_integer(Int) -> Int;atom...原创 2013-08-27 22:30:05 · 137 阅读 · 0 评论 -
<18>Efficient guide 之List handling
1 Deep and flat listslists:flatten的代价非常高,甚至比 ++的代价更高,所以要尽可能避免使用,可以有几种方法避免,(1), 发送list到一个port时候,ports可以解析深度lists, 因此不用转化,传入深度list即可(2)一些bif可以支持深度list,例如 list_to_binary/1 or iolist_to_binary/1...原创 2013-08-31 18:45:59 · 135 阅读 · 0 评论 -
<19>erlang中的时间,日期
时间函数涉及的数据类型:DATA TYPESdatetime() = {date(), time()}datetime1970() = {{year1970(), month(), day()}, time()}date() = {year(), month(), day()}year() = integer() >= 0Year cannot be abbreviated...原创 2013-09-06 11:21:39 · 193 阅读 · 0 评论 -
<20>erlang中的类型和函数说明
erlang是一种动态类型的语言(运行时才决定数据类型),可以自己声明一些数据类型(1) 预定义类型 首先erlang自己有一套预定义的数据类型, 也可以有用户自己定义的类型,自己定义的类型都来源于这些预定义的类型的组合及类型定义的语法, 预定义类型:Type :: any() %% The top type, the set of all Erlang te...原创 2013-09-15 11:25:32 · 301 阅读 · 0 评论 -
<22> erlang中的数学计算函数相关
1. 幂函数 match:pow(m,n) 表示m的n次幂2.对数据进行取整,去掉小数, 返回整形trunc(Number) -> integer()Types:Number = number() 3.对小数取整,四舍五入的函数round(Number) -> integer()Types:Number = number()Returns an ...原创 2013-10-10 10:34:11 · 684 阅读 · 0 评论 -
<23>erlang 数据存储
做为后端开发者,经常用到数据存储, 工作中用到过各种模式的数据存储,但很少总结下经常用到的方法,虽然很多或自己想法或从网络上来没有实践过,但记录下来简单分析下,做为备份,以便以后工作用验证, 简单分析涉及erlang做服务器最常用数据存储的方式:1. ets + mysql 这估计是很多采用的方法,这种方法最常用的原因是mysql大家用的已经相当普遍了,适合存储各种大量的数据, 并且m...原创 2013-10-15 22:15:58 · 430 阅读 · 0 评论 -
erlang版本安装相关问题 <32>
erlang R1603安装后,crytpo报错的解决方案http://www.kongqingquan.com/archives/145 R17B中把编译的默认字符方式改为utf8,所以可能在调用list_to_binary等函数时候报错,解决方法是%% -*- coding: latin-1 -*- ,加这个在文件开头,必须是第一行,编译再运行...原创 2014-05-10 15:54:36 · 256 阅读 · 0 评论 -
<9>rabbitmq网络层
抽离出了网络层, 逻辑层待以后研究https://github.com/zacma/scode原创 2013-01-31 00:20:57 · 111 阅读 · 0 评论 -
<1>erlang初体验
从头到尾把看了一遍,对erlang总算有了总体认识,实在为erlang的这种特性所吸引 现在对知识点简单回忆下 1 spawn_link和spawn的区别 2 用 process_flag(exit, true); 这样程序正常关闭的时候,才可以收到terminal退出信息, http://www.qingliangcn.com/2010/08/erlang-otp%E4%...原创 2012-07-10 00:10:48 · 116 阅读 · 0 评论 -
<11>erlang中方便使用的模块和命令(2)
(1) 进程字典到底用不用,很多人推荐使用http://mryufeng.iteye.com/blog/435642需要注意的是,使用的时候要做好封装(2) "192.168.0.188"== lists:flatten(io_lib:format("~p.~p.~p.~p",tuple_to_list({192,168,0,188}))). ...原创 2013-04-06 22:33:34 · 105 阅读 · 0 评论 -
<12>简述erlang的几种错误
1) badarg Bad argument. The argument is of wrong data type, or is otherwise badly formed.参数错误,例如erlang:exit(aa, zz).2) badarith Bad argument in an arithmetic expression.数字匹配错误,例如2+a....原创 2013-04-14 23:31:55 · 504 阅读 · 0 评论 -
<2>erlang 相关连接
1 关于一个rpc的说明 http://blog.chinaunix.net/uid-20395183-id-1952013.html2 关于eshell的使用说明, 如果用到多节点是非常good的http://erlang-china.org/study/the-remote-shell.html3 前几天遇到一个问题,就是erlang 的日志系统,启动时候是...原创 2012-08-02 19:10:09 · 113 阅读 · 0 评论 -
<4>erlang中方便使用的模块和命令(1)
1 rr的是使用:erlang中经常会进入debug模式去查找某个ets的信息,一般ets都是由record来定义结构的,但是在debug模块下不方便去查看某个record的定义,这时候可以使用命令rr(ModuleName) 来查看该module中用到的record, 再使用rl(RecordName)就可以查看了看定义rr(Module)Reads record defin...原创 2012-11-09 18:12:42 · 601 阅读 · 0 评论 -
<6>error_logger 使用
erlang中日志管理主要有error_loggger 模块,这个模块在系统启动时候就会启动,不过要自己配置是如何管理,整个管理是通过gen_event来注册事件来管理的 常用的 erl -kernel error_logger ttyerl -kernel error_logger falseerl -kernel error_loggger silenterl -ker...原创 2012-12-02 16:24:05 · 420 阅读 · 0 评论 -
<7>pg2 分析
网上看到erlang的pg2模块似乎没人推荐使用,但是还是有不少使用者,自己也感觉使用跨节点通信时候,使用它来管理各个近点的进程也是不错的选择, 使用过程中也有不少疑问,也感觉接口不够丰富,简单分析下:pg2为什么允许一个进程加入两次呢?,并且也要退出两次,使用时候可以自己加些判断,join(Pid, Group) -> ok = case list...原创 2012-12-08 13:42:13 · 243 阅读 · 0 评论 -
<26>io:format io_lib:format
使用io_lib时候要注意参数,尤其是封装json串的时候,否则可能导致封装错误看shell中的使用结果就知道,我在使用mochijson2 封装时候刚开始导致前端不能解析[img]http://dl2.iteye.com/upload/attachment/0091/1568/2395e341-0920-3c77-9497-b16859858693.jpg[/img]网上看到这样一段...原创 2013-11-14 11:07:22 · 388 阅读 · 0 评论 -
<27>erlang record
平时总是忘记record的某些使用方法,每次使用都要翻文档, 感觉翻博客更快,所以把record使用记录下来,例子通过ets来使用record,结合了基本的record使用方法,例子可以直接运行1. 定义2. 创建3. 访问4. 更新5. 做guard语句6. record的内部替代方式7. 还可以通过统一的赋值方式,一次给多个赋值-module(ets_tes...原创 2013-11-19 11:19:59 · 131 阅读 · 0 评论 -
<8>redis及erl-redis阅读
1 redis的功能相当的强大,里面的发布订阅pub/sub和设计模式中的观察者模式很相似pub/sub不仅仅解决发布者和订阅者直接代码级别耦合也解决两者在物理部署上的耦合。并且发布和订阅功能都是多对多的见发布订阅的例子 http://bbs.chinaunix.net/thread-3755278-1-1.htmlerl-redis是litaocheng实现的一个精炼有...原创 2013-01-16 10:14:18 · 158 阅读 · 0 评论 -
<24>用error_logger间隔记录日志
执行下面的代码test:start().test.erl -module(test).-compile(export_all).start() -> Fun = loop, spawn(?MODULE, Fun, []).loop() -> receive after 5000 -> error_logger:de...原创 2013-10-22 16:09:48 · 256 阅读 · 0 评论