
erlang
文章平均质量分 56
拿小xi的铅笔
熟练linux编程与配置各项服务维护。对redis有商业使用经验,从事java商业项目开发一年,主持开发电信增值业务~ 投身erlang的世界
展开
-
erlang内置大数据量数据库 ets,dets 初窥
ets是Erlang term storage的缩写, dets则是disk ets. 它们不同的就是ets存在内存里面,而dets则存在磁盘上。ets存的数据表是暂时性的,拥有它的进程挂了,它也会挂掉. dets就算程序完成或者挂了,数据表还是持久存在的.如果是异常退出的, 可以进行修复.ets表看起来像是由erlang实现的,但实际上它是由运行时系统实现的,所以具有更高原创 2011-10-24 16:23:13 · 4041 阅读 · 0 评论 -
[erlang学习] 怎么让erlang工作得像一个 deamon程序
写好的erlang程序要放在服务器上跑,总不能一直终端打开erl的吧? 应该是让erlang程序运行得像deamon那样,需要时候再连接上去操作。办法:启动:erl启动使用 -detached 参数启动这个参数可以让erl节点脱离了终端。例如 : $erl -sname dp -detached如何链接: erl原创 2012-04-29 22:59:16 · 3292 阅读 · 0 评论 -
【erlang 网络编程学习】 分析cowboy acceptor实现
不知道为什么就看了cowboy代码,就继续看了下去了。分析一下吧,主要写写cowboy 的acceptor pool 的实现cowboy的源码比mochiweb的更简洁, acceptor pool是通用的,cowboy提供了tcp的协议实现。而应用层协议也是通用的,cowboy提供了http协议的实现。一、循例分析一下原创 2012-04-19 17:56:06 · 5242 阅读 · 0 评论 -
【erlang学习】解惑 erlang的oop语法糖
“状态与代码同行” 这是函数式编程语言的一个特点。erlang 在抽象/描述一些复杂的数据对象时候。比较困难。看到mochiweb的将Parameterized modules用得很oop。自己写了一下代码。-module(oop, [Name]). -export([get_name/0,new/1]). new(Name) -> ins原创 2012-05-14 17:27:04 · 3475 阅读 · 0 评论 -
[erlang 学习] 转载的 gen_server中管理新的进程
最近Joe在erlang mail lists中频繁现身,估计是因为许多人对gen_server的使用有很多误解,忍不住出来解救众生的...其中Joe专门解释了怎样在gen_server中管理新的进程的问题代码:foo(X) -> gen_server:call(?Mod, {foo, X}). %% Write a gen_server handle ca原创 2012-05-14 18:05:56 · 2926 阅读 · 0 评论 -
erlang lists
-。- 收集的。官方doc也不尽详细呢。。一,带函数Pred1, all(Pred, List) -> boolean()如果List中的每个元素作为Pred函数的参数执行,结果都返回true,那么all函数返回true,否则返回false例子:lists:all(fun(E) -> true end,[1,2,3,4]).结果true2,原创 2012-05-22 11:21:30 · 3788 阅读 · 2 评论 -
[dika 记录] erlang游戏网关,及一些第三方erlang开源项目的使用
回来学校15天了.毕业周,应酬比较多,但是还是做了一点东西.记录下来,一个完整的流程.游戏网关的设计: 其实阅读过一些游戏源代码,基本方案都是如下: client 通过 socket到一个网关点--->获取节点ip信息--->client 与节点sokcet通讯. 这个方案不是很好,socket网关是单点的.我要的是网关集群,这样的服务更加可靠.原创 2012-06-15 10:06:21 · 8164 阅读 · 2 评论 -
[dika记录] 游戏地图模块 的初步模型
erlang 游戏没有什么开源的,可以借鉴的并不多.可能很多处理得不好.但是也是可以自己尝试以下的.rpg游戏的地图模块,是广播量压力最大的. 首要的目标是减少地图模块的压力.思考过几个模型.最后敲定了一个.先从集群层面说明:集群中的每一个节点都有完整的地图信息(地图进程), 把地图分块--单元模块(单元进程). 玩家进程在单元进程上标示自己位置.在单原创 2012-06-17 11:56:23 · 3660 阅读 · 1 评论 -
[dika 记录] cowboy 扩展socket 协议, 以解决flash ,erlang通讯的沙箱为例子
cowboy 的 acceptor pool是通用的,而且说实话,acceptor pool的写法都那样,学习是可以的,但是没必要重复造轮子了.记录一下 直接使用cowboy做底层socket设施:把cowboy的依赖打上,我是用rebar的,deps上加上cowboy的git, 可以直接下载源码,放到自己项目中.要使用很简单,启动cowboy listener 并原创 2012-06-30 14:20:40 · 4690 阅读 · 0 评论 -
[erlang学习] 用observer远程监控节点 (随笔简记)
简短记录: 1) 首先保证要监控的节点网络可达. 这里要注意的是节点用长节点名还是短节点名, 长节点名的话要分清楚内网ip和外网ip.2) 发起监听要新开一个节点,这里要注意cookie 和 长短节点名 新开节点的cookie要和监听的节点一致observer的"nodes"菜单 "connect node" ,然后填入要监听的节点名@原创 2012-07-16 12:44:01 · 4465 阅读 · 0 评论 -
请教程立涛 关于 erlang game 的入手
>> 1、有没有一下开源游戏项目推荐。Erlang比较新兴,目前的开源游戏项目比较少。不过也有一些,你可以稍微了解下:http://www.next-gen.cc/https://github.com/wagerlabs/openpoker>> 2、有没有在不涉及公司利益条件下,分享一些erlang game的资料这个你可以多去网上搜索一下,有一些这方面的slide。基本上原创 2012-04-17 10:43:44 · 5829 阅读 · 0 评论 -
emacs erlang ,debug,高亮,函数跳转,重构,错误提示,自动补全。一个都不少
原来写过一篇 http://www.erlangchina.net/home-space-uid-11136-do-blog-id-68.html但是那时候还有问题还未解决。现在可以了。但是没有时间详细写。我 贴出自己emacs配置吧,然后有问题可以来qq我。309843467 。dp(setq default-directory "~/workspace/erlan原创 2012-03-21 15:40:59 · 7794 阅读 · 1 评论 -
erlang学习~mochiweb 初窥(使用eclipse调试)
学习erlang一段时间了,开始学习mochiweb框架。不累赘说明mochiweb的优点啦。开始~~可能网上很多例子,但是关于怎么在eclipse中调试mochiweb,是没有任何资料的。我分析了一下start-dev.sh 脚本,发现它是通过app配置,启动的。所以自己摸索了这个方法。(莫要笑我用eclipse 写erlang。我的emacs也配置了erlang。只是因为我ecli原创 2011-11-18 14:39:17 · 3376 阅读 · 0 评论 -
Erlang学习~ Mochiweb的设计分析
Web服务器的基本工作大致分3步: 接收HTTP请求; 处理HTTP请求,生成响应内容;发送响应一、处理请求和发送响应 模块mochiweb_request可说是Mochiweb处理HTTP请求的核心部分,它总共负责了第2步和第3步工作。因此参数化模块mochiweb_request的实例不像它的模块名那样单纯:它还负责将请求的响应(通过Socket连接,调用g转载 2011-11-20 22:47:39 · 6881 阅读 · 0 评论 -
erlang otp 自定义behaviour
习惯用oop的思想,来到otp模式,会用旧方式去思考~而对otp设计模式渐渐有了点感觉~记一段代码,告诉自己要用新的思考方式。-module(dp_behaviour). -export([behaviour_info/1]). behaviour_info(callbacks) -> [{init,1}, {handle, 2}]; b原创 2011-11-06 23:14:49 · 1591 阅读 · 0 评论 -
Erlang 学习 :makefile rebar使用
选定mochiweb作为erlang的入门学习项目,细节研究了一下mochiweb。是用rebar进行项目管理。所以今天学习erlang的项目构建,makefile + rebar(在ubuntu 11.10上)首先下载rebar:在 https://github.com/basho/rebar创建项目:$mkdir dptest$cd dptest$wget http原创 2011-12-20 16:35:32 · 3110 阅读 · 0 评论 -
Erlang 学习:关于rebar 和 自带debugger 小记录
rebar支持编译erl时候带入 debug info。 方法: 在rebar的同级目录下,编辑rebar.config 加入: {erl_opts,[debug_info]}.保存后,用rebar编译就会带上编译信息。 rebar 统计eunit的覆盖率。方法: 在rebar的同级目录下,编辑rebar.config原创 2012-03-05 11:48:36 · 4144 阅读 · 0 评论 -
ubuntu 编译安装Erlang R15B 及R15B observer工具
原本是编译安装Erlang R14B03。升级一下。体验erlang新特性./configure --prefix=/opt/erl未能通过。odbc,wxwidght,fop 三项打库咯。这里注意。odbc对应unixodbc和unixodbc-devwx对应 freeglut3-dev libwxgtk2.8-dev很多人会装错包的。。原创 2012-03-09 16:00:51 · 3542 阅读 · 0 评论 -
【erlang 学习】 tsung 源代码分析 怎么debug tsung
本人是大三,初学erlang,是个菜鸟。若觉得这篇文章没有水平,那么sorry,浪费你时间了。我仅是做个笔记而已。 环境: 系统:ubuntu 10.10 erlang版本: R15B tsung版本:1.4.2 emacs准备工作: (一)让emacs的flymake 插件别再报错。由于tsung的源代码分级比普通的项目多一级,所以fly原创 2012-03-26 13:45:49 · 3900 阅读 · 1 评论 -
【erlang学习 】开源nosql kai 的源码分析
由于工作关系,上司要每个月交一份小论文。这个月我分到了一个叫 KAI的数据库,分析下咯。KAI --by dp概况小日本写的一个nosql。很少人用,很少资料(一两篇日文文档),停止维护一段时间了(最后update时间是09年)。用Erlang编写,原创 2012-04-06 12:01:47 · 4487 阅读 · 0 评论 -
erlang的陷阱
原文地址: http://prog21.dadgum.com/43.html1. 耗尽atom因为atom是不会被垃圾回收的,所以如何程序运行时生成太多的atom,(例如在无穷循环里,每次循环都调用几下list_to_atom),atom table会被塞满,然后erlang就当掉了2。进程的耗尽如果你spawn了太多unlink的不会终止的进程,而且这些进程翻译 2012-03-22 09:46:51 · 3859 阅读 · 0 评论 -
blog 移去 github page
http://dp0304.com/原创 2012-09-07 14:27:06 · 2869 阅读 · 0 评论