Archive

Archive for January, 2009

erlybird的使用小记

January 16th, 2009 :: huzht

从IDE的角度讲最近接触了erlide和erlybird,先在win下安装了erlide,erlide不错,有库的智能感知,调试,但我发现utf-8的配置总有些莫名奇妙的问题,后来改成erlybird了,utf-8配置的问题没了,网上说先需要索引近一小时,可我不到2分钟就索引完了。编译按小锤子,每次打开一个shell可以按小的绿箭头运行,还有默认的erl启动参数设置问题,可以在工程中点右键属性,run中arguments中输入即可,用了几天这款ide,感觉挺好,挺简单的,谢谢erlybird的作者。

misc

问个非常初级的问题

January 15th, 2009 :: huzht

我用了1天把erlang的EPL协议(也就是MPL协议改的),读了一下,感觉还有点没明白,我想问问如果我只使用默认配套的.beam文件和他的运行时环境,当然我肯定要自己做一些逻辑上的模块函数什么的,不包含他的.beam,只使用他的.beam,也不更改他的任何.erl文件,这样应该可以免费闭源使用吧?希望高手指点指点,谢谢!

study

Windows中erlang环境配置

January 15th, 2009 :: ezhozhe

各位发的贴都很高深啊,-_-!,我只能冒死出来发点扫盲类贴子了。接触erlang是在今年7月(忘了已经09年了),公司有一批code,在完全不懂的状况下拿来依葫芦画瓢的改,那个郁闷就别提了,erlang的可读性大家都知道…… 2个月前开始系统学习,对于像我这样的非专业编程人士,很希望能在windows下跑erlang。《Programming Erlang》有一章是讲怎么配windows环境的,不过配置过程中还是遇到不少问题,于是上网查了些资料。总而言之,都是别人的东西,我只是拿来总结一下。废话不多说,开始:

1.安装erlang  http://www.erlang.org/download.html

2.配置Erlang的CWD(current working directory)

在C:\Program Files\erl5.6.2下建一个名为 _erlang 的文件,文件内容如下:

io:format(“consulting .erlang in ~p~n” ,
[element(2,file:get_cwd())]).
%% Edit to the directory where you store your code
c:cd(“c:/zmz/erlang/home/code” ).
io:format(“Now in:~p~n” , [element(2,file:get_cwd())]).

3.配置环境变量

Computer->Properties->Advanced system settings->Advanced->Environment Variables->System variables
添加 HOME c:\zmz\erlang\home

3.安装emacs ftp://ftp.gnu.org/gnu/emacs/windows/, windows下我找不到什么好用的IDE了。eclipse的erlide是beta版,并且是1年多前开发的,此后再也没有新的版本。我装过,经常出错,很不好用。还有个中国牛人自编的erlang IDE,也不太顺手,所以就用了emacs。

4.配置emacs的CWD,最简单的办法就是在启动emacs的快捷方式中,右键选属性,在Start in那一栏当中填上你要的目录,比如C:\zmz\erlang\home。这样在emacs打开文件时,会默认打开这个目录,否则就是打开emacs的安装目录,那样很不爽。

5.配置emacs环境

创建文件C:\zmz\erlang\home\_emacs,文件内容如下:

     ;; Erlang mode
     (setq load-path (cons  “C:/Program Files/erl5.6.2/lib/tools-2.6.1/emacs“ load-path))
     (setq erlang-root-dir “C:/Program Files/erl5.6.2″)
     (setq exec-path (cons “C:/Program Files/erl5.6.2/bin” exec-path))
     (require ‘erlang-start)

      ;; Emacs client
      (server-start)

6.安装MinGW http://www.mingw.org/download.shtml。 安装选项中确认“MinGW base tools” 和 “MinGW make” 被选中。有了这个就可以使用makefile来编译程序。

把 C:\Program Files\MinGW\bin\mingw32-make.exe 另存一个名为make.exe的文件,存在同一目录下。不是改名,2个.exe都要,至于为什么我不记得了。

7.安装MSYS http://www.mingw.org/download.shtml, 下载MSYS-1.0.10.exe 。安装过程中会问到你的MinGW安装目录,比如C:\Program Files\MinGW。有了这个你就有了个shell环境,可以运行很多UNIX命令。

以上步骤全都在Vista下测试过,全部完成后,就可以很方便的在emacs下用erlang了。另外一个小的tips就是在emacs下选择File->Split window,可以把emacs分成上下2个窗口,一个写程序,另一个开Erlang shell编译调试。

祝大家好运,并预祝牛年大吉大利。

misc , ,

erlang 的源代码保护机制

January 14th, 2009 :: jackyz

稍微深入研究过一点 java 的同学,恐怕都知道什么叫做 “反编译” 。也就是说,随便拿一个 class 文件,找一个 jad 来,所有的 “智慧结晶” 就全都 “真相大白” 了,跟原先的 source code 相比,区别只是没有注释而已。

对于开源软件开发者来说,这本是无所谓的事,但对于商业开发者而言,这简直就是噩梦。在 java 的世界,道高一尺魔高一丈(及其反复迭代)的结果是,这件事最终演变得比较诡异,以至于专门诞生了一个名叫 “代码混淆” 的产业。在我上一次关注的时候,这个领域的最新进展是可以 “混淆” 程序执行的流程,以至于正常的人类阅读反编译出来的源码,将会导致严重的脑残。不过,传说又出了个叫做 “流程优化器” 的东东……(这个故事未完待续)。

其实,这件事困扰的不仅只是 java ,几乎所有 “有源代码” 的程序都有这个烦恼。比如,饱受折磨的还有 php, asp 以及 .net。不知道有没有高人能从 “机器码” 反编译出 C 和 C++ 的源程序呢,反正我挺好奇的。不过,话说回来, “没有源代码” 的程序,恐怕还真的没有。保护源代码,在我们现如今 “处处是山寨,遍地是豺狼” 的产业现状之下,似乎仍然是个不得不认真对待的事情。

在源代码保护的问题上,Erlang 的表现又会如何?今天体验了一把,应该说,设计得很细致,至于说这样的设计是否能够完全杜绝源代码的泄露,这个问题恐怕仍然需要留给 “专家” 们去研究。好吧,口水就喷到这里,下面上干货。
Read more…

study , ,

如果你真的用不爽Emacs

January 5th, 2009 :: KrzyCube

我自己是个Emacs的Fans,写Erlang的coder也受官方影响,有不少试了试Emacs,不过,如果你真的不喜欢Emacs的话,

不妨试试简单的,GEdit。 戳这里看详情。

gedit_erl

misc