Erlang实践
文章平均质量分 89
昆山人在上海
暂无
展开
-
打包编译Erlang程序为RPM包
可以使用 https://code.google.com/p/fwtemplates/ 具体用法待续。原创 2014-01-09 00:20:12 · 1287 阅读 · 0 评论 -
Erlang学习:MochiWeb + ERedis
接上篇:http://blog.csdn.net/kunshan_shenbin/article/details/17066221启动Redis,教程:http://redis.io/loop(Req, DocRoot) -> "/" ++ Path = Req:get(path), try case Req:get(method) of原创 2013-12-02 08:05:26 · 1343 阅读 · 0 评论 -
How to install YAWS on Mac OSX
Here are the steps for properly installing and testing a YAWS (Yet Another Web Server) on your Mac OSX machine:Installation:Go to http://yaws.hyber.org/download/Get Latest source - e.g. 'y原创 2013-12-07 23:01:36 · 1063 阅读 · 0 评论 -
YAWS: 号称比Apache强劲1个数量级的服务
官网 http://hyber.org/Mac下安装可参见:或者直接使用homebrew安装:$ brew install yaws让PHP跑在YAWS上(CGI):http://hyber.org/cgi.yaws注意,安装PHP时别忘了添加参数 --with-cgi原创 2013-12-08 00:19:21 · 922 阅读 · 0 评论 -
Erlang学习:A non-OTP supervisor for a non-OTP server
参考:http://blog.bot.co.za/en/article/349/an-erlang-otp-tutorial-for-beginners#.UpoXamSOGJYA non OTP server:%%%---------------------------------------------------------------------------%%% @doc转载 2013-12-01 01:07:15 · 654 阅读 · 0 评论 -
Erlang OTP 开发Online资料收集
1. An Erlang OTP tutorial for beginnershttp://blog.bot.co.za/en/article/349/an-erlang-otp-tutorial-for-beginners2. Erlang并发编程http://svn.liancheng.info/cpie-cn/trunk/.build/html/index.html转载 2013-12-01 00:48:32 · 605 阅读 · 0 评论 -
基于erlang的简单Web服务器实现
当然只是用于实验,如果需要用在正式的项目中,推荐使用mochiweb。https://github.com/mochi/mochiweb测试代码如下:-module(http).%% ====================================================================%% API functions%% ===========原创 2013-11-30 23:05:16 · 955 阅读 · 0 评论 -
Erlang学习:OTP - Application & supervisor & gen_server
资料来源:http://blog.bot.co.za/en/article/349/an-erlang-otp-tutorial-for-beginners#.Upo4SWSOGJY代码如下:src/hello_server.erl%%%---------------------------------------------------------------------------转载 2013-12-01 08:25:51 · 1098 阅读 · 6 评论 -
Erlang学习:介绍Erlang里的Record
转自:http://hideto.iteye.com/blog/241246在Erlang内部只有两种混合的数据类型:List和Tuple,而这两种都不支持命名访问,所以如果没有额外的库的话想创建像PHP、Ruby或Python中的关联数组(Ruby中的Hash)是不可能的 在Ruby中我可以这样做: Java代码 server_opts = {:port转载 2013-11-29 12:33:01 · 648 阅读 · 1 评论 -
Erlang学习:游戏服务端学习代码
游戏服务器代码:https://github.com/jordillonch/eggs游戏测试客户端:https://github.com/jordillonch/eggs_unity3d原创 2013-12-02 05:06:54 · 1100 阅读 · 0 评论 -
Erlang构建工具Rebar手记
转自:http://blog.crackcell.com/posts/2012/07/23/rebar-note.html#$ git clone git://github.com/basho/rebar.git$ cd rebar$ ./bootstrap在Mac下,可以通过修改.bash_profile文件把rebar加入到path。PATH=$PATH:/Users/转载 2013-12-01 22:38:04 · 869 阅读 · 3 评论 -
Erlang学习:MochiWeb + EMySQL
1. 下载MochiWebgit clone git://github.com/mochi/mochiweb.git2. 创建工程$ cd mochiweb$ make app PROJECT=mysql_web3. 修改依赖$ cd ../mysql_web修改rebar.config,添加emysql%% -*- erlang -*-{erl_opts, [原创 2013-12-02 07:05:08 · 2077 阅读 · 1 评论 -
基于Erlang - Chicago Boss框架的TODO
TODO源代码:https://github.com/vessi/chicago-todo/使用Chicago Boss 0.88 - 下载: http://www.chicagoboss.org/download.htm1. 创建todo项目:在Chicago boss目录内,运行:make app PROJECT=todo2. 会退到上级目录,进入todo项目目录。3.原创 2013-12-24 22:50:17 · 1503 阅读 · 0 评论 -
Erlang学习:Django分格的模板引擎ErlyDTL
源代码GitHub:https://github.com/erlydtl/erlydtl演示代码:-module(welcome_template).-export([start/0]).start() -> erlydtl:compile("/Users/bin.shen/Public/welcome.html", welcome_template), welcome_tem原创 2013-12-22 05:25:01 · 1327 阅读 · 0 评论 -
Erlang实现的简易HTTP服务器
-module(hello).-export([start/2]).start(Port, Doc) -> spawn(fun () -> {ok, Sock} = gen_tcp:listen(Port, [{active, false}]), loop(Sock, Doc) end).loop(Sock, Doc) -> {ok, Conn} = gen_tcp:ac原创 2013-12-22 00:28:16 · 1585 阅读 · 0 评论 -
Erlang中出错后自动重启演示:模拟supervisor behavior
代码:-module(supervise).-compile([export_all]).start_process() -> spawn(?MODULE, restarter, []).restarter() -> process_flag(trap_exit, true), Pid = spawn_link(?MODULE, response, []),原创 2013-12-21 21:44:31 · 657 阅读 · 0 评论 -
erlang进程监控:link和monitor
转自:http://blog.csdn.net/mycwq/article/details/13171117Erlang最开始是为了电信产品而发展起来的语言,因为这样的目的,决定了她对错误处理的严格要求。Erlang除了提供exception,try catch等语法,还支持Link和Monitor两种监控进程的机制,使得所有进程可以连接起来,组成一个整体。当某个进程出错退出时,其他进转载 2013-12-15 09:43:51 · 826 阅读 · 1 评论 -
Erlang学习:有限状态机(gen_fsm behaviour)
转自:http://www.cnblogs.com/yourihua/archive/2012/05/13/2497776.html代码如下:-module(npc).-behaviour(gen_fsm).%% API-export([start_link/0]).%% gen_fsm callbacks-export([init/1, static/2, moving/转载 2013-12-15 13:10:42 · 1099 阅读 · 1 评论 -
Erlang学习:通过参数实现状态保存
以下是来自learn you some erlang for great good一书中的例子,相当的经典,直接拿来用了。-module(kitchen).-compile(export_all).start(FoodList) -> spawn(?MODULE, fridge, [FoodList]).store(Pid, Food) -> Pid ! {self(原创 2013-12-15 07:09:42 · 780 阅读 · 1 评论 -
Erlang学习:事件行为(gen_event behaviour)
转自:http://www.kongqingquan.com/archives/80代码:common.hrl-define(PRINT(Msg),io:format("~w ~w ~w:" ++ Msg ++ "~n",[self(),?MODULE,?LINE])).-define(PRINT(Format,Msg),io:format("~w,~w ~w:" ++ Format转载 2013-12-15 22:47:23 · 928 阅读 · 0 评论 -
再议:Erlang中的record与宏
转自:http://www.cnblogs.com/me-sa/archive/2011/07/20/erlang0006.html在Erlang中使用Tuple ,数据项的顺序\数量都是确定的,一旦数据项顺序调整或者增减字段,都容易出现badmatch.同时一些常量如果硬编码到代码中,一旦数值变化,要想全部可靠的替换成新的数值是一个困难的事情.这两种数据层面的变化,在转载 2013-11-29 12:34:56 · 849 阅读 · 0 评论 -
ERLANG 中的 AND ANDALSO OR ORELSE
转自:http://ovalpo.info/?p=377在Erlang程序设计中,在谈到断言时有如下叙述:好像在Erlang中都提倡用andalso与orelse 而不用 and 与 or,andalso 与orelse 是种短路求值,而and 与 or的两个操作数都要进行求值。那么上述情况呢,我觉得是,在f(x)中or连个操作数都要进行求值,第一个求值转载 2013-11-28 23:25:13 · 3902 阅读 · 0 评论 -
Erlang学习资料汇总
LYSE:http://learnyousomeerlang.com/DeveloperWorks:http://www.ibm.com/developerworks/cn/opensource/os-erlang1/http://www.ibm.com/developerworks/cn/opensource/os-erlang2/转载 2013-11-18 00:02:22 · 828 阅读 · 0 评论 -
在线电子书(教程)集锦
1. Erlanghttp://learnyousomeerlang.com/content2. Haskellhttp://learnyouahaskell.com/chapters原创 2012-08-18 20:10:47 · 550 阅读 · 1 评论 -
Erlang技术牛人博客优秀博文摘录
Erlang-China中文社区:http://erlang-china.org/startCowboy 源码分析:http://www.cnblogs.com/yourihua/archive/2012/05/15/2500822.html@mryufeng:http://blog.yufeng.info/http://mryufeng.iteye转载 2012-05-21 15:17:03 · 958 阅读 · 1 评论 -
Erlang并发编程(六) --- mochiweb + riak client
本节将演示如何在riak client集成进mochiweb应用中。riak-erlang-client : https://github.com/basho/riak-erlang-client首先请参阅http://blog.csdn.net/kunshan_shenbin/article/details/7578600,了解如何创建并运行mochiweb应用。修改rebar.原创 2012-05-20 21:46:06 · 1123 阅读 · 0 评论 -
Erlang并发编程(四) --- mochiweb
使用mochiweb开发基于erlang的web应用。参考资料:http://alexmarandon.com/articles/mochiweb_tutorial/中文翻译:http://www.cnblogs.com/ken-zhang/archive/2011/10/24/2222202.html命令行:$ git clone git://github.com/m原创 2012-05-18 06:37:27 · 1102 阅读 · 2 评论 -
Erlang并发编程(五) --- bigwig
Bigwig:Erlang Web 监控工具。参考资料:http://www.cnblogs.com/yourihua/archive/2012/05/09/2491391.html项目地址:https://github.com/beamspirit/bigwig下载。git clone https://github.com/beamspirit/bigwig.git原创 2012-05-18 07:06:28 · 1001 阅读 · 0 评论 -
Erlang并发编程(二) --- Web服务
使用Erlang来创建一个Web服务。从简单的echo service开始:当访问该服务时,返回服务器端当前的系统时间。-module(hello).-export([start/1]).start(Port) -> spawn(fun () -> {ok, Sock} = gen_tcp:listen(Port, [{active, false}]), loop(Soc原创 2012-05-17 15:23:32 · 662 阅读 · 0 评论 -
Erlang并发编程(三) --- 调试
只需添加如下代码:-define(x(X), io:format("~p~p: ~s = ~p~n", [?MODULE, ?LINE, ??X, X])).然后只需简单输出 ?x(XXX) 即可。原创 2012-05-17 20:48:50 · 441 阅读 · 0 评论 -
ErLang语言资料汇总
官方主页:http://www.erlang.org/官方资料:http://www.erlang.org/doc.htmlhttp://jbpm.group.iteye.com/group/topic/7938IDE插件等:http://www.cnblogs.com/me-sa/archive/2011/12/28/erlang0026.htmlhttp:/原创 2012-04-11 17:13:44 · 867 阅读 · 7 评论 -
Erlang递归的性能问题:写出正确的尾递归代码
参考文档:http://erlang-china.org/study/the-right-tail-recursive.html比较以下两个erlang程序的执行效率:a) t1.erl-module(t1).-export([fac/1]).fac(1) -> 1;fac(N) -> N + fac(N - 1).b) t2.erl-mod原创 2013-01-02 23:16:47 · 1041 阅读 · 0 评论 -
erlang的string模块和regexp模块
参考资料:http://gashero.yeax.com/?p=64http://gashero.yeax.com/?p=65A) String1.1 len(String) -> LengthString=string()Length返回字符串的字符数。1.2 equal(String1,String2) -> bool()Strin转载 2013-01-02 22:28:21 · 1349 阅读 · 0 评论 -
Erlang连接到mysql数据库
参考:http://wolfdream.iteye.com/blog/9100301. 下载erlang-mysql-driver svn checkout http://erlang-mysql-driver.googlecode.com/svn/trunk/ mysql2. 对src下面的所有源码进行编译 erlc *.erl3. 然后在mysql 下面创建原创 2013-01-01 21:57:02 · 675 阅读 · 0 评论 -
Building an Erlang chat server with Comet
代码:https://github.com/chrismoos/erl_chat_tutorial网址:http://chrismoos.com/2009/09/28/building-an-erlang-chat-server-with-comet-part-1/http://chrismoos.com/2009/09/29/building-an-erlang-chat-ser转载 2013-11-17 23:51:58 · 862 阅读 · 2 评论 -
Erlang学习:递归和尾递归
代码:loop(0) -> 1; loop(N) when N > 0 -> N * loop(N-1). tail_loop(N) -> tail_loop2(N, 1). tail_loop2(0, R) -> R; tail_loop2(N, R) -> tail_loop2(N-1, N *R).参考资料:http://tech.it168.com/j/2008-原创 2013-11-18 09:53:12 · 845 阅读 · 0 评论 -
Erlang学习: 比特语法
转载自:http://fsword.iteye.com/blog/1110496在网络编程中,我们面对的不再是字符串,而是字节流,对于这些信息的处理,erlang提供了比特语法这样的工具。 废话少说,看例子: Erlang代码 Eshell V5.8.4 (abort with ^G) 1> X = "hello".转载 2013-11-18 00:31:38 · 1236 阅读 · 0 评论 -
MochiWeb : an Erlang library for building lightweight HTTP servers
代码下载:https://github.com/mochi/mochiweb最佳实践:http://alexmarandon.com/articles/mochiweb_tutorial/========================================================1. 代码下载:$ git clone git://github.com/moc原创 2013-11-17 05:50:36 · 1149 阅读 · 0 评论 -
Comparison of Erlang Web Frameworks
https://github.com/evanmiller/ChicagoBoss/wiki/Comparison-of-Erlang-Web-Frameworks原创 2013-11-17 00:19:20 · 804 阅读 · 0 评论 -
Chicago Boss: a server framework inspired by Rails and written in Erlang
官网:http://www.chicagoboss.org/下载:https://github.com/evanmiller/ChicagoBoss/代码:1. 创建工程:git clone https://github.com/evanmiller/ChicagoBoss.gitcd ChicagoBossmakemake app PROJECT=myappcd原创 2013-11-17 06:08:22 · 1123 阅读 · 0 评论