2009年5月22日星期五

2009.5.22

    1.谷歌新功能
“搜索百宝箱”今日上线了,很方便的一组功能。搜索某一内容,然后点击上面的“搜索百宝箱”就可以使用。“神奇罗盘”、“时光隧道”、“图文并茂”、“更多描述”等都很有用
谷歌黑板报中有些介绍:http://googlechinablog.com/2009/05/blog-post_21.html

    2.谷歌浏览器chrome今日正式推出其2.0的正式版了,之前的很长时间正式版一种都是1.0的,通过浏览器的自动更新就可以升级了。

    3.前几天看了关于电信网络出问题的新闻,说是dns服务引起的,有趣的是暴风影音的dns出了问题导致的。今天又看到了一篇写的很深入、很有意思的文章。《暴风影音是如何引起全国网络瘫痪的?》http://it.hexun.com/2009-05-22/117962721.html



2009年5月17日星期日

搜索引擎 WolframAlpha 正式上线

传闻已久的智能搜索引擎 WolframAlpha 已经正式上线, http://www.wolframalpha.com/
在WolframAlpha服务中,用户在搜索框键入需要查询的问题后,该搜索引擎将直接向用户返回答案,而不是返回一大堆网页链接。赶紧试试吧!

2009年5月3日星期日

加快步伐

    小公司vs大公司,大公司自然很强大,很多方面小公司根本无法与之相比。小公司也有自己的优点,反应灵敏、速度快是一个重要优势,但优势不是天生的,而是逼出来的。国共之间打了多年,一个是正规军、一个是游击战的小部队,就像是大公司和小公司。需要灵活多变、快速反应的才能取胜。步伐要快,否则被对手追着打,肯定完蛋。
    对于小公司,如果步履缓慢,无异于等死。
    小公司需要每个月都有所进展和突破才行,并且需要尽快实现目标并达到实用水平的技术程度。因为即使做到了这点,也还有其它诸多因素影响着最后结果。
    但是在IT领域,令人恐怖的是很多大公司的步伐也快的惊人,比如gmail就是5-10人3个月做出来的,亚马逊、Facebook、Youtube、淘宝等公司都才如此年轻。这并不新鲜,类似的实例太多了,因为IT尤其是软件和互联网领域的节奏太快了。软件的特性决定其低廉的制造成本,从一个想法到实现出来只需很短的周期。
    现在需要加快我们步伐,做出更大的作为。

自动构建和自动测试

    不要做重复的工作,对于编码、部署应用、测试等等日常工作都可以自动化完成,因为你是人,不适合做这些工作,而且简单重复的工作特别适合机器完成,而人完成这些反而容易犯各种错误,结果又要花更多的时间来找出问题,重复工作就是一种浪费!
    比如我们的项目众多,每个项目又都要取出多个模块,不同项目之间又都有些差异。从cvs中自动正确的取出和构建需要的项目,这一复杂、重复又易犯错误的过程当然可以自动化完成!我在添加了一组可以自动化完成此工作的脚本。
    又如我们所有的项目不仅仅要保证可以从cvs中正确的取出,还需要保证可以成功的构建,没有源代码编译错误,没有gram编译错误,最好构建过程中还能把所有测试都跑一边。当然还可以再包括静态代码分析等等其它自动化的辅助工作,这些都是没有成本的。我已经配置了cruisecontrol作为持续集成和标准构建服务器,可以定时更新cvs重新构建,如果有问题会及时发现;同时作为标准构建,就有了唯一权威的构建版本,避免了因为在个人开发环境下可能发生的问题,也杜绝了只能在某个人的机器上才能构建出来的现象。
    web工程的构建和部署由于不是自动化也经常会出现一些小问题,一些配置没有修改,如数据库配置、pool中资源数量等等,或者直接就服务器上改了而没有同步到cvs,下次部署就很可能出错。因为经常更新,每次部署都要做很多手工修改,这样重复工作既是在浪费时间,又很容易出错。而这些问题也可以通过自动化的方式解决,标准的构建,所有的配置修改也自动完成。
    网页的测试也是重复工作,每天来一遍,既枯燥又容易遗漏,也因此没有经常做。重复的工作只做一次,剩下的就可以自动化完成。比如,Selenium项目(http://seleniumhq.org/)就提供这样的web应用测试工具,可以自动记录web上的操作并保存为一个test case,可以编辑,当然可以回放。这样掌握这个工具,以后就可以完全自动化进行重复的测试工作。
    做msn机器人的时候,我们帮忙进行测试。这个过程也可以自动完成,只要再写一个msn机器人负责去自动测试就可以了!用这个机器人将准备好的一组测试用例一个一个的自动发给另一个msn机器人,并判断返回是否正确。
    大家的时间精力非常有限,重复是软件开发中有最大敌人,如果你发现自己在做重复的工作,那就考虑一下是否可以自动化的完成。