一周 GitHub 开源项目推荐:阿里、腾讯、陌陌、bilibili……
陌陌风控系统正式开源
陌陌风控系统静态规则引擎,零基础简易便捷的配置多种复杂规则,实时高效管控用户异常行为。
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 程序员成长规划
一周 GitHub 开源项目推荐:阿里、腾讯、陌陌、bilibili……的更多相关文章
- GitHub Python项目推荐|瓦力Devops开源项目代码部署平台持续部署
GitHub Python项目推荐|walle - 瓦力 Devops开源项目代码部署平台 项目热度 标星(star):8418 (很不错的实用项目,大神作品,建议关注) 标星趋势 关注(watch) ...
- 如何参与一个 GitHub 开源项目?
最近一年开源项目特别的热,很多技术大会或论坛都以开源项目作为主题进行探讨,可见这是一种趋势.而Github作为开源项目的著名托管地,可谓无 人不知,越来越多的个人和公司纷纷加入到Github的大家族里 ...
- 如何参与一个GitHub开源项目
Github作为开源项目的著名托管地,可谓无人不知,越来越多的个人和公司纷纷加入到Github的大家族里来,为开源尽一份绵薄之力.对于个人来讲,你把自己的项目托管到Github上并不表示你参与了Git ...
- 如何参与一个GitHub开源项目?
如何参与一个GitHub开源项目? 摘要:本文是Github官如何参与一个GitHub开源项目方给出的参与Github上开源项目的一些指导,对希望加入开源社区的开发者是一个不错的参考. 最近一年开源项 ...
- GitHub Java项目推荐|功能丰富的 Java 工具包|提高开发效率
GitHub Java项目推荐|功能丰富的 Java 工具包|提高开发效率 功能丰富的 Java 工具包.它帮助我们实现了常用的工具方法,从而减少代码的体积,提高开发效率.该项目最初是作者工作项目中的 ...
- 拥有 GitHub 开源项目的小伙伴,免费申请 JetBrains 全家桶的全流程详解
工欲善其事,必先利其器.如果您想要学习 Java.PHP.Ruby.Python.JavaScript.Objective-C..NET 中的任何一种开发技术,国际知名且屡获殊荣的 JetBrains ...
- 【Github开源项目体验】- ZFile 基于 Java 的在线网盘
[Github开源项目体验]- ZFile 基于 Java 的在线网盘 在线云盘.网盘.OneDrive.云存储.私有云.对象存储.h5ai.上传.下载 date: 2022-08-02 addres ...
- 2015-2016最火的Android开源项目--github开源项目集锦(不看你就out了)
标签: Android开发开源项目最火Android项目github 2015-2016最火的Android开源项目 本文整理与集结了近期github上使用最广泛最火热与最流行的开源项目,想要充电与提 ...
- Android笔记——导入Github开源项目CircleRefreshLayout
百度n久都找不到android studio导入第三方类库的正确方法,纠结睡不着 ,最后终于蒙到了方法,原来想太多了 ---------------------------------------- ...
随机推荐
- Java自学-面向对象 方法
Java类的方法 在LOL中,一个英雄可以做很多事情,比如超神,超鬼,坑队友 能做什么在类里面就叫做方法 示例 1 : 什么是方法 比如队友残血正在逃跑,你过去把路给别人挡住了,导致他被杀掉. 这就是 ...
- dubbo循序渐进 - 使用Docker安装Nexus
docker search nexus docker pull docker.io/sonatype/nexus3 mkdir -p /usr/local/nexus3/nexus-data /usr ...
- 回调、Promise、async-await
第一章 异步:现在与将来 程序中现在运行的部分和将来运行的部分之间的关系就是异步编程的核心. 场景:等待用户输入.从数据库或文件系统中请求数据.通过网络 发送数据并等待响应,或者是在以固定时间间隔执行 ...
- 45、导航钩子函数中使用next()和next('\指定路径')的区别:
当在router.beforeEach((to, from, next) 钩子函数中使用: 1.使用next()时,直接跳转到下一页,没有再执行导航钩子函数 2.使用next('指定路径')跳转到指定 ...
- Android-----实现给图片添加字体
实现给图片添加字体,图片旋转功能:xml布局文件内容如下,一个简单的ImageView布局 <com.example.hsjgapp.RotateImageView //这里存放要展示的图片 a ...
- MySQL用户及权限
1. MySQL根据对象级别划分的权限类别: 常见的权限类别:库级别.表级别.字段级别.管理类权限.程序类权限 管理类权限: CREATE TEMPORARY TABLES 创建临时表,一般为16M; ...
- prometheus学习系列十一: Prometheus 采集器的编写
在前面的文章已经写了官方的几个exporter的使用了. 在实际使用环境中,我们可能需要收集一些自定义的数据, 这个时候我们一般是需要自己编写采集器的. 快速入门编写一个入门的demo 编写代码 fr ...
- golang reflect知识集锦
目录 反射之结构体tag Types vs Kinds reflect.Type vs reflect.Value 2019/4/20 补充 reflect.Value转原始类型 获取类型底层类型 遍 ...
- 通用工业协议(CIP)形式化的安全分析(前期概念的梳理)
1.CIP的概念的梳理 CIP是为开放的现场总线DeviceNet ControlNet EtherNet/IP 网络提供公共的应用层和设备描述, CIP是基于对象的协议,使用生产者/消费者模型, ...
- httprunner学习13-环境变量.env
前言 一般来说,在进行实际应用的开发过程中,应用会拥有不同的运行环境,通常会有以下环境: 本地开发环境 测试环境 生产环境 在不同环境中,我们可能会使用不同的数据库或邮件发送驱动等配置,这时候则需要通 ...