感兴趣的十款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 官方产品。


你可能感兴趣的:(C++)