google的開源項目值得我們一用的,這些項目很有意義,甚至可以直接用在我們自己的工作上!學(xué)習(xí)編程的的一個比較好的方式就是閱讀優(yōu)秀項目的源代碼,從而能夠了解作者的方法、思路、技巧,另外閱讀源代碼對于一些朋友是枯燥乏味的,這是就可以看看項目的readme,找到項目的閃光點(diǎn),我們不做開拓者那我們就做實(shí)踐者和使用者,呵呵,下面是這些項目的列表,在這里存檔,已備今后查閱之用
Google CRUSH (Custom Reporting Utilities for SHell)
CRUSH是為命令行或shell scripts處理特定文字?jǐn)?shù)據(jù)而制作的一系列工具,這里有指南。
C++庫和源代碼:
一個開源的多平臺崩潰報告系統(tǒng)。
Gflags是一個命令行標(biāo)記的處理庫,它可以替代“getopt()”,其內(nèi)置對C++的支持比如string。指南在此。
Google Glog Glog庫可執(zhí)行應(yīng)用級的登陸,提供基于C++式的登陸API,可用于Linux、BSD和Windows。指南見此。
這個工具可讓開發(fā)創(chuàng)建更強(qiáng)大的應(yīng)用程序,特別是那些用C++模版開發(fā)的多線程應(yīng)用程序,包括TCMalloc, heap-checker, heap-profiler 和cpu-profiler。指南見此還有這里。
非常節(jié)省內(nèi)存的hash-map。指南見此。
Omaha,也就是Google Update,它可以保證你的軟件隨時升級到最新版本,目前很多Windows下的Google軟件都是用Omaha升級的,包括Google Chrome和Google Earth,當(dāng)然你也可以用于自己的應(yīng)用程序。指南看這里還有這里。
Protocol Buffers是一種可擴(kuò)展編碼序列數(shù)據(jù)的方式,Google在幾乎所有內(nèi)部RPC協(xié)議和文件格式都使用了Protocol Buffers。指南見此。它可以用于很多語言而且被一些IDE所支持,比如NetBeans。
Google Code Pretiffy 這是一個Javascript模塊和CSS文件,它可以讓HTML頁面里的部分源碼高亮顯示,支持C/C++, Java, Python, Ruby, PHP, VisualBasic, AWK, Bash, SQL, HTML, XML, CSS, JavaScript, Makefiles和部分Perl,不支持Smalltalk和所有的CAML。例子見此。
SpriteMe – easy “CSS spirtes” SpriteMe使你可以更輕松的創(chuàng)造CSS Sprites(俗稱雪碧……)就是把網(wǎng)站要用到的圖片都堆在一張圖片里,用CSS控制調(diào)用哪個區(qū)域。它有一個自己的官網(wǎng)在這里。
Reducisaurus是一個壓縮CSS和JS文件的網(wǎng)絡(luò)服務(wù),基于YUI壓縮算法,運(yùn)行于App Engine。
JaikuEngine是一個運(yùn)行于App Engine的微博系統(tǒng),由jaiku.com運(yùn)營。要查看移動客戶端的源碼可以看這里,這里還有介紹。
Selector Shell是一個基于瀏覽器的測試工具,它可以讓你看到CSS在不同瀏覽器里的樣式,用Javascript寫的,你可以在這里測試。
Google Feed Server是一個開源Atom發(fā)布協(xié)議服務(wù),基于Apache Abdera框架,允許開發(fā)者快速為當(dāng)前數(shù)據(jù)源(比如數(shù)據(jù)庫)配置feed。指南見這里和這里。
Melange, the Spice of Creation
這個項目的目標(biāo)是創(chuàng)建出一個適合開源貢獻(xiàn)流程的框架,比如Google Summer of Code TM (GSoC)項目。使用這個框架你就可以用Google App Engine來運(yùn)行Google Summer of Code項目,和其它類似項目比如Google Highly Open Participation TM Contest和GHOP。指南見此。
它可以查找最快的DNS服務(wù)器給你的電腦用,在Mac OS X、Windows和UNIX系統(tǒng)下都有命令行也有用戶界面可以幫你測試,這是Google工程師用20%自由時間寫出來的。
一個半自動化的大型被動網(wǎng)絡(luò)應(yīng)用安全審查工具,專為精確的探測而優(yōu)化,文檔在此。
Top Draw是一個圖形生成程序,使用簡單的文字腳本,基于JavaScript編程語言,Top Draw可以創(chuàng)造出非常復(fù)雜和有趣的圖形。支持Mac OS 10.5以上系統(tǒng),使用XCode開發(fā)。
開源的EtherPad,這是一個基于網(wǎng)絡(luò)的實(shí)時合作文檔編輯器,這個項目主要是為了演示代碼而開發(fā),幫助那些想在自己服務(wù)器部署Etherpad的人使用,這里有如何安裝的指南。EtherPad使用JavaScript、Java和Comet服務(wù)器來建造實(shí)時協(xié)作服務(wù)。
Chromium是開源版的Chrome瀏覽器,Chromium的目標(biāo)是建立一個新一代的強(qiáng)大網(wǎng)絡(luò)應(yīng)用程序,它與Chrome有很多不同之處。這里有指導(dǎo)如何在Linux上編譯Chromium。
V8 Google’s open source JavaScript engine V8是Google的開源JavaScript引擎,用C++寫成,用于Chrome瀏覽器之上。V8使用ECMAScript的ECMA-262第三版可運(yùn)行于Windows XP、Vista、Mac OS 10.5和使用IA-32或ARM處理器的Linux。V8可獨(dú)立運(yùn)行也可嵌入到任何C++程序里使用,這里有指南。
Chromium OS是開源版的Chrome OS操作系統(tǒng),提供快速、簡單而安全的網(wǎng)絡(luò)體驗,源碼在此。
Android是第一個免費(fèi)、開源而且可完全自定義的移動平臺,提供完整的堆棧:一個操作系統(tǒng)、中間件和重要的一用應(yīng)用,它包含豐富的API可以讓第三方開發(fā)者開發(fā)出強(qiáng)大的應(yīng)用程序。
各種管理、維護(hù)和改進(jìn)MySQL數(shù)據(jù)庫性能的工具,由Google編寫,包括:
mMAIM的目標(biāo)是對MySQL的監(jiān)控和分析更簡單,且可以和任何環(huán)境整合使用。它可顯示主/從同步狀態(tài),一些性能狀態(tài),可以返回大量“show”命令的狀態(tài)等等。
Stressful Application Test (stressapptest)
Stressful Application Test試圖讓來自處理器和I/O到內(nèi)存的數(shù)據(jù)盡量隨機(jī)化,以創(chuàng)造出模擬現(xiàn)實(shí)的環(huán)境來測試現(xiàn)在的硬件設(shè)備是否穩(wěn)定,Google就在使用它,現(xiàn)在是Apache 2.0許可,這里有介紹、安裝向?qū)?/font>和指南。
它用于診斷并解決客戶端到郵件服務(wù)器的連接問題。
Openduckbill是一個Linux下簡單的命令行備份工具,可用于監(jiān)視文件/目錄在有變化后是否標(biāo)記為備份,并傳輸這些變化到本地備份目錄、遠(yuǎn)程N(yùn)FS導(dǎo)出分卷或是用rsync命令導(dǎo)出到遠(yuǎn)程SSH服務(wù)器。見安裝向?qū)?/font>。
ZXing(發(fā)音類似Zebra crossing)是Java的開源多格式1D/2D條碼圖像處理庫,目的是使用內(nèi)置在手機(jī)上的攝像頭拍照并對條碼進(jìn)行解碼,而不必與服務(wù)器通訊,它被用于Android系統(tǒng)。這里有向?qū)?/font>和支持的設(shè)備列表。 Tesseract OCR Engine
Tesseract OCR引擎是1995年UNLV Accuracy測試的前三名之一,在1995和2006年之間它的進(jìn)展不大,但依然是當(dāng)前精度最高的OCR引擎。這個源碼可讀取二進(jìn)制、灰階或彩色圖片并輸出文字,內(nèi)置一個TIFF閱讀器可讀取非壓縮的TIFF文件,增加libtiff后也可讀取壓縮圖片。指南和問答。
Neatx是一個開源NX服務(wù),類似NoMachine公司商業(yè)的NX服務(wù)。NX協(xié)議比VNX更強(qiáng)大,它們的區(qū)別主要在:
另外一個可選的項目可以看看Google的FreeNx。
它是這個文件的代碼,這是一個SVM的“支持所有核心”的版本,可多機(jī)并行運(yùn)行,實(shí)例見此。
Google開發(fā)的新編程語言,谷奧有報道。
The Google Collections Library for Java
這是一系列與Java 5以及更高版本有關(guān)的庫,Google花錢給買過來了。
每個主流的開源項目都有它自己的向?qū)问?,比如一系列的演示代碼。如果這些代碼都按照“Style”的形式來演示,會更友好。