开源月刊《HelloGitHub》第 62 期

兴趣是最好的老师,HelloGitHub 让你对编程感兴趣!

简介

分享 GitHub 上有趣、入门级的开源项目。

这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 Python、Java、Go、C/C++、Swift...让你在短时间内感受到开源的魅力,对编程产生兴趣!

项目地址:https://github.com/521xueweihan/HelloGitHub

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:支持多种存储服务的云文件桌面管理工具。开箱即用,功能丰富

8、duf:一款查看磁盘空间情况的命令行工具,足以代替 df 命令。它上手简单使用方便,界面简洁且友好同时支持 Linux、macOS 和 Windows 操作系统

9、bubbletea:一个强大的 TUI(文本用户界面)框架。Bubble Tea 非常适合构建复杂交互的终端应用程序,同时还能让命令行程序变得多彩和炫酷

10、rosedb:一个完全用 Go 写的 Key-Value 数据库。rosedb 适合在找 Go 实战项目的小伙伴们,因为项目代码简洁、注释清晰,配上作者录制的讲解视频。你可以从中学到 Go 相关的知识

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 上有趣的项目,就分享给大家伙吧。

  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    345 引用 • 3267 回帖 • 516 关注
  • JavaScript

    JavaScript 一种动态类型、弱类型、基于原型的直译式脚本语言,内置支持类型。它的解释器被称为 JavaScript 引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 HTML 网页上使用,用来给 HTML 网页增加动态功能。

    683 引用 • 1139 回帖 • 665 关注
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    2936 引用 • 8125 回帖 • 658 关注
  • Python

    Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    482 引用 • 651 回帖 • 379 关注

广告 我要投放

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...