1. 程式人生 > >google的開源專案總結(轉載)

google的開源專案總結(轉載)

轉自http://www.feng5166.com/blog/424.html

google的開源專案值得我們一用的,這些專案很有意義,甚至可以直接用在我們自己的工作上!學習程式設計的的一個比較好的方式就是閱讀優秀專案的原始碼,從而能夠了解作者的方法、思路、技巧,另外閱讀原始碼對於一些朋友是枯燥乏味的,這是就可以看看專案的readme,找到專案的閃光點,我們不做開拓者那我們就做實踐者和使用者,呵呵,下面是這些專案的列表,在這裡存檔,已備今後查閱之用   

文字檔案處理:

CRUSH是為命令列或shell scripts處理特定文字資料而製作的一系列工具,這裡有指南

C++庫和原始碼:

一個開源的多平臺崩潰報告系統。   

Gflags是一個命令列標記的處理庫,它可以替代“getopt()”,其內建對C++的支援比如string。指南在此。   

Google Glog Glog庫可執行應用級的日誌,提供基於C++式的日誌 API,可用於Linux、BSD和Windows。指南見此。 

這個工具可讓開發建立更強大的應用程式,特別是那些用C++模版開發的多執行緒應用程式,包括TCMalloc, heap-checker, heap-profiler 和cpu-profiler。指南見此還有這裡。 

非常節省記憶體的hash-map。指南見此。 

Omaha,也就是Google Update,它可以保證你的軟體隨時升級到最新版本,目前很多Windows下的Google軟體都是用Omaha升級的,包括Google Chrome和Google Earth,當然你也可以用於自己的應用程式。指南

看這裡還有這裡。 

Protocol Buffers是一種可擴充套件編碼序列資料的方式,Google在幾乎所有內部RPC協議和檔案格式都使用了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使你可以更輕鬆的創造CSS Sprites(俗稱雪碧……)就是把網站要用到的圖片都堆在一張圖片裡,用CSS控制呼叫哪個區域。它有一個自己的官網在這裡。 

Reducisaurus是一個壓縮CSS和JS檔案的網路服務,基於YUI壓縮演算法,運行於App Engine。 

JaikuEngine是一個運行於App Engine的微博系統,由jaiku.com運營。要檢視移動客戶端的原始碼可以看這裡這裡還有介紹。 

Selector Shell是一個基於瀏覽器的測試工具,它可以讓你看到CSS在不同瀏覽器裡的樣式,用Javascript寫的,你可以在這裡測試。 

Google Feed Server是一個開源Atom釋出協議服務,基於Apache Abdera框架,允許開發者快速為當前資料來源(比如資料庫)配置feed。指南見這裡這裡。 

這個專案的目標是創建出一個適合開源貢獻流程的框架,比如Google Summer of Code TM (GSoC)專案。使用這個框架你就可以用Google App Engine來執行Google Summer of Code專案,和其它類似專案比如Google Highly Open Participation TM Contest和GHOP。指南見此。 

它可以查詢最快的DNS伺服器給你的電腦用,在Mac OS X、Windows和UNIX系統下都有命令列也有使用者介面可以幫你測試,這是Google工程師用20%自由時間寫出來的。 

一個半自動化的大型被動網路應用安全審查工具,專為精確的探測而優化,文件在此。 

Top Draw是一個圖形生成程式,使用簡單的文字指令碼,基於JavaScript程式語言,Top Draw可以創造出非常複雜和有趣的圖形。支援Mac OS 10.5以上系統,使用XCode開發。 

開源的EtherPad,這是一個基於網路的實時合作文件編輯器,這個專案主要是為了演示程式碼而開發,幫助那些想在自己伺服器部署Etherpad的人使用,這裡有如何安裝的指南。EtherPad使用JavaScript、Java和Comet伺服器來建造實時協作服務。 

Chromium是開源版的Chrome瀏覽器,Chromium的目標是建立一個新一代的強大網路應用程式,它與Chrome有很多不同之處。這裡有指導如何在Linux上編譯Chromium。 

V8 Google’s open source JavaScript engine V8是Google的開源JavaScript引擎,用C++寫成,用於Chrome瀏覽器之上。V8使用ECMAScript的ECMA-262第三版可運行於Windows XP、Vista、Mac OS 10.5和使用IA-32或ARM處理器的Linux。V8可獨立執行也可嵌入到任何C++程式裡使用,這裡有指南。 

Chromium OS是開源版的Chrome OS作業系統,提供快速、簡單而安全的網路體驗,原始碼在此。 

Android是第一個免費、開源而且可完全自定義的移動平臺,提供完整的堆疊:一個作業系統、中介軟體和重要的一用應用,它包含豐富的API可以讓第三方開發者開發出強大的應用程式。 

MySQL工具:

各種管理、維護和改進MySQL資料庫效能的工具,由Google編寫,包括: 

  • mypgrep.py:一個類似pgrep的工具來管理MySQL連線
  • compact_innodb.py:可匯出和過載所有表格的密集型innodb資料檔案

mMAIM的目標是對MySQL的監控和分析更簡單,且可以和任何環境整合使用。它可顯示主/從同步狀態,一些效能狀態,可以返回大量“show”命令的狀態等等。   

其它:

Stressful Application Test試圖讓來自處理器和I/O到記憶體的資料儘量隨機化,以創造出模擬現實的環境來測試現在的硬體裝置是否穩定,Google就在使用它,現在是Apache 2.0許可,這裡有介紹安裝嚮導指南。   

它用於診斷並解決客戶端到郵件伺服器的連線問題。   

Openduckbill是一個Linux下簡單的命令列備份工具,可用於監視檔案/目錄在有變化後是否標記為備份,並傳輸這些變化到本地備份目錄、遠端NFS匯出分卷或是用rsync命令匯出到遠端SSH伺服器。見安裝嚮導。   

ZXing

ZXing(發音類似Zebra crossing)是Java的開源多格式1D/2D條碼影象處理庫,目的是使用內建在手機上的攝像頭拍照並對條碼進行解碼,而不必與伺服器通訊,它被用於Android系統。這裡有嚮導支援的裝置列表。 Tesseract OCR Engine

Tesseract OCR引擎是1995年UNLV Accuracy測試的前三名之一,在1995和2006年之間它的進展不大,但依然是當前精度最高的OCR引擎。這個原始碼可讀取二進位制、灰階或彩色圖片並輸出文字,內建一個TIFF閱讀器可讀取非壓縮的TIFF檔案,增加libtiff後也可讀取壓縮圖片。指南問答。   

Neatx是一個開源NX服務,類似NoMachine公司商業的NX服務。NX協議比VNX更強大,它們的區別主要在:   

  • NX是X11客戶端所以不會發送點陣圖
  • NX可相容X、VNC和Windows版的Remote Desktop
  • NX可快取資料
  • NX安裝簡單

另外一個可選的專案可以看看Google的FreeNx。 

PSVM

它是這個檔案的程式碼,這是一個SVM的“支援所有核心”的版本,可多機並行執行,例項見此。 

GO

Google開發的新程式語言,谷奧有報道。 

這是一系列與Java 5以及更高版本有關的庫,Google花錢給買過來了。 

每個主流的開源專案都有它自己的嚮導形式,比如一系列的演示程式碼。如果這些程式碼都按照“Style”的形式來演示,會更友好。

posted on 2013-04-09 21:20 Richard Wei 閱讀(984) 評論(1)  編輯 收藏 引用 所屬分類: 開源