Google是支持开源运动的最大公司之一,它们现在总共发布有超过500个的开源项目(大部分都是利用它们的API来完成),本文将列举一些有趣的开源项目,其中很可能有不少你不知道。
文本文件处理:
Google CRUSH (Custom Reporting Utilities for SHell)
CRUSH是为命令行或shell scripts处理特定文字数据而制作的一系列工具,这里有指南。
C++库和源代码:
Google Breakpad
一个开源的多平台崩溃报告系统。
Google GFlags
Gflags是一个命令行标记的处理库,它可以替代getopt(),其内置对C++的支持比如string。指南在此。
Google Glog
Glog库可执行应用级的登陆,提供基于C++式的登陆API,可用于Linux、BSD和Windows。指南见此。
Google PerfTools
这个工具可让开发创建更强大的应用程序,特别是那些用C++模版开发的多线程应用程序,包括TCMalloc, heap-checker, heap-profiler 和cpu-profiler。指南见此还有这里。
Google Sparse Hash
非常节省内存的hash-map。指南见此。
Omaha Google Update
Omaha,也就是Google Update,它可以保证你的软件随时升级到最新版本,目前很多Windows下的Google软件都是用Omaha升级的,包括Google Chrome和Google Earth,当然你也可以用于自己的应用程序。指南看这里还有这里。
Protocol Buffers
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控制调用哪个区域。它有一个自己的官网在这里。
Redacisaurus
Reducisaurus是一个压缩CSS和JS文件的网络服务,基于YUI压缩算法,运行于App Engine。
JaikuEngine
JaikuEngine是一个运行于App Engine的微博系统,由jaiku.com运营。要查看移动客户端的源码可以看这里,这里还有介绍。
Selector Shell
Selector Shell是一个基于浏览器的测试工具,它可以让你看到CSS在不同浏览器里的样式,用Javascript写的,你可以在这里测试。
Google Feed Server
Google Feed Server是一个开源Atom发布协议服务,基于Apache Abdera框架,允许开发者快速为当前数据源(比如数据库)配置feed。指南见这里和这里。
Melange, the Spice of Creation
这个项目的目标是创建出一个适合开源贡献流程的框架,比如Google Summer of Code TM (GSoC)项目。使用这个框架你就可以用Google App Engine来运行Google Summer of Code项目,和其它类似项目比如Google Highly Open Participation TM Contest和GHOP。指南见此。
NameBench
它可以查找最快的DNS服务器给你的电脑用,在Mac OS X、Windows和UNIX系统下都有命令行也有用户界面可以帮你测试,这是Google工程师用20%自由时间写出来的。
Rat Proxy
一个半自动化的大型被动网络应用安全审查工具,专为精确的探测而优化,文档在此。
TopDraw
Top Draw是一个图形生成程序,使用简单的文字脚本,基于JavaScript编程语言,Top Draw可以创造出非常复杂和有趣的图形。支持Mac OS 10.5以上系统,使用XCode开发。
etherpad
开源的EtherPad,这是一个基于网络的实时合作文档编辑器,这个项目主要是为了演示代码而开发,帮助那些想在自己服务器部署Etherpad的人使用,这里有如何安装的指南。EtherPad使用JavaScript、Java和Comet服务器来建造实时协作服务。
Chromium
Chromium是开源版的Chrome浏览器,Chromium的目标是建立一个新一代的强大网络应用程序,它与Chrome有很多不同之处。这里有指导如何在Linux上编译Chromium。
V8 Googles 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
Chromium OS是开源版的Chrome OS操作系统,提供快速、简单而安全的网络体验,源码在此。
Android
Android是第一个免费、开源而且可完全自定义的移动平台,提供完整的堆栈:一个操作系统、中间件和重要的一用应用,它包含丰富的API可以让第三方开发者开发出强大的应用程序。
MySQL工具:
Google MySQL Tools
各种管理、维护和改进MySQL数据库性能的工具,由Google编写,包括:
mypgrep.py:一个类似pgrep的工具来管理MySQL连接
compact_innodb.py:可导出和重载所有表格的密集型innodb数据文件
Google mMAIM
mMAIM的目标是对MySQL的监控和分析更简单,且可以和任何环境整合使用。它可显示主/从同步状态,一些性能状态,可以返回大量show命令的状态等等。
其它:
Stressful Application Test (stressapptest)
Stressful Application Test试图让来自处理器和I/O到内存的数据尽量随机化,以创造出模拟现实的环境来测试现在的硬件设备是否稳定,Google就在使用它,现在是Apache 2.0许可,这里有介绍、安装向导和指南。
Pop and IMAP Troubleshooter
它用于诊断并解决客户端到邮件服务器的连接问题。
OpenDuckBill
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 Open Source NX server
Neatx是一个开源NX服务,类似NoMachine公司商业的NX服务。NX协议比VNX更强大,它们的区别主要在:
NX是X11客户端所以不会发送位图
NX可兼容X、VNC和Windows版的Remote Desktop
NX可缓存数据
NX安装简单
另外一个可选的项目可以看看Google的FreeNx。
PSVM
它是这个文件的代码,这是一个SVM的支持所有核心的版本,可多机并行运行,实例见此。
GO
Google开发的新编程语言,谷奥有报道。
The Google Collections Library for Java
这是一系列与Java 5以及更高版本有关的库,Google花钱给买过来了。
Google styleguide
每个主流的开源项目都有它自己的向导形式,比如一系列的演示代码。如果这些代码都按照Style的形式来演示,会更友好
==========================
http://news.csdn.net/a/20091228/216088.html
分享到:
相关推荐
以下是一些可能不为人知的Google开源项目,这些项目不仅展现了Google的技术实力,也为开发者提供了丰富的资源和学习材料。 1. **Google CRUSH**:这是一个专为命令行和shell脚本设计的文本处理工具集,帮助开发者...
标题中的“35个Google 开源项目”表明这是一个集合,其中包含了由Google公司公开的35个不同的开源项目。Google是全球知名的科技巨头,其在开源领域的贡献涵盖了多个技术领域,包括但不限于操作系统、编程语言、框架...
每个较大的开源项目都有自己的风格指南: 关于如何为该项目编写代码的一系列约定 (有时候会比较武断). 当所有代码均保持一致的风格, 在理解大型代码库时更为轻松. “风格” 的含义涵盖范围广, 从 “变量使用驼峰格式...
1. Google开源项目风格指南的宗旨和重要性 开源项目风格指南是一种统一代码风格的文档,旨在规范和指导开发者如何编写清晰、一致且可维护的代码。作为行业的领导者,Google制定了一套自己的开源项目风格指南,这不仅...
以上只是Android谷歌开源项目的一些基础知识点,实际的Android世界远比这些内容更为丰富和复杂,包括但不限于Android的国际化、性能优化、图形处理、多媒体支持、网络编程、多设备适配等众多主题。对于开发者来说,...
标题与描述概述的知识点主要集中在谷歌的开源项目上,这些项目涵盖了从文本处理、软件开发、性能优化到网络服务和互联网应用的多个方面。以下是对这些项目更为详细的解析: 1. **Google CRUSH (Custom Reporting ...
以下是对这10个Android开源项目的详细介绍,它们将为你的Android编程之路提供宝贵的参考和学习材料。 1. **UI设计和组件库** - 一些开源项目专注于提供美观且实用的UI设计组件,如`MaterialDesignLibrary`,它实现...
Agones 是一个由 Google Cloud Platform 支持的开源项目,专为在 Kubernetes 上构建、管理和扩展多人在线游戏(MMO)和实时多人游戏(RTS)的专用游戏服务器而设计。该项目旨在解决游戏行业在云环境中面临的挑战,如...
【标题】:“十个Android经典开源项目” 这十个Android开源项目是初学者和进阶开发者学习Android编程的重要资源,它们展示了各种实用功能和技术的应用,有助于提升编程技能和理解Android平台的工作原理。 【描述】...
在提供的"20个Java开源项目源码下载"压缩包中,包含了多个知名的Java项目,这些项目可以帮助开发者深入理解Java编程、软件架构以及特定领域的最佳实践。以下是这些项目的简要介绍: 1. **ExoPlayer-r2.18.5.zip**:...
最新Google开源项目风格指南(中文版)sphinx生成的html和epub文档,Google C++ 风格指南,Google Objective-C风格指南,Google Python 风格指南,Google JSON 风格指南,Google Shell 风格指南
这份文档是关于Google开源项目风格指南的中文版,涵盖了C++、Objective-C、Python和JSON等编程语言的代码规范。风格指南对代码的格式、命名约定以及其他编程实践有着详细的指导,以确保项目的代码质量和一致性。 ...
本文档记录了60项,包括Web 前端框架 Angular;Java 常用库 Guava;序列化库 FlatBuffers,等等Google的60款开源项目,均可下载。
总之,获取谷歌开源项目的源码并将其转化为适用于特定平台的工程,需要正确配置工具、代理设置以及按照指定步骤执行命令。了解这些步骤对于任何希望参与或利用谷歌开源项目的开发者来说都是非常重要的。通过这个过程...
在IT行业中,Android开源项目是开发者们学习、借鉴和创新的重要资源。这些开源项目提供了丰富的代码示例,有助于提升开发者的技术水平,同时也推动了整个Android生态系统的进步。下面,我们将详细探讨这些开源项目的...
以下是根据标题“Python开源项目汇总”和描述中的信息,对2017年30个惊艳的Python开源项目进行的详细解读。 1. 数据分析与科学计算: - Pandas:强大的数据结构和数据分析工具,适用于快速、灵活地处理大型数据集...
标题“流行的c++语言开源项目”表明了本文档将聚焦于目前在开源领域中较受欢迎的C++项目。这些项目通常具有一定的影响力,被广大开发者所关注,并有可能成为其他开发者学习和借鉴的对象。由于C++语言在性能和控制上...
"开源项目-google-puffs.zip" 是一个包含 Google PUFFS(Parsing Untrusted File Formats Safely)项目的压缩包。PUFFS 是一个由 Google 开发的开源库,专注于安全地解析不信任的文件格式。这个项目的主要目标是为...
谷歌的Word2Vec开源项目是自然语言处理领域的一项里程碑式的工作,它为理解和操作文本数据提供了强大的工具。Word2vec是一种基于深度学习的算法,它能够将单词转换为连续的向量表示,这些向量能够捕获词汇之间的语义...