erlang资料】的更多相关文章

http://www.cnblogs.com/--00/tag/Erlang/ http://blog.csdn.net/turingbooks/article/details/3247749 http://www.erlang-cn.com/…
说在前面,为啥要码这些,并不是因为喜欢它,恰恰相反,我非常讨厌Erlang(真香警告)这位二郎神(Erlang的谐音),讨厌它的语法,讨厌它不变的变量,讨厌它的一切. 曾经的我,一听到这个语言,我就打心眼不服,一看到它的写法,我就不爽,C++和Java不香吗?特别香,特别好用,随便百度谷歌一搜,到处都是技术分享博客,想找啥找啥,啥资料都有,一抓一大把.话说想找一些Erlang资料,技术文章少得可怜,而且还是很零散,不过就在博客园这个神圣的地方,就有很多坚持编写Erlang技术博主,打心眼欣赏他们…
把之前阅读资料的时候记下的东西,整理了一下. Adding special-purpose processor support to the Erlang VM   P23 简单介绍了Erlang Compiler和Beam文件格式; The Erlang Compiler in short 章节提到了 Core Erlang 这个之前有提到过: [Erlang 0120] Know a little Core Erlang http://www.cnblogs.com/me-sa/p/know…
Erlang源代码编译为beam文件,代码要经过一系列的过程(见下面的简图),Core Erlang之前已经简单介绍过了Core Erlang,代码转换为Core Erlang,就容易拨开一些语法糖的真面目了.下一阶段就是将Core Erlang转换为opcode,使用c(m,'S')生成的是.S文件可以看到反编译的代码.编译器最终输出的是Virtual Beam Code 但这还不是最终VM执行的代码,在erts\emulator\beam\beam_load.c执行的过程中会完成指令优化,优…
  Erlang开发者或多或少都用过或者听说过Core erlang,它是什么样的呢?新建一个测试模块a.erl,如下操作会生成core erlang代码而非a.beam:   Eshell V6.0 (abort with ^G) 1> c(a,[to_core]). 这时文件夹中已经生成了一个a.core的文件,然后我们如下行事:   2> c(a,[from_core]). {ok,a} 这时已经看到a.beam了,打开a.core的文件,这些看起来熟悉却又有点奇怪的代码是什么意思?有什…
     Erlang 增加 Maps数据类型并不是很突然,因为这个提议已经进行了2~3年之久,只不过Joe Armstrong老爷子最近一篇文章Big changes to Erlang掀起不小了风浪.这篇文章用了比较夸张的说法:"Records are dead - long live maps !",紧接着在国内国外社区这句话就传遍了.马上就有开发者忧心忡忡的在Stackoverflow上提问:Will Erlang R17 still have records?       套…
