- 浏览: 28272 次
- 性别:
- 来自: 广州
最新评论
文章列表
自己写的游戏跨服初步构架,以后再一点点完善,先记下时间线哈。
https://github.com/zhongwencool/NodeManager
简单erlang节点互连实验
- 博客分类:
- erlang
如果erlang:节点test1,test2互连接:
1.节点test1,test2 启动:分别在不同的shell上运行:
erl -name test1 -setcookie "erlang_code_fun"
erl -name test2 -setcookie "erlang_code_fun"
2.在节点1,节点2上运行:
node()得到自己节点的名称。
观察与之互接的节点:
nodes().
节点test1:信息
节点test2:信息
3.把test1,test2节点连接起来:
可以看到双方的nodes()都返回了对方的节点名 ...
演示gen_event的运行过程:
mod_event_manager.erl:事件管理器:
mod_event_error_msg.erl: 错误日志事件:把错误放入对应的txt用。
%%%-------------------------------------------------------------------
%%% @author zhongwencool@gmail.com
%%% @copyright (C) 2014, <COMPANY>
%%% @doc event manager center
%%% ...
原英文文档:http://www.erlang.org/erldoc?q=&x=0&y=0
Tips:看到网页右边的搜索功能了么,保存这个实用网页吧。
一个实现事件处理功能行为模块,可以动态的删除和增加任意数量事件的事件管理器(event_manager),事件管理器使用这个模块将实现一套标准的接口功能,包括跟踪和错误报告功能。同样他也适合OTP 监控树(supervision tree)
每个事件处理程序被实现为一个回调模块导出一组预定义的功能:
每一个事件处理程序都是一个回调模块,一个事件管理器必可以动态的增加和删除事件回调,所以g ...
window下安装esense 备忘:]
引用esense:
* completion of names for modules, functions, records, macroses & fields in records;
* jump to the files included with -include directive;
* jump to the function's definition;
* show of documentation for selected function, or show short description in tooltip. ...
* 3 Common Caveats
* 3常见的注意事项
Here we list a few modules and BIFs to watch out for, and not only from a performance point of view.
下面我们来看-看erlang的一些常用module和bif,不仅仅从性能的角度去考虑。
3.1 The timer module
3.1 timer模块
Creating timers ...
- 2013-08-19 22:19
- 浏览 1102
- 评论(0)
2 The Eight Myths of Erlang Performance
项目现在终于有点空闲时间了,看看erlang doc,觉得不错,就自己尝试看看,怕不是很理解就翻译出来。自己总结,感觉点很多,要成一个系统的去学习去不断的尝试才能理解这些原则和设计。慢慢去尝试吧。
注:【】内是我自己加的哦】
Some truths seem to live on well beyond their best-before date, perhaps because "information" spreads more rapidly from person-to-person ...
fun这么好用。为什么老大在最近都说不要用?
gen:call(PID,{func,fun() ->broadcast_to_whole_map(Record) end}).
handle_call({func,F},_From,State) ->
Reply = F(),
{reply, Reply, State}.
gen:call(PID,{server_module,broadcast_to_whole_map,[Record]}).
handle_call({server_module,broadcast_to_whole_map,[Record ...
emacs 设置erlang-flymake
erlang-flymake 是emacs自带的。可以看erlang-flymake.el里面的文件说明
核心在于:1)用erlc 来检查 2)用complie_file/2来脚本化定制
里面关键在于3个变量
;; * erlang-flymake-get-code-path-dirs-function ;;检查目标文件
;; * erlang-flymake-get-include-dirs-function ;;目标工程所在的include目录
;; * erlang-flymake-extra-opts ;;编译的erlc ...
参见:http://www.cnblogs.com/me-sa/archive/2011/08/11/erlang0007.html
自己的看法:
1)如果一个表中数据太大,不要用ordered_set表。(这个表的好处在于可以按key来排序,但只能用这个唯一的key,实际工作中要按复杂的排序规则,所以不好用 ...
Programming Rules and Conventions
erlang的编程规范!
erlang的基本体系:
从文件构造,进程,进程间联系,函数来说清楚整个构架。
引用Structure and Erlang Terminology
Erlang systems are divided into modules. Modules are composed of functions and attributes. Functions are either only visible inside a module or they are exported i.e. they can ...
读erlang编程指南Mnesia笔记:
1.mnesia 是ets和dets上面封装一层的事务层。底层实现用的是这,重点加强了锁和分布式的适应。
2.不应使用mnesia的场合:
2.1 简单的键-值查询;--------最好用ets或dict
巨大的二进制数据:图片,音频;--------把每个记录和文件脱离,只记录文件名之类。(好像还有个开源数据库可用的?)2.2 一个持续的日志;----------disk_log库
2.3 一个必须存储GB级别的数据库;--------这个不是首选,但是可以用来[/color]缓存用户会话(在线)数据,定时写入到指定数据库中。
2.4 一直增长的大型 ...
编写一个程序,它生成N个进程并相连成环,。一旦启动,这些进程会绕环发送M个消息,然后当收到推出消息的时候正常终止。你可以调用rings:start(N,M,Msg)来启动环。
有两种策略可以完成这个练习,第一种是通过一个中央进程, ...
lists:map(fun/1,[1,2,3]).
小试匿名函数的好处。
那么怎么样去用呢:(照搬啊)
如要实现:test(Fun,[1,2,3,4,5]).求对[1,2,3,4,5]进行未定的操作:(这可怎么办啊,行为没定。。。。)
看看fun() ->end的妙用。
test(fun() -> X rem 2=:=0 end,List) .------》如何:
test(Fun,List) ->
lists:filter( Fun,List).
吊爆-----
fun() ->end 的起源:
1.如果我们要定义一下函数实 ...
GTD 邹鑫讲座:
1.为什么要做时间管理 ?(不是为了效率,而是为了达到一定的境界,做一个武林高手)
2.为什么以前的各种时间管理为什么没有效果?
没有形成系统,没有套路,每件事都接流程走才快。
要一个系统对任务进 ...