也許不應(yīng)該驚訝,很多人不知道code.google.com,是因為很多人并不清楚Google已經(jīng)為開源做了許多事;很多人不知道code.google.com,是因為很多人并不清楚Google已經(jīng)發(fā)布了許多相當不錯的開源項目。所以如果你還不知道,就去code.google.com看一看吧,如果你已經(jīng)知道了,也可以再去瞄一眼,因為新鮮的東東總是不斷被發(fā)布出來。
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、以前中國人民最關(guān)注的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/ 如果你開發(fā)了一個需要發(fā)布到用戶電腦上的客戶端小程序,你當然不會在程序的可執(zhí)行文件中包含符號表之類的調(diào)試信息,你當然也不想麻煩你的用戶在程序崩潰時把計算機抱來給你檢修——但你卻一定想知道,萬一你的程序在用戶的計算機上崩潰,該如何了解崩潰那一刻程序的狀態(tài),特別是對程序調(diào)試至關(guān)重要的堆棧狀態(tài)呢? 試試Breakpad吧,無論你的程序運行在Windows平臺,Mac OS X平臺還是Linux平臺,Breakpad都可以幫你截獲程序崩潰那一剎那的重要信息。利用Breakpad,你可以在程序中加入自己的災(zāi)難響應(yīng)裝置,就像為程序加裝安全氣囊。你可以獲取程序崩潰時可能為后期調(diào)試提供幫助的所有重要信息。你還可以在自己的災(zāi)難響應(yīng)代碼中把這些重要信息發(fā)回給自己,然后利用符號分析和調(diào)試工具,在不需要接觸用戶環(huán)境的情況下找到程序的錯誤原因。 此外,讀Breakpad的源代碼也非常有用,因為Breakpad在程序崩潰時做了許多和異常處理、堆棧分析相關(guān)的工作,這些工作可沒有看上去那么簡單,里面隱藏了許多與操作系統(tǒng)、進程模型、可執(zhí)行程序格式及加載等底層技術(shù)相關(guān)的細節(jié)……而且,因為Breakpad是跨平臺的,你還可以從中看出不同的平臺在這些底層技術(shù)上的明顯差異。 推薦Breakpad的另一個原因是我和其他幾位中國工程師也參與其中(大家可以在項目成員中看到我的Google賬號),這可是Google中國對開源領(lǐng)域的貢獻之一哦! 先到這里吧,以后有空再詳細介紹,大家有空常去http://code.google.com/ |
|