`
argan
  • 浏览: 126194 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
在erlang中,至少有三种可互换的流程控制方式:函数声明上的pattern match,case语句,if语句   这里讲将case语句和函数声明上的pattern match的区别。   case语句的格式如下:   case conditional-expression of Pattern1 -> expression1, expression2, .. ;, Pattern2 -> expression1, expression2, .. ; ... ; Patternn -> expression1, expression2, . ...
在erlang里'_'是一个特殊的变量(其实erlang里不应该叫“变”量,照顾习惯,姑且这么叫吧),它可以代替任何东西,在match的时候非常有用,例如: {A, _, [B|_], {B}} = {abc, 23, [22, 23], {22}}  这样,就是把_当作一个占位符,表示,match的时候这里有一个值,但是我不关心他是什么   在erlang里,使用下划线'_'开头的变量名是有特殊含义的,除了当作普通的变量使用(binding,match,compute,compare,etc)以外,还是一个特殊的标记,告诉编译器,这些变量是被忽略的,声明了没有使用/绑定也没关系(否则, ...
好久没更新了,最近比较忙   接下来决定做几件事情: *阅读couchdb的erlang代码 *阅读Erlang Programming这本书(不是Joe老头那本)   希望能有一些收获。
主要是一个bug fix版本,也有一些SMP方面的增强:   Erlang/OTP R13B01 has been released. R13B01 is a service release for R13B. There are mostly error corrections but also some new functions. Some highlights in the R1301 release are: Communication between Erlang nodes over the Erlang distribution pro ...
读完这一篇How FriendFeed uses MySQL to store schema-less data ,颇有感触   文中主要表达了几个意思: *数据量相当大的时候,维护mysql本身的索引非常困难,新增/删除索引都很费资源 *新的方案使用mysql,但是只是用他基本“数据库”的功能,而不使用“关系”的功能,就是说,只用mysql来保存数据,以及简单的单表查询,不使用join之类的功能 *没有schema,表结构很简单,只有id,last_updated,content,这样的几个字段,其中content是一个大字段,所有内容放在这里面 *索引由应用来维护,为每一条索引 ...
在jdk 1.6.0 update 14中终于包含了Garbage first,在release notes 里有这么一段: Although G1 is available for use in this release, note that production use of G1 is only permitted where a Java support contract has been purchased.   也就是说,未经允许,不能在生产环境使用了。   To try G1, specify these command line options: ...
看到几个帖子,都在讨论自主研发框架的问题,如何看待企业自主研发框架 ,“山寨”框架3宗罪 ,也来谈谈我的看法(我们这里提到的框架,是比较泛的,不局限于某个特定用途,特定领域的框架)   首先,要不要自主研 ...
前段时间参加一个培训,老师出了一道题,是一个游戏,规则如下: 总共4个人投票,分别代表一个组 每个人能投X或者Y,总共进行4局,每一局根据投票结果记分: 4X 每组输一分 3X 每组赢一分, 1Y 输3分 2X 每组赢2分, 2Y每组输2分 1X 赢3分, 3Y 每组输1分 4Y 每组赢一分 每组可以讨论5分钟,然后开始投票 4名投票人在游戏的第二局和第三局开始前可以进行1分钟的沟通,其余过程不允许说话 游戏结束,每组按得分领取奖章(分数为负的,扣除以前获得的奖章) 从上面的规则看来,如果列一下收益矩阵的话,很容易得出一个结论,无论其他人投什么,投X始终是优势策略。投票 ...
上一篇我们讨论到了问题 ,现在我来讲讲我的解决方法。   首先要明确几点: *缓存服务器不是数据库,是允许部分失败的,也是允许一定程度上的不一致的 *我们要解决的是分布式缓存的整体可用性,而不是单台服务器的可用性   如果场景不是这样,或者不同意我对缓存服务器的作用的假设,下面就没必要看了。   首先,我们肯定是在客户端来解决这个问题,在我看来,服务器端解决,让每个服务节点知晓其他的存在,这是把事情复杂化了,而且往往是吃力不讨好的。就像应用服务器的集群一样,只要你想想session复制这个问题,你就不会在有100个节点的情况下,是用服务器的集群了。   在客户端处理这个问题 ...
也学人家来一次标题党,其实就是如何使用memcached,对不起,我使用的是中英文混合翻译法。这里讨论的问题不是针对memcached,实际上是通用的缓存策略。   前两天,公司技术部群里,大家针对如何使用cache服务器进行了一次 ...
前几天,应邀参加了一次非正式的分享,主题是关于程序员的成长,说是分享,其实也不知道讲些什么,权且当一次交流吧,随便聊聊。   说实话,作为开发人员,到一定程度的时候,确实会碰到一些瓶颈,一方面是技术上的,不知道怎么去提高,另一方面是职业规划上的,不知道往哪方面发展。   交流过程中,很多问题都比较典型,姑且列一下:   * 你觉得一个好员工,好的技术人员,除了技术还应该在哪些方面有些发展? * 一个架构师需要具备什么样的能力? * 现在发展的新技术新语言多如牛毛,从后台到前台可以学习的知识各式各样。作为一个java程序员应该怎样把握自己学习的方向和深度?(尤其是程序员平时工作都 ...
我是学制冷的,现在是一名架构师。   上大学时,我的专业是低温与制冷,走到现在,过程是相当的复杂啊,且听我慢慢的絮叨。   97年,高考填志愿的时候,二十一世纪对人类最重要的是什么?能源!我填了能源系。那时 ...
http://www.37signals.com/svn/posts/1728-nuts-bolts-campfire-loves-erlang 一方面说明erlang越来越受重视了,erlang的优势也被更多的人认可 另一方面,技术的选择越来越丰富了啊,作为rails的最初的作者,去选择erlang,只能说明erlang在这方面是有非常独到的优势啊   另:campfire是一个在线的实时的聊天室,当然更重要的是还有很多其他的功能,主要目的是为了团队的协作啊啥的,不过我们从这个角度,只关心他作为聊天室需要的特性,要实时,要承受相当多的链接
  在我们的应用里,有一张业务数据表,目前数据量大概在2-3亿,放在oracle的一张表里,并且一般是每年会翻倍,以前一直在同一张表里,前不久我们将他拆分为16个小的数据库(实 ...
MODULE supervisor MODULE SUMMARY 通用监控行为模块 DESCRIPTION 这是用来实现监控者的一个模块,用来监控其他称之为子进程的进程。一个子进程可以是一个工作进程或者同样是一个监控进程。工作进程一般是用gen_event,gen_fsm或者gen_serv ...
Global site tag (gtag.js) - Google Analytics