八月新增开源项目:假装自己是图形界面的 Git 命令行工具
每月新增开源项目。顾名思义,每月更新一期。我们会从社区上个月新收录的开源项目中,挑选出有价值的、有用的、优秀的、或者好玩的开源项目来和大家分享。数量不多,但我们力求推荐的都是精品。目前这些开源项目主要来源于编辑们的搜集和用户的投递,所以如果你有更好的开源项目推荐,欢迎积极投递。
戳这里查看投递软件的正确姿势 >>> https://www.oschina.net/question/2918182_2266982。
Web Forever —— Web 开发项目推荐
facebookincubator/fizz Fizz —— C++ 14 实现的 TLS 1.3 标准库
TLS 1.3 已正式发布,而且主流浏览器也已经提供了对其的支持。开发者对于 TLS 1.3 就更不能忽视了。Fizz 是由 Facebook 开源的 TLS 1.3 标准库,旨在帮助开发者实现 TLS 1.3 协议以及所有推荐的安全性和性能相关配置。
Fizz 使用 C++ 14 进行编写,它是一个可靠且高性能的 TLS 库,具有现代 TLS 库所需的一些重要功能。支持所有主要的握手模式、强大的加密算法和性能优化,旨在以超过 10% 的速度安全地传输数据。除了 TLS 1.3 附带的增强功能外,Fizz 还为中间件握手失败提供了改进的解决方案,默认支持异步 I/O,并且可以处理分散/收集 I/O 以消除对额外数据副本的需求。
Facebook 与 IETF 长期密切合作,在增加 TLS 安全性的同时,也没有忽略性能的重要性,过去他们使用了自定义的零协议(Zero Protocol),现在 Facebook 已经用 Fizz 取代了其旧的零协议,Fizz 现在负责每天在 Facebook 上获得的数万亿连接。
resilience4j/resilience4j Resilience4j —— 面向 Java 8 和函数式编程的轻量级容错组件库
Resilience4j 是一个轻量级的容错组件,其灵感来自于 Hystrix,但主要为 Java 8 和函数式编程所设计。轻量级体现在其只用 Vavr 库(前身是 Javaslang),没有任何外部依赖。而 Hystrix 依赖了 Archaius ,Archaius 本身又依赖很多第三方包,例如 Guava、Apache Commons Configuration 等。
限速组件架构:
alibaba/noform noForm —— 阿里开源的基于 React 的表单解决方案
表单在前端可谓是非常常见的场景,而且通常需要花费开发非常多的时间来处理各种复杂的逻辑。特别是在企业中后台的业务中,存在着大量的表单,比如客户的订单,投诉的问题单,服务跟进过程每个流程的流转。凡是存在用户输入的地方都存在着各种各样的表单,字段或多或少,逻辑或繁或简。需求一旦变动,造成的代码变动(代码量或者逻辑分支)可能是非常恐怖的。比如当A字段选择了x的时候,增加B,C,D三个字段。相信这是非常多前端开发非常苦恼的问题。
NoForm 是阿里巴巴外综服前端团队在外综服(外贸综合服务)场景下,经过长期的思考和打磨产出的一款基于 React 的表单解决方案。可能有人不理解,可能会问:表单嘛,能有多复杂? 可能你从没见过一个表单需要填写150+个字段。可能你也没有见过一个表单实际是由10+个子表单组合出来的。可能你也没见过一个表单的字段是后端动态配置的。NoForm 从解决业务复杂性的角度出发,找到了几个抓手,将表单方案进行了优化和开源。
NoForm 将表单操作到抽象到核心,从此数据(data)的管理和视图(view)分离开来,权责分明。 通过内置的状态管理方案,能够快速切换同一表单的不同状态,新建和详情不再需要维护多份代码。 通过定制组件接入标准,方便接入社区优秀的组件库,减少开发者重复劳动的时间。
请访问 Simple Demo 获取更好的试用体验。
Funny OSS — 有趣的开源软件
jesseduffield/lazygit —— 用于 Git 命令行的简单终端 UI
lazygit 是一个用于 Git 命令行的简单终端 UI,使用 Go 语言编写,用到了 gocui 库,目的是在命令行提供 Git 的图形界面。
相信不少朋友看到这里会对这个所谓的“图形界面”嗤之以鼻,因为这个“图形界面”依然需要通过命令行进行控制,毕竟程序员们想的是,如果我懂命令行早就用命令行操作了,还会在乎有没有界面吗?话虽如此,这个项目还是很受欢迎的,在 GitHub 上的 star 数早已超过一万。各位感兴趣的话不妨安装来把玩一下。
Deep Learning —— 深度学习项目推荐
oracle/graphpipe GraphPipe —— 深度学习模型部署框架
机器学习有望改变行业现状。但是,它在企业中的应用速度比大家预期的要慢,因为这些组织很难自己部署和管理机器学习技术。部分挑战是机器学习模型通常使用定制技术进行训练和部署,从而难以跨服务器或不同部门进行模型的部署。
为此,甲骨文希望通过开源且高性能的标准网络协议来传输张量数据(tensor data) —— 这样的一种技术手段来解决上述挑战。这项新标准,甲骨文称之为 GraphPipe,可使企业更容易从任何框架部署和查询机器学习模型。
官方对 GraphPipe 的解释为,这是一种协议和软件集合,旨在简化机器学习模型部署并将其与特定于框架的模型实现分离。
本期的推荐到此结束,更多有趣有料的开源软件尽在开源中国社区等你来发现~!
最后,欢迎关注【开源中国】微信公众号(ID: oschina2013),获取更多技术干货和第一手开源资讯

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
《Java编程思想》读书笔记(9)
一些listene接口中只定义了一个方法,因此要实现这种接口的工作量并不大,因为只要写完这一个方法,接口也就实现了。但是如果要使用有多个方法的listener的话,就会比较麻烦了,因为必须要实现接口中定义的所有方法,而实际上很多方法我们并不需要。举例来说,如果要捕捉鼠标点击的话,那就必须写一个mouseClicked( )方法。但是由于MouseListener是一个interface,所以即使MouseListener定义的其他方法我们不使用,也得实现其所有的方法。 为了解决这个问题,有些(但不是全部)多方法的listener接口提供了适配器(adapter)。适配器会为接口提供默认的空方法。这样,你只要继承适配器,根据需要覆写方法就可以了。 例如: package com.vitamin.UI; import java.awt.BorderLayout; import java.awt.Container; import java.awt.Event; import java.awt.event.ActionEvent; import java.awt.event.ActionLi...
- 下一篇
使用Nagios打造专业的业务状态监控
想必各个公司都有部署zabbix之类的监控系统来监控服务器的资源使用情况、各服务的运行状态,是否这种监控就足够了呢?有没有遇到监控系统一切正常确发现项目无法正常对外提供服务的情况呢?本篇文章聊聊我们如何简单的使用Nagios监控业务的状态 文中的业务指用户访问的网站页面,对外提供的API接口,移动端的APP等产品 监控的思考 通常我们会在项目所在的机房部署一套监控系统来监控我们服务器和MySQL之类的公共服务,制定报警策略,在出现异常情况的时候邮件或短信提醒我们及时处理。 此类监控主要的关注点有两个: 资源的占用情况,例如负载高低、内存大小、磁盘空间等 服务的状态监控,例如Nginx状态、Mysql主从状态等 同时也会存在以下两个主要问题: 缺少业务状态的监控,不能很直观的知道业务当前的状态,可能服务器、服务都正常但业务确挂了 监控服务器和业务服务器处于同一机房环境内,监控网络故障、入口网络拥堵等情况都可能会导致收不到监控系统的报警,且只能监控机房内的情况,用户到机房入口的情况无法监控 那么如何解决这两个问题呢? 业务状态监控,就是要最直观的的反映业务当前是正常还是故障,该怎么监控呢?...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS关闭SELinux安全模块
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7设置SWAP分区,小内存服务器的救世主
- SpringBoot2全家桶,快速入门学习开发网站教程
- Docker快速安装Oracle11G,搭建oracle11g学习环境