04 2012 档案

摘要:“请对我的代码指手划脚”是我们群内搞的一个不定期的常规性活动,以代码审阅和细节重构为主线,大家可以自由发表自己的意见和建议,也算得上是一种思维风暴。感觉到这个活动很有意义,有必要总结并记录下来。 阅读全文
posted @ 2012-04-29 00:08 O.C 阅读(2795) 评论(5) 推荐(2) 编辑
摘要:开发者已凭借网页技术制作出创收丰厚的游戏作品许多年:《部落战争》凭借静态网页页面大获成功,《Farmville》凭借Flash开拓出新的疆域。但如今越来越多人觉得,未来HTML5将变成游戏的主要平台。为什么HTML5如此颇具趣味,它是否真的已做好准备? 阅读全文
posted @ 2012-04-26 22:39 O.C 阅读(654) 评论(0) 推荐(0) 编辑
摘要:本文来自去年整理发布的“十天掌握MongoDB”系列PPT。该系列PPT的内容则来自当时的《MongoDB权威指南(英文版)》,个人翻译能力有限,不能保证PPT的内容完全符合该书的内容。而且,我还加入了大量的自己的看法。今天分享给大家的便是其中的第十课,主要是我个人的观点,这些观点在现在看来不一定都是正确的,请大家多多批评指正! 阅读全文
posted @ 2012-04-25 21:36 O.C 阅读(11955) 评论(5) 推荐(3) 编辑
摘要:“请对我的代码指手划脚”是我们群内搞的一个不定期的常规性活动,以代码审阅和细节重构为主线,大家可以自由发表自己的意见和建议,也算得上是一种思维风暴。感觉到这个活动很有意义,有必要总结并记录下来。今天我发起了4短代码,都有一定的代表性。今天我就其中的一个代码片段的重构做一个简单的总结和分享。 阅读全文
posted @ 2012-04-24 23:19 O.C 阅读(2890) 评论(13) 推荐(4) 编辑
摘要:一个人的能力是有限的,因此我们需要不断的学习,对于每个人都是如此。而程序猿,由于是一种从事脑力劳动的家伙,更加需要不断的学习、进化!然而有些人,喜欢在学到一点儿东西的时候就拿出来炫耀,这种做法是值得商榷的! 阅读全文
posted @ 2012-04-23 22:49 O.C 阅读(2527) 评论(5) 推荐(2) 编辑
摘要:在开源领域,现在Chrome、Firefox等项目基本都保持六周一个新版本,管他功能实现完了没,先上了再说。几个著名的Linux发行版本,则保持六个月一版的发布周期,但是测试版的周期也都维持在一个月的长度。另外,大部分成熟的开源项目都有Nightly Build,即一天一个新版本。 阅读全文
posted @ 2012-04-20 23:37 O.C 阅读(603) 评论(0) 推荐(0) 编辑
摘要:解释型模板引擎与置换型模板引擎最大的区别是它支持流程控制语句,其次是支持对象访问(反射实现)。今天我们的任务是设计模板语法,给我们的后续开发提供依据。 阅读全文
posted @ 2012-04-19 10:00 O.C 阅读(3472) 评论(15) 推荐(6) 编辑
摘要:先让自己的付出超过报酬,然后报酬才会超出你的付出!每一名员工都应该明白,自己的收益多半都来自公司的收益,以公司利益为重,把公司的利益放在心上,把维护公司的利益当作维护自己的利益,保持对工作、对事业的忠诚! 阅读全文
posted @ 2012-04-17 22:46 O.C 阅读(2108) 评论(10) 推荐(4) 编辑
摘要:上回我们说到责任心,趁热打铁,我们说说执行力。一个人只对自己尚且无法实现的愿望着急感叹是没有用的,要达到目的、出人头地,必须付出行动、百般努力!只要肯干,就可以超越他人一步,从平凡中脱颖而出。然而要做到这些也并非人人皆可为之,有的人只会躲在安全港湾,不用承受太多的挫折,做一天和尚撞一天钟的过着平凡的生活。猴子们,你此时此刻在想什么呢? 阅读全文
posted @ 2012-04-16 10:01 O.C 阅读(2023) 评论(7) 推荐(2) 编辑
摘要:本课我们主要讨论“命令解释器”的实现。命令就是指令,指令也是构成更加复杂的模板引擎的基本元素之一。至此我们可以归纳出来,模板引擎在工作的过程中,首先将字符流转换为Token流,然后再将Token流转换为Element集合(也算是流),然后将特定的Element单独拿出来或组合在一起形成指令、语句等。写一个模板引擎,和写一个小型的编译器几乎相当,因此我们需要耐心、细心! 阅读全文
posted @ 2012-04-15 10:21 O.C 阅读(4145) 评论(3) 推荐(5) 编辑
摘要:事不关己高高挂起,好事来临搞搞关系,这就是典型的中国人。在很多时候,我们都批评自己没有爱心、没有执行力,实际上造成这种结果的主要原因还是缺乏责任感。遇到事情的时候,我们首先想到的是不关我事,总会有人处理的;然而另外有些人就善于抓住这些机会,替大家操心。劳心者治人,劳力者治于人——操心其实是一种能力! 阅读全文
posted @ 2012-04-14 09:02 O.C 阅读(3252) 评论(23) 推荐(6) 编辑
摘要:“做软件,到微软",这是每一位在微软中国研究开发中心(Microsoft China Research & Development Center,简称R&D)工作的人经常自豪地讲的一句话。而到微软去做软件可以说是每一个做软件的人梦寐以求的事。又到大学生热觅工作时节,记者就R&D的用人理念专访了微软中国研发中心的总经理张湘辉博士。 阅读全文
posted @ 2012-04-13 23:58 O.C 阅读(594) 评论(0) 推荐(0) 编辑
摘要:人的一生不是被许多困难和麻烦所纠缠,而是被自己的决心所限制。程序猿不是被烂到家的代码难倒,也不是被各种bug纠缠,也不会因需求多变而跌倒不起,和普通人一样,只怕他们没有决心!决心是什么?在这里,决心就是执行力!几乎没有我们完不成的项目,只有不成事的猴子。猴子们面临的并不是难点太多、bug和需求太多,只怕自己的决心不够坚定,从而被自己所限制! 阅读全文
posted @ 2012-04-12 21:15 O.C 阅读(1685) 评论(1) 推荐(5) 编辑
摘要:今天,我要分享的是“学会接纳”。接纳一词从表面上看是接受的意思,然而通常人们都忽略了它的另外一层意思。为什么我们要用“接纳”这个词而不是“接受”呢?“纳”在字典里可不只是收纳、接受,还有享受的含义!是的,“学会接纳”首先可以理解为“学会接纳自己”,也就是学会接受并享受自己!接受我们的长处、优点,接受我们的短处、缺点,不骄不躁不气馁。 阅读全文
posted @ 2012-04-11 22:38 O.C 阅读(1230) 评论(1) 推荐(2) 编辑
摘要:与置换型模板引擎不同的是,解释型模板引擎包含了一个专用解释器,有了解释器的存在就可以支持一些更加复杂而严谨的语法。熟悉设计模式的朋友此时此刻应该能够回想起来“解释器模式”,它是将一些业务封装成一个或多个命令,然后通过一个复杂的解释器(Interpreter)来解析执行来满足生产需求的。实际上,解释型模版引擎就是一个较为复杂的解释器模式的实现而已。具体到模板引擎技术上来,解释器的工作任务实际上就小了很多。按照数据封装模式的不同,解释型模板引擎分为命令解释器和反射解释器两个大类。 阅读全文
posted @ 2012-04-09 09:01 O.C 阅读(5289) 评论(6) 推荐(4) 编辑
摘要:近年来,关于年轻的都市白领甚至杰出精英猝死的新闻不时见诸报端,医务人员研究发现,其中多数患者都是因为血栓栓子脱落后随着血液流动被带至肺动脉,进而引发严重的肺栓塞而猝死的。这就应该为那些久坐的“电脑族”敲响警钟了,因为久坐一族很容易形成深静脉栓塞,而深静脉栓塞在发病前期并没有明显症状,常常不被人重视。 阅读全文
posted @ 2012-04-08 14:14 O.C 阅读(624) 评论(1) 推荐(0) 编辑
摘要:我是一个热爱学习、热爱分享的人。在2006年来北京之前,我一直热衷于开源分享,虽然有很多作品由于时间和精力原因没能正式推广出去。但我的这种经历,使得我积累了很多的Q群经验。今天闲来无事,来点评一下技术群里面的那些个半吊子事情——今天我们只说那些不好的事情们! 阅读全文
posted @ 2012-04-08 11:35 O.C 阅读(3503) 评论(12) 推荐(3) 编辑
摘要:在进入解释型模版引擎的探讨之前,我决定先分享一下这篇博客。因为在解释型引擎里将会引入反射的概念来实现更多、更复杂的功能。可能大家谈到反射面部肌肉都开始抽搐了吧!因为在托管语言里面,最臭名昭著的就是反射!它的性能实在是太低了,甚至在很多时候让我们无法忍受。不过不用那么纠结了,老陈今天就来分享一下如何来优化反射! 阅读全文
posted @ 2012-04-07 10:05 O.C 阅读(7601) 评论(11) 推荐(7) 编辑
摘要:置换型模板引擎系列是我们进入模板引擎开发领域的基础课程,这里讲述的一些原理、概念和实践方案都是后续模板引擎开发中所需要用到的,正所谓是由浅入深、循序渐进!在编写这些博文的时候,我遇到了很多阻力。为了能够让菜鸟朋友入门又不让高手们嗤之以鼻感觉到木有干货,这让老陈真的是煞费苦心!如果仅仅是开源一份代码出去,那么完成这样的项目本身可能不需要多少时间,然而要把这些组织成文字分享给大家,实在是很头疼的一件事情。 阅读全文
posted @ 2012-04-06 09:21 O.C 阅读(3679) 评论(6) 推荐(4) 编辑
摘要:在上一篇我们以简单明快的方式介绍了置换型模版引擎的关键技术——模板标记的流式解析。采用流式解析可以达到相当好的解析性能,因为它基本上只需要对字符串(模板)扫描一次就可以完成所有代码的解析。不像String.Split()和正则表达式那样会造成很多迭代效应。今天我们引入一个较为复杂的示例,然后封装一个实用级别的模板引擎。封装就意味着使用者无需了解内部如何实现,只需要知道如何引用即可。 阅读全文
posted @ 2012-04-05 09:41 O.C 阅读(4010) 评论(9) 推荐(3) 编辑
摘要:给力的10gen继2011年5月7日在中国北京举办了技术聚会之后,2012年4月2日又来到了中国北京,他们很谦逊有很自信地向广大开发者介绍MongoDB的最新特性和性能优化技巧。老陈的“网鸟-NoSQL”系列群组总计报名参加60余人,实际到场仅30余人,虽然整个与会开发者总计200人左右,我们是贡献最大的团体,但这让我的内心不太平静。 阅读全文
posted @ 2012-04-03 11:11 O.C 阅读(1046) 评论(3) 推荐(2) 编辑
摘要:上次我们简单的认识了一下置换型模板引擎的几种情况,当然我总结的可能不够完善,希望大家继续补充。谈到按流替代式模板引擎的原理但并没有给出真正的实现。跟帖的评论中有一位朋友(Treenew Lyn)说的很好:“Token 解析其实是按一个字符一个字符去解析的”。的确是这样,而且唯有这样才能够实现更加高效、更加准确的模板引擎机制。我们首先将模板代码分解成一个一个的Token,然后按照顺序形成Token流(顺序集合),在输出的时候替换规定好的语法标记即可。 阅读全文
posted @ 2012-04-01 09:20 O.C 阅读(4486) 评论(9) 推荐(7) 编辑