- 浏览: 579679 次
- 性别:
- 来自: 北京
最新评论
-
JamAndVariousAbalone:
存储方式的不同吧。gb_tree是平衡树,list是线性结构。 ...
gb_trees和lists的访问效率相差很大 -
genesislive:
eporf:analyse()写错了,应该改成eprof:an ...
Erlang程序的性能测试工具(1) -
vampirezh:
高手啊 求带 ! 请列出带徒标准
Erlang的未来(2008) -
aiquantong:
great!
rebar工具使用备忘录 (1) -
wccxiaoan:
basho的资源 都没办法打开,不过还是有帮助,谢谢。
关于webmachine
文章列表
我在用cowboy时遇到了一个麻烦,通过HTTP连接获取数据时不能用的HTTP/1.1的持久连接(persistent connection)进行数据交换,每个请求-响应过程必须断开连接后重新连才行,也就是说只有Connection:close时才能正常工作。
用wireshark看连接的数据包发现一个奇怪的现象,就是每个响应的最后都会紧跟着出现一个204 No Content的响应。无论是持久连接还是断开再连接都会有这个奇怪的响应跟在后头。
后来发现,原因是这样的:
cowboy用http_req代表了一次用户请求的数据记录(似乎叫session比较好点),该record记录了socke ...
无意中把一个装有很多大文件数据的文件夹(./my1202260986)提交了,现在.git有681MB之大
$ du .git -hd0
681MB .git
不过还没有push出去。我用如下命令清除了错误提交的大文件:
$ git filter-branch --index-filter 'git rm -r --cache --ignore-unmatch my1202260986/*' HEAD
$ git gc --aggressive --prune=now
$ du .git -hd0
112K .git
如果push了,还要更复杂一点。参考
https://he ...
folsom是Riak从1.2开始引入。
Erlang/OTP中将完成特定功能的一组模块组织起来,称之为application 。(这不是个好名字,因为它与我们约定俗成的application有着不同的含义,例如在JEE这样的开发中,整个应用系统被称为一个application;在iOS中一个独立游戏、一个小工具都被称为一个application。Erlang中的application其实是一种大的功能模块,例如lager这个application为其他模块提供日志功能)
erlang/OTP的application模块(指erlang module)是一种最基本的behavior,是Erlang代码和功能组织的形式(见Erlang ...
haogongju、人人IT网、59n南龙、360doc、ask3不要抄我的烂博客了,私人备忘用。
haogongju、人人IT网、59n南龙、360doc不要抄我的烂博客了,私人备忘用。
erlang本身提供了日志管理,但这与其它语言中常见的log4xxx的日志框架很不同:
日志文件是二进制的,查看起来很不方便;
每条日志跨多行文本,也不方便查找和分析。
总之,这自带的日志系统让用惯log4xxx系列的人用起来很不习惯。后来陆续有log4erl这样的应用,lager算是后来者,不过在性能等方面有独到之处,这是因为它使用parse_transformation机制的原因。
一、lager使用的步骤
直接在代码中用lager:debug, lager:info, lager:war ...
haogongju、人人IT网、59n南龙、360doc、ask3不要抄我的烂博客了,私人备忘用。
4.应用的发布与配置
具体的,erlang里的发布是将应用系统及其依赖的第三方库,以及erlang运行时打包,这样的一个发布可以作为一个独立的系统,安装到其它的机器上。
这里的发布类似JEE里的war发行包,但是并不完全相同。如果要类比的话,我觉得有点像将JRE、Tomcat,War包及其它第三方jar包打成一个完整的包发布,用户拿到这个发布包后不用自己安装JRE,tomcat,直接就可以运行了。我记得atlassia的Jira好像就是这样发布的。
4.1 应用的发布
假设我们的应用 ...
haogongju、人人IT网、59n南龙、360doc不要抄我的烂博客了,私人备忘用。
haogongju、人人IT网、59n南龙、360doc不要抄我的烂博客了,私人备忘用。
haogongju、人人IT网、59n南龙、360doc不要抄我的烂博客了,私人备忘用。
常用API之与ring、节点有关的API
riak_core:vnode_modules() 查询安装的vnode模块
riak_core_ring_manager:get_raw_ring() 获取整个ring环,包括partition及其节点
riak_core_apl:get_apl(HashKey, N, Service) 得到HashKey对应的Preference List
riak_core_ring:preflist(HashKey, Ring) 得到HashKey在环Ring上的P ...
大概7、8年前我就读到太阳能相关制造技术的相关进展,随后每年都会有一些相关的报道,读来很鼓舞人心。但是直到现在还没有一款高效且便宜的太阳能电池进入普通市场,真是令人沮丧。其它例如氢电池也是如此。也许还要等至少20年的时间。
比如今年的:
IBM 联盟使用铜、锌、锡打造全新光伏电池,光电转换率达 11.1%
太阳能廉价之道:用金属氧化物代替硅
新型石墨烯电池的研究突破
科学家利用类似玻璃的塑料研制出透明太阳能电池板
纳米夹层技术为太阳能电池“减肥”
43.5%!夏普打破太阳能电池转换效率记录
巴塞尔大学(University of Basel)的“锌制造”低成本太阳能电池
南加州大学研究者 ...
haogongju、人人IT网、59n南龙、360doc不要抄我的烂博客了,私人备忘用。
haogongju、人人IT网、59n南龙、360doc不要抄我的烂博客了,私人备忘用。
关于Riak Core的使用,有许多例子可以探索。最经典最复杂的莫过于riak 这个NoSQL数据库本身,不过riak本身不是一个实现,几乎没有erlang代码,它更像是胶水,将具体的KV实现(riak_kv)与riak_core(当然还有其它应用,比如日志、统计等等其它应用)粘结起来。
riak数据库的实现具体是在riak_kv中。
haogongju,人人IT网,360doc不要抄我的烂博客了,私人备忘用。
haogongju、人人IT网、59n南龙、360doc不要抄我的烂博客了,私人备忘用。
我们需要了解系统的一些状态,比如,对riak这个NoSQL来说,我们需要了解bucket的当前存储状态 ...
业务逻辑的实现:数据如何处理
重点是数据如何处理:Riak Core提供了一个统一的接口以控制分布在ring上的数据的计算(操作)。
Riak Core的数据控制接口
如前所述,每类vnode提供了一套服务,每个服务由在各个partition上的vnode ...