
Erlang
文章平均质量分 78
shuidai
这个作者很懒,什么都没留下…
展开
-
TinyMQ学习(1) 概述
最近在学习erlang,了解了下它的基本语法以及相关特性,但是一直没有比较大的进展.前天在微博上无意中发现一个用erlang写的迷你的消息队列TinyMQ(源代码文件不足50K),这激发了我极大的兴趣,抱着学习的态度,下载了作者的源代码([url]https://github.com/evanmiller/tinymq[/url])进行了研究学习,收获还是蛮大的,至少了解到:1.如何用erla...原创 2012-11-24 00:27:10 · 342 阅读 · 0 评论 -
Erlang rebar源码学习(一)
最近看霸爷的微博([url]http://weibo.com/tchuba[/url])提到,rebar([url]https://github.com/basho/rebar[/url])是学习Erlang很好的材料,因此作为Erlang新手,自己也把源码下载下来看了下,确实发现代码写的非常优雅工整,里面的每个方法(函数)写的都很短小干练,的确可以作为写Erlang代码的范例!那么reb...2013-01-27 17:34:49 · 307 阅读 · 0 评论 -
Eralng ets学习总结
[b]ets是什么?[/b]ets是Erlang Term Storage的缩写,它是一个基于内存的KV Table,支持大数据量存储以及高效查询.[b]ets有4种类型的table:[/b][table]|set|table中的每一个Value(Tuple)都是唯一,并且一个Key只能对应一个Value||ordered_set|同set,唯一不同的是table中的Key...原创 2013-01-13 13:57:55 · 273 阅读 · 0 评论 -
Erlang 文件处理(读书笔记)
今天看了下erlang file章节,内容感觉比较散,现在做个笔记:文件操作主要有4个module[b]file [/b]: 这个模块主要提供对文件基本操作的方法(譬如,打开关闭文件,读写文件内容等等)[b]filename[/b] : 这个模块提供跨平台处理文件名的方法(即,你不用关心你的代码是运行在linux平台还是windows平台)[b]filelib[/b] : 这个...原创 2013-01-08 12:57:45 · 351 阅读 · 1 评论 -
Erlang OTP学习(3):supervisor
今天细致的看了下supervisor,现在做个总结:[img]http://dl.iteye.com/upload/attachment/0078/8720/92ac0d22-334c-3303-a5e9-b2c5a1e1f0d6.png[/img]其中,方块代表supervisor process,它的功能很简单,就负责看管它下面的“小弟”(child processes) 并且在必要的...2013-01-05 21:11:38 · 169 阅读 · 0 评论 -
Erlang 并发错误处理
[b]这一章有三个关键的概念:link,exit signal, system process,现在就对这些做个总结:[/b]通常一个process是由另一个process创建,若我们不做任何处理,那么新创建的process(我们称:子process)和创建它的process(我们称:父process),在创建完成后将没有任何关系,任何瓜葛,生老病死都不会被对方感知,但是若我们有这样这一种...2013-01-04 19:51:30 · 162 阅读 · 0 评论 -
Erlang receive代码块
receive代码块是如何执行的呢?[img]http://dl.iteye.com/upload/attachment/0078/6477/52549fae-2faa-3569-be9e-31a3a34a1aef.jpg[/img]process会尝试从它的mail-box中循环取出消息进行pattern match:1.若某一条消息pattern match成功,该条消...原创 2012-12-31 11:28:59 · 379 阅读 · 0 评论 -
Erlang OTP学习(2):gen_event
说完了gen_server,今天我们来看看gen_event。通常我们会有这么一种需求场景:采集客户端发送的事件,并做相应的处理,如下图:[img]http://dl.iteye.com/upload/attachment/0078/6320/5a1a22d9-4ff5-34fd-83f7-039002e424f0.png[/img]EventServer负责接收客户端发送的事件消...2012-12-30 17:26:14 · 182 阅读 · 0 评论 -
Erlang OTP学习(1):gen_server
在《Programming Erlang》的OTP introduction章节中,作者通过循序渐进的方式,向我们展示了gen_server设计思路,现在做下总结:在具体看gen_server之前,我们先看一个server通用框架:[img]http://dl.iteye.com/upload/attachment/0078/5520/a0947ace-5d71-35bd-a04f-e...原创 2012-12-28 19:20:57 · 152 阅读 · 0 评论 -
Erlang 单元测试
今天学习了下Erlang单元测试,发现非常有用,现在做个总结:我们先看一个例子(吐槽下Iteye的erlang代码高亮):[img]http://dl.iteye.com/upload/attachment/0078/3516/1320aa76-4c87-3277-a8b2-00885978ed7d.jpg[/img]这个module负责计算1到N的和,现在我们如何确认这个mo...原创 2012-12-24 23:29:31 · 213 阅读 · 0 评论 -
TinyMQ学习(2) 源码
上一节([url]http://diaocow.iteye.com/blog/1734253[/url])我们对TinyMQ进行了概述,这一节我们将着重看一下作者是如何实现消息的发布/订阅[size=small][b]在看源代码之前我们需要了解一些module以及函数的作用:[/b][/size][code="text"]dict:new()创建一个 Key-Value D...2012-11-24 14:38:07 · 159 阅读 · 0 评论 -
Erlang rebar源码学习(二)
之前说了rebar编译的核心部分(rebar_base_compile:run/4方法),现在我们就完整的看下Erlang编译流程([b]不准备细致的分析每一行代码,只罗列其中较为重要的部分[/b])编译的入口方法是: [b] rebar_erlc_compiler:compile/2[/b][img]http://dl.iteye.com/upload/attachment/00...2013-01-28 11:27:52 · 183 阅读 · 0 评论