兴趣是最好的老师,HelloGitHub 让你对编程感兴趣!
分享 GitHub 上有趣、入门级的开源项目。
这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 Python 、Java 、Go 、C/C++、Swift...让你在短时间内感受到开源的魅力,对编程产生兴趣!
HelloGitHub 截止:2021.5.27 已获得 4.2 万星,感谢大家点亮的每一个 ✨
以下为本期内容|每个月 28 号更新
1 、discount:一个用 C 语言编写的 Markdown 实现,可以轻松将 MD 文档转换为 HTML 格式
2 、maui:微软官方开源的 .NET 跨平台 UI 框架。这将意味着同一套代码和原生 UI 可以跑在几乎所有的设备上
3 、EarTrumpet:一款 Windows 系统上的音量控制小工具
4 、kvrocks:基于 RocksDB 并兼容 Redis 协议的 NoSQL 数据库。磁盘类型的 Redis 为降低存储成本而生,存储成本可以降到 Redis 的 1/3 以上
5 、stylus-shortcut:基于 stylus 实现的快速编写 CSS 样式的库
6 、pattern.css:用漂亮的图形填充背景的 CSS 库
7 、Cloudreve:支持多种存储服务的云文件桌面管理工具。开箱即用,功能丰富
8 、duf:一款查看磁盘空间情况的命令行工具,足以代替 df 命令。它上手简单使用方便,界面简洁且友好同时支持 Linux 、macOS 和 Windows 操作系统
9 、bubbletea:一个强大的 TUI (文本用户界面)框架。Bubble Tea 非常适合构建复杂交互的终端应用程序,同时还能让命令行程序变得多彩和炫酷
10 、rosedb:一个完全用 Go 写的 Key-Value 数据库。rosedb 适合在找 Go 实战项目的小伙伴们,因为项目代码简洁、注释清晰,配上作者录制的讲解视频。你可以从中学到 Go 相关的知识
11 、cointop:用于追踪加密货币行情的命令行工具。界面仿照 htop 支持类似 Vim 的快捷键,程序员摸鱼神器。在线体验
12 、onedev:一个用 Java 写的 Git 仓库管理平台。包含 Git 版本管理、持续集成、Issue 管理、代码搜索和审查等功能
13 、Apktool:反编译 Android 安装包 APK 文件的工具
14 、amis:通过 JSON 配置就能生成各种后台页面。这是百度开源的前端低代码框架,中文文档快速上手
15 、playground-macos:模拟 macOS 桌面样式的个人简介展示页
16 、use-gesture:丰富鼠标和触摸手势的 React 库
17 、Ink-wash-docs:一款基于 egg.js+Vue.js 的在线文档管理平台。功能包含:文档编辑和预览、团队管理、访问权限、协作编辑等
18 、tachiyomi:一款免费、开源的安卓漫画阅读器。支持:
19 、UTM:运行在 iOS 和 macOS 系统上的虚拟机。通过 UTM 你可以在无需“越狱”的情况下,在 iPhone 和 iPad 上运行 Windows 、Linux 等操作系统
20 、github-profile-views-counter:用来展示 GitHub 个人首页被访问次数的项目。使用方法:![]( https://komarev.com/ghpvc/?username=your-github-username&color=dc143c)
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 )协议实现文件在公网的加密传输,发送和接收均仅需一条命令
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 上有趣的项目,就分享给大家伙吧。