HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。
这里有实战项目、入门教程、黑科技、开源书本、大厂开源项目等,涵盖多种编程措辞 Python、Java、Go、C/C++、Swift...让你在短韶光内感想熏染到开源的魅力,对编程产生兴趣!

以下为本期内容|每个月 28 号更新
C 项目1、quadsort:一种比快速排序快,稳定的归并排序算法。项目包含事理讲解、C 措辞实现、性能比拟和排序过程
2、minilisp:用 1000 行 C 措辞写的 Lisp 阐明器。实现了整数、符号、局部变量、条件语句、宏和垃圾回收等功能,为了让读者更好地理解项目,代码中包含了丰富的注释
(println 3) ; prints "3"(+ 1 2 3) ; -> 6(define a (+ 1 2))(+ a a) ; -> 6
3、mpv:功能强大、免费开源、支持多平台的极简播放器。底层采取了 MPlayer、mplayer2 和 FFmpeg 等开源项目,支持多种音视频格式、高清视频、GPU 解码、自定义等功能,追求极简的命令行启动+快捷键操作办法,让它成为了技能爱好者的首选视频播放器
C# 项目
4、jynew:采取 Unity 重制的《金庸群侠传》3D 版
C++ 项目
5、cutter:一款免费开源的逆向工程平台。采取 Rizin 作为核心引擎并集成了 Ghidra 反编译器,它界面简洁功能强大,深受逆向工程师们的喜好
支持多种措辞和主题二进制搜索十六进制编辑器Python 脚本和插件支持 Linux、macOS、Windows6、bpftrace:Linux 高等追踪工具和措辞。该工具基于 eBPF 和 BBC 实现了通过探针机制采集内核和程序运行的信息,然后用图表等办法将信息展示出来,帮助开拓者找到隐蔽较深的 Bug、安全问题和性能瓶颈
7、Cataclysm-DDA:《大灾变:阴郁之日》是一款以天下末日为背景的生存游戏。游戏中没有任何任务,唯一的目标便是活下去。玩家可以通过探求食品、装备等资源建造避难所,还支持车辆改装、制作物品等特色机制,支持 Windows、Linux、macOS、Android 系统
CSS 项目
8、heti:专为中文内容展示设计的排版样式。它会让你的中文网站变得好看
贴合网格的排版全标签样式美化预置多种排版样式简/繁体中文支持移动端支持Go 项目9、k9s:监控和管理 K8s 集群的命令行工具。它安装大略功能完好,命令行交互的操作办法可以轻松地办理日常问题
10、kind:利用 Docker 容器作为节点,在本地快速运行起 Kubernetes 集群的工具。通过该工具可以快速创建媲美 k8s 原生确当地环境,而且占用资源相对较少启动速率快。多用于本地开拓和测试 k8s 原生组件,不能用于线上环境
11、air:有代码变动就会自动重启做事的 Go 工具。在开拓 Go Web 项目时,每次修正后都须要手动编译、重启做事,这个工具会在文件和目录发生变动后,自动编译并重启做事,大大提高了开拓效率
12、juicefs:高性能 POSIX 共享文件系统。像利用本地存储一样高效利用海量云端存储,可同时被多台主机同时挂载读写
13、sniffer:用于查看进程和连接的流量情形的命令行工具。界面简洁都雅,支持进程、Socket 平分轻视角查看流量数据
Java 项目
14、AndResGuard:稠浊压缩 APK 的工具。事理是采取资源稠浊的办法,不涉及编译过程仅通过变短资源路径实现压缩和稠浊,利用方法大略只需传入一个打包好的 APK 文件
15、datahub:基于 Java 开拓的元数据管理平台,可接入 Hive、Kafka、ES、MySQL 等数据源。随着公司业务的发展,数据的繁芜度会呈指数倍增长,通过文档和口口相传的办法管理数据关系的办法终将被淘汰。如果你体验过到处问数据库的字段含义、没捋清某个字段导致线上事件、剖析数据毫无头绪等情形。这个时候就须要元数据管理平台,它供应浏览、搜索和管理每个字段的含义、关系、来源等信息,通过元数据的办法更好的管理和挖掘数据的代价
16、termux-app:运行在 Android 上的开源终端仿照器。供应了 Linux 环境和 Shell 通过自带的包管理器,能够在手机上安装和运行 ssh、Python、gcc、htop、git、vim 等工具
17、questdb:高性能的开源时序数据库。该项目紧张采取 Java 代码实现,它通过面向列的存储引擎、并行实行、SIMD 指令等技能实现了出色的写入和查询性能,多用于物联网、机器学习、金融等场景。还供应了 SQL 查询办法以及交互式的 Web 操作平台,一款值得期待的开源数据库
18、addax:支持多种异构数据源离线同步工具。做事于大数据的 ETL 工具,可快速实现 MySQL、HDFS、Hive、HBase 等数据源之间的数据同步,紧张用于离线采集各种数据到数据仓库或者大数据平台
JavaScript 项目
19、arco-design:基于 ArcoDesign 的 React/Vue UI 组件库。包含 60 多个开箱即用的高质量组件,还供应了可视化的样式配置平台,可用于快速构建企业级管理后台
import React from 'react';import ReactDOM from 'react-dom';import { Button } from '@arco-design/web-react';import '@arco-design/web-react/dist/css/arco.css';function App() { return ( <Button type='secondary'> Hello World </Button> );}ReactDOM.render(<App ></App>, document.getElementById('app'));
20、context-note:带高下文的网页条记浏览器插件。大多数时候我们利用书签来标记网站链接,但在一些特定的场景中比如阅读文章和浏览信息时,就须要对特定的句子及其高下文进行标记。这个项目提取了信息的内容和位置,有高下文随意马虎回顾,一键跳转方便溯源
21、S2:高性能多维交叉剖析表格工具。供应 KPI 趋势表、占比表、比拟表等多种表格样式,开箱即用上手简单拥有详细的文档。通过按需渲染和虚拟滚动等办法,实现在百万级数据量秒级渲染、滚动不卡顿
22、prisma:适用于 Node.js 和 TypeScript 的 ORM。支持主流数据库可用于开拓 REST API、GraphQL API、gRPC API 等任何必要连接数据库的程序,项目还包括了数据迁移工具和管理数据的 GUI 工具
Objective-C 项目
import { PrismaClient } from '@prisma/client'const prisma = new PrismaClient()// A `main` function so that you can use async/awaitasync function main() { const allUsers = await prisma.user.findMany({ include: { posts: true }, }) // use `console.dir` to print nested objects console.dir(allUsers, { depth: null })}main() .catch((e) => { throw e }) .finally(async () => { await prisma.$disconnect() })
23、vienna-rss:适用于 macOS 的免费 RSS 订阅工具
PHP 项目
24、laravel-tips:Laravel 编码技巧凑集
25、PHPWord:供应了读/写多种文档文件格式的 PHP 库。支持 Microsoft Office、富文本(RTF)等文档格式
<?phprequire_once 'bootstrap.php';// 新建文档$phpWord = new \PhpOffice\PhpWord\PhpWord();// Adding an empty Section to the document...$section = $phpWord->addSection();// Adding Text element to the Section having font styled by default...$section->addText( '"Learn from yesterday, live for today, hope for tomorrow. ' . 'The important thing is not to stop questioning." ' . '(Albert Einstein)');
Python 项目26、orjson:更快更强的 Python JSON 库。支持比如日期、numpy 数组等丰富的数据类型,而且速率更快
>>> import orjson, datetime, numpy>>> data = { "type": "job", "created_at": datetime.datetime(1970, 1, 1), "status": "", "payload": numpy.array([[1, 2], [3, 4]]),}>>> orjson.dumps(data, option=orjson.OPT_NAIVE_UTC | orjson.OPT_SERIALIZE_NUMPY)b'{"type":"job","created_at":"1970-01-01T00:00:00+00:00","status":"\xf0\x9f\x86\x97","payload":[[1,2],[3,4]]}'>>> orjson.loads(_){'type': 'job', 'created_at': '1970-01-01T00:00:00+00:00', 'status': '', 'payload': [[1, 2], [3, 4]]}
27、tiler:将图片转化成各种较小图块拼接成的图像工具。马赛克风格的图片转化工具,支持自定义拼接图案和符号。工具实用方便、代码大略易懂,适宜对图像感兴趣的小伙伴学习和上手
28、rumps:大略的 macOS 状态栏 Python 库
其它
import rumpsclass AwesomeStatusBarApp(rumps.App): @rumps.clicked("Preferences") def prefs(self, _): rumps.alert("jk! no preferences available!") @rumps.clicked("Silly button") def onoff(self, sender): sender.state = not sender.state @rumps.clicked("Say hi") def sayhi(self, _): rumps.notification("Awesome title", "amazing subtitle", "hi!!1")if __name__ == "__main__": AwesomeStatusBarApp("Awesome App").run()
29、Simula:Linux 上的 VR 窗口管理工具。通过该工具+VR 设备可轻松实现“目光所及皆桌面”的效果,它基于 Godot 开拓安装大略实用方便,支持 HTC Vive Pro、Valve Index 等 VR 设备
30、penpot:开源的设计和原型在线平台。它不仅完备免费还供应 Docker 自建和在线利用,而且支持中文和团队共享。缺陷是平台供应的组件太少了,第一次上手须要自己从形状开始搞,不过可以自定义组件做到一劳永逸。如果你在探求开源、免费的原型设计平台,不妨试试它
31、design-resources-for-developers:设计资源凑集。项目包含了图片、网站模版、CSS 框架、UI 等资源
32、koreader:电子墨水(E-Ink)设备的开源阅读软件。适用于 Kindle、Kobo、PocketBook、Android 和 Linux 等设备,拥有设置字体、行距、文本样式等功能,最厉害的是适应水墨屏设备的 PDF 文件排版优化功能,极大的提高了 PDF 文件在 Kindle 等设备的阅读体验
33、tabby:高颜值的终端工具。功能强大高度可配置,适用于 Windows、macOS、Linux 操作系统
支持自定义主题和配色可配置快捷键和组合键集成了 SSH、Telnet 等连接分割窗口等等34、doomcaptcha:毁灭战士射击游戏形式的验证码
35、wsa_pacman:轻松地在 Windows11 安装 Android 运用的桌面临象。利用该工具可以实现双击安装 Android 运用,基于系统自带的 WSA 实现,不须要安装第三方仿照器
36、appflowy:开源条记工具。基于 Flutter 开拓适用于各种操作系统,目标是成为 Notion 的代替品
开源书本
37、school-of-sre:领英开源的成为 SRE(网站可靠性工程师)的入门级教程。内容涵盖 Web、Linux、Git、打算机网络、数据库、安全等方面
38、everything-curl:《关于 curl 的所有东西》。由 curl 项目发起者撰写的书,内容包括 curl 入门、开源、源码、项目等方面
机器学习
39、ML-For-Beginners:微软开源的入门级机器学习教程
40、spleeter:基于 Tensorflow 实现的音轨分离工具。可以用于提取音乐中的人声、鼓、钢琴等乐器
# 用 conda 安装依赖conda install -c conda-forge ffmpeg libsndfile# 用 pip 安装 spleeterpip install spleeter# 提取人声spleeter separate -p spleeter:2stems -o output 音频.mp3
末了以上便是本期的所有内容了,感谢您的阅读!
如果以为本期内容还不错的话 求赞、求分享,您的支持将让 HelloGitHub 变得更好!
❤️