在2014年的开头就有这样一个令人振奋的好消息,Erlang有一本新书即将出版 <The Erlang Runtime System>,其作者happi在2013年3月份公布了这本书的写作计划:"The plan is to have the book done by the end of 2013 and published early 2014. ",出版方是O’Reilly,按照O’Reilly近一两年的管理,都会有电子版(PDF epub)的版本,所以我们还是有机会…
注意:目前Elixir版本还不稳定,代码调整较大,本文随时失效      之前简单演示过如何从elixir ex代码生成并运行Erlang代码,下面仔细梳理一遍elixir文件的编译过程,书接上文,从elixir的代码切入,这一次我们主要关注编译流程,一些细节暂时不展开.       -module(elixir). ...... start_cli() -> application:start(?MODULE), %% start_cli() --> ["+compile"…
erlang 提供了简单易用的并发编程模型,基本不需要再考虑多线程并发问题.但实际应用中并不是那么的完美,很多地方需要注意,就算标准库也有不少问题.很多在多线程编程中很多很容易解决的事情,在erlang中是那么的蛋疼和无奈.erlang专注于自己擅长领域,本身十分健壮,强大的shell,分布式特性,让我们更专注于业务实现:但因缺乏文档.足够的经验资料,初入时很容易用出各种问题. 1.进程message_queue_len 很多问题归根结底都处在message_queue_len 太长,每个进程都…
算起来接触erlang 三个多月快四个月来,期间从零开始看书写erlang代码.修改RabbitMQ.业务开发.系统调优,总算是有点入门了. 最难受的是边学边修改RabbitMQ,开始真心的看不懂,不知道为啥要这么写,死扛才看过去,想想真心不容易,最后提交修改2000+行代码. 说到坑,那就是erlang 设计与一般语言很大不同,虽然简单但还是有不少需要注意点,不熟悉造成的:erlang 是一门非常成熟语言,OTP 也特别稳定,不过要想用好,很不简单. 列举遇到的注意点: 1. 学习资料少 书:…
Erlang Resources里面关于Elixir的资料越来越多,加上Joe Armstrong的这篇文章,对Elixir的兴趣也越来越浓厚,投入零散时间学习了一下.零零散散,测试代码写了一些,Evernote中笔记更是混乱,还是逐步整理出来. Elixir is a functional, meta-programming aware language built on top of the Erlang VM. It is a dynamic language with flexible…
    我们的IOS移动应用要实现消息推送,告诉用户有多少条消息未读,类似下图的效果(笑果),特把APNS和Erlang相关解决方案笔记于此备忘.          上面图片中是Apple Notification在UI展现的形式之一,Notification共有三种形式:图标显示更新数字(badge),提示信息(alert),提示音(sound);      iOS Apple Push Notification Services (APNs)官方的开发文档位置在:[Apple Push No…
   好久没有写博客,是懒了吗?不是;前面两个月在紧张地推进一个项目,中间积累了一些RabbitMQ和Erlang的东西;本打算在项目结束之后赶紧总结一下,结果老婆怀孕之后生活节奏大乱:早起做饭,晚上回去做饭,洗刷碗筷,衣服,等忙完了也就精疲力尽了;其实这都无所谓主要是老婆反应有点大,身体很不舒服,看她受罪的样子真恨不能以身相替.这样的情况下,惯例的技术学习时间基本上停掉了,偶尔有几天强打精神看书,效果奇差,不得不调整作息时间,晚上尽可能早睡,早晨早起,每天找到一个小时到办公室,这样每天早晨争取…
博客排名不分先后. 诸霸,http://blog.yufeng.info/. 淘宝核心系统资深技术专家,真的是专家,了解erlang已不久局限于erlang,而且现在也一直在更新技术博文,和陈晧一样. learnyousomeerlang,http://learnyousomeerlang.com/content. erlang入门资料,内容介绍很全面而且生动. 衔山的博客,http://fengchj.com. 搜索rabbitmq流控资料的时候找到,通过博客链接了解应该是阿里的哥们. vid…
erlide插件eclipse开发erlang   一.相关资料 Erlang 的官方网站是http://www.erlang.org.其左侧的连接指出了我们可以从这里获取的资源. 其中, Downloads 连接可以下载到所有版本的Erlang. Links 是一些其它资源的链接 Enhancements 是一些Erlang的增强功能 Getting Started 是教学 Documentation 文档,相当于帮助文件 Examples 示例 二.安装 以Windows下安装为例.下载最新…
这个资料关于分布式系统资料,作者写的太好了.拿过来以备用 网址:https://github.com/ty4z2008/Qix/blob/master/ds.md 希望转载的朋友,你可以不用联系我.但是一定要保留原文链接,因为这个项目还在继续也在不定期更新.希望看到文章的朋友能够学到更多. <Reconfigurable Distributed Storage for Dynamic Networks> 介绍:这是一篇介绍在动态网络里面实现分布式系统重构的paper.论文的作者(导师)是MIT…
Motivation 因The Erlang Run-Time System迟迟没有出版,不等了. 梳理一下学习Erlang过程中的学习笔记,以准备一个关于Erlang的small but tight的知识库. Scope 依据参考文献中的3本书,仅关注于Erlang语言层次的内容,不考虑其在系统级别的应用. Progress 20151101 init plan 20151114 添加资料 Game Analytics 开源自己的Erlang集群调度器: GameAnalytics Clust…
声明:本片文章是由Hackernews上的[Erlang Garbage Collection Details and Why ItMatters][1]编译而来,本着学习和研究的态度,进行的编译,转载请注明出处. Erlang需要解决的重要问题之一就是为实现极高响应能力的软实时系统创建平台.这样的系统需要一个快速的垃圾回收机制,而这个机制不会阻止系统及时的响应.另一方面,当我们把Erlang看作一种用无损更新属性的不可改变语言时,这个垃圾回收机制就显得更加重要了,因为这种语言有很高的几率产生垃…
r19据说支持了mnesia_ext,终于可以给那个恶心2gb limit的mnesia换存储引擎了 先下载r19源码,编译 ./otp_build all -a ~/dev/erlang/r19 ./Install ~/dev/erlang/r19 关于mnesia_ext,r19说是有了,但是怎么做,没有文档,也没有资料,最后在otp的pull request里面找 https://github.com/erlang/otp/pull/858/files 看到create_schema,发现…
12.00 Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE MicrosoftInternetExplorer4 /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority…
Erlang不能错过的盛宴 (快步进入Erlang的世界) 作者:成立涛 (litaocheng@gmail.com) 作为程序员,我们曾经闻听很多“业界动态”,“技术革新”,曾经接触很多“高手箴言”,“权威推荐”.这些正确与否,都已成过去! 现在,让我们迎接Erlang盛宴! 一.经历 2007年11月在koders.com搜索代码时,发现*.erl格式的源文件,感叹开发语言的花样百出,此时,我觉得erlang是一个丑陋的小家伙,看名字就没有对它提起多少兴趣. 2008年初的时候,公司的项目开…
http://blog.chinaunix.net/uid-22566367-id-382011.html 在Programming Erlang这本书中,在写到第十章中,主要实现的是不同节点之间的通信,书上列出了四步,其中的第一步很容易实现,依葫芦画瓢,很容易实现同一台机子上,不同节点之间的通信,运行结果和书上的完全一致.当你急切地去尝试第二步(在局域网内,不同机子之间的通信)时,你可能会卡住的(本人是这样的,不知道你?),实践的结果和Joe所说的完全不一样(你如果按照书上所说,在kvs:st…
Erlang中的process——进程是轻量级的,并且进程间无共享.查了很多资料,似乎没人说清楚轻量级进程算是什么概念,继续查找中...闲话不提,进入并发编程的世界.本文算是学习笔记,也可以说是<Concurrent Programming in ERLANG>第五张的简略翻译. 1.进程的创建    进程是一种自包含的.分隔的计算单元,并与其他进程并发运行在系统中,在进程间并没有一个继承体系,当然,应用开发者可以设计这样一个继承体系.    进程的创建使用如下语法: Pid = spawn(…
Erlang不能错过的盛宴 (快步进入Erlang的世界) 作者:成立涛 (litaocheng@gmail.com) 作为程序员,我们曾经闻听很多“业界动态”,“技术革新”,曾经接触很多“高手箴言”,“权威推荐”.这些正确与否,都已成过去! 现在,让我们迎接Erlang盛宴! 一.经历 2007年11月在koders.com搜索代码时,发现*.erl格式的源文件,感叹开发语言的花样百出,此时,我觉得erlang是一个丑陋的小家伙,看名字就没有对它提起多少兴趣. 2008年初的时候,公司的项目开…
Mnesia是一个分布式数据库管理系统,适合于电信和其它需要持续运行和具备软实时特性的Erlang应用,越来越受关注和使用,但是目前Mnesia资料却不多,很多都只有官方的用户指南.下面的内容将着重说明  Mnesia 数据库如何实现SQL查询,实现select / insert / update / where / order by / join / limit / delete等SQL操作. 示例中表结构的定义: %% 账号表结构 -record( y_account,{ id, accou…
Mnesia是一个分布式数据库管理系统,适合于电信和其它需要持续运行和具备软实时特性的Erlang应用,越来越受关注和使用,但是目前Mnesia资料却不多,很多都只有官方的用户指南.下面的内容将着重说明 如何做 Mnesia 数据库查询. 示例中表结构的定义: %% 账号表结构 -record( y_account,{ id, account, password }). %% 资料表结构 -record( y_info, { id, nickname, birthday, sex }). 1.查…
在2014年的开头就有这样一个令人振奋的好消息,Erlang有一本新书即将出版 <The Erlang Runtime System>,其作者happi在2013年3月份发布了这本书的写作计划:"The plan is to have the book done by the end of 2013 and published early 2014. ",出版方是O'Reilly,依照O'Reilly近一两年的管理,都会有电子版(PDF epub)的版本号,所以我们还是有机…
Erlang Resources 资讯小站  好久没有写博客,是懒了吗?不是;前面两个月在紧张地推进一个项目,中间积累了一些RabbitMQ和Erlang的东西;本打算在项目结束之后赶紧总结一下,结果老婆怀孕之后生活节奏大乱:早起做饭,晚上回去做饭,洗刷碗筷,衣服,等忙完了也就精疲力尽了;其实这都无所谓主要是老婆反应有点大,身体很不舒服,看她受罪的样子真恨不能以身相替.这样的情况下,惯例的技术学习时间基本上停掉了,偶尔有几天强打精神看书,效果奇差,不得不调整作息时间,晚上尽可能早睡,早晨早起,每…
在Erlang中写处理二进制数据的代码是洋溢着幸福感的,它对于二进制强大的表现力甚至能让你忘掉了它种种不便,今天我们说说Erlang的二进制数据处理. Erlang中bit string代表无类型的内存区域,bit string 使用比特语法表达,如果bit string包含的数据位数是8的整数倍被称为二进制Binary数据.不要小看一个bits或者说bit string,可以让我们指定任意数据位的bit,这在协议解析的时候是多么的遍历,可以设想一下假如没有这样一个基础设施,我们解析二进制协议的…
安装Erlang 官方安装地址文档: http://www.rabbitmq.com/install-rpm.html 根据官网的推荐 进入到专为RabbitMQ整理的极简版Erlang https://github.com/rabbitmq/erlang-rpm 我们看到这里已经有了.repo格式配置文件 所以,我们进入到/etc/yum.repos.d/ vi 新建一个 "rabbitmq-erlang.repo"的文件名,内容如下:[我这里使用的是CentOS] # In /et…