- 浏览: 129544 次
- 性别:
- 来自: 杭州
最新评论
-
zhi_nan_7:
做一个软件,需求是这样的:银行软件,需要对(excel)表格 ...
如何应对表结构经常变化? -
GuolinLee:
{A, _int, [B|_int], {B}} = {abc ...
erlang 中带下划线变量的使用 -
mozhenghua:
兄弟有没有啥解决方案呀?
MVC中被忽略的View层 -
ccchenzhong:
仁兄,还有哪边有你的这篇文章可看。如果有,可以给我个链接?或是 ...
javarebel 原理分析--说明 -
lingqi1818:
一晃一年过去了。。。
回顾2010,展望2011
文章列表
在erlang中,至少有三种可互换的流程控制方式:函数声明上的pattern match,case语句,if语句
这里讲将case语句和函数声明上的pattern match的区别。
case语句的格式如下:
case conditional-expression of
Pattern1 -> expression1, expression2, .. ;,
Pattern2 -> expression1, expression2, .. ;
... ;
Patternn -> expression1, expression2, . ...
- 2009-07-07 13:16
- 浏览 5952
- 评论(0)
在erlang里'_'是一个特殊的变量(其实erlang里不应该叫“变”量,照顾习惯,姑且这么叫吧),它可以代替任何东西,在match的时候非常有用,例如:
{A, _, [B|_], {B}} = {abc, 23, [22, 23], {22}}
这样,就是把_当作一个占位符,表示,match的时候这里有一个值,但是我不关心他是什么
在erlang里,使用下划线'_'开头的变量名是有特殊含义的,除了当作普通的变量使用(binding,match,compute,compare,etc)以外,还是一个特殊的标记,告诉编译器,这些变量是被忽略的,声明了没有使用/绑定也没关系(否则, ...
好久没更新了,最近比较忙
接下来决定做几件事情:
*阅读couchdb的erlang代码
*阅读Erlang Programming这本书(不是Joe老头那本)
希望能有一些收获。
- 2009-07-02 12:04
- 浏览 843
- 评论(0)
主要是一个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是一个大字段,所有内容放在这里面
*索引由应用来维护,为每一条索引 ...
- 2009-06-08 17:09
- 浏览 2587
- 评论(1)
在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程序员应该怎样把握自己学习的方向和深度?(尤其是程序员平时工作都 ...
- 2009-05-18 11:44
- 浏览 1218
- 评论(1)
我是学制冷的,现在是一名架构师。
上大学时,我的专业是低温与制冷,走到现在,过程是相当的复杂啊,且听我慢慢的絮叨。
97年,高考填志愿的时候,二十一世纪对人类最重要的是什么?能源!我填了能源系。那时 ...
- 2009-05-16 21:31
- 浏览 1144
- 评论(3)
http://www.37signals.com/svn/posts/1728-nuts-bolts-campfire-loves-erlang
一方面说明erlang越来越受重视了,erlang的优势也被更多的人认可
另一方面,技术的选择越来越丰富了啊,作为rails的最初的作者,去选择erlang,只能说明erlang在这方面是有非常独到的优势啊
另:campfire是一个在线的实时的聊天室,当然更重要的是还有很多其他的功能,主要目的是为了团队的协作啊啥的,不过我们从这个角度,只关心他作为聊天室需要的特性,要实时,要承受相当多的链接
- 2009-05-15 13:27
- 浏览 1027
- 评论(0)
在我们的应用里,有一张业务数据表,目前数据量大概在2-3亿,放在oracle的一张表里,并且一般是每年会翻倍,以前一直在同一张表里,前不久我们将他拆分为16个小的数据库(实 ...
- 2009-04-15 23:06
- 浏览 7295
- 评论(7)
MODULE
supervisor
MODULE SUMMARY
通用监控行为模块
DESCRIPTION
这是用来实现监控者的一个模块,用来监控其他称之为子进程的进程。一个子进程可以是一个工作进程或者同样是一个监控进程。工作进程一般是用gen_event,gen_fsm或者gen_serv ...
- 2009-04-15 15:06
- 浏览 2397
- 评论(1)