35 个你也许不知道的Google开源项目

2024-03-19 03:32

本文主要是介绍35 个你也许不知道的Google开源项目,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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的形式来演示,会更友好。

Via 01fff Blog
谷奥探寻谷歌的奥秘 ( http://www.google.org.cn ) ,

这篇关于35 个你也许不知道的Google开源项目的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/824650

相关文章

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

idea+spring boot创建项目的搭建全过程

《idea+springboot创建项目的搭建全过程》SpringBoot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目,:本文主要介绍idea+springb... 目录一.idea四种搭建方式1.Javaidea命名规范2JavaWebTomcat的安装一.明确tomcat

pycharm跑python项目易出错的问题总结

《pycharm跑python项目易出错的问题总结》:本文主要介绍pycharm跑python项目易出错问题的相关资料,当你在PyCharm中运行Python程序时遇到报错,可以按照以下步骤进行排... 1. 一定不要在pycharm终端里面创建环境安装别人的项目子模块等,有可能出现的问题就是你不报错都安装

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni

MyCat分库分表的项目实践

《MyCat分库分表的项目实践》分库分表解决大数据量和高并发性能瓶颈,MyCat作为中间件支持分片、读写分离与事务处理,本文就来介绍一下MyCat分库分表的实践,感兴趣的可以了解一下... 目录一、为什么要分库分表?二、分库分表的常见方案三、MyCat简介四、MyCat分库分表深度解析1. 架构原理2. 分

linux查找java项目日志查找报错信息方式

《linux查找java项目日志查找报错信息方式》日志查找定位步骤:进入项目,用tail-f实时跟踪日志,tail-n1000查看末尾1000行,grep搜索关键词或时间,vim内精准查找并高亮定位,... 目录日志查找定位在当前文件里找到报错消息总结日志查找定位1.cd 进入项目2.正常日志 和错误日

在.NET项目中嵌入Python代码的实践指南

《在.NET项目中嵌入Python代码的实践指南》在现代开发中,.NET与Python的协作需求日益增长,从机器学习模型集成到科学计算,从脚本自动化到数据分析,然而,传统的解决方案(如HTTPAPI或... 目录一、CSnakes vs python.NET:为何选择 CSnakes?二、环境准备:从 Py

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

Three.js构建一个 3D 商品展示空间完整实战项目

《Three.js构建一个3D商品展示空间完整实战项目》Three.js是一个强大的JavaScript库,专用于在Web浏览器中创建3D图形,:本文主要介绍Three.js构建一个3D商品展... 目录引言项目核心技术1. 项目架构与资源组织2. 多模型切换、交互热点绑定3. 移动端适配与帧率优化4. 可

sky-take-out项目中Redis的使用示例详解

《sky-take-out项目中Redis的使用示例详解》SpringCache是Spring的缓存抽象层,通过注解简化缓存管理,支持Redis等提供者,适用于方法结果缓存、更新和删除操作,但无法实现... 目录Spring Cache主要特性核心注解1.@Cacheable2.@CachePut3.@Ca