一周 GitHub 开源项目推荐:阿里、腾讯、陌陌、bilibili……

2,613 阅读4分钟
阅读本文大概需要 2.8 分钟。

陌陌风控系统正式开源

陌陌风控系统静态规则引擎,零基础简易便捷的配置多种复杂规则,实时高效管控用户异常行为。

GitHub 地址

https://github.com/momosecurity/aswan


Sniper:bilibili 开源的轻量级 Go 业务框架

Sniper 起源于一项新业务。在转岗之前,我一直在 L 部门写 PHP 代码,遇到过如下问题:

  • 基于 TCP 的 RPC 协议,我们都称之为 Weisai-RPC

  • 手工维护 RPC 文档,难以及时更新

  • 手写代码处理 RPC 入参,难以保证参数类型,如数字 1 和字符串 "1" 的区别

  • 无法方便地查询一个请求对应的所有日志

  • 服务拆分得很细,难以进行调用链路追踪

  • 使用 JSON 做为配置,难改难认

  • 难以监控服务运行状态

  • 代码分层标准不统一

  • 没有单元测试

大约在 2018 年的六月底,我得知要去新的 C 部门做新业务。没有任何历史包袱,我马上着手准备,希望能全方位的解决上面提到的问题。

GitHub 地址

https://github.com/bilibili/sniper


Jumpserver:全球首款完全开源的堡垒机,9100+ Star

Jumpserver 是全球首款完全开源的堡垒机,使用 GNU GPL v2.0 开源协议,是符合 4A 的专业运维审计系统。

Jumpserver 使用 Python / Django 进行开发,遵循 Web 2.0 规范,配备了业界领先的 Web Terminal 解决方案,交互界面美观、用户体验好。

Jumpserver 采纳分布式架构,支持多机房跨区域部署,中心节点提供 API,各机房部署登录节点,可横向扩展、无并发限制。

改变世界,从一点点开始。

GitHub 地址

https://github.com/jumpserver/jumpserver


Flutter Go:阿里巴巴开源的 Flutter 开发者帮助 App

Flutter 学习资料太少,对于英文不好的同学相对来说比较困难;

官网文档示例不够健全,不够直观;

各个 widget 的用法各异,属性纷繁,要运行一个 widget 的 demo 往往要到处翻阅各种资料。

GitHub 地址

https://github.com/alibaba/flutter-go


腾讯零反射全动态 Android 插件框架 Shadow 正式开源

Shadow 是一个腾讯自主研发的 Android 插件框架,经过线上亿级用户量检验。Shadow 不仅开源分享了插件技术的关键代码,还完整的分享了上线部署所需要的所有设计。

与市面上其他插件框架相比,Shadow 主要具有以下特点:

  • 复用独立安装 App 的源码:插件 App 的源码原本就是可以正常安装运行的。

  • 零反射无 Hack 实现插件技术:从理论上就已经确定无需对任何系统做兼容开发,更无任何隐藏 API 调用,和 Google 限制非公开 SDK 接口访问的策略完全不冲突。

  • 全动态插件框架:一次性实现完美的插件框架很难,但 Shadow 将这些实现全部动态化起来,使插件框架的代码成为了插件的一部分。插件的迭代不再受宿主打包了旧版本插件框架所限制。

  • 宿主增量极小:得益于全动态实现,真正合入宿主程序的代码量极小(15KB,160 方法数左右)。

  • Kotlin 实现:core.loader,core.transform 核心代码完全用 Kotlin 实现,代码简洁易维护。

GitHub 地址

https://github.com/Tencent/Shadow


为互联网 IT 人打造的中文版 awesome-go,4900+ Star

本项目作为 awesome-go 的一个扩展,根据 Go 语言中文社区提供的资料,还有互联网企业架构设计中的常见组件分类,共精心挑选了 153 个开源项目(项目不限于在 GitHub 开源的项目),分成以下 17 个大类。

项目初衷是帮助到那些想学习和借鉴优秀 Golang 开源项目,和在互联网架构设计时期望快速寻找合适轮子的人。

GitHub 地址

https://github.com/hackstoic/golang-open-source-projects



·END·

程序员的成长之路

路虽远,行则必至

本文原发于 同名微信公众号「程序员的成长之路」,回复「1024」你懂得,给个赞呗。

回复 [ 520 ] 领取程序员最佳学习方式

回复 [ 256 ] 查看 Java 程序员成长规划