摘要:
http://www.williamlong.info/archives/3125.html互联网精准广告定向技术,指的是依托于搜索引擎庞大的网民行为数据库,对网民几乎所有上网行为进行个性化的深度分析,按广告主需求锁定目标受众,进行一对一传播,提供多通道投放,按照效果付费。 本文的写作初衷是总结自... 阅读全文
摘要:
mongodb的读写分离使用Replica Sets来实现对于replica set 中的secondary 节点默认是不可读的。在写多读少的应用中,使用Replica Sets来实现读写分离。通过在连接时指定或者在主库指定slaveOk,由Secondary来分担读的压力,Primary只承担写操... 阅读全文
摘要:
偶尔发现了两个不错的免费软件,ClustrMaps 和 Amazing Counters,具体内容见相关网址.http://clustrmaps.com/zh/index.htmhttp://www.amazingcounter.com这软件功能没GA或其他网站流量实时监测软件的功能多, 把它放在自... 阅读全文
摘要:
成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作。输入help可以看到基本操作命令:show dbs:显示数据库列表show collections:显示当前数据库中的集合(类似关系数据库中的表)show users:显示用户use :切换当前数据库,这和MS... 阅读全文
摘要:
在查阅了相关文档,想了解erlang反编译的东西。当然,源码可以打包成可以获取源码的,也可以保护源码的。在ebin下,如果没有或者找不到源码,可以进行反编译,由beam文件得到erl文件。可以通过以下步骤获取本地源码.如下: 在erlang shell下,进入shell,%这里的a是a.erl 模... 阅读全文
摘要:
提供个学习几种库的url,记录下.1、JavaScript简介 JavaScript是Netscape公司开发的一种脚本语言(scripting language)。JavaScript的出现使得网页和用户之间实现一种实时、动态和交互的关系,使网页包含更多活跃的元素。2、常用JavaScript库 ... 阅读全文
摘要:
javascript 1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键no 可用于Table2. 取消选取、防止复制3. onpaste="return false" 不准粘贴4. oncopy="return false;" oncut="return false;" 防止复制5. IE地址栏前换成自己的图标6. 可以在收藏夹中显示出你的图标7. 关闭输入法8. 永远都会带着框架9. 防止被人frame10. 网页将不能被另存为 11. 12. 阅读全文
摘要:
Mnesia基本用法 查看表结构 查看mnesia表的结构: mnesia:info(). 查看此表的基本信息: mnesia:table_info(<tableName>, all). Mnesia初使化 mnesia:stop(), mnesia:create_schema([node()]), 阅读全文
摘要:
比如:在游戏排行中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获取提交的数据。两种方式的参数都 阅读全文