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

简介
HelloGitHub 同享 GitHub 上有趣、入门级的开源项目。
github.com/521xueweiha…
这里有实战项目、入门教程、黑科技、开源书本、大厂开源项目等,包含多种编程言语 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、Windows

6、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 东西
import { PrismaClient } from '@prisma/client'
const prisma = new PrismaClient()
// A `main` function so that you can use async/await
async 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()
})

Objective-C 项目
23、vienna-rss:适用于 macOS 的免费 RSS 订阅东西

PHP 项目
24、laravel-tips:Laravel 编码技巧调集。中文
25、PHPWord:供给了读/写多种文档文件格局的 PHP 库。支撑 Microsoft Office、富文本(RTF)等文档格局
<?php
require_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 rumps
class 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 装置 spleeter
pip install spleeter
# 提取人声
spleeter separate -p spleeter:2stems -o output 音频.mp3
最终
假如你发现了 GitHub 上有趣的项目,就同享给大家伙吧。
以上便是本期的一切内容了,往期内容点击阅览
感谢您的阅览,假如觉得本期内容还不错的话 求赞、求同享,您的支撑将让 HelloGitHub 变得更好!❤️