强者之强

当一个人叫着,我要干掉你冲向你的时候,那么你不用怕,他只是为自己壮壮胆子,其实,他已经输了。

当一个人悄悄的告诉你,你死定了,然后转身走开的时候,你要谨慎,这是真正的对手。

成功最重要的不是有多少信心,或者有多少毅力,当然这些不可少,最重要的是能否认清自己,让自己走在自己当走的路上,一步一步的逼近对手,一口一口的把自己吃成一个胖子。

也从来不要想,征服某人,让他成为自己的一个棋子,而是设法帮助他变得强大,从而使自己有续强之道,强者愈强。帮助一个人变强,可求得好名声,帮助一群人变强,就求得好实力,帮助所有人变强,方可一览众山小。

一心要打倒敌人,必会不经意的走上敌人的路,沿着别人的路走,必然不能作城真的自己,或者被别人同化,或者被别人吃掉。找到自己的路,走到巅峰,就会发现打倒敌人是毫无意义的,因为根本就是殊途。

认清自己,脚踏实地,心无旁骛,坦然成长,切记,切记

正式升级为DIY果粉

近期开始使用苹果的东西,发现这家公司的设计理念真的可以用 伟大 来形容,我被俘虏了,升华为 果粉 一枚。

请看我DIY的苹果设备:

不是历史

天下大势,分就闭合,合久必分,是时秦汉依然落寞,大一统的局面不复存在,一时间天下群雄并起,但有三家割据一方,北魏,东吴,西蜀,成三足鼎立之势。

而此时的西方社会,正在令人发指的快速发展,无论从科学技术还是经济水平,甚至是宗教信仰都以非人类的速度发展着。

看我们的伟大祖国,其他两家不表,但表西蜀。李白老师早有诗曰“蜀道难,难于上青天”,交通问题成了西蜀发展的大问题。从卫星看去,此处居于我过西南,原本郁郁葱葱的原始森林也早已荡然无存,成了跟炎黄子孙的脸一个颜色。祸不单行,数年前的一场地震,更是给蜀地人民的生活雪上加霜。那时,灾后重建中,有一句话在民间广为流传:要想富,先修路;少生孩子,多种树!人民在呼唤一位领袖的出现,可以带领他们开发西部,脱贫致富,不拖祖国经济的后腿,为祖国的伟大复兴做出自己的贡献。

话说后汉有一位皇叔,姓刘名备字玄德,家住大树楼桑。此人面向古怪,身体结构有返租现象明显,让人一见总会怀疑,此人的祖父是不是个类人猿,估计他们家计划快,变到他这也就第三代。当时,人们流传着一句话,不见刘皇叔,终生遗憾;见了刘皇叔,遗憾终生!据说此人能为,经历丰富,10万天兵天将奈何不了他,曾经在灵霄宝殿上与玉皇大帝称兄道弟,12星君对此人都要毕恭毕敬,天上地下,人脉甚广。后此人回到凡间,寻了一处山水,建了一座城寨,盘踞一方,以“替天行道”为价值观,打造了一只强大的队伍。据说此城中他的府邸,极尽奢华,乃是当年从天宫回来时,玉皇所赠,那门上还书着:敕造荣国府。

正是这样一位诡异之人,在广大的人民群众最需要的时候,站了出来。并纠集一班兄弟,与关羽张飞八拜结交,结成兄弟。话说这三位弟兄,正然要在天府之地大干一番之时,感觉到了严重的力不从心。于是乎,三人经过紧张激烈,严肃活泼的讨论,决定:留学,去学习西方的先进科学技术,师夷长技以自强!

三人又想,我三人皆是一介莽夫,未曾离开过这一亩三分地,别说出国,就连四川盆地都没爬出去过,怎能去西方呢?还是应该寻求以为能人助我我弟兄。于是乎此三人,百般查访,动用了一切手段,甚至翻墙出去用了google搜索,终于找到一位能人,可担此重任。

此人正是:玄奘大官人,同时也是一位得到的高僧,也有人叫他 玄奘法师!

于是乎,三位弟兄礼贤下士,三顾茅庐,请玄奘法师出山。玄奘法师在他的卧龙岗与刘皇叔进行了亲切的会谈,最终二人愉快的决定:干!

于是乎,这四人就组成了一只有史以来成员最完整,使命最高尚,能力最强大的队伍,浩浩荡荡开往西方。

话说这一日,四人来到一座小城,此城中热闹非凡,买卖铺户林列街边,啥是一派繁荣的盛世景象。四人正往前走着,突然间,玄奘法师哎呀一声!可吓坏了三位兄弟,莫非这光天化日之下,还有妖怪!可定睛一看,三人才算放心,原来是街旁阁楼以上,一根支窗户的的木棒落下,正好砸了玄奘法师。

四人抬头看去,那二楼的窗口,有一位美貌的小妞,正探出半个身子。柳叶眉,眉梢带着妩媚,杏核眼,眼角带着风情,樱桃口,口边丝丝微笑,面白如玉,淡妆轻饰,出水芙蓉一般。看的这四位是聂呆呆的发愣啊。只见这小妞轻启朱唇,哇塞,真是燕语莺声啊:玉帝gg, Excuse me, Sir. I'm sorry for that. May I have it back?

