`
acme_ltt
  • 浏览: 52057 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论
文章列表
Riak的介绍,网上一艘一大堆,但怎么用?看看github上Riak的readme,看得懂,实际写,茫然。   github是个好东西,在github上搜riakc_pb_socket:start_link (这半行代码的意思,就不需要说了吧),选择语言Erlang,并search for code,看那个顺眼,点开看看。呵,找到一个https://github.com/matteoredaelli/ebot/blob/master/src/ebot_db_util.erl ,去看看在哪里用了Riak,   open_or_create_db() ->     {ok, ...
1、rebar安装(最好把rebar路径写到~/bashrc文件)   2、创建项目     1、mkdir myapp     2、cd myapp          3、rebar create-app appid=myapp     4、编译rebar compile   3、发布版本     1、mkdir apps     2、mkdir apps/myapp     3、将第二步得到的src文件cp到apps/myapp/src     4、mkdir rel     5、cd rel      6、rebar create-node nodeid= ...
  很久没来iteye了,也很久没写blog了,主要是找实习的一些事情有点麻烦。   接下来的很长时间,blog会记录一些Erlang stdlib的一些常用的module。当然,也会尽力去看一下这些module fuctions的具体实现(BIF暂不考虑)。   这一篇, ...
二、测试代码运行时间 1、场景描述     都说Erlang牛逼,高性能,但是执行效率真的很高吗?这个倒真不见得,感兴趣的,可以去测试下每行Erlang代码的运行时间,你会发现,Erlang的执行效率不见得比C或者是C++高。 2、API函数 tc(Module, Function, Arguments) -&g
  一、列表、字符串相关     1、场景描述 当下,Erlang和php交互,用mochiweb和ibrowse的方式比较多,ibrowse 需要发送url给php,url为字符串。若需要string:concat() 的变量不为string类型,就需要进行转化。前提是,Erlang处理中,多为二进制。 2、问题
  在Erlang编程指南中,提到了Erlang程序在运行是出现的错误,并简单说明了原因,在此记录下,并简单描述下避免错误发生的措施。以供今后查询之用。   1、function_clause  当已存在的函数模式无一匹配该函数时,就是出现该错误。此错误通常发生在两种情况下:1、在分析条件中,遗漏某种匹配模式;2、使用了错误的参数。   factorial(N) when N > 0 -> N * factorial(N - 1); factori
    ACE中的流包装提供面向连接的通信。流数据传输包装类包括ACE_SOCK_Stream和ACE_LSOCK_Stream,他们分别包装TCP/IP和UNIX域Socket协议数据传输功能。连接建立类包括针对TCP/IP的ACE_SOCK_Connector和ACE_SOCK_Acceptor,以及针对UNIX域Socket的ACE_LSOCK_Connector和ACE_LSOCK_Acceptor。     class Server { public: Server (int port): server_addr_(port),peer_acceptor_(server_ ...
    ACE Reactor 框架实现了Reactor模式,允许事件驱动的应用对源自许多不同事件源的事件做出反映,比如IO句柄,定时器,以及信号,应用重新定义框架所定义的挂钩方法。框架随机对其进行分派来处理事件,Reactor负责:(1)检查多路分离器来自各种事件源的、不同类型的连接和数据事件,(2)将这些事件分派给应用所定义的处理器,由它进行处理。     反应式服务器响应来自一个或多个事件源的时间,在理想情况下,对时间的响应会足够快,以使所有请求看起来像是被同时处理的,尽管事件处理通常是由单个线程处理的。同步事件多路分离器位于各个反应式服务器的心脏处。这种机制检测源自许多事件源的事件并对 ...
    Tcp/Ip协议和Http协议有什么区别,两个Web程序点对点传送数据,你会选择那一个?今天在网上看到这样一个面试题目,引发了一连串的查找资料,复习网络知识的事件……       大家都知道,http是网络应用层协议,而TCP/IP属 ...
    各种加密、解密的原理,我就不在这赘述了,在Erlang 的官网上,提供了crypto module,其中包含了常见的md5加密,AES加密,RSA加密,详见: http://www.erlang.org/doc/man/crypto.html       在AES的CBC加密、解密模式中,包括三个参数: 1、Key,这是AES加密的密钥,可为iolist类型,也可为binary类型,长度必须为128位,也就是16个字节; 2、IVec,初始向量,类型为binary,长度必须为128位,16个字节; 3、Text,待加密的数据,类型可为iolist也可为binary,但是, ...
      thrift是通用型的,可以完成多种编程语言之间的交互,erl_nif是专用型的,主要完成Erlang和C语言之间的交互。thrift可以完成远程节点之间的交互,但是erl_nif只能完成本地的交互。   正因为thrift完成的是远程节点之间的交互,(thrift在facebook设计指出,主要的目的就是完成facebook数据中心中不同编程语言之间的交互)它在处理本地交互时,同样会看作是远程的方式进行工作;erl_nif的运行中,省去了远程节点的通信。所以,thrift的运行性能不如erl_nif的运行性能。   但是,如果要完成远程节点之间的语言交互,使用erl_nif,也 ...
需求:         在CPP服务端输入int,在ERL客户端显示。 实现: 1、编写thrift文件,一个命名为tutorial.thrift,一个命名为shared.thrift tutorial.thrift   include "shared.thrift" namespace cpp tutorial namespace java tutorial namespace php tutorial namespace perl tutorial namespace smalltalk.category Thrift.Tutorial t ...
直接贴代码吧 client.c   #include <sys/types.h> #include <sys/socket.h> #include <stdio.h> #include <netinet/in.h> #include <arpa/inet.h> #include <unistd.h> #include <stdlib.h> int main() { int sockfd; int len; struct sockaddr_in address; int res ...
Linux操作系统system V进程间通信,主要有三种: 1、消息队列; 2、信号量; 3、内存共享。       消息队列是消息的链表,存放在内核中并由消息队列标识符标识。 Linux消息队列管理: 1、创建消息队列      在使用一个消息队列前,需要使用msgget函数创建该消息队列,其函数声明:      extern int magget(key_t _key,int _msgflg) _THROW;      第一个参数key由ftok创建的key值;      第二个参数_msgflg的低位用来确定消息队列的访问权限。 2、发送消息到消息队列     ...
以集群性能监控系统为例,hash负载均衡的实现: 1、 得到Key 获取从节点的名称: node1 node2 node3 …… …… node200 假设有二百个节点。 2、 通过hash函数得到
Global site tag (gtag.js) - Google Analytics