阅读更多

1顶
0踩

开源软件

本文为大家整理了 Google 开源的项目,看看有没有感兴趣的,排名顺序按照 Github ★Star 数排列。

0、机器学习系统 TensorFlow★Star 62533

TensorFlow 是谷歌的第二代机器学习系统,按照谷歌所说,在某些基准测试中,TensorFlow的表现比第一代的DistBelief快了2倍。TensorFlow 内建深度学习的扩展支持,任何能够用计算流图形来表达的计算,都可以使用TensorFlow。任何基于梯度的机器学习算法都能够受益于TensorFlow的自动分 化(auto-differentiation)。通过灵活的Python接口,要在TensorFlow中表达想法也会很容易。(详情:https://github.com/tensorflow/tensorflow

1、material-design-iconsStar 30315

Google 开源了 Material Design 系统图标包其中的 750 个字形。该系统图标包含常用的图标,如用于媒体播放、通讯、内容编辑、连接等等。在 Web 应用,安卓和 iOS 设计均适用。(详情:http://google.github.io/material-design-icons/

2、前端开发工具组 MDLStar 27873

MDL (Material Design Lite) 是 Google 推出的网站前端开发工具组。Material Design Lite (MDL)可以让你添加一个 Material Design 的外观和感觉到你的静态内容网站,不依赖于任何的 Java 框架和库。MDL 可以优化跨设备的使用体验,可以在旧版的浏览器进行平滑的切换,提供非常快速的访问体验。(详情:https://github.com/google/material-design-lite

3、Web 前端框架 AngularStar 25524

Angular 是一款十分流行且好用的 Web 前端框架,目前由 Google 维护。官方已将 Angular 2 和之前的版本 Angular.js 分开维护(两者的 GitHub 地址和项目主页皆不相同)。渐进式 Web 应用,借助现代化 Web 平台的力量,交付 app 式体验。高性能、离线化、零安装。(详情:https://github.com/angular/angular

4、容器集群管理系统 KubernetesStar 24599

Kubernetes 是来自 Google 云平台的开源容器集群管理系统。基于 Docker 构建一个容器的调度服务。该系统可以自动在一个容器集群中选择一个工作容器供使用。其核心概念是 Container Pod。(详情:https://github.com/kubernetes/kubernetes

5、数据描述语言 protobufStar 18447

Protocol Buffers (ProtocolBuffer/ protobuf )是Google公司开发的一种数据描述语言,类似于XML能够将结构化数据序列化,可用于数据存储、通信协议等方面。现阶段支持C++、JAVA、Python等三种编程语言。同XML相比,Protocol buffers在序列化结构化数据方面有许多优点(详情:https://github.com/google/protobuf

6、Java 常用库 GuavaStar 17267

该项目是 Google 的一个开源项目,包含许多 Google 核心的 Java 常用库。(详情:https://github.com/google/guava

7、SparkStar 13378

Spark 是谷歌公司推出的一款基于 Chrome 浏览器的开发环境。提供一组可重用的 UI 组件。采用 Dart 开发。(安装方法:https://github.com/dart-lang/spark/tree/master/ide

8、RPC 框架 GRPCStar 10363

GRPC 是一个高性能、开源和通用的 RPC 框架,面向移动和 HTTP/2 设计。目前提供 C、Java 和 Go 语言版本,分别是:grpc, grpc-java, grpc-go. 其中 C 版本支持 C, C++, Node.js, Python, Ruby, Objective-C, PHP 和 C# 支持.GRPC 基于 HTTP/2 标准设计,带来诸如双向流、流控、头部压缩、单 TCP 连接上的多复用请求等特。这些特性使得其在移动设备上表现更好,更省电和节省空间占用。(详情:https://github.com/grpc/grpc

9、高质量压缩图片算法工具Guetzli Star 9959

Guetzli,是一个针对数码图像和网页图像的 JPEG 编码器,能够通过产生更小的 JPEG 文件来达到更快的在线体验,并且同时保持与当前浏览器,图像处理应用和 JPEG 标准的兼容性。Google 称 Guetzli 创建高质量的 JPEG 图像文件的大小比当前的压缩方法要再小 35%。上图为 16x16 像素样本,是挂在蓝天下的一根电话线,传统 JPEG 算法经常会遇到的失真状况。左边是未压缩的原图,中间为较小尺寸的 libjpeg,右边是失真更少的 Guetzli 。(详情:https://github.com/google/guetzli

10、k/v数据库 Leveldb Star 9799

Leveldb是一个google实现的非常高效的kv数据库,目前的版本1.2能够支持billion级别的数据量了。 在这个数量级别下还有着非常高的性能,主要归功于它的良好的设计。特别是LSM算法。(详情:https://github.com/google/leveldb

11、自动化网络审查工具 LighthouseStar 9400

Lighthouse 是一个开源的自动化工具,用于改进网络应用的质量。 可以将其作为一个 Chrome 扩展程序运行,或从命令行运行。 当为 Lighthouse 提供一个要审查的网址,它将针对此页面运行一连串的测试,然后生成一个有关页面性能的报告。可以参考失败的测试,看看可以采取哪些措施来改进应用。(详情:https://github.com/GoogleChrome/lighthouse

12、GsonStar 9261

Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库。可以将一个 JSON 字符串转成一个 Java 对象,或者反过来。(详情:https://github.com/google/gson

13、最小系统加载工具 systemjsStar 8356

systemjs 是一个最小系统加载工具,用来创建插件来处理可替代的场景加载过程,包括加载 CSS 场景和图片,主要运行在浏览器和 NodeJS 中。它是 ES6 浏览器加载程序的的扩展,将应用在本地浏览器中。通常创建的插件名称是模块本身,要是没有特意指定用途,则默认插件名是模块的扩展名称。(详情:https://github.com/systemjs/systemjs

14、序列化库 FlatBuffersStar 7991

FlatBuffers 是一个 Java 的序列化库,用于游戏和其他内存受限的应用。FlatBuffers 可以让你直接访问序列化后的数据,无需解压并进行解析的过程。同时提供很强的向前和向后兼容性。FlatBuffers 支持 C++ 和 Java 语言,无需依赖第三方库支持。(详情:https://github.com/google/flatbuffers

15、Xi 文本编辑器 Xi EditorStar 8000

Xi Editor 是 Google 开源的一款用 Rust 语言编写的文本编辑器,最初是为 Mac OS X 构建的,使用 Cocoa 作为用户界面,已有计划适配其它平台。所有编辑操作都可以在 16ms 之内提交并处理。文本绘制使用最好的技术(如 Mac 上的 Core Text,Windows 上的 DirectWrite 等),并完全支持 Unicode。(详情:https://github.com/google/xi-editor

16、GrumpyStar 7760

Grumpy 是一个 Python to Go 源代码翻译编译器和运行时,旨在替代 CPython 2.7。 关键的区别是它将 Python 源代码编译为 Go 源代码,然后将其编译为本机代码,而不是字节码。这意味着 Grumpy 没有 VM。编译的 Go 源代码是对 Grumpy 运行时的一系列调用,Go 库服务与 Python C API 类似的目的(尽管不直接支持 C API)。(详情:https://github.com/google/grumpy

17、Java 编译器 TraceurStar 7300

Traceur 是一个来自 Google 的 Java 编译器,通过它可以体验一些很新并且有趣的 Java 语言特性,这些多数是还没有被当前浏览器实现的 ECMA 标准或草案,比如:数组比较、类、模块、迭代器、方法参数默认值、Promise等。(详情:https://github.com/google/traceur-compiler

18、媒体播放器 ExoPlayerStar 7152

ExoPlayer 是 Android 上一个应用级的媒体播放器。它为 Android MediaPlayer 的 API 在播放本地或在线的视频与音频上提供了一个候选。ExoPlayer 支持一些 Android MediaPlayer API 无法提供的特性,包括 DASH 和 SmoothStreaming 自适应回放,持久的高速缓存和自定义渲染器。不像 MediaPlayer API,EXOPlayer 很容易定制和扩展,而且它可以通过 Play Store 更新升级。(详情:https://github.com/google/ExoPlayer

19、代码构建工具BazelStar 6641

Bazel 是 Google 的一款可再生的代码构建工具。它主要是用于构建 Google 的软件,处理出现在谷歌的开发环境的构建问题,比如说:大规模数据构建问题,共享代码库问题,从源代码构建的软件的相关问题。支持多种语言并且跨平台,还支持自动化测试和部署、具有再现性(Reproducibility)和规模化等特征。(详情:https://github.com/bazelbuild/bazel

20、创作艺术和谱写曲子的机器智能 magentaStar 6563

Google Brain团队的一组研究人员发布了一个项目Project Magenta,其主要目标是利用机器学习创作艺术和谱写曲子。Project Magenta使用了 TensorFlow系统,研究人员在GitHub上开源了他们的模型和工具。(详情:https://github.com/tensorflow/magenta

21、自动生成命令行界面的内容库 Python FireStar 6500

Python Fire 是 Google 开源的一个可从任何 Python 代码自动生成命令行接口(CLI)的库。Python Fire 是一种在 Python 中创建 CLI 的简单方法;是开发和调试 Python 代码的有用工具;能够使 Bash 和 Python 之间的转换更为容易;并且通过使用你需要导入和创建的模块和变量来设置 REPL,使得使用 Python REPL 更容易(详情:https://github.com/google/python-fire

22、软硬件框架AnyPixel.js Star 5906

AnyPixel.js 是 Google 开源的一个软件和硬件框架,可以用来构建各种由“像素”构成的展示,每个像素可以是任何一种可交互的实体对象,如 LED 灯、气球等。(详情:https://github.com/googlecreativelab/anypixel

23、物联网工具Physical WebStar 5899

Physical Web 是由 Chrome 团队主导的一个项目, 意在用 URL 连接世界, 方便用户接受数据。在Web世界中,各种URL可以说是链接的基础,也是去中心化的,所以“The Physical Web”要做的就是让每个智能设备用URL来标识自己,然后用户按照自己的需要通过URL和设备进行交互。这样一来,你使用智能设备的体验就和在网站上使 用各种超链接差不多了。(详情:https://github.com/google/physical-web

24、Docker 容器性能分析工具cAdvisorcStar 5853

Advisor 是谷歌公司用来分析运行中的 Docker 容器的资源占用以及性能特性的工具。cAdvisor 是一个运行中的守护进程用来收集、聚合、处理和导出运行容器相关的信息,每个容器保持独立的参数、历史资源使用情况和完整的资源使用数据。当前支持 lmctfy 容器和 Docker 容器。(详情:https://github.com/google/cadvisor

25、C++单元测试工具Star 5755

Google的开源C++单元测试框架Google Test,简称gtest 是一个非常的不错单元测试框架。支持跨平台以及包括 Windows CE 和 Symbian 在内的一些手机操作系统。(详情:https://github.com/google/googletest

26、IndexedDB 关系查询引擎 lovefieldStar 5532

lovefield 是建立在 IndexedDB 上的关系查询引擎。它提供了类似 SQL 的语法,并且可以跨浏览器工作(目前支持 Chrome 37 及以上版本,Firefox 31 及以上版本,IE 10 及以上版本)。(详情:https://github.com/google/lovefield

27、 Java 生成器源代码集合 AutoStar 5295

Auto 是 Java 生成器源代码集合,Java 有许多机械、重复、未经测试的代码,而且有时会出现一些微妙的 Bug 。Auto 项目是自动执行这些类型的任务的代码生成器的集合,他们可以无 Bug 创建你要编写的代码。(详情:https://github.com/google/auto

28、Python 代码格式化的工具Star 5197

YAPF 是 Google 开发的一个用来格式化 Python 代码的工具。(详情:https://github.com/google/yapf

29、基于 TensorFlow 的神经网络库 SonnetStar 5000

Sonnet 库使用面向对象的方法,允许创建定义一些前向传导计算的模块。模块用一些输入 Tensor 调用,添加操作到图里并返回输出 Tensor。其中一种设计选择是通过在随后调用相同的模块时自动重用变量来确保变量分享被透明化处理。 该库兼容 Linux/Mac OS X 和 Python 2.7。TensorFlow 的版本必须至少为 1.0.1。Sonnet 支持 TensorFlow 的 virtualenv 安装模式,以及 nativ pip 安装。(详情:https://github.com/deepmind/sonnet

30、无损压缩算法Brotli Star 4822

Brotli 是一个通用目的的无损压缩算法,它通过用变种的 LZ77 算法,Huffman 编码和二阶文本建模进行数据压缩,是一种压缩比很高的压缩方法。在压缩速度上跟 Deflate 差不多,但是提供了更密集的压缩。(详情:https://github.com/google/brotli

31、负载均衡系统 SeesawStar 4286

Seesaw 是 Google 开源的一个基于 Linux 的负载均衡系统。Seesaw 包含基本的负载均衡特性,同时支持一些高级的功能,诸如:anycast, Direct Server Return (DSR), 支持多个 VLANs 和集中式配置。同时其设计的宗旨是易于维护。(详情:https://github.com/google/seesaw

32、GumboStar 4060

Gumbo 是 Google 的一款用C语言实现的HTML5解析库,无需任何外部依赖。(详情:https://github.com/google/gumbo-parser

33、GXUIStar 3803

GXUI 是 Google 出品的一个跨平台 GO 语言的 UI 框架。(详情:https://github.com/google/gxui

34、iOS UI 测试自动化框架 EarlGrey Star 3721

遵从开源Apache授权的EarlGrey,由Objective-C编写而成。Google也确实用的它来测试自家的iOS app。EarlGrey可支持和模拟回溯至iOS 8的设备,有关该工具的详细文档请戳这里。除了EarlGrey,其它iOS UI测试自动化框架还包括Calabash和Sauce Labs的Appium。(详情:https://github.com/google/EarlGrey

35、BlocklyStar 3520

Blockly 是一个基于 Web 的可视化编程工具,只需要拖动几个图形就可以编程, 完全不需要打字. 根据项目FAQ介绍, 这个新语言的主要目的是为web应用提供宏(或脚本编 程)的支持. 可以把生成的脚本输出成java, python 等.已经有几个利用Blockly的demo.(详情:https://github.com/google/blockly

36、go-githubStar 2707

go-github 是 Google 对 Github 的开放 API 进行 Go 语言封装的一个项目。(详情:https://github.com/google/go-github

37、抓取bug工具 error-proneStar 2708

error-prone 用来抓取 Java 编译时的错误。通常使用编译器只能做静态类型的检查。但使用此工具,能够进行编译器的类型分析,能够检测并抓取到编译过程中的 Bug,能够大大的节约开发者的时间。(详情:https://github.com/google/error-prone

38、ROS 系统支持的 SLAM 库 CartographerStar 2700

Cartographer,是Google开源的一个ROS系统支持的2D和3D SLAM(simultaneous localization and mapping)库。SLAM 算法结合来自多个传感器(比如,LIDAR、IMU 和 摄像头)的数据,同步计算传感器的位置并绘制传感器周围的环境。在产业界和学术界常见的传感器配置上,Cartographer 能实时建立全局一致的地图。(详情:https://github.com/googlecartographer/cartographer

39、安卓电量分析工具 Battery Historian Star 2579

Battery Historian 是一个通过分析安卓 "bugreport" 进程文件来统计电量消费情况。它允许应用程序开发人员在时间线上可视化系统和应用程序级事件,具有平移和缩放功能,在设备上完全充电后可以轻松查看各种汇总统计信息,并能选择应用程序,检查影响应用程序特定电池的指标。 它还允许两个错误报告的A / B比较,突出显示关键电池相关指标的差异。(详情:https://github.com/google/battery-historian

40、通用编码器&解码器框架 seq2seqStar 2433

seq2seq 是 Google 开源的一款用于 TensorFlow 的通用编码器&解码器框架(encoder-decoder framework),可用于机器翻译、文本摘要、会话建模、图像描述等。(详情:https://github.com/google/seq2seq

来自: gad
1
0
评论 共 1 条 请登录后发表评论
1 楼 q315506754 2018-01-08 11:01
里面几个javascript有关的被写为java,机翻的吗? 

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • factory模式 java_Java工厂模式(Factory模式)

    工厂模式定义:提供创建对象的接口。为何使用工厂模式工厂模式是我们最常用的模式了,著名的Jive论坛,就大量使用了工厂模式,工厂模式在Java程序系统可以说是随处可见。为什么工厂模式是如此常用?因为工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例对象,如A a=new A() 工厂模式也是用来创建实例对象的,所以以后new时就要多个心眼,是否可以考虑实用工厂模式,虽然这样做,...

  • java factory类_推荐优雅工厂设计模式(Java)

    看此文的友人需要先了解Simple FactoryStatic Factory Method这个工厂设计模式的目的提供一个封装在名为factory的类中的静态方法,以便隐藏实现逻辑并使客户机代码关注于使用,而不是初始化新对象。现实中的例子如果原来你的程序是使用Oracle数据库的,现在需要换到mysql数据库中。我们需要实现Simple Factory模式,在该模式中可以调用静态方法来创建到给定数...

  • 【设计模式】工厂方法模式Factory(Java)

    工厂方法模式定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类的实例化推迟到子类。

  • Java设计模式-创建型模式

    Java设计模式-工厂模式基础概念

  • 【设计模式——学习笔记】23种设计模式——工厂模式Factory(原理讲解+应用场景介绍+案例介绍+Java代码实现)

    讲解工厂模式的思想,介绍其常见的应用场景,举例说明三种工厂模式的实现方式

  • C++ 工厂模式(Factory 模式)简介与实现

    以上两个问题也就引出了 Factory 模式的两个最重要的功能: 1)定义创建对象的接口,封装了对象的创建; 2)使得具体化类的工作延迟到了子类中。

  • 设计模式学习---Java工厂模式(Factory)

    普通工厂模式 概念 普通工厂方法模式就是建立一个工厂类,对实现了同一接口的不同实现类进行实例的创建。实际上就是new对象 类图 右侧一个接口(Sender)两个实现类(MailSender、SmsSender),左侧工厂类(SendFactory)produce方法有一个String类型的参数type,返回值为Sender(构成多态)。代码如下: Sender public interface Sender { // 自定义抽象方法 void send(); } MailSender p

  • 设计模式系列之工厂模式(Factory)

    工厂模式(Factory Pattern)是java中最常用的设计模式之一。该设计模式属于创建型模式,它提供了一种创建对象的最佳方式。

  • 工厂模式

    设计模式   工厂模式: 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。 主要解决:主要解决接口选择的问题。 应用实例: 1、您需要一辆汽车,可以直接从工厂

  • Factory工厂类设计模式

    工厂模式属于创建型设计模式,它提供了一种创建对象的最佳方式。 1.简单工厂设计模式 先定义个接口: public interface Milk { /** * 获取一个标准产品 * @return */ public String getName(); } 再定义接口的实现类1: public class Mengniu imple...

  • 工厂模式(Factory)——对象创建类、创建型模式

    直接传splitter解决了其中一个问题,防止代码冗余,有些对象创建起来是麻烦,要好多步骤。你只传一个进来的话(当然这个场景下是够用的),当你后边执行执行着发现,不行,我可能还得创建一个,要怎么办,再new?所以工厂模式,真的优雅!出现的问题是:第一,因为new这个代码比较简单,如果是创建比较复杂的对象,且要多次创建,在每个创建的时候是不是都要写一遍?第一个问题,这不是多此一举,代码中的变化点根本不可能完全消除,工厂模式,乃至全部的设计模式都是为了把变化的点赶在一起,当要修改的时候只需要改很少的地方就行。

  • 23种设计模式之Factory模式(一)

    最近写大论文实在无聊,所以决定每天闲暇时学习一种设计模式,主要参考:设计模式:可复用面向对象的软件基础一书、设计模式精解-GoF23种设计模式解析附C++实现源码,还有https://blog.csdn.net/u011012932/article/category/6783147的博客(很多图是来自这里)。还是一样,边学边整理,方便日后查看。 目录创建型模式1. Factory模式问题结构示意图...

  • java xml类型_java – 两个类具有相同的XML类型名称“objectFactory”

    我们在系统中长期使用JAXB 2.1.我们有一个使用Ant构建的平台,并生成一组部署在OSGi运行时中的bundle.我们使用Java SE 6.我们在构建过程中使用JAXB从不同的模式生成数据类型.这些类打包在bundle中,并在运行时用于序列化/反序列化内容.此外,我们在运行时在我们的平台中使用JAXB来从用户提供的其他模式(它是一种MDA平台)生成数据类型.在OSGi运行时,我们有一个包含J...

  • 通用工厂类Factory(C++实现)

    灵光一闪:         抽象工厂模式经常被使用,那么同时也会多次写相同或类似的代码。能不能设计一个通用的工厂类,以避免重复设计工厂类呢?

  • java factory类_JAVA线程的Factory类,以便自定义线程名

    package com.opensource;import java.util.concurrent.ThreadFactory;import java.util.concurrent.atomic.AtomicInteger;/** * 描述:线程的Factory类,以便自定义线程名 * * @author Cache John * */ public class NamedThr...

  • 23种设计模式之一(创建型模式)Factory模式

    一、简介   继承自QLCDNumber的类实现电子时钟,并增加程序启动欢迎画面。 二、运行图 (1)启动界面 (2)时钟界面,可以修改程序去掉前面的日期。 三、详解 1、启动欢迎界面 鼠标左键单击不放可以来回移动窗口,右键关闭窗口。 四、总结 (1)不足之处在于:若启动时间未到整秒数时,则秒双点会在正秒时灭掉,有些不太合理,可以改进。

  • 将动态factory的功能稍微增强,支持带参数的create!

    这里是具体用法,factory代码需要调整一下,以后给出。比较遗憾的地方是宏不能重载 就是说注册有参数和没有参数用的宏是不一样的,不知道能不能改进, 动态create的时候 第一个是识别吗,然后是参数,对于如果输入错误将返回null! class TT { public:  TT(){a=4;}  int a; };  RegisterClass(12,T

  • Spring系列之FactoryBean(一)

    在我们的开发工作中应该都见过或使用过FactoryBean这个类,也许你会看成了BeanFactory这个类。FactoryBean和BeanFactory虽然长的很像,但是他们的作用确实完全不像。这里你可以想象一下,你会在什么样的场景下使用FactoryBean这个接口?FactoryBean是一个工厂Bean,可以生成某一个类型Bean实例,它最大的一个作用是:可以让我们自定义Bean的创建过...

  • java中factory创建对象的好处

    这里先不具体分析工厂模式的详细内容而是讨论为什么要在应用开发的过程中设计工厂这样一个部分; 工厂模式的详细内容十分广泛种类众多请参考更多设计模式的书籍; 在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象实例的。 但是这种方式也有不方便的地方: 如果我们创建对象之前要做很多工作,比如获取对象的属性参数值等等 ,也就是说创建目标对象需要一段“

  • factory

     Factory Method:定义一个用于创建对象的接口,让子类决定将哪一个类实例化。Factory Method使一个类的实例化延迟到其子类。step1: define a abstract class , for example Windows;step2:define subclasses of the abstract class, for example BigWindows,

Global site tag (gtag.js) - Google Analytics