1. 程式人生 > >感興趣的十款Google開源軟體

感興趣的十款Google開源軟體

瀏覽了下在OSChina上的Google開源軟體列表, 摘選一些感興趣的開源軟體如下:


1. 單詞轉換成向量形式 word2ve

word2vec(word to vector)是一個將單詞轉換成向量形式的工具。可以把對文字內容的處理簡化為向量空間中的向量運算,計算出向量空間上的相似度,來表示文字語義上的相似度。word2vec為計算向量詞提供了一種有效的連續詞袋(bag-of-words)和skip-gram架構實現。

來自維基百科對餘弦距離的定義:

通過測量兩個向量內積空間的夾角的餘弦值來度量它們之間的相似性。0度角的餘弦值是1,而其他任何角度的餘弦值都不大於1;並且其最小值是-1。從而兩個 向量之間的角度的餘弦值確定兩個向量是否大致指向相同的方向。兩個向量有相同的指向時,餘弦相似度的值為1;兩個向量夾角為90°時,餘弦相似度的值為 0;兩個向量指向完全相反的方向時,餘弦相似度的值為-1。在比較過程中,向量的規模大小不予考慮,僅僅考慮到向量的指向方向。餘弦相似度通常用於兩個向 量的夾角小於90°之內,因此餘弦相似度的值為0到1之間。

可通過 SVN 獲取程式碼:
snv co http://word2vec.googlecode.com/svn/trunk/


2. Google GFlags

Google GFlags 是一個命令列標記的處理庫,它可以替代getopt(),其內建對C++的支援比如string。 使用時需#include

3. Google GRR

GRR 是 Google 開發的遠端現場事件取證系統。GRR 由一個代理(客戶端)和伺服器端組成,客戶端可以部署在一個任務系統中,伺服器可以管理客戶端,跟客戶端進行互動。

客戶端特性:
- 跨平臺支援 Linux,Mac OS X 和 Windows
- 線上遠端記憶體分析,使用開源的 Linux,Mac OS X 和 Windows 記憶體驅動,還有 Rekall 記憶體分析框架
- 強大的檔案搜尋和下載功能,還有 Windows 登錄檔
- 網路部署使用安全基礎設施設計
- 支援客戶端自動更新
- 詳細監控客戶端 CPU,記憶體,IO 使用和自我限制

伺服器端特性
- 完全成熟的時間處理能力,能處理大部分事件和取證任務
- 使用 SleuthKit (TSK) 進行作業系統級別和檔案系統訪問
- 自動計劃任務的排程
- Ajax Web UI
- 完全指令碼化的 IPython 工作臺訪問
- 基本系統時間特性
- 基本報告基礎設施

4. Google CRUSH

Google CRUSH (Custom Reporting Utilities for SHell) 是為命令列或shell scripts處理特定文字資料而製作的一系列工具


5. Google Infact

Infact 提供一個構建 C++ 例項的類,它的語法和 C++的很像,建立的物件可以用來封裝其他物件,就像 C++ 那樣。它支援通用的私有型別(bool、int、double、string)。


6. Google Fruit

Fruit 是 C++ 依賴注入框架


7. Google Mathfu

Mathfu 是 C++ 數學庫,可以提高遊戲的開發效率與便捷性。它提供一套向量、矩陣和四元類來執行適合於遊戲開發的幾何套件。這些可用於構建像 OpenGL 的圖形幾何庫,或者動畫及物理系統計算平臺。


8. Google ggrc-test

ggrc-test 是一個能夠在本地機器上執行 UI 自動化測試指令碼的工具。


9. Google Mock

Google Mock 是 Google 剛剛開源的一套 C++ Mock 框架。
Google Mock在google內部超過100個專案中使用過,由Zhanyong Wan,一個google的軟體工程師(看名字大概是華裔),從jMock和EasyMock中獲得靈感而開發。
這個框架能夠在Linux,Windows 和Mac OS X上使用。

10. Google Seesaw

Seesaw 是 Google 開源的一個基於 Linux 的負載均衡系統。Seesaw 包含基本的負載均衡特性,同時支援一些高階的功能,諸如:anycast, Direct Server Return (DSR), 支援多個 VLANs 和集中式配置。同時其設計的宗旨是易於維護。
需要注意的是,儘管該專案掛靠在 Google 名下,但並非 Google 官方產品。