• google的开源项目总结


    google开源项目 值 得我们一用的,这些项目很有意义,甚至可以直接用在我们自己的工作上!学习编程的的一个比较好的方式就是阅读优秀项目的源代码,从而能够了解作者的方法、 思路、技巧,另外阅读源代码对于一些朋友是枯燥乏味的,这是就可以看看项目的readme,找到项目的闪光点,我们不做开拓者那我们就做实践者和使用者, 呵呵,下面是这些项目的列表,在这里存档,已备今后查阅之用

    文本文件处理:

    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 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    

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

  • 相关阅读:
    3.live555源码分析----延时队列
    RTP包的结构
    2.live555源码分析----服务端doEventLoop()函数分析
    1.live555源码分析----RSTPServer创建过程分析
    RTSP协议介绍 (转)
    搭建最简单的流媒体系统(服务器和客户端)
    谈一谈 MPU6050 姿态融合(转)
    Nginx的优化
    LAMP与LNMP加速与缓存优化
    Nginx在LNMP架构中的作用与虚拟主机配置
  • 原文地址:https://www.cnblogs.com/kex1n/p/2286417.html
Copyright © 2020-2023  润新知