也许不应该惊讶,很多人不知道code.google.com,是因为很多人并不清楚Google已经为开源做了许多事;很多人不知道code.google.com,是因为很多人并不清楚Google已经发布了许多相当不错的开源项目。所以如果你还不知道,就去code.google.com看一看吧,如果你已经知道了,也可以再去瞄一眼,因为新鲜的东东总是不断被发布出来。
http://code.google.com/
介绍三件最值得介绍的吧:
1、还有一周,2007年度的Google Summer of Code报名就要截止了,有激情参与世界知名的开源项目,有信心凭自己的努力赚回全部大学学费的学生们赶紧报名参加呀——
http://code.google.com/soc/
Google will provide a stipend of 5000 USD per accepted student developer, of which 4500 USD goes to the student and 500 USD goes to the mentoring organization.
2、以前中国人民最关注的Google开源项目大概是Google Web Toolkit:
http://code.google.com/webtoolkit/
我猜今后的热门会变成Guice,一个比Spring轻一些,简单一些,也有趣一些的依赖注入框架:
http://code.google.com/p/google-guice/
Guice的入门文档写得也非常地道,给大家提供了一个从工厂模式,到依赖注入,再到基于Java 5新特性的依赖注入的导览式介绍:
http://docs.google.com/Doc?id=dd2fhx4z_5df5hw8
大家还是自己读吧,我只在这里贴一个足以展示Guice基本特性的Client类:
public class Client {
private final Service service;
@Inject
public Client(Service service) {
this.service = service;
}
public void go() {
service.go();
}
}
3、有一个藏得比较隐蔽,但确实非常有用的小项目叫Breakpad:
http://code.google.com/p/google-breakpad/
如果你开发了一个需要发布到用户电脑上的客户端小程序,你当然不会在程序的可执行文件中包含符号表之类的调试信息,你当然也不想麻烦你的用户在程序崩溃时把计算机抱来给你检修——但你却一定想知道,万一你的程序在用户的计算机上崩溃,该如何了解崩溃那一刻程序的状态,特别是对程序调试至关重要的堆栈状态呢?
试试Breakpad吧,无论你的程序运行在Windows平台,Mac OS X平台还是Linux平台,Breakpad都可以帮你截获程序崩溃那一刹那的重要信息。利用Breakpad,你可以在程序中加入自己的灾难响应装置,就像为程序加装安全气囊。你可以获取程序崩溃时可能为后期调试提供帮助的所有重要信息。你还可以在自己的灾难响应代码中把这些重要信息发回给自己,然后利用符号分析和调试工具,在不需要接触用户环境的情况下找到程序的错误原因。
此外,读Breakpad的源代码也非常有用,因为Breakpad在程序崩溃时做了许多和异常处理、堆栈分析相关的工作,这些工作可没有看上去那么简单,里面隐藏了许多与操作系统、进程模型、可执行程序格式及加载等底层技术相关的细节……而且,因为Breakpad是跨平台的,你还可以从中看出不同的平台在这些底层技术上的明显差异。
推荐Breakpad的另一个原因是我和其他几位中国工程师也参与其中(大家可以在项目成员中看到我的Google账号),这可是Google中国对开源领域的贡献之一哦!
先到这里吧,以后有空再详细介绍,大家有空常去http://code.google.com/