这一砸可不要紧,玄奘大官人犹如三魂出鞘,茶不思饭不想,眼前过的都是这貌美的小妞。可刘皇叔这三兄弟急坏了,玄奘老师可不能就此沉沦啊,咱得想想办法。是时,关二爷张口说到:大师兄,我看不如求求隔壁的王婆吧。大爷闻听:呆子,求人办事你得客气点,怎么能叫王婆呢?叫王母!张三爷听到此处,赞到:二师兄啊,我看还是听大师兄的吧。三个人就这么愉快的决定,去求求隔壁的王母娘娘。

想不到王母娘娘听了三人的描述,慨然应允,大包大揽,拍着胸脯说,这是抱在她身上!这王婆做事还真是利落,起身就走,直接去找那美貌的女子。王婆上楼,边走边喊:金莲啊,有事找你。那女子原是潘家第一位丫鬟,后来辞职出来,自己一个人租住在这里,自由职业。潘姓女子看了王婆,就满心的不高兴,张嘴就问:你是猴子请来的救兵吗?

王婆闻听一愣,莫非这三人没跟我说实话?听这丫头的意思这三个人已经采取过行动了啊!

------------------------------------------------

写到这,我饿了,去吃饭了。回来高兴,就继续写,不高兴就算了。

[译]Cassandra内部架构

最近想看看Cassandra的源码,于是去看他们的wiki,先把一个概述翻了,当誓师,hoho

原文链接:http://wiki.apache.org/cassandra/ArchitectureInternals

General

概述

Configuration file is parsed by DatabaseDescriptor (which also has all the default values, if any)

DatabaseDescriptor是专门解析配制文件的,配制的默认值也跟这定义。

Thrift generates an API interface in Cassandra.java; the implementation is CassandraServer, and CassandraDaemon ties it together. 

Cassandra.java调用Thrift(一个apache的跨语言框架)产生一个API接口,CassandraServer负责实现,CassandraDaemon把二者联系起来。

CassandraServer turns thrift requests into the internal equivalents, then StorageProxy does the actual work, then CassandraServer turns it back into thrift again

CassandraServer把thrift请求丢到一个内部容器里,然后StorageProxy来完成具体的工作,CassandraServer再把它拿回到thrift。

StorageService is kind of the internal counterpart to CassandraDaemon. It handles turning raw gossip into the right internal state.

StorageService是一个类似内部CassandraDaemon的玩艺儿。它就是为了让那些还没处理过的请求待在他们应该在的位置上。

AbstractReplicationStrategy controls what nodes get secondary, tertiary, etc. replicas of each key range. Primary replica is always determined by the token ring (in TokenMetadata) but you can do a lot of variation with the others. RackUnaware just puts replicas on the next N-1 nodes in the ring. RackAware puts the first non-primary replica in the next node in the ring in ANOTHER data center than the primary; then the remaining replicas in the same as the primary.

AbstractReplicationStrategy控制节点等级。每一个键的副本都有顺序。主副本是由定义在TokenMetadata里的token ring决定的,但是在其他副本上你可以有很大的发挥空间。RackUnaware只负责把副本送到环上另外N-1个节点。RackAware把把第一个非主副本放到不同于主副本的另外一个数据中心的后续节点上;剩下的副本就跟主副本在一起了。

MessagingService handles connection pooling and running internal commands on the appropriate stage (basically, a threaded executorservice). Stages are set up in StageManager; currently there are read, write, and stream stages. (Streaming is for when one node copies large sections of its sstables to another, for bootstrap or relocation on the ring.) The internal commands are defined in StorageService; look for registerVerbHandlers.

MessagingService统筹链接并在合适的阶段运行内部命令(其实就是个线程池)。各个阶段由StageManager发起;目前包括读,写和流阶段。(流,是当一个节点需要拷贝一个大段数据到另外的节点时,提供环上的引导和重定位。)内部命令在StorageService中定义,参考registerVerbHandlers。

- 阅读剩余部分 -

写在腊月二十九

腊月二十九,我坐在办公室里。办公室很清静,三两同事在远处敲着键盘,这个时候办公室不是一个合适的氛围。

今年是自己出来以后的第一个春节,此前的那些印象已经模糊了,因为可以在随便想回家的时候就回去,因为周围的人们也都一样,大家还在无忧无虑的过着梦一样的校园生活。不用面对无奈的生活,不用面对反常的社会,只要简单的做好自己。而现在,有人还在为工作奔波着,有人还在准备考研...大家都在各自忙碌着,而到了这个时候,这些,我也更想念大家,想念曾经那种日子,那种不可能再回来的日子。

往年春节总要想想给爸妈带点什么东西,今年呢,忙忙碌碌的,实在是没想起来买什么东西...想来想去,爸妈需要什么,还是回去多陪陪爸妈吧。

上午出门的时候,冷,很冷,还有风,冷的有年味。路上的人多是提着大包小包的行李,匆匆忙忙的赶路,想起网易的一个春节专题栏目 1/10流浪的中国,我也在流浪啊。几个小时以后,我也会这般样子走在回家的路上,不知道是高兴呢,还是有些凄凉。唉,天都这么凉了,还是幸福一点吧,就要回家了。

想想有很多话要说,坐下又写不出来,只祝福大家新年快乐,祝福爸妈身体健康,祝福,祝福...