Erlang
文章平均质量分 73
minyskirt
热爱编程,喜欢接触新技术。除了在工作上使用C#、Java语言做开发外,还经常接触Erlang、Ruby以及QT等。平常除了写代码,就是喜欢看看计算机方面的书。
展开
-
ErlyWeb的MySQL数据库连接以及操作
首先从http://erlyweb.org中下载最新的ErlyWeb,解压缩到D盘.然后从控制台进入到erlyweb所在的目录后,执行make.bat批处理文件,把scr目录的源码编译后复制到ebin目录中,其中src源代码中包含了my-sql的驱动 把编译后的erlyweb复制到erlang安装目录下的lib文件夹内.进入控制台,启动erlang shell 环境,利用ErlyWe原创 2009-12-06 17:53:00 · 1355 阅读 · 0 评论 -
Erlang Abstract Form--Module声明和Form
前面已经介绍了,ErlyWeb中的Smerl已经具备了和Ruby样的元组编程,本文将会介绍实现元组编程的基本原理,在Smerl中,主要是用到了Erlang的Abstract Form来实现的,我们将具体考察Erlang Abstract Form的组成。方法很简单,参考Eralng文档的Abstract Form一节,用实际的例子加以验证。Abstract FormAbst原创 2009-12-11 22:22:00 · 1258 阅读 · 0 评论 -
Erlang 元编程
众所周知,Ruby具有一个特性,即元编程(meta programming)。在web开发中,它能够在处理数据库表与实体之间的映射,不仅能够在运行时生成Ruby实体类,而且还封装了数据库的操作,如添加、删除、修改、查询,这样在开发过程中能够省去不少代码的编写工作。所幸的是,ErlyWeb的作者Yariv Sadan在他的ErlyWeb框架利用Smerl实现了这个功能。 实际上Erlang和原创 2009-12-11 14:15:00 · 1472 阅读 · 0 评论 -
Erlang Abstract Form--生成和获取
Erlang Abstract Form--生成和获取 Smerl通过修改Erlang的内部解析树,并重新编译这棵解析树实现meta programming。为了理解Smerl,我们首先需要理解Erlang内部解析树的生成、表达形式和获取、修改的方法。Erlang把解析树称为Abstract Form,要获得某一个模块的AbstractForm有两种方法: * 从已经编原创 2009-12-12 14:11:00 · 2458 阅读 · 0 评论 -
Abstract Form--动态生成和修改module
前面,我们简单描述了Abstract Form的基本组成。现在,我们来看看如何利用Abstract Form动态生成和修改module。在介绍Erlang Abstract Form--生成和获取,已经提到过,要获得Abstract Form有两种方法,一种读取beam文件中的debug_info,另一种方法就是直接解析源代码。 提供源代码文本修改一个modul原创 2009-12-13 11:18:00 · 1348 阅读 · 0 评论 -
利用OTP.NET框架来实现C#与Erlang Node之间的通讯
OTP.NET库是Erlang中Jinterface的.NET实现,Jinterface是Erlang开发的用来实现与Java通讯的开源库,出了Jinterface 外,还开发了与C通讯的库。关于OTP.NET的代码可以从http://jungerl.cvs.sourceforge.net/viewvc/jungerl/jungerl/lib/otp.net/下载得到,由于OTP.NET是Java原创 2010-02-08 09:27:00 · 4100 阅读 · 2 评论 -
利用Socket来实现Erlang与C#之间的通讯
由于Erlang在处理数据时在性能上具有一定的优越性,特别是在处理并发计算的时候。于是想着能不能实现C#与Erlang之间的通讯,经过一天的编码,终于有所收获。 首先要注意的是,在Erlang与C#之间,进行数据交换之前,都必须把数据转换成UTF8的格式后,再获取其二进制数据,同时获取时也需要以UTF8的格式获取,否则会出现乱码的现象,在这次实现的两者之间的Socket通讯,不仅可以传送字原创 2010-02-07 01:22:00 · 3101 阅读 · 0 评论 -
在Ubuntu中配置ErlyWeb环境
由于更换使用了Winddows 7操作系统,在以前windows 2003上能正常开发的ErlyWeb在Win 7下面由于没有安装OpenSSL的缘故,而且主要的还是erlang的mysql驱动在windows系统下不能很好的工作,经常连接不上,需要重复执行N(N>3)次命令,很是恼火,由于Erlang大部分都是在Linux使用,所以想着在Linux下开发。在选择Linux时,考虑到Fedor原创 2009-12-09 23:24:00 · 1770 阅读 · 0 评论 -
利用ErlyDB、Mysql来实现表的添加、删除、修改、查询操作
在ErlyWeb的erlyweb模块中,有一个compile/2的函数,其作用是用来编译源代码到ebin中去的,函数原型是:compile(AppDir::string(), Options::[option()]) -> {ok, Now::datetime()} | {error, Err}.AppDir参数是项目所在的路径,Options是可选参数列表,其中就包含一个{erlydb原创 2009-12-06 17:58:00 · 1920 阅读 · 1 评论 -
通过EPMD来获取Erlang Node的Port
在Erlang分布式中,各个节点之间的通讯都是通过Erlang的EPMD (Erlang Port Mapper Daemon)来实现的。首先,节点在EPMD注册节点名称,然后客户端或者另外一个节点与注册的节点通讯时,发送请求数据到EPMD,然后EPMD根据请求内容返回相应的相应信息,客户端或者另外一个节点再根据返回信息与服务节点通讯,详细的Erlang分布式协议可以通过http://www原创 2010-02-23 13:51:00 · 3509 阅读 · 0 评论