也許不應該驚訝,很多人不知道code.google.com,是因為很多人并不清楚Google已經(jīng)為開(kāi)源做了許多事;很多人不知道code.google.com,是因為很多人并不清楚Google已經(jīng)發(fā)布了許多相當不錯的開(kāi)源項目。所以如果你還不知道,就去code.google.com看一看吧,如果你已經(jīng)知道了,也可以再去瞄一眼,因為新鮮的東東總是不斷被發(fā)布出來(lái)。
http://code.google.com/介紹三件最值得介紹的吧:
1、
還有一周,2007年度的Google Summer of Code報名就要截止了,有激情參與世界知名的開(kāi)源項目,有信心憑自己的努力賺回全部大學(xué)學(xué)費的學(xué)生們趕緊報名參加呀——
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、以前中國人民最關(guān)注的Google開(kāi)源項目大概是Google Web Toolkit:
http://code.google.com/webtoolkit/我猜今后的熱門(mén)會(huì )變成
Guice,一個(gè)比Spring輕一些,簡(jiǎn)單一些,也有趣一些的依賴(lài)注入框架:http://code.google.com/p/google-guice/Guice的入門(mén)文檔寫(xiě)得也非常地道,給大家提供了一個(gè)從工廠(chǎng)模式,到依賴(lài)注入,再到基于Java 5新特性的依賴(lài)注入的導覽式介紹:
http://docs.google.com/Doc?id=dd2fhx4z_5df5hw8大家還是自己讀吧,我只在這里貼一個(gè)足以展示Guice基本特性的Client類(lèi):
public class Client {
private final Service service;
@Inject
public Client(Service service) {
this.service = service;
}
public void go() {
service.go();
}
}3、
有一個(gè)藏得比較隱蔽,但確實(shí)非常有用的小項目叫Breakpad:http://code.google.com/p/google-breakpad/如果你開(kāi)發(fā)了一個(gè)需要發(fā)布到用戶(hù)電腦上的客戶(hù)端小程序,你當然不會(huì )在程序的可執行文件中包含符號表之類(lèi)的調試信息,你當然也不想麻煩你的用戶(hù)在程序崩潰時(shí)把計算機抱來(lái)給你檢修——但你卻一定想知道,萬(wàn)一你的程序在用戶(hù)的計算機上崩潰,該如何了解崩潰那一刻程序的狀態(tài),特別是對程序調試至關(guān)重要的堆棧狀態(tài)呢?
試試Breakpad吧,無(wú)論你的程序運行在Windows平臺,Mac OS X平臺還是Linux平臺,Breakpad都可以幫你截獲程序崩潰那一剎那的重要信息。利用Breakpad,你可以在程序中加入自己的災難響應裝置,就像為程序加裝安全氣囊。你可以獲取程序崩潰時(shí)可能為后期調試提供幫助的所有重要信息。你還可以在自己的災難響應代碼中把這些重要信息發(fā)回給自己,然后利用符號分析和調試工具,在不需要接觸用戶(hù)環(huán)境的情況下找到程序的錯誤原因。
此外,讀Breakpad的源代碼也非常有用,因為Breakpad在程序崩潰時(shí)做了許多和異常處理、堆棧分析相關(guān)的工作,這些工作可沒(méi)有看上去那么簡(jiǎn)單,里面隱藏了許多與操作系統、進(jìn)程模型、可執行程序格式及加載等底層技術(shù)相關(guān)的細節……而且,因為Breakpad是跨平臺的,你還可以從中看出不同的平臺在這些底層技術(shù)上的明顯差異。
推薦Breakpad的另一個(gè)原因是我和其他幾位中國工程師也參與其中(大家可以在項目成員中看到我的Google賬號),這可是Google中國對開(kāi)源領(lǐng)域的貢獻之一哦!
先到這里吧,以后有空再詳細介紹,大家有空常去
http://code.google.com/