Erlang-China

erlang 中文社区

实战MochiWeb


MochiWebmochibot.comBob Ippolito贡献的开源项目[在这里有一个介绍它的Slide]。

MochiBot.com 提供 Flash 内容的访问统计和用户跟踪服务(大致上,可以理解为针对 flash 的 google Analytics 服务),他们在 mochiweb 之上构建了一个定制化的 web server ,并通过这个 web server 获取用户的访问数据(在这一点上有点象 Erlana 项目)。可以想象,这个定制的 web server 需要很高的并发支持,精简和牢固的底层架构,以及对于 http 协议的完备支持(乃至对于 socket 的直接操控)。如果可以的话,最好还有更为精简的 API ,易于定制的 URL 扩展方式,以及易于理解的底层框架。幸运的是,这些 mochiweb 都已经提供,而且还是开源的。

需要说明的是,相比 yaws / inets httpd 而言,它的目标并不是 apache 之类的软件,它并不是一个完整的 web server (没有cache等机制,因而也不做任何加速动作),它只是一个实现 web server 的工具包(这也就意味着,它直接通过代码来扩展,你可以在它的基础上做任何事)。正因为此,在“需要定制 Web Server”的情况下,它成为一个非常不错的选择(比如,配置在 enginx 的后面,专门用于动态内容的生成)。在 erlang 的世界里,有几个项目已经开始转而使用 mochiweb 。

下面是对这个项目代码的一些粗浅实战。


[转]Getting Started With Erlang 和 OTP Design Principles 的部分译文


原文链接:blog.sun7.cn

有位热心的 Dino Wu 朋友在 http://wiki.51sun.cn/ErlangDoc 上发表了对《Getting Started With Erlang》和 《OTP Design Principles》这两份文档的部分中文翻译。感谢 Dino Wu 付出宝贵的个人时间为 Erlang 中文社区所做的贡献!

Dino Wu 的译文,在http://wiki.51sun.cn/ErlangDoc(介绍文字相当精炼,也值得一读)上提供了PDF版本的译文下载。

[下载地址] [本地镜像]

后续部分会不定期释出,本文也会继续更新相关的链接。


editplus stx for erlang?


看了一下 erlang-china.org 的来源关键词,没想到,一个排名相当靠前的关键词是“editplus erlang”,想想也是,我当初也是费了好大的劲来配置这个东东,这里贡献出来我的editplus 语法高亮文件给大家共产。

回想一下试验过的 erlang 开发环境,陆陆续续的,也有不少了,目前我最满意的 erlang 开发环境(组合)是这样的,哈哈,忍不住拎出来显摆了:

windows 2k + colinux + debian + emacs + erlang mode + putty

因为平常工作还是离不开 win(别和我说 xp,在我的破机器上 2k 比 xp 跑得愉快得多了,所以我就“主动降级”了),没办法,太多东西了,实在没法一下子转投 linux 的怀抱,只能虚拟。而 colinux + debian 正好提供了一个近乎 native 运行的 unix 环境,资源占用很小,运行速度很快。平时当个 service 跑着也不吃力。最大的好处是所有的软件包都是原生的 unix 软件,啥也不用改,直接拖下来就用,个人感觉比 cygwin 强多了。一路 apt-get install emacs erlang 装下来就是了。

编程的时候,putty 登上去(当然要配好 public key 啥的,以节约生命)就可以用 emacs 。在 unix 下,编译,测试,再也不用担心做好的代码换到 unix 环境就跑不起来了。如果要 x 环境,那就装上 vnc: xfce4 + vnc4server + realvnc view4 ,登录进去,效果一流(额外的好处是可以随时关掉窗口,下次登录回到会话,啥也不会丢)。如果你又想念 eclipse 的 erlide 了,那也没关系,随时在 win 下跑起来便是,apt-get 一个 cvs 回来装上,代码同步就解决了。

现在的烦恼是 emacs 还没习惯,渐渐找感觉中。。。


Unit Test in Erlang


Erlang被称作是“工业级的语言”,在测试领域,理应是有相当成熟度的。而,Joe老先生本人,也是崇尚“拿测试结果说话”的人(在《Programming Erlang》书中,上来就搞测试,然后再开讲的例子比比皆是)。就连 Erlang/OTP 本身的代码质量也是有严密的测试作为保障的。所以,如果在Erlang领域,你见到远比其他语言为多的测试相关工具、框架、包,丝毫也不应该感到惊奇。下面,我们就来看看“Erlang的测试兵器谱”中,都有什么好家伙。


目前支持Erlang语法的开发环境


看到有人谈及开发环境。ok,我们就来盘点一下目前市面上能够见到的,支持 Erlang 语法的 IDE/Editor ,其中,IDE有:

1 加拿大的 CaoYuan (华人哦)开发的 ErlyBird (for NetBeans)

2 大名鼎鼎的 ErlIDE (for Eclipse)

Editor有:

1 Emacs

2 Vim

3 JEdit

目前就知道这么多了,其他人补充下吧。

我现在用的环境是 editplus + erlangconsole 呵呵,谁让我的机器太破呢,连 JEdit 都嫌慢。没办法了,没有语法加亮,没有函数OutLine,慢慢也习惯了,好像也不觉得缺啥。 :D


Erlang/Yaws超快速安装


gashero 贡献了一篇 erlang 的“超快速入门”,我也来贡献一篇“erlang超快速安装”,买一送一,附赠yaws,超值惊喜 :D。

ok,广告 blah 到此结束,口水留到下篇再说,让我们超快速的开始:

在linux平台“从头”安装 erlang-otp 是一个冗长乏味的过程,11.xM 的源代码文件倒还真不算大,安装命令也很常见以及非常简单:

./configure –prefix
make install

虽说只有这两句,可在你输入命令之后(以及之间),陪伴你的只有漫漫无尽的等待。视机器快慢,20到40分钟不等,实在可以说是一件“居家旅行谋杀生命”的必备药品。

现在好了,我们有了 CEAN ,当当当当……。安装过程于是简化为:


Erlang超快速入门


日期:2007-04-06

目录

  • 1 开始使用erlang
  • 2 使用Erlang作为计算器
  • 3 编辑前面的表达式
  • 4 编译你的第一个程序
  • 5 深入了解Erlang