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

《HelloGitHub》第 69 期

简介

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

github.com/521xueweiha…

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


以下为本期内容|每个月 28 号更新

C 项目

1、quadsort:一种比快速排序快,安稳的归并排序算法。项目包含原了解说、C 言语完成、功用比照和排序进程

《HelloGitHub》第 69 期

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 解码、自定义等功用,追求极简的命令行发动+快捷键操作方法,让它成为了技能爱好者的首选视频播放器

《HelloGitHub》第 69 期

C# 项目

4、jynew:采用 Unity 重制的《金庸群侠传》3D 版

《HelloGitHub》第 69 期

C++ 项目

5、cutter:一款免费开源的逆向工程渠道。采用 Rizin 作为中心引擎并集成了 Ghidra 反编译器,它界面简练功用强大,深受逆向工程师们的喜爱

  • 支撑多种言语和主题
  • 二进制查找
  • 十六进制编辑器
  • Python 脚本和插件
  • 支撑 Linux、macOS、Windows

《HelloGitHub》第 69 期

6、bpftrace:Linux 高档追寻东西和言语。该东西根据 eBPF 和 BBC 完成了经过探针机制收集内核和程序运转的信息,然后用图表等方法将信息展现出来,协助开发者找到躲藏较深的 Bug、安全问题和功用瓶颈

《HelloGitHub》第 69 期

7、Cataclysm-DDA:《大灾变:黑暗之日》是一款以世界末日为布景的生存游戏。游戏中没有任何任务,仅有的方针便是活下去。玩家能够经过寻觅食物、装备等资源建造避难所,还支撑车辆改装、制作物品等特征机制,支撑 Windows、Linux、macOS、Android 体系。下载地址

《HelloGitHub》第 69 期

CSS 项目

8、heti:专为中文内容展现规划的排版款式。它会让你的中文网站变得好看

  • 贴合网格的排版
  • 全标签款式美化
  • 预置多种排版款式
  • 简/繁体中文支撑
  • 移动端支撑

《HelloGitHub》第 69 期

Go 项目

9、k9s:监控和办理 K8s 集群的命令行东西。它装置简略功用完全,命令行交互的操作方法能够轻松地处理日常问题

《HelloGitHub》第 69 期

10、kind:运用 Docker 容器作为节点,在本地快速运转起 Kubernetes 集群的东西。经过该东西能够快速创立比美 k8s 原生的本地环境,并且占用资源相对较少发动速度快。多用于本地开发和测验 k8s 原生组件,不能用于线上环境

《HelloGitHub》第 69 期

11、air:有代码变化就会主动重启服务的 Go 东西。在开发 Go Web 项目时,每次修改后都需求手动编译、重启服务,这个东西会在文件和目录产生变化后,主动编译并重启服务,大大提高了开发效率

《HelloGitHub》第 69 期

12、juicefs:高功用 POSIX 同享文件体系。像运用本地存储一样高效运用海量云端存储,可同时被多台主机同时挂载读写

《HelloGitHub》第 69 期

13、sniffer:用于检查进程和衔接的流量状况的命令行东西。界面简练美观,支撑进程、Socket 等不同视角检查流量数据

《HelloGitHub》第 69 期

Java 项目

14、AndResGuard:混杂紧缩 APK 的东西。原理是采用资源混杂的方法,不触及编译进程仅经过变短资源途径完成紧缩和混杂,运用方法简略只需传入一个打包好的 APK 文件

15、datahub:根据 Java 开发的元数据办理渠道,可接入 Hive、Kafka、ES、MySQL 等数据源。跟着公司事务的发展,数据的复杂度会呈指数倍增加,经过文档和口口相传的方法办理数据联系的方法终将被淘汰。假如你体会过处处问数据库的字段意义、没捋清某个字段导致线上事端、剖析数据毫无头绪等状况。这个时分就需求元数据办理渠道,它供给阅览、查找和办理每个字段的意义、联系、来源等信息,经过元数据的方法更好的办理和发掘数据的价值。在线体会

《HelloGitHub》第 69 期

16、termux-app:运转在 Android 上的开源终端模拟器。供给了 Linux 环境和 Shell 经过自带的包办理器,能够在手机上装置和运转 ssh、Python、gcc、htop、git、vim 等东西

《HelloGitHub》第 69 期

