论坛首页 综合技术版 Erlang

ErLang / Python Web 的类似CGI/FastCGI模式

浏览 2885 次
精华帖 (9) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
时间:2008-02-28
我只是初步会写 ErLang。
递归、匹配这些部分比较容易。
字符串解析就难多了。我遇到的问题主要有两个。
(1)字符读取
首先从文件中读出一个巨大的Binary, 然后 Binary to List,得到一个巨大的 List。
我还不知道有别的方法。这个过程想象一下,效率应该是不高的。
想到辛苦写出来的字符串处理功能,运行起来可能很慢。就很容易失去动力了。

(2)状态保存
解析过程中需要涉及到大量的状态保存工作。
我必须把所有的中间状态都保存在参数中,然后一层层传递下去,在一层层通过返回值返回出来。导致数据结构异常复杂。
这就是stateless的代价。

yecc 需要程序员自己提供词法分析器。这正是我最怕的部分。

erlang xml 找到两个实现,一个是第三方的,一个是 Erlang Lib 里面的。目前支持 unicode.据说效率比起其他语言来说不是很高。

想来 ErLang 实现 encode / decode 应该有一定优势,因为 ErLang 的 Bit 操作比较成熟。

ErLang 还有文档数据库开源项目。处理文档,在我印象中,应该不是 ErLang 的强项。这个文档数据库开源项目值得参考一番。
   
0 请登录后投票
时间:2008-02-28
Binary也可以pattern match,很多情况下,文挡不需要转换成list,直接处理binary即可。

我的blog里有些例子:
http://blogtrader.net/page/dcaoyuan/category/Erlang
   
0 请登录后投票
时间:2008-02-28
另,states如果比较复杂,可以定义一个record来传。
   
0 请登录后投票
时间:2008-03-18
erlang的io/driver实现就是和fastcgi是相同的技术。
   
0 请登录后投票
时间:2008-04-30
check this: http://humani.st/scalable-web-apps-erlang-python/

the way is: python(urllib2) < -- json -- > (mochiweb)erlang

port(pipe/stdin-stdout) to python is also available, and more efficient anyway.
   
0 请登录后投票
论坛首页 综合技术版 Erlang

跳转论坛:
JavaEye推荐