05 2013 档案
摘要:比如:在游戏排行中tuple_list中,[{"zhangsan",1},{"lisi",23},{"wangwu",90}],key_Value中,通过Value去比较排列. 在shell下的测试用例如下: 用lists:sort/2实现,两种方式下实现: 实现二: 这篇文章和前一篇文章都是对li
阅读全文
摘要:在阅读了《erlangOTP实战》中,有一节是讲HTTP协议相关的.利用linux下的命令nc(netcat)以及curl两个命令. 利用netcat可以自行建立监听的套接字,并对发往该套接字的所有数据进行观测。利用curl可向http发送请求.1>Get请求: 首先在终端窗口启动命令nc,并让它监...
阅读全文
摘要:例子: 简单的列表解析: [{"aa",2},{"bb",3},{"aa",3},...],把后面为3的tuple都取出来.方法一:(使用列表解析)1>[{A,B} || {A,B} <-[{"aa",2},{"bb",3},{"aa",3}] , B==3].方法二:(使用lists中的filter过滤器)lists:filter(fun(Elem)-> if element(2,Elem) == 3 ->true; true -> false
阅读全文
摘要:生命太短暂,不要去做一些根本没有人想要的东西。——Ash Maurya如果你交给某人一个程序,你将折磨他一整天;如果你教某人如何编写程序,你将折磨他一辈子。——David Leinweber软件设计有两种方式:一种方式是,使软件过于简单,明显没有缺陷;另一种方式是,使软件过于复杂,没有明显的缺陷。——C.A.R. Hoare其实,我尝试着使 Ruby 更自然,而不是简单。Ruby 看起来很简单,但内部是非常复杂的,就像我们的身体一样。——松本行弘,Ruby 之父大部分情况下,构建程序的过程本质上是对规范调试的过程。——Fred Brooks,《人月神话》作者软件开发往往是这样:最开始的 90%
阅读全文
摘要:(前言: 在项目中,在统计在线用户量及其行为方式的时候,想在项目如“/bob/recode/online”,结果发现:把写日志的东西放到了ebin文件下,即:/bob/ebin/report/online,于是,想着截取掉“ebin”,这样就可以达到在要求,即:”/bob/report/online“.) 再回到题目上来,删除list中的最后一个元素,看下面:可以使用lists:sublist(L,1,length(L)-1).1>lists:sublist("12345",1,length("12345")-1)."1234"
阅读全文
摘要:(Ps:这部分是erlang的基础,也是重中之重,需烂熟于心,灵活处理.) 在erlang学习中,lists模块是很重要的。在列表list中,存放的是string类型的,在其中通过erlang特有的模式匹配和递归进行处理.Erlang中lists模块函数使用大全:一,带函数Pred 1,all(Pred,List)->boolean()如果List中的每个元素作为Pred函数的参数执行,结果都返回true,那么all函数返回true, 否则返回false 例子:lists:all(fun(E)->trueend,[1,2,3,4]).结果true2,any(Pred,List)-&
阅读全文
摘要:在网络协议的最上层即应用层,http协议是一个很重要的协议,是客户端和服务端通信的重要协议之一。在请求的时候,常用的是get和post方法去发送Request。 之前对于get和post的区别不是很清楚,在查阅一些资料后,发现:get和post传输方式区别在于:1)get传输时把参数带到了地址栏不安全post传输地址栏不显示传输参数安全性高;2)get适合传输小部分数据(不能大于2KB),而post可传输大量数据(一般被默认为不受限制);3)get方式,服务器端用Request.QueryString获取变量的值,post方式,服务器端用Request.Form获取提交的数据。两种方式的参数都
阅读全文
摘要:之前对于erlang的进程字典了解的不够清楚,只是知道put()、get()函数,即存值和取值,而每个put、get中都有自己的一对Key——Value(键值对)与之对应。一个Key对应一个Value.在erlang中,启动进程节点之后,进程字典的put、get的值是对缓存的处理,而对数据库的操作,...
阅读全文
摘要:套接字编程即熟悉的Socket编程,根据传输层协议,可分为:UDP协议和TCP协议.下面写一个简单的例子,再重新认识下它: 1.在同一主机节点下启动两个Erlang节点. a).在第一个Erlang节点下,打开端口为1234的UDP套接字; b).在第二个Erlang节点下,打开端口为1235的UDP套接字. 2.使用第二个节点套接字发送二进制《"Hello"》或者 字符串 "Hello"到在本地主机ip地址127.0.0.1的端口1234上监听的套接字. 3.在第一个节点下,使用flush()可以刷新邮箱并读取. 4.分别关闭这两个套接字,从而释放占用
阅读全文
摘要:erlang的httpc来向server端发送post请求,实例如下:-module(t).-export([t/0]).-define(Name,"host").-define(Passwd,112233).t()->inets:start(),ssl:start(),casehttpc:requ...
阅读全文