兴趣是最好的老师,HelloGitHub 让你对编程感兴趣!
简介
分享 GitHub 上有趣、入门级的开源项目。
这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 Python、Java、Go、C/C++、Swift...让你在短时间内感受到开源的魅力,对编程产生兴趣!
HelloGitHub 截止:2021.5.27 已获得 4.2 万星,感谢大家点亮的每一个 ✨
以下为本期内容|每个月 28 号更新
C 项目
1、discount:一个用 C 语言编写的 Markdown 实现,可以轻松将 MD 文档转换为 HTML 格式
C# 项目
2、maui:微软官方开源的 .NET 跨平台 UI 框架。这将意味着同一套代码和原生 UI 可以跑在几乎所有的设备上
3、EarTrumpet:一款 Windows 系统上的音量控制小工具
C++ 项目
4、kvrocks:基于 RocksDB 并兼容 Redis 协议的 NoSQL 数据库。磁盘类型的 Redis 为降低存储成本而生,存储成本可以降到 Redis 的 1/3 以上
CSS 项目
5、stylus-shortcut:基于 stylus 实现的快速编写 CSS 样式的库
6、pattern.css:用漂亮的图形填充背景的 CSS 库
Go 项目
7、Cloudreve:支持多种存储服务的云文件桌面管理工具。开箱即用,功能丰富
- 拖拽上传、目录上传、流式上传处理
- 客户端直传和限速下载
- 视频、图像、音频、文本、Office 文档在线预览
8、duf:一款查看磁盘空间情况的命令行工具,足以代替 df 命令。它上手简单使用方便,界面简洁且友好同时支持 Linux、macOS 和 Windows 操作系统
9、bubbletea:一个强大的 TUI(文本用户界面)框架。Bubble Tea 非常适合构建复杂交互的终端应用程序,同时还能让命令行程序变得多彩和炫酷
10、rosedb:一个完全用 Go 写的 Key-Value 数据库。rosedb 适合在找 Go 实战项目的小伙伴们,因为项目代码简洁、注释清晰,配上作者录制的讲解视频。你可以从中学到 Go 相关的知识
- 实用的高级特性,比如:goroutine、chan、mutex
- 数据结构及算法相关知识,比如:链表、哈希表、跳表等
- 操作系统的一些知识,特别是文件系统和内存映射
11、cointop:用于追踪加密货币行情的命令行工具。界面仿照 htop 支持类似 Vim 的快捷键,程序员摸鱼神器。在线体验
Java 项目
12、onedev:一个用 Java 写的 Git 仓库管理平台。包含 Git 版本管理、持续集成、Issue 管理、代码搜索和审查等功能
13、Apktool:反编译 Android 安装包 APK 文件的工具
JavaScript 项目
14、amis:通过 JSON 配置就能生成各种后台页面。这是百度开源的前端低代码框架,中文文档快速上手
15、playground-macos:模拟 macOS 桌面样式的个人简介展示页
16、use-gesture:丰富鼠标和触摸手势的 React 库
17、Ink-wash-docs:一款基于 egg.js+Vue.js 的在线文档管理平台。功能包含:文档编辑和预览、团队管理、访问权限、协作编辑等
Kotlin 项目
18、tachiyomi:一款免费、开源的安卓漫画阅读器。支持:
- 多种漫画源
- 阅读本地漫画
- 更新漫画章节
- 等等
Objective-C 项目
19、UTM:运行在 iOS 和 macOS 系统上的虚拟机。通过 UTM 你可以在无需“越狱”的情况下,在 iPhone 和 iPad 上运行 Windows、Linux 等操作系统
PHP 项目
20、github-profile-views-counter:用来展示 GitHub 个人首页被访问次数的项目。使用方法:![](https://komarev.com/ghpvc/?username=your-github-username&color=dc143c)
Python 项目
21、learn-python:一份以代码和注释方式讲解 Python 的免费教程。每个 Python 基础语法和知识点都采用可以运行的代码为例讲解,再配上适当的注释和参考资料,让你快速上手 Python。此项目不仅可以当做学习 Python 的资料,还可以留着做为速查表
"""WHILE statement
@see: https://docs.python.org/3/tutorial/controlflow.html
@see: https://docs.python.org/3/reference/compound_stmts.html#the-while-statement
The while loop executes as long as the condition remains true. In Python, like in C, any
non-zero integer value is true; zero is false. The condition may also be a string or list
value, in fact any sequence; anything with a non-zero length is true, empty sequences are
false.
The test used in the example is a simple comparison. The standard comparison operators are
written the same as in C: < (less than), > (greater than), == (equal to), <= (less than or
equal to), >= (greater than or equal to) and != (not equal to).
"""
def test_while_statement():
"""WHILE statement"""
# Let\'s raise the number to certain power using while loop.
number = 2
power = 5
result = 1
while power > 0:
result *= number
power -= 1
# 2^5 = 32
assert result == 32
22、BaoTa:宝塔 Linux 服务器运维管理平台。简单好用的服务器运维平台,支持一键 LNMP 安装、管理集群、网站、数据库等功能,可以有效的提高操作的规范性和安全性,降低出错概率。这个开源项目是免费版,还有付费的专业版
23、recommenders:通过 Jupyter Notebook 形式呈现的推荐系统最佳实践。这是微软开源的推荐系统教程,项目中还包含推荐系统常用的 Python 工具箱
24、magic-wormhole:一条命令就能将文件安全地传送到另外一台电脑上的工具。基于 PAKE(Password-Authenticated Key Exchange)协议实现文件在公网的加密传输,发送和接收均仅需一条命令
Swift 项目
25、Design-Patterns-In-Swift:设计模式 Swift 5.0 实现。中文版
26、IGListKit:Instagram 推出的一套数据驱动的 UICollectionView 框架,用来创建快速且灵活的列表界面。提供了更简单的使用 UICollectionView 方式,并且支持对自己的数据模型进行自定义 diff 操作,提供更好的架构以复用 Cell 和组件
27、Observable-Swift:一个在 Swift 上实现 KVO 的轻量级工具。简单易用地解决了 Swift 相对于 Objective-C 缺少 Key Value Observing(KVO)的问题
// create a Observable<Int> variable
var x = Observable(0)
// add a handler
x.afterChange += { println("Changed x from \($0) to \($1)") }
// without operators: x.afterChange.add { ... }
// change the value, prints "Changed x from 0 to 42"
x <- 42
// alternativelyL x ^= 42, without operators: x.value = 42
其它
28、AntennaPod:一款免费、开源、没有广告的播客应用(Android 和 iOS)。由播客爱好者用爱开发和维护,支持在线播放和音频下载等功能,同时内置数以百万计的免费和付费播客源,从独立播主到大型新闻机构出版社,如 BBC、NPR 和 CNN 应有尽有,也可自行导入播客源
29、react-resume-site:一款免费的简历在线制作工具。用写 Markdown 的方式制作出好看的简历,在线尝试
30、awesome-compose:丰富且实用的 Docker Compose 示例集合。该项目中的例子可以作为参考和模板,从而快速完成 Docker Compose 的编写
31、tabix:一款 ClickHouse 的 Web 可视化查询和分析工具。通过它可以在浏览器上轻松查询 CH 的数据,还有丰富的图表帮助分析数据,最后还可选择内网搭建或者直接在线使用
32、vulhub:一个面向大众的开源漏洞环境集合。Vulhub 中包含了 180 余个丰富且真实的漏洞与其相应的环境,无需 Docker 知识即可通过一条简单的命令,跑起来一个存在某个漏洞的完整应用。安全研究人员能够方便地复现与研究漏洞,省去了学习复杂的部署知识、寻找有漏洞的旧版本应用、搭建依赖的服务等麻烦,从而可以快速验证修复方案
33、overleaf:一款支持在线协作的 LaTeX 编辑器
开源书籍
34、bitcoinbook:《Mastering Bitcoin 2nd Edition》精通比特币第 2 版
35、python-parallel-programming-cookbook-cn:《Python Parallel Programming Cookbook》Python 并行编程。在线阅读
机器学习
36、imgaug:这是个图像数据增强 Python 库。数据集的数量和质量对于机器学习很重要,而数据增强就是让有限的数据集产生更多的数据,增加训练样本的数量以及多样性。imgaug 就是专为机器学习准备的图像数据增强库
最后
如果你发现了 GitHub 上有趣的项目,就分享给大家伙吧。
以上就是本期的所有内容了,看完还不过瘾?
关注 HelloGitHub 公众号不仅可以收到第一时间的更新。点击菜单栏->往期->月刊
往期月刊所有的内容尽收眼底一次看过瘾!还有更多开源项目的介绍和宝藏项目等待你的发现。