17、questdb:高功用的开源时序数据库。该项目首要采用 Java 代码完成,它经过面向列的存储引擎、并行执行、SIMD 指令等技能完成了超卓的写入和查询功用,多用于物联网、机器学习、金融等场景。还供给了 SQL 查询方法以及交互式的 Web 操作渠道,一款值得等待的开源数据库

《HelloGitHub》第 69 期

18、addax:支撑多种异构数据源离线同步东西。服务于大数据的 ETL 东西,可快速完成 MySQL、HDFS、Hive、HBase 等数据源之间的数据同步,首要用于离线收集各类数据到数据仓库或者大数据渠道

《HelloGitHub》第 69 期

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'));

《HelloGitHub》第 69 期

20、context-note:带上下文的网页笔记阅览器插件。大多数时分我们运用书签来标记网站链接,但在一些特定的场景中比方阅览文章和阅览信息时,就需求对特定的语句及其上下文进行标记。这个项目提取了信息的内容和方位,有上下文简略回顾,一键跳转便利溯源

《HelloGitHub》第 69 期

21、S2:高功用多维交叉剖析表格东西。供给 KPI 趋势表、占比表、比照表等多种表格款式,开箱即用上手简略拥有具体的文档。经过按需烘托和虚拟翻滚等方法,完成在百万级数据量秒级烘托、翻滚不卡顿。在线体会

《HelloGitHub》第 69 期

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()
  })

《HelloGitHub》第 69 期

Objective-C 项目

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

《HelloGitHub》第 69 期

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:将图片转化成各种较小图块拼接成的图画东西。马赛克风格的图片转化东西,支撑自定义拼接图画和符号。东西有用便利、代码简略易懂,适合对图画感爱好的小伙伴学习和上手

《HelloGitHub》第 69 期

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()

《HelloGitHub》第 69 期

其它

29、Simula:Linux 上的 VR 窗口办理东西。经过该东西+VR 设备可轻松完成“目光所及皆桌面”的效果,它根据 Godot 开发装置简略有用便利,支撑 HTC Vive Pro、Valve Index 等 VR 设备

《HelloGitHub》第 69 期

30、penpot:开源的规划和原型在线渠道。它不仅完全免费还供给 Docker 自建和在线运用,并且支撑中文和团队同享。缺点是渠道供给的组件太少了,第一次上手需求自己从形状开端搞,不过能够自定义组件做到一劳永逸。假如你在寻觅开源、免费的原型规划渠道,无妨试试它。在线测验

《HelloGitHub》第 69 期

31、design-resources-for-developers:规划资源调集。项目包含了图片、网站模版、CSS 框架、UI 等资源

《HelloGitHub》第 69 期

32、koreader:电子墨水(E-Ink)设备的开源阅览软件。适用于 Kindle、Kobo、PocketBook、Android 和 Linux 等设备,拥有设置字体、行距、文本款式等功用,最厉害的是习惯水墨屏设备的 PDF 文件排版优化功用,极大的提高了 PDF 文件在 Kindle 等设备的阅览体会

《HelloGitHub》第 69 期

33、tabby:高颜值的终端东西。功用强大高度可装备,适用于 Windows、macOS、Linux 操作体系

  • 支撑自定义主题和配色
  • 可装备快捷键和组合键
  • 集成了 SSH、Telnet 等衔接
  • 分割窗口
  • 等等

《HelloGitHub》第 69 期

34、doomcaptcha:毁灭战士射击游戏形式的验证码。在线测验

《HelloGitHub》第 69 期

35、wsa_pacman:轻松地在 Windows11 装置 Android 使用的桌面东西。运用该东西能够完成双击装置 Android 使用,根据体系自带的 WSA 完成,不需求装置第三方模拟器

《HelloGitHub》第 69 期

36、appflowy:开源笔记东西。根据 Flutter 开发适用于各种操作体系,方针是成为 Notion 的代替品

《HelloGitHub》第 69 期

开源书本

37、school-of-sre:领英开源的成为 SRE(网站可靠性工程师)的入门级教程。内容包含 Web、Linux、Git、计算机网络、数据库、安全等方面

《HelloGitHub》第 69 期

38、everything-curl:《关于 curl 的一切东西》。由 curl 项目发起者撰写的书,内容包含 curl 入门、开源、源码、项目等方面。在线阅览

《HelloGitHub》第 69 期

机器学习

39、ML-For-Beginners:微软开源的入门级机器学习教程

《HelloGitHub》第 69 期

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 变得更好!❤️

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。