- 博客(23)
- 收藏
- 关注
Riak 使用1 (gen_server封装)
Riak的介绍,网上一艘一大堆,但怎么用?看看github上Riak的readme,看得懂,实际写,茫然。 github是个好东西,在github上搜riakc_pb_socket:start_link (这半行代码的意思,就不需要说了吧),选择语言Erlang,并search for code,看那个顺眼,点开看看。呵,找到一个https://github.com/matteore...
2012-09-13 17:44:04
189
原创 rebar进行项目部署和热更
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...
2012-09-13 16:28:03
476
Erlang lists:concat/1
很久没来iteye了,也很久没写blog了,主要是找实习的一些事情有点麻烦。 接下来的很长时间,blog会记录一些Erlang stdlib的一些常用的module。当然,也会尽力去看一下这些module fuctions的具体实现(BIF暂不考虑)。 这一篇,主要是lists:concat/1 API的具体介绍,详见Erlang官网,erlang.org/doc/man/l...
2012-07-25 15:58:10
457
Erlang 实践杂记-2
二、测试代码运行时间1、场景描述 都说Erlang牛逼,高性能,但是执行效率真的很高吗?这个倒真不见得,感兴趣的,可以去测试下每行Erlang代码的运行时间,你会发现,Erlang的执行效率不见得比C或者是C++高。2、API函数tc(Module, Function, Arguments) -> {Time, Value}Types:Module =...
2012-05-12 20:42:44
217
Erlang 实践杂记-1
一、列表、字符串相关 1、场景描述当下,Erlang和php交互,用mochiweb和ibrowse的方式比较多,ibrowse 需要发送url给php,url为字符串。若需要string:concat() 的变量不为string类型,就需要进行转化。前提是,Erlang处理中,多为二进制。2、问题1> B = <<"test">>...
2012-05-12 19:51:22
176
原创 Erlang程序运行时 出现错误原因
在Erlang编程指南中,提到了Erlang程序在运行是出现的错误,并简单说明了原因,在此记录下,并简单描述下避免错误发生的措施。以供今后查询之用。 1、function_clause 当已存在的函数模式无一匹配该函数时,就是出现该错误。此错误通常发生在两种情况下:1、在分析条件中,遗漏某种匹配模式;2、使用了错误的参数。 factorial(N) when N &g...
2012-05-07 03:39:53
841
原创 ACE_Select_Reactor 2 —— 服务器网关
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_Acc...
2012-03-16 19:12:27
211
ACE_Select_Reactor 1 ——入门
ACE Reactor 框架实现了Reactor模式,允许事件驱动的应用对源自许多不同事件源的事件做出反映,比如IO句柄,定时器,以及信号,应用重新定义框架所定义的挂钩方法。框架随机对其进行分派来处理事件,Reactor负责:(1)检查多路分离器来自各种事件源的、不同类型的连接和数据事件,(2)将这些事件分派给应用所定义的处理器,由它进行处理。 反应式服务器响应来自一个或多个事件...
2012-03-16 18:32:00
204
WEB点对点程序传输数据,是用HTTP协议?还是TCP/IP协议?
Tcp/Ip协议和Http协议有什么区别,两个Web程序点对点传送数据,你会选择那一个?今天在网上看到这样一个面试题目,引发了一连串的查找资料,复习网络知识的事件…… 大家都知道,http是网络应用层协议,而TCP/IP属于网络传输层协议,两者层次不同,没有办法进行比较。但是,个人认为,这个题目的亮点不在于两个协议的区别,而是在于两个Web程序点对点传输数据,要用哪一个协议...
2012-03-05 13:07:30
420
Erlang实现加密解密
各种加密、解密的原理,我就不在这赘述了,在Erlang 的官网上,提供了crypto module,其中包含了常见的md5加密,AES加密,RSA加密,详见: http://www.erlang.org/doc/man/crypto.html 在AES的CBC加密、解密模式中,包括三个参数: 1、Key,这是AES加密的密钥,可为iolist类型,也可为binary类型...
2012-03-04 10:08:39
870
thrift和erl_nif效率上的比较
thrift是通用型的,可以完成多种编程语言之间的交互,erl_nif是专用型的,主要完成Erlang和C语言之间的交互。thrift可以完成远程节点之间的交互,但是erl_nif只能完成本地的交互。 正因为thrift完成的是远程节点之间的交互,(thrift在facebook设计指出,主要的目的就是完成facebook数据中心中不同编程语言之间的交互)它在处理本地交互时,同样...
2012-01-10 10:58:43
235
CPP服务端++thrift++erl客户端
需求: 在CPP服务端输入int,在ERL客户端显示。实现:1、编写thrift文件,一个命名为tutorial.thrift,一个命名为shared.thrifttutorial.thrift include "shared.thrift"namespace cpp tutorialnamespace java tutorialnamespa...
2011-12-15 01:46:39
338
C语言两个进程相互通信—socket
直接贴代码吧client.c #include <sys/types.h>#include <sys/socket.h>#include <stdio.h>#include <netinet/in.h>#include <arpa/inet.h>#include <unistd.h>#inc...
2011-12-06 04:13:11
1518
C语言进程间通信--消息队列
Linux操作系统system V进程间通信,主要有三种:1、消息队列;2、信号量;3、内存共享。 消息队列是消息的链表,存放在内核中并由消息队列标识符标识。Linux消息队列管理:1、创建消息队列 在使用一个消息队列前,需要使用msgget函数创建该消息队列,其函数声明: extern int magget(key_t _key,in...
2011-11-29 17:08:22
1990
哈希负载均衡
以集群性能监控系统为例,hash负载均衡的实现:1、 得到Key获取从节点的名称:node1node2node3…………node200假设有二百个节点。2、 通过hash函数得到hash值将node* 视为string,在此利用checksum算法获得string对应的值; checksum(s...
2011-11-08 11:22:41
278
二进制数
1.题目 二 进 制 数给出一个正整数 n,打印出它的二进制中所有 1 的位置。二进制中最低位的位置是 0. 举例正整数 13 的二进制(1101)中 1 的位置是 0,2,3。任务编写一个程序来处理每个数据:先读入一个正整数 n,再计算这个正整数的二进制中 1 的位置,打印结果。 2.输入描述输入数据的第一行是一个正整数 d,表示这个...
2011-10-22 21:13:12
323
原创 IBM Minus One
1.题目IBM 减 一你或许听说过 Arthur C. Clarke 写的《2001:一次漫长的太空冒险旅行》这本书,或者Stanley Kubrick 演的同名电影。它讲的是一艘太空飞船被从地球送到土星。飞船被智能计算机 HAL 控制,在这个漫长的飞行中,全体船员都将进入睡眠状态,只有两个人是醒着的。但是在飞行过程中 HAL 的行为越来越奇怪,甚至准备杀死所有船员。我...
2011-10-22 20:40:42
304
Quicksum
记录一下,最近在整ACM的东西 题目 Quicksum checksum 是扫描一个数据包并返回一个数值的一种算法。其思路在于,如果数据包被修改过,那么,checksum 也会立即变化。所以,checksum 常常用于侦查数据传输错误,证实文档内容的完整性和其他需要检查数据不被修改...
2011-10-22 19:59:53
891
利用STL判断string是否为整数(set版)
还是利用STL判断string是否为整数中的那个问题,加一项要求:121112221111111112234411121oainiwoainsdjjjwoaini 文本中,有相等的string,最终区分出来的,是唯一的。 自然,就想到了用set容器 修改后的代码,如下: #include <s...
2011-10-15 21:16:36
297
利用STL判断string是否为整数
有这么一个文件,内容如下: 1211122211111111122344oainiwoainsdjjjwoaini 怎么将其中的整数区分出来? 解决思路: 1、按行输入;2、定义为string;3、判断该string是否为整数;4、存入vector;5、输出。 整个过程,第三步是核心。 ...
2011-10-15 21:00:07
821
vector进制转换
************问题************ 编制程序,将输入的十进制数据M 转换为八进制数据M8,将其调试通过。在此基础上修改程序,实现十进制数据M向任意进制(2-9进制)的转换。 ************代码************这个题是今天匆忙之中帮朋友做的,很简单,就不用写解题思路了#include<iostream>#include...
2011-10-09 21:21:20
392
Thrift初使用Erlang+cpp
************写在最前面************ 个人比较喜欢Thrift,它可以高效的解决不同编程语言之间的交互问题,使不同编程语言可以很轻松地进行交互,完成软件抑或是系统的架构。 Thrift是一个跨语言的服务部署框架,最初由Facebook于2007年开发,2008年进入Apache开源项目。Thrift通过一个中间语言(IDL, 接口定义语言)来定...
2011-10-07 16:49:41
159
原创 使用STL解决变位词问题
**抛出问题**这是一个算法题目,详细要求如下: Description输入N和一个要查找的字符串,以下有N个字符串,我们需要找出其中的所有待查找字符串的变位词(例如eat,eta,aet就是变位词)按字典序列输出,并且输出总数目Input第一行:N(代表共有N个字符串属于被查找字符串) (N<=50) 第二行:待查找的字符串(不大于10个字符) 以下N行:被查...
2011-10-07 14:18:55
147
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人