兴趣是最好的老师,HelloGitHub 就是帮你找到兴趣!
分享 GitHub 上有趣、入门级的开源项目。
这是一个面向编程新手、热爱编程、对开源社区感兴趣 人群的月刊,月刊的内容包括:各种编程语言的项目、让生活变得更美好的工具、书籍、学习笔记、教程等,这些开源项目大多都是非常容易上手,而且非常 Cool。主要是希望大家能动手用起来,加入到开源社区中。
- 会编程的可以贡献代码
- 不会编程的可以反馈使用这些工具中的 Bug
- 帮着宣传你觉得优秀的项目
- Star 项目⭐️
在浏览、参与这些项目的过程中,你将学习到更多编程知识、提高编程技巧、找到编程的乐趣。
🎉 最后 HelloGitHub 这个项目就诞生了 🎉
Tips:如果文中的图刷不出来,可以向我们反馈。也可以访问 官网 获取更好的阅读体验。
以下为本期内容|每个月 28 号发布最新一期
1、goaccess:实时 Web 日志分析工具
2、u6a:函数式编程语言 Unlambda 的一个朴素实现,包含字节码编译器和解释器。此项目可以帮助初学者理解函数式编程的思想,并提供了实现函数式编程语言解释器的一些朴素思路。
- 性能优异:运行性能远高于官方实现,且优于多数现有的开源实现
- 稳定可靠:有丰富的测试样例支撑,可靠性高
- 简单朴素:代码简单易读,且提供了实现思路文档,对初学或者完全没有学过编译原理的新手非常友好
3、Netch:一款 Windows 平台的开源游戏加速工具
4、ScheduleMasterCore:一款基于 .NET Core 开发的分布式任务调度系统。支持丰富的调度类型、灵活可控的系统参数、简易的 UI 操作、支持多节点高可用、业务 API 集成等等特性。同时支持多样化的部署方式,容易上手
5、HandyControl:一套 WPF 控件库。它几乎重写了所有原生样式,同时包含 70 余款自定义控件。支持跨平台、国际化,适用于 MVVM 架构开发,扁平化设计、支持动态更换主题和背景色。丰富的自定义控件解决了 View 设计的痛点,让程序员更加专注于业务逻辑的开发
6、CnC_Remastered_Collection:EA 发布的《红警》和《泰伯利亚黎明》游戏源代码
7、chinessChess:基于 Qt5 开发的中国象棋网络对战平台,支持单机和网络对战
8、grmon:Goroutine 的命令行监控工具
9、HackChrome:Go 语言实现的从 Chrome 中获取自动保存的用户名密码工具。目前仅支持 Windows Chrome 中存储的密码,但是很有意思还可以学习怎么用 Go 调用 DLL 动态链接库的姿势
10、seaweedfs:一款基于 Go 开发的部署方便、使用简单且强大的分布式文件系统
11、fate:起中文名工具,去吧!算名先生
12、JApiDocs:一个无需额外注解、开箱即用的 SpringBoot 接口文档生成工具。特性:
- 代码即文档
- 支持导出 HTML
- 同步导出客户端 Model 代码
- 等等
13、PowerJob:基于 Akka 架构的新一代分布式任务调度与计算框架。支持 CRON、API、固定频率、固定延迟等调度策略,支持单机、广播、MapReduce 等多种执行模式,支持在线任务治理与运维,提供 Shell、Python、Java 等功能丰富的任务处理器,提供工作流来编排任务解决依赖关系,使用简单,功能强大,文档齐全。同类产品对比:
14、react-trello:任务状态管理面板组件。实现了拖拽方式管理任务状态,点击即可编辑任务内容
15、perfume.js:用于测量第一个 dom 生成的时间、用户最早可操作时间和组件的生命周期性能的库。示例代码:
perfume.start('fibonacci');
fibonacci(400);
perfume.end('fibonacci');
// Perfume.js: fibonacci 0.14 ms
16、Mongood:MongoDB 图形化的管理工具。特性:
- 基于微软 Fluent UI,支持自动黑暗模式
- 支持完整的 Mongo-shell 数据类型和查询语法,利用索引实现的自动查询和排序
- 支持 Json 数据库模式,既可用于 Server 也可用于 Client
17、TimeCat:一款 JS 的网页录屏工具。参考了游戏录像的原理而实现的渲染引擎,生成的录像文件只有传统视频的百分之一!还可以在录制语音的同时自动生成字幕,导出的视频文件可以跨端播放。目前已经开发一段时间,后续还将实现更多有意思的功能,欢迎持续关注。在线预览
18、react-visual-editor:基于 React 组件的可视化拖拽、搭建页面的代码生成工具。所见即所得,可以完美还原 UI 设计搞,并支持多款型号手机(可配置)和 PC 效果展示,模板功能可以使你分享你的页面或者页面中局部任何部分组件组合,减少相似页面的重复操作。效果如下:
19、elevator.js:一个 back to top 返回顶部的插件。如他的名字一样,网页在返回顶部过程中像电梯向上运行,当页面返回到顶部时,会有电梯“到达”的提示音。叮~页面已到达顶部
20、code6:一款 GitHub 代码泄露监控系统,通过定期扫描 GitHub 发现代码泄露行为。特性:
- 全可视化界面,操作部署简单
- 支持 GitHub 令牌管理及智能调度
- 扫描结果信息丰富,支持批量操作
- 任务配置灵活,可单独配置任务扫描参数
- 支持白名单模式,主动忽略白名单仓库
21、rich:一个让你的终端输出变得“花里胡哨”的三方库。我的一位前辈告诉我,不要整那些花里胡哨的主题和样式,这是在自寻烦恼。可是臣妾做不到啊,这么好看的终端输出,让我的心情都愉悦起来了。瞧那性感的语法高亮、整齐的表格、舒服的颜色、进度条等,一切都是值得的
22、poetry:Python 虚拟环境、依赖管理工具。依赖管理工具有很多,我相上了它有三点:通过单文件 pyproject.toml 便可轻松的区别安装、管理开发和正式环境、有版本锁定可方便回滚、输出界面简单清爽。当然它还是个“新生儿”,尝鲜的风险还是有的,选择须谨慎
23、free-python-games:真入门级的 Python 游戏集合库。都是简单的小游戏:贪吃蛇、迷宫、Pong、猜字等,运行方便、代码简单易懂。用游戏开启的你 Python 学习之旅,玩完再学源码,其乐无穷啊。安装运行:
pip install freegames
python -m freegames.snake # freegames.游戏名
24、py2sec:一款轻量级跨平台 Python “加密”、加速的脚本工具。原理是基于 Cython 将 .py 编译成 run-time libraries 文件:.so(Linux && Mac)或 .pyd(Win),一定程度上实现了“加密”保护源代码的功能。参数详解如下:
-v, --version 显示 py2sec 版本
-h, --help 显示帮助菜单
-p, --pyth Python 的版本,默认为你的 Python 命令绑定的 Python 版本
-d, --directory Python 项目路径(如果使用 -d 参数,将编译整个 Python 项目)
-f, --file Python文件(如果使用 -f,将编译单个 Python 文件)
-m, --maintain 标记你不想编译的文件或文件夹路径
-x --nthread 编译启用的线程数
-q --quiet 静默模式,默认 False
-r --release Release 模式,清除所有中间文件,只保留加密结果文件,默认 False
python py2sec.py -f test.py
python py2sec.py -f example/test1.py -r
python py2sec.py -d example/ -m test1.py,bbb/
25、oxfs:一个基于 sftp 协议的 fuse 网络文件系统,功能上类似于 sshfs。特性:
- 引入了异步并发读远端文件机制,提高了文件首次读速度。
- 缓存持久化到本地磁盘,下次挂载时访问更加快速。
- 异步任务负责同步文件,避免低速的网络读写阻塞上层应用。
26、Aerial:炫酷的苹果系统屏保项目。该屏保视频取材自苹果零售店 Apple TV 的专用屏保,航拍质量超棒,快换上试试吧。直接下载 Aerial.saver.zip 文件,解压后双击文件“即可食用”
27、shan-shui-inf:自动生成一副山水画
28、kuboard-press:一款基于 Kubernetes 的微服务管理界面。包含文档、教程、管理界面和实战分享
29、vscode-rainbow-fart:一款在你编程时花式夸你的 VSCode 扩展插件。可以根据代码关键字,播放贴近代码意义的真人语音,并且有一个醒目的项目名字“彩虹屁”
30、flink-training-course:Flink 视频直播教程回放集合
31、raft-zh_cn:《分布式 Raft 一致性算法论文》中文翻译
32、GitHub-Chinese-Top-Charts:每周更新一次的 GitHub 中文项目排行榜
33、go-ast-book:《Go语法树入门:开启自制编程语言和编译器之旅》
34、Surprise:一款简单易用基于 Python scikit 的推荐系统。如果你想用 Python 上手做一套推荐系统,那你可以试试它
35、djl:亚马逊开源的一款基于 Java 语言的深度学习框架。对于 Java 开发者而言,可以在 Java 中开发及应用原生的机器学习和深度学习模型,同时简化了深度学习开发的难度。通过 DJL 提供直观的、高级的 API,Java 开发人员可以训练自己的模型,或者利用数据科学家用 Python 预先训练好的模型来进行推理。如果您恰好是对学习深度学习感兴趣的 Java 开发者,那么这个项目完全对口。运行效果如下:
36、data-science-ipython-notebooks:数据科学的 IPython 集合。包含:TensorFlow、Theano、Caffe、scikit-learn、Spark、Hadoop、MapReduce、matplotlib、pandas、SciPy 等方方面面
看完了,还不够?<科技爱好者周刊>。还不过瘾,那就看看 <往期内容>吧。
点击分享发现的有趣项目
本作品采用 署名-非商业性使用-禁止演绎 4.0 国际 进行许可。