Supervisor的坑

Erlang提供Supervisor的机制来管理进程,详细用法请看文档,http://erlang.org/doc/man/supervisor.htmlhttp://erlang.org/doc/design_principles/sup_princ.html

阅读更多

rebar3 tips

简单介绍下,常用的rebar3的命令和一些结合我们项目实际需求(坑)解决方案。

阅读更多

Erlang头文件循环引用

背景

我们用rebar3编译经常遇到bad record的问题,同事给record加了字段,然后我这边更新下来,不clean,直接compile,然后部分模块出现bad record,有些不会。直观感觉就是有些代码include的头文件改变了,但是代码并没有编译引起的。

阅读更多

一个ibrowse的Asynchronous请求的坑

ibrowse 总体上来讲,是个很不错的http client,自带进程池,同步使用没什么问题,但是异步模式下,就要小心了。

阅读更多

App Env读取优化

一些Application的相关的参数配置,我们会放到env那里,通过application:get_env可以获取到,本身底层实现是基于ETS表,如果读取不频繁的话,微秒级别也是够用的了。

阅读更多

Erlang内存调优之hibernation

使用hibernate的话,有助于及时减少不活跃进程的内存占用

阅读更多

游戏常量配置Erlang实现

在游戏开发过程中,经过遇到一些想要配置一些变量,但是又是比较零碎的。比如一个用户最多3次免费机会修改昵称,再之后需要花100钻石来修改。这中间就有两个值会可能需要调整,3次和100钻石,策划可以改成2次和50钻。

阅读更多

gs_tcp vs ranch

介绍两个封装erlang网络模块的项目,gs_tcp和ranch并且提供一些测试数据。

阅读更多

使用gpb

下面介绍一个性能很赞的google protobuff解析的Erlang库。

阅读更多

erlang_protobuffs 用法举例

erlang_protobuffs,使用的是我自己fork出来的分支,因为修改了下write file部分,如果内容相同的话,就不写入,避免修改文件,这样include的那些pb.hrl,不会频繁的编译代码。

阅读更多