《HelloGitHub》第 44 期
兴趣是最好的老师,HelloGitHub 就是帮你找到兴趣!
简介
分享 GitHub 上有趣、入门级的开源项目。
这是一个面向编程新手、热爱编程、对开源社区感兴趣 人群的月刊,月刊的内容包括:各种编程语言的项目、让生活变得更美好的工具、书籍、学习笔记、教程等,这些开源项目大多都是非常容易上手,而且非常 Cool。主要是希望大家能动手用起来,加入到开源社区中。
- 会编程的可以贡献代码
- 不会编程的可以反馈使用这些工具中的 Bug
- 帮着宣传你觉得优秀的项目
- Star 项目⭐️
在浏览、参与这些项目的过程中,你将学习到更多编程知识、提高编程技巧、找到编程的乐趣。
🎉 最后 HelloGitHub 这个项目就诞生了 🎉
目录
以下为本期内容|每个月 28 号发布最新一期|点击查看往期内容
C 项目
1、scrcpy:一款可以用电脑显示并控制 Android 手机的开源工具。连接方便使用方便,手机无需 root、无需安装任何应用。支持 USB、Wi-Fi 两种方式连接,支持 Windows、macOS、Linux 三种操作系统。注意电脑端需要安装 adb 工具
C++ 项目
2、netdata:一款免费开源的 Linux 系统性能实时监控工具。它易于安装、占用资源少、功能强大,支持监控多种服务
3、musikcube:一个使用 C++ 编写的终端的音乐播放器,也可以作为一个音频引擎、元数据索引器和服务器。musikcube 可以在 Windows、MacOS 、Linux 以及带有 raspbian 的树莓派上轻松编译和运行。虽然它只能在终端上使用,但是功能应有尽有。使用方法详见 User Guide
4、Sourcetrail:一个免费开源、跨平台的可视化源码探索项目。能够十分高效的帮助使用者探索、熟悉陌生的代码,支持 C、C++、Python 和 Java 语言,同时提供了相关 SDK 用于拓展支持其它语言,相信在未来会提供更多语言的支持。程序员在它的帮助下可以快速熟悉陌生项目、学习开源项目、框架等,此等利器赶快去试试吧
Go 项目
5、guide:Uber 内部的 Go 风格规范。中文翻译版
6、evans:基于 Go 语言实现的支持交互模式的 gRPC 客户端,让调试、测试 gRPC API 更加容易
7、mkcert:无需配置,执行一条命令让本地的开发环境实现 HTTPS 的工具。效果如下:
$ mkcert -install
Created a new local CA at "/Users/filippo/Library/Application Support/mkcert" 💥
The local CA is now installed in the system trust store! ⚡️
The local CA is now installed in the Firefox trust store (requires browser restart)! 🦊
$ mkcert example.com "*.example.com" example.test localhost 127.0.0.1 ::1
Using the local CA at "/Users/filippo/Library/Application Support/mkcert" ✨
Created a new certificate valid for the following names 📜
- "example.com"
- "*.example.com"
- "example.test"
- "localhost"
- "127.0.0.1"
- "::1"
The certificate is at "./example.com+5.pem" and the key at "./example.com+5-key.pem" ✅
8、gochat:纯 Go 实现的轻量级即时通讯系统。技术上各层之间通过 rpc 通讯,使用 redis 作为消息存储与投递的载体,相对 kafka 操作起来更加方便快捷。各层之间基于 etcd 服务发现,在扩容部署时将会方便很多。架构、目录结构清晰,文档详细。而且还提供了 docker 一件构建,安装运行十分方便,推荐作为学习项目
Java 项目
9、DoraemonKit:一款功能齐全的 iOS 、Android、微信小程序客户端研发助手。它功能强大、接入方便、便于扩展,能够让每一个 App 快速接入一些常用的辅助开发工具、测试效率工具、视觉辅助工具,而且能够完美在 Doraemon 面板中接入一些定制的辅助工具
10、SpringCloud:基于 SpringCloud2.1 的微服务开发脚手架
11、newbee-mall:一基于 Spring Boot 2.X 及相关技术栈开发电商系统。包括商城系统及商城后台管理系统,支持商城常见的功能。该项目代码开源、功能完备、流程完整,对于新手开发者十分友好,仅需极短的时间就可以启动这个完整的商城项目。这是一个完整的电商项目,也推荐各个阶段的 Java 开发者学习或为项目贡献代码
JavaScript 项目
12、kiwi:还在为前端的全球化多语言而发愁吗?可以试试阿里开源的这项目
13、FileSaver.js:文件保存的 JavaScript 库,支持多种常见的文件存储格式:xls、txt、png 等。它可以方便的把数据转成文件,然后供用户下载。示例代码:
// 存储文本
var blob = new Blob(["Hello, world!"], {type: "text/plain;charset=utf-8"});
FileSaver.saveAs(blob, "hello world.txt");
14、qier-player:一款基于 React 的轻量级在线视频播放器组件,界面简洁、操作流畅具有视频播放器的基础功能。方便你在项目中轻松添加播放器组件,实现视频播放功能。如果你嫌原生 video 功能太少、操作太傻、界面太简陋,那这个播放器就是你的菜。你还能够通过阅读源码学习到关于生命周期执行顺序、父子组件传值的方式、以及如何利用定时器进行一些实时的状态更新的技巧。示例代码:
import React from 'react';
import ReactDOM from 'react-dom';
import QierPlayer from 'qier-player';
ReactDOM.render(<QierPlayer srcOrigin="你的视频地址"></QierPlayer>, document.getElementById('root'));
15、glut:一款用于团队内部 chrome 工具共享的工具,可以理解为 chrome 的小程序。它提供了比页面脚本更多的 API,可是实现更丰富的功能。可以随时在页面打开的小组件,它既可以作为页面的辅助工具或者也可以提供独立的功能。演示如下:
16、svrx:一个易于使用、插件化的前端开发工作台。帮助前端开发人员把折腾开发环境的时间,省下来做更有意义的事。快速开始:
- 安装:
npm install -g @svrx/cli
- 创建目录:
mkdir example && cd example
- 创建文件:
echo '<html><body>Hello svrx!</body></html>' > index.html
- 运行:svrx
17、paint:在线体验下油画创作。呈上我的“杰作”:
PHP 项目
18、SyncMusic:基于 PHP Swoole 开发的在线弹幕点歌台。支持自由点歌、切歌、调整排序、删除指定音乐以及基础权限分级
Python 项目
19、pyflame:Uber 开源的 Python 性能分析工具。可以在不修改代码的情况下分析 Python 程序的性能,同时生成火焰图
20、Gooey:一个把 Python 命令行工具转化成 GUI 桌面工具的库。就我个人还是喜欢命令行的形式😅
21、opendevops:一款基于 tornado 的开源自动化运维云管理平台。支持:ITSM、权限系统、Web Terminnal 登陆日志审计、录像回放、监控报警系统、DNS 管理、配置中心等
22、KubeOperator:用 Python 语言开发的开源容器集群管理平台。在离线网络环境下通过可视化 Web UI 在 VMware、Openstack 或者物理机上规划、部署和管理生产级别的 Kubernetes 集群。开启你的 Kubernetes 之旅
Swift 项目
23、SwiftyGif:高性能且上手容易的 Swift GIF 库。示例代码:
import SwiftyGif
do {
let gif = try UIImage(gifName: "MyImage.gif")
let imageview = UIImageView(gifImage: gif, loopCount: 3) // Use -1 for infinite loop
imageview.frame = view.bounds
view.addSubview(imageview)
} catch {
print(error)
}
24、Pock:一款在苹果电脑的触控栏中,显示 macOS 程序坞的开源工具
其它
25、infer:Facebook 开源的一个支持 Objective-C、Java 和 C 语言的静态分析工具,用它可以检测 Android、iOS 代码中的资源泄漏、内存泄漏、空指针等问题。建议集成到客户端发布的流程环节中,它能够将客户端应用的一些严重 Bug 扼杀在发布应用之前,同时减少应用崩溃和性能低下的情况
26、git-quick-stats:项目的 git 提交记录展示和统计的工具。支持:不同时间维度和用户名的统计、近期提交的概览等
27、TeachYourselfCS-CN:《TeachYourselfCS》自学计算科学的一份书单(中文翻译版)
28、funNLP:中文词库的集合。可用于:敏感词、语言检测、拆字词典等
29、CoolplaySpark:Spark 源代码分析、类库解读等
30、github-cards:非官方的 GitHub 卡片
教程
31、zh.javascript.info:《现代 JavaScript 教程》是以最新的 JavaScript 标准为基准的教程。通过简单但详细的内容,讲解从基础到高阶的 JavaScript 相关知识,能够帮助初中级前端提升 JavaScript 等前端技术水平。在线阅读
机器学习
32、ML-NLP:该项目总结了机器学习、NLP 面试中常考到的知识点和代码实现
33、openpilot:comma.ai 开源的自动驾驶系统
34、MNN:一个轻量级的深度神经网络推理引擎,在端侧加载深度神经网络模型进行推理预测。架构设计如下:
“看完了,还不够?<往期内容> | 还不过瘾,那就看看每天更新的前端日报吧 <今日前端>”
如果你发现了好玩、有意义的开源项目 点击这里 分享你觉得有趣的项目。
最后
如果你发现了 GitHub 上有趣的项目,欢迎在 HelloGitHub 项目提 issues 告诉我们。
作者:削微寒
扫描左侧的二维码可以联系到我
本作品采用署名-非商业性使用-禁止演绎 4.0 国际 进行许可。