内容简介:本周开源中国陆续公布了两个年度榜单,分别是国产新秀榜 TOP 30 和国产新增榜 TOP 50。由于两个榜单的数据来源都是国内开源项目,所以会有部分项目同时出现在两个榜单上。今天公布的这份榜单 ——出乎意料的是,量子编程项目 QuantumKatas 不但上榜了,而且排名还在前 20,看来各位对新技术有着锲而不舍的追求,点赞!
本周开源中国陆续公布了两个年度榜单,分别是国产新秀榜 TOP 30 和国产新增榜 TOP 50。由于两个榜单的数据来源都是国内开源项目,所以会有部分项目同时出现在两个榜单上。
今天公布的这份榜单 —— 开源中国 2018 新增开源软件最受欢迎 TOP 50 ,所挑选的软件来自于 2018 年开源中国新收录的非国产开源软件。根据软件的关注度、活跃度以及影响力,再剔除掉一些不符合要求的开源软件,最终生成了这份榜单。
开源中国 2018 新增开源软件最受欢迎 TOP 50
前 20 预览
排名 | 软件名 | 排名 | 软件名 |
1 | 11 | Apache Edgent | |
2 | 12 | RIOT-OS | |
3 | Helidon | 13 | |
4 | 14 | Micronaut | |
5 | gRPC-Web | 15 | pico.js |
6 | Jenkins X | 16 | Uber JVM Profiler |
7 | 17 | QuantumKatas | |
8 | Sketch2Code | 18 | Flutter Desktop Embedding |
9 | Sourcegraph | 19 | |
10 | 20 | ||
…… |
出乎意料的是,量子编程项目 QuantumKatas 不但上榜了,而且排名还在前 20,看来各位对新技术有着锲而不舍的追求,点赞!
1. Deno:基于 V8 的 JavaScript/TypeScript 运行时
Deno 是由 Node 之父 Ryan Dahl 于2018年推出的开源项目,项目推出之时便引发了国内开发者的一阵狂欢 —— 纷纷借机感叹「求不要更新了,学不动了」。当时 Deno 被认为是下一代 Node,但事实上 ry 从未表达过类似观点 ,Deno 只是基于 V8 引擎,最终提供安全的 TypeScript 运行时。RY 表示 Deno 不追求兼容 Node,而是追求兼容浏览器,因此我们可以认为这是希望彻底抛弃 Node 包袱,打造一个更好的 JavaScript/TypeScript 运行时。
项目主页: https://deno.land/
开源协议:MIT
开发语言:TypeScript、Rust、 Python 、C++、JavaScript
2. Thonny:适合初学者的 Python IDE
可供 Python 开发者选择的开发 工具 并不多,主流的选择普遍是 Visual Studio Code,愿意花钱的开发者可能会选择 PyCharm。但对于新手而言,PyCharm 称不上是一个“友好”的选择 —— 不仅显得过于“臃肿”,还是一个收费的软件。而 Visual Studio Code 对于初学者又有一定的学习曲线,因此专门面向初学者的 Python IDE 就显得十分有必要了。
Thonny 是一个面向初学者的 Python IDE,由爱沙尼亚的 Tartu 大学开发,它与普通的 IDE 有所不同,因为它的调试器是专为学习和教学编程而设计的。Thonny 界面简洁,十分易于上手,还支持插件。因为它是面向初学者的,所以删除了可能会分散初学者注意力的所有功能。
项目主页: https://thonny.org/
开源协议:MIT
开发语言:Python
3. Helidon:甲骨文推出的轻量快速 Java 微服务框架
关于 Java 微服务框架的选择十分多,例如 Spring Cloud, Thrift, ZeroC, Dubbo 等这些老牌项目。而 Helidon 是甲骨文于2018年开源的一个微服务框架,这是一个用于编写微服务的 Java 开源库,这些微服务运行在由 Netty 提供支持的快速 Web 内核上。Helidon 已正式加入 Eclipse MicroProfile。
甲骨文的高级软件开发经理和 Helidon 项目负责人 Dmitry Kornilov 讲述了 Helidon 诞生的初衷:“当我们进入云世界时,微服务架构开始变得非常受欢迎,它们主要被用于创建云服务。我们也意识到需要改变开发体验,我们可以使用 Java EE 构建微服务,但最好有一个框架从头开始就是设计用于构建微服务的。我们还希望创建一组轻量级的库,它们不需要应用程序服务器,并且可以在 Java SE 应用程序中使用。这些库也可以彼此分开使用,但是当一起使用时,将为开发者提供创建微服务所需的一切东西:配置、安全性和 Web 服务器。这就是 Helidon 诞生的初衷。”
项目主页: https://helidon.io/
开源协议:Apache
开发语言:Java
所属公司:Oracle
4. Anna:超高性能键值存储数据库
Anna 是伯克利 RISE 实验室推出的键值存储数据库,也是一个具备惊人的存取速度、超强的伸缩性和优秀的一致性的 KVS。
Anna 的性能和伸缩性主要归功于它的完全无协调机制,节点工作进程有 90% 的工作负载是在处理请求,而其他大部分系统(如 Masstree 和英特尔的 TBB)只有不到 10% 的时间在处理请求,它们其余的 90% 时间花在了等待协调上。不仅如此,其他系统因为使用了共享内存,还会出现处理器缓存击穿问题。
项目主页: https://rise.cs.berkeley.edu/blog/anna-kvs/
开源协议:BSF
开发语言:C/C++
5. gRPC-Web:访问 gRPC 服务的 Web 客户端
gRPC-Web 即 gRPC for Web Clients。顾名思义,gRPC-Web 是一个 JavaScript 库,使 Web 应用程序能够直接与后端 gRPC 服务通信,不需要 HTTP 服务器充当中介。
gRPC-Web 让你能够使用 .proto 来定义客户端 Web 应用程序和后端 gRPC 服务器之间的服务“契约”,并自动生成客户端 JavaScript(你可以选择 Closure 编译器或使用更为广泛的 CommonJS)。你可以不用再为这些事情操心:创建自定义 JSON 序列化和反序列化逻辑、处理 HTTP 状态代码(可能因 REST API 而异)、Content-Type 协商等。
项目主页: https://github.com/grpc/grpc-web
开源协议:Apache-2.0
开发语言:C/C++、JavaScript
6. Jenkins X:为 Kubernetes 提供 CI/CD
Jenkins X 是一个高度集成化的 CI/CD 平台,基于 Jenkins 和 Kubernetes 实现,旨在解决微服务体系架构下的云原生应用的持续交付的问题,简化整个云原生应用的开发、运行和部署过程。
它依然使用 Jenkins 作为持续交付的核心引擎,实际上 Jenkins X 作为 Jenkins 的一个子项目存在,专注于云原生应用的 CI/CD 实现,同时也帮助 Jenkins 自身完成云原生应用的转型,毕竟现在越来越多的人在诟病单体应用的设计和文件存储系统。
Jenkins X 核心组件
项目主页: https://jenkins-x.io/
开源协议:Apache-2.0
开发语言:Go
7. Jib:为 Java 应用构建容器镜像
Jib 是 Google 开发的可以直接构建 Java 应用的 Docker 和 OCI 镜像的类库,以 Maven 和 Gradle 插件形式提供。
通过 Jib,Java 开发者可以使用他们熟悉的 Java 工具来构建容器。Jib 是一个快速而简单的容器镜像构建工具,它负责处理将应用程序打包到容器镜像中所需的所有步骤。它不需要你编写 Dockerfile 或安装 Docker,而且可以直接集成到 Maven 和 Gradle中 —— 只需要将插件添加到构建中,就可以立即将 Java 应用程序容器化。
项目主页: https://github.com/GoogleContainerTools/jib
开源协议:Apache-2.0
开发语言:Java
所属公司:Google
8. Sketch2Code:手绘用户界面转成 HTML 代码
Sketch2Code 是微软开源的将手绘草图秒变代码的项目。基于 Web 的解决方案,Sketch2Code 使用 AI 将手绘的用户界面草图转换为可用的 HTML 代码。
项目主页: https://github.com/Microsoft/ailab/tree/master/Sketch2Code
开源协议:MIT
开发语言:C#
所属公司:Microsoft
9. Sourcegraph:代码搜索浏览工具
Sourcegraph 被大众广为熟知正是因为它支持在 GitHub 上轻松浏览和搜索代码,Sourcegraph 这款 Chrome 插件称得上是开发者必备的插件,它可以让我们像使用 IDE 一样浏览和搜索 GitHub 代码。
Sourcegraph 是一款能够根据语义来把 Web 上的开源代码编入索引的代码搜索浏览工具,提供代码搜索和代码语义智能感知功能。
项目主页: https://about.sourcegraph.com/
开源协议:Apache-2.0
开发语言:Python、 Go 、TypeScript
10. Vuido:用 Vue.js 构建跨平台原生桌面应用
谈到构建跨平台的原生桌面应用,相信大家首先想到的会是 Electron —— 这个由 GitHub 出品的跨平台桌面应用开发工具。但 Vuido 的开源让使用 Vue.js 构建轻量级原生桌面应用成为可能。
使用 Vuido 构建的应用可在 Windows、OS X 和 Linux 上运行,使用原生 GUI 组件,并且不需要 Electron。Vuido 支持大部分标准的 Vue.js API ,并且与许多 Vue.js 扩展兼容,例如 Vuex 。使用 Vuido 的应用也可以使用所有标准的 Node.js 模块以及与 Node.js 兼容的任何软件包。
项目主页: https://vuido.mimec.org/
开源协议:MIT
开发语言:JavaScript
11. Apache Edgent:面向物联网设备的运行时
Apache Edgent 是一种编程模型和具有微内核风格的运行时,可嵌入到网关和小型的物联网设备中。Apache Edgent 能用于对来自器材、车辆、系统、应用、设备和传感器(例如树莓派或智能手机)的连续数据流进行实时分析。
通过与集中式分析系统协同工作,Apache Edgent 可在整个物联网生态系统中提供高效、及时的分析:从中心到边缘。
项目主页: https://edgent.apache.org/
开源协议:Apache-2.0
开发语言:Java
12. RIOT-OS:实时多线程 IoT 操作系统
RIOT 是一个实时多线程的 IoT 操作系统,它支持物联网中常见的一系列设备,包括 8 位、16 位和 32 位微控制器。
RIOT 基于以下设计原则:能效、实时功能、小内存占用、模块化和统一的 API 访问、独立于底层硬件(此 API 提供部分 POSIX 兼容性)。
项目主页: http://www.riot-os.org/
开源协议:LGPL-2.1
开发语言:C/C++
13. Katran:高性能第 4 层负载均衡器
Katran 是 Facebook 开源的高性能第 4 层负载均衡器,目前在 Facebook 内部处于孵化阶段。
Katran 提供了一个软件解决方案,用于使用称为 eXpress Data Path 和 eBPF 虚拟机的最新内核工程开发进行负载均衡。 Katran 被部署在 Facebook 的网络中。
项目主页: https://github.com/facebookincubator/katran
开源协议:GPLv2
开发语言:C/C++、Python、Go
所属公司:Facebook
14. Micronaut:基于 JVM 的微服务应用框架
Micronaut 是 Grails 团队的最新力作,在 Grails 框架的基础之上吸取大量经验,针对微服务应用场景打造的全新框架,是新一代基于 JVM 的微服务应用框架。
这套框架依旧基于 JVM,同时支持 Java, Groovy, Kotlin 三种编程语言。团队宣称此框架打包的产品包容量更小,内存占用更少,启动速度更快。Micronaut 的灵感来自于这些年作者使用 Spring、Spring Boot 和 Grails 构建从大型应用到服务应用的经历。
项目主页: http://micronaut.io/
开源协议:Apache
开发语言:Java
15. pico.js:微型 JavaScript 人脸检测库
pico.js 是一个只有 200 行纯 JavaScript 代码的人脸检测库,具备实时检测功能(在实际环境中可达到200+ FPS),压缩后仅 2kB 。
项目主页: https://github.com/tehnokv/picojs
开源协议:MIT
开发语言:JavaScript
16. Uber JVM Profiler:分布式追踪工具
JVM Profiler 是 Uber Engineering 团队开源的一个分布式探查器,用于收集性能和资源使用率指标为进一步分析提供服务。尽管它是为 Spark 应用而构建的, 但它的通用实现使其适用于任何基于 JVM 的服务或应用。
项目主页: https://github.com/uber-common/jvm-profiler
开源协议:Java
开发语言:Apache-2.0
所属公司:Uber
17. QuantumKatas:开源量子编程解决方案
Katas 是一款非常优秀的编程语言学习工具,主要依赖于几个简单的学习原则:主动学习,增量复杂性和反馈。
Quantum Katas 的一系列教程可以自定义进度,旨在同时教授量子计算和 Q# 编程元素。从基础到具有一定挑战性,Katas 提供了一系列关于量子计算主题的任务。每项任务都需要填写代码,从开始的只有一行代码,到后面可能需要填写一大片代码。
项目主页: https://github.com/Microsoft/QuantumKatas
开源协议:MIT
开发语言:C#
所属公司:Microsoft
18. Flutter Desktop Embedding:使用 Flutter 开发跨平台桌面应用
Flutter Desktop Embedding 是谷歌官方推出的一个兼容库,可将 Flutter 框架的 API 用于开发跨平台的桌面应用。
按文档的说法,只要对手机应用的源码进行修改,就能编译成桌面应用。此项目的目的是支持在 Windows,macOS 和 Linux上构建使用 Flutter 开发的应用程序。它提供的 Flutter API,可处理绘图和鼠标/键盘输入的库,以及用于访问其他原生平台功能的可选插件。
项目主页: https://github.com/google/flutter-desktop-embedding
开源协议:Apache-2.0
开发语言:C/C++、Objective-C
所属公司:Google
19. gVisor:新型沙箱容器运行时环境
gVisor 是一款新型沙箱解决方案,其能够为容器提供安全的隔离措施,同时继续保持远优于虚拟机的轻量化特性。gVisor 能够与 Docker 及 Kubernetes 实现集成,从而在生产环境中更轻松地建立起沙箱化容器系统。
项目主页: https://github.com/google/gvisor
开源协议:Apache-2.0
开发语言:Go、C++、Python
所属公司:Google
20. ML.NET:跨平台机器学习框架
ML.NET 是一个跨平台的开源机器学习框架,旨在让 .NET 开发者更快上手机器学习。ML.NET 允许 .NET 开发者开发他们自己的模型,并将自定义 ML 注入到他们的应用程序中。他们无需开发或调整机器学习模型的专业知识,一切都可在 .NET 中搞定。
项目主页: https://dotnet.microsoft.com/apps/machinelearning-ai/ml-dotnet
开源协议:MIT
开发语言:C#、C/C++
所属公司:Microsoft
21. Dive:分析和浏览 Docker 容器镜像内部的工具
Docker 容器镜像是一个轻量、独立、含有运行某个应用所需全部软件的可执行包,那么一个 Docker 镜像里面会包含什么东西?这个名为 Dive 的工具正是用来分析和浏览 Docker 镜像每层的内容。通过分析 Docker 镜像,我们可以发现在各个层之间可能重复的文件,并通过移除它们来减小 Docker 镜像的大小。
Dive 是一个用 Go 语言编写的自由开源工具。但 Dive 工具又不仅仅是一个 Docker 镜像分析工具,它还可以帮助使用者用于构建镜像。
项目主页: https://github.com/wagoodman/dive
开源协议:MIT
开发语言:Go
22. bs framework:新一代 C++ 游戏开发框架
bs :: framework 是一个新一代的 C ++ 游戏开发框架,专注于现代技术、高质量设计和高性能,旨在为开发实时图形应用程序(游戏、引擎或工具)提供统一的基础。
bs :: framework 提供了从音频、动画、GUI、输入、物理、渲染到脚本系统等图形应用开发所需的一切。它还内置了对30多种图像、mesh 和音频格式的支持,以及应用广泛的数学库、RTTI(run-time type information)、CPU/GPU分析、SIMD 指令 API 和更多。跨 Windows、Linux 和 macOS 平台。
项目主页: https://www.bsframework.io/
开源协议:MIT
开发语言:C/C++
23. DeepCreamPy:使用深度神经网络去除马赛克
开发者为了更好地鉴赏艺术作品可谓是无所不用其极,这款神奇的开源项目 —— 通过使用深度神经网络技术去除马赛克。使用该工具的方法十分简单,用户在单独的图像编辑程序(如 GIMP 或 Photoshop)中打开图片,在需要去除马赛克的部位画上一条绿线,运行程序让它自动复原即可。
项目主页: https://github.com/deeppomf/DeepCreamPy
开源协议:AGPL
开发语言:Python
24. Corretto:OpenJDK 发行版
Amazon Corretto 是一个免费的、支持跨平台的 OpenJDK 发行版。
Corretto 支持多种平台,可以在云端与本地计算机上运行。目前,Amazon Linux 2、Windows、macOS 平台和 Docker 镜像都提供了与 OpenJDK 8 对应的 Corretto 8 预览版。每个 Corretto 版本上都会运行技术兼容性工具包(Technology Compatibility Kit,TCK),以确保与 Java SE 平台相兼容。在不使用到 OpenJDK 中没有的功能(例如 Java Flight Recorder)的情况下,Corretto 完全可以直接作为 Java SE 发行版的替代品。Amazon 计划在 2019 年将 Corretto 作为Amazon Linux 2 上的默认 OpenJDK。
项目主页: https://github.com/corretto/corretto-8
开源协议:GPLv2
开发语言:Java、C/C++
所属公司:Amazon
25. browsh:基于文本的现代 Web 浏览器
Browsh 是一个纯文本浏览器,可以运行在大多数的 TTY 终端环境和任何 Web 浏览器。它能渲染现代浏览器所能渲染的任何东西:HTML5、CSS3、JS、视频甚至 WebGL。其主要目的是在远程服务器上运行,并通过 SSH/Mosh 或浏览器内的 HTML 服务进行访问,以显著降低带宽,从而提高浏览速度并降低带宽成本。
项目主页: https://www.brow.sh/
开源协议:GPLv3
开发语言:JavaScript
26. Tabler:基于 Bootstrap 4 的 HTML 仪表盘 UI 套件
Tabler 是一个基于 Bootstrap 4 开发的 HTML 仪表盘 UI 套件,旨在提供一个用户友好,清晰简单的管理面板,可适用于简单和复杂的网站系统。
Tabler 支持移动设备、平板电脑和 PC,支持 Chrome、Firefox +、Safari、Opera、Internet Explorer 10+ 及更多浏览器。代码精简易用,严格遵循 Bootstrap 指导原则。其多数组件中使用的是 CSS3 ,以避免使用不必要的 JavaScript 库。
项目主页: https://tabler.github.io/
开源协议:MIT
开发语言:HTML、CSS
27. Grafana Loki:日志聚合系统
Loki 是一个水平可扩展、高可用性和多租户的日志聚合系统。它的设计非常经济高效且易于操作,因为它不会为日志内容编制索引,而是为每个日志流编制一组标签。项目受Prometheus启发。
项目主页: https://github.com/grafana/loki
开源协议:Apache-2.0
开发语言:Go
28. Dopamine:基于 Tensorflow 的强化学习框架
Dopamine 是由 Google AI 实验室推出的一个基于 Tensorflow 的强化学习(RL)框架,旨在为新手和资深 RL 研究人员提供灵活性、稳定性和可重复性。该框架受大脑中的奖励动机行为启发,反映了神经科学与强化学习研究之间的强历史联系,旨在实现可以推动激进发现的投机性研究。
项目主页: https://github.com/google/dopamine
开源协议:Apache-2.0
开发语言:Python
所属公司:Google
29. GoCity:3D 可视化展示 Go 项目源码
GoCity 通过 3D 可视化的方式展示 Go 项目的源代码。GoCity 将 Go 项目当作一个城市并遵循以下的约定:
-
将整个项目看作城市的“区”
-
将项目中的 Go 文件看作是城市的“建筑物”
-
将 Go 源码文件中的数据结构看作是构建于文件之上的“建筑物”(和 Go 文件通过颜色进行区分
项目主页: https://go-city.github.io/
开源协议:MIT
开发语言:Go
30. Trill:高性能流分析引擎
Trill 是 Microsoft Research 开源的高性能单通道内存流分析引擎,它基于时态数据(temporal data)和查询模型(query model),可处理实时和离线数据。
Trill 可用作流引擎,轻量级内存关系引擎,以及渐进式查询处理器。Trill 可以做到每天处理一兆次(trillion,一万亿)事件,比当今市场上的流分析引擎的数据处理速度快 2-4 倍。
项目主页: https://github.com/Microsoft/trill
开源协议:MIT
开发语言:C#
所属公司:Microsoft
31. NiftyNet:开源的卷积神经网络和医疗影像分析平台
NiftyNet 是一个基于 TensorFlow 的开源卷积神经网络平台,用来研究医疗影像分析和影像导向的治疗。NiftyNet 有着模块化的架构设计,能够共享网络架构和预训练模型。使用该模块架构,你可以:
-
使用内建工具,从建立好的预训练网络开始;
-
根据自己的图像数据改造已有的网络;
-
根据自己的图像分析问题快速构建新的解决方案。
项目主页: http://www.niftynet.io/
开源协议:Apache-2.0
开发语言:Python
32. Kubeless:Kubernetes 原生 Serverless 框架
Kubeless 是一个基于 Kubernetes 的 Serverless 框架,允许您部署少量代码,而无需担心底层基础架构管道。它利用 Kubernetes 资源提供自动扩展、API 路由、监控、故障排除等功能。
项目主页: https://kubeless.io/
开源协议:Apache-2.0
开发语言:Go
33. Tinn:C 语言实现的微型神经网络库
Tinn 是一个用 C99 编写的仅有 200 行代码微型神经网络库,无依赖,轻量级。同时支持任意 C++ 编译器进行编译。
项目主页: https://github.com/glouw/tinn
开源协议:MIT
开发语言:C
34. WTF:基于 Go 的命令行工具
WTF 是一个基于 Go 的命令行工具,你的个人 Dashboard,专为显示不常用的但非常重要的日常数据而设计,灵感来自 Monica Dinculescu 的 tiny-care-terminal 。非常适合重度 Linux 使用者。
项目主页: https://wtfutil.com/
开源协议:MPL-2.0
开发语言:Go
35. faceswap:deepfake 的深度学习技术
Faceswap 是一款利用深度学习识别和交换图片、视频中人物脸部图像的工具。和一般意义上的 P 图妖术不同,这个方法是通过搭建神经网络来学习人脸,使替换以后的脸可以生动地模仿原来的表情,达到以假乱真的程度。
项目主页: https://github.com/deepfakes/faceswap
开源协议:GPLv3
开发语言:Python
36. Caire:内容感知图像压缩/扩展库
Caire 是基于论文 《Seam Carving for Content-Aware Image Resizing》 (图像伸缩变换算法)实现的一个内容感知图像 (尺寸) 压缩/扩展库。
特性:支持自定义命令行、支持缩小/放大图像、可垂直/水平地调整图像大小、可调整目录中的所有图像的大小、不需要任何第三方库、使用 sobel 阈值进行微调、使用模糊滤镜来增强边缘检测
项目主页: https://github.com/esimov/caire
开源协议:MIT
开发语言:Go
37. Envoy:开源边缘和服务代理
Envoy 是开源的边缘和服务代理,用于云原生应用,云原生基金会 CNCF 项目。
Envoy 最初是在 Lyft 构建的,它是为单一服务和应用程序设计的高性能 C++ 分布式代理,以及为大型微服务 Service Mesh 体系结构设计的通信总线和通用数据平面。
项目主页: https://www.envoyproxy.io/
开源协议:Apache-2.0
开发语言:C/++
38. Requests-HTML:Python 的 HTML 解析库
Requests-HTML 对Requests进行了封装,添加了解析 HTML 的接口,是一个 Python 的 HTML 解析库。
我们知道 requests 只负责网络请求,不会对响应结果进行解析,因此可以把 requests-html 理解为可以解析 HTML 文档的 requsts 库。requests-html 的代码量非常少,都是基于现有的框架进行二次封装,开发者使用时可更方便调用。它依赖于 PyQuery、requests、lxml 等库。
项目主页: http://html.python-requests.org/
开源协议:MIT
开发语言:Python
39. Apache Fluo:大规模数据集增量处理系统
Apache Fluo 是 Google Percolator (搜索索引)的开源实现,允许用户对存储在 Apache Accumulo 中的大型数据集进行增量更新,而无需重新处理所有的数据。与批处理和流处理框架不同的是,Fluo 提供了更低的延迟,并且可以在极大的数据集上运行。
项目主页: https://fluo.apache.org/
开源协议:Apache-2.0
开发语言:Java
40. Confluo:多数据流实时分布式分析系统
多数据流实时分布式分析系统 Confluo。它可以作为网络监控和诊断框架,也可以作为时序数据库和发布订阅消息系统。作为时序数据库,它的性能比其他时序数据库高出数倍,而作为发布消息订阅系统,它的吞吐量比 Kafka 高出 4 到 10 倍。
Confluo 有以下优势:
-
来自多个数据流的数百万个数据点的高吞吐量并发写入
-
毫秒级的在线查询和高效的即时查询
-
使用最少 CPU 资源的 ad-hoc 查询
项目主页: https://ucbrise.github.io/confluo/
开源协议:Apache-2.0
开发语言:C/C++
41. Kata Containers:拥有虚拟机般安全性的容器项目
Kata Containers 是由 OpenStack 基金会管理,但独立于 OpenStack 项目之外的容器项目。整合了来自 Intel Clear Containers 和 Hyper runV 的技术,使得容器拥有虚拟机般的安全性。致力于构建一个使用容器镜像以超轻量级虚机的形式创建容器的的标准实现。
Kata Containers 通过使用硬件虚拟化来提供容器间隔离,每个 container/pod 都是作为一个轻量级 VM 启动的,有自己独有的内核。这也缩短了 Kata Containers 与传统 VM 的安全性和传统 Linux 容器的轻量级优点之间的差距。
项目主页: https://katacontainers.io/
开源协议:Apache-2.0
开发语言:Go
42. GridDB:面向物联网和大数据的 NoSQL 数据库
GridDB 是一款高度可扩展的 NoSQL 数据库,非常适用于物联网和大数据领域,还具有高可靠性和高性能这些特性。
GridDB 专门针对物联网(IoT)的优化包括:GridDB 的键值容器(Key Container)数据模型和时间序列函数是专为物联网构建的。
项目主页: https://griddb.net/en/
开源协议:AGPL、Apache-2.0
开发语言:Java、C/C++、Python
43. Nuklear:零依赖的小型 GUI 开发库
Nuklear 是一个小型的 GUI 开发库,使用纯 C 语言开发,所有代码都写在一个头文件里,没有依赖库。
项目主页: https://github.com/vurtun/nuklear
开源协议:MIT
开发语言:C
44. Traffic Control:高可扩分布式 CDN 解决方案
Apache Traffic Control 是一个分布式、可扩展的冗余解决方案,可用于构建、监视和配置大型内容交付网络(CDN)。项目起源于 Traffic Server ,实现了现代 CDN 的所有核心功能。
借助 Traffic Control,运营商可以设置一个内容分发网络,为用户快速高效地提供高质量的 Live 和 VOD 流媒体视频。
项目主页: http://trafficcontrol.apache.org/
开源协议:Apache-2.0
开发语言:Go、Perl
45. Knative:基于 Kubernetes 与 Istio 的 Serverless 架构方案
Knative(发音为 kay-nay-tiv)是谷歌开源的一套 Serverless 架构方案,它扩展了 Kubernetes,提供了一组中间件,提高了构建可在本地、云和第三方数据中心等地方运行的现代化、以源为中心且基于容器的应用的能力。
Knative 专注于解决容器为核心的 Serverless 应用的构建、部署和运行的问题,它构建在 Kubernetes 和 Istio 平台之上,整合了 Kubernetes 提供的 deployment、replicaset 和 pods 等容器管理能力,与 Istio 提供的 ingress、LB、dynamic route 等网络管理功能。
项目主页: https://github.com/knative
开源协议:Apache-2.0
开发语言:Go
所属公司:Google
46. Solid:去中心化平台
万维网之父 Tim Berners-Lee 爵士对今天的中心化 Web 非常不满,他想要拯救互联网,方法是重新去中心化。于是他正式宣布了新的开源去中心化平台 Solid。
Solid 设计让用户能控制他们在 Web 上产生的数据和内容,能选择数据如何被使用。Solid 的核心是个人数据存储系统 Solid POD,你在网上产生的所有数据都储存在 Solid POD 中,如你的联系人,你的照片和评论,用户可选择将 Solid POD 储存在自己家中的计算机上,或挑选的网上 Solid POD 供应商(比如 Berners-Lee 创办的 Inrupt),你的所有数据都控制在自己手中,可以自由的添加或删除数据,授予权限给他人或应用来读取或写入部分 Solid POD 数据,不需要同步,因为你的数据一直伴随着你。
项目主页: https://github.com/solid/solid
开源协议:MIT
47. TensorSpace:神经网络 3D 可视化框架
TensorSpace 是一套用于构建神经网络 3D 可视化应用的框架。
开发者可以使用类 Keras 风格的 TensorSpace API,轻松创建可视化网络、加载神经网络模型并在浏览器中基于已加载的模型进行 3D 可交互呈现。TensorSpace 可以使您更直观地观察神经网络模型,并了解该模型是如何通过中间层 tensor 的运算来得出最终结果的。
TensorSpace 支持 3D 可视化经过适当预处理之后的 TensorFlow、Keras、TensorFlow.js 模型。
项目主页: https://tensorspace.org/
开源协议:Apache-2.0
开发语言:JavaScript
48. Wired Elements:手绘风格 UI 集合
看惯了千遍一律的扁平化、大色块和高对比度风格的 UI,这个手绘风格的 UI 元素集合相信会给你耳目一新的体验。Wired Elements 是一系列具有手绘外观的基本 UI 元素,这些 UI 元素可以用于线框、模型等手绘风格页面。
另外,元素具有一定的随机性,像真正的手绘一样,同一个元素每次出现的显示效果不会完全相同。萌萌哒和小清新的风格确实会提升好感度~ ❤(◕‿◕✿)
项目主页: https://wiredjs.com/
开源协议:MIT
开发语言:JavaScript
49. Sparser:开源数据解析引擎
Sparser 是一个用于解析原始数据的解析引擎,由斯坦福大学开源,用于非结构化和半结构化的数据格式,例如 JSON、Avro 和 Parquet。
Sparser 的独特之处在于它可利用 SIMD 加速过滤函数在解析之前过滤数据。在 JSON、Avro 和 Parquet 数据上,Sparser 的速度比最先进的解析器最多快 22 倍,并且能将 Apache Spark 中的端对端的查询运行时间最多提高 9 倍。
项目主页: https://dawn.cs.stanford.edu/2018/08/07/sparser/
开源协议:BSD
开发语言:C/C++
50. Tink:多语言、跨平台加密开发库
Tink 是一个多语言、跨平台的加密开发库,提供安全,易于正确使用和难以滥用的加密 API,目前 Tink 已经被用于保护许多谷歌内部产品的数据,如 AdMob、Google Pay、Google Assistant、Firebase 与 Android Search App 等。
Tink 旨在提供安全、易于正确使用且难以滥用的加密 API,它建立在现有安全相关的库之上,如 BoringSSL 和 Java Cryptography Architecture,但谷歌专门的团队 Project Wycheproof 发现了这些库中的一些弱点,Tink 进行了跟进,使之更加安全。
项目主页: https://github.com/google/tink
开源协议:Apache-2.0
开发语言:Java、C/C++、Python、Go
所属公司:Google
至此,开源中国 2018 年度的三个榜单均已全部公布。欢迎在评论区留下你的看法~!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Facebook 2018 年度开源回顾:新增开源项目 153 个
- Dromara 开源社区再次新增两个 GVP 项目
- 2018 年度新增开源软件排行榜之国产新秀榜
- 开源堡垒机 Jumpserver 1.4.10 发布,新增权限控制
- 开源堡垒机 Jumpserver 1.4.10 发布,新增权限控制
- 2018 年度新增开源软件排行榜之国产 TOP 50
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
数据结构与算法分析
韦斯 (Mark Allen Weiss) / 机械工业出版社 / 2013-2-1 / 79.00元
本书是国外数据结构与算法分析方面的经典教材,使用卓越的Java编程语言作为实现工具讨论了数据结构(组织大量数据的方法)和算法分析(对算法运行时间的估计)。 随着计算机速度的不断增加和功能的日益强大,人们对有效编程和算法分析的要求也不断增长。本书将算法分析与最有效率的Java程序的开发有机地结合起来,深入分析每种算法,并细致讲解精心构造程序的方法,内容全面、缜密严格。 第3版的主要更新如......一起来看看 《数据结构与算法分析》 这本书的介绍吧!