社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

《HelloGitHub》第 69 期

HelloGitHub • 3 年前 • 508 次点击  

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

简介

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

https://github.com/521xueweihan/HelloGitHub

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


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

C 项目

1、quadsort:一种比快速排序快,稳定的归并排序算法。项目包含原理讲解、C 语言实现、性能对比和排序过程

地址:https://github.com/scandum/quadsort

2、minilisp:用 1000 行 C 语言写的 Lisp 解释器。实现了整数、符号、局部变量、条件语句、宏和垃圾回收等功能,为了让读者更好地理解项目,代码中包含了丰富的注释

(println 3)  ; prints "3"
(+ 1 2 3)  ; -> 6
(define a (+ 1 2))
(+ a a)  ; -> 6

地址:https://github.com/rui314/minilisp

3、mpv:功能强大、免费开源、支持多平台的极简播放器。底层采用了 MPlayer、mplayer2 和 FFmpeg 等开源项目,支持多种音视频格式、高清视频、GPU 解码、自定义等功能,追求极简的命令行启动+快捷键操作方式,让它成为了技术爱好者的首选视频播放器

地址:https://github.com/mpv-player/mpv

C# 项目

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

地址:https://github.com/jynew/jynew

C++ 项目

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

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

地址:https://github.com/rizinorg/cutter

6、bpftrace:Linux 高级追踪工具和语言。该工具基于 eBPF 和 BBC 实现了通过探针机制采集内核和程序运行的信息,然后用图表等方式将信息展示出来,帮助开发者找到隐藏较深的 Bug、安全问题和性能瓶颈

地址:https://github.com/iovisor/bpftrace

7、Cataclysm-DDA:《大灾变:黑暗之日》是一款以世界末日为背景的生存游戏。游戏中没有任何任务,唯一的目标就是活下去。玩家可以通过寻找食物、装备等资源建造避难所,还支持车辆改装、制作物品等特色机制,支持 Windows、Linux、macOS、Android 系统

地址:https://github.com/CleverRaven/Cataclysm-DDA

CSS 项目

8、heti:专为中文内容展示设计的排版样式。它会让你的中文网站变得好看

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

地址:https://github.com/sivan/heti

Go 项目

9、k9s:监控和管理 K8s 集群的命令行工具。它安装简单功能齐全,命令行交互的操作方式可以轻松地解决日常问题

地址:https://github.com/derailed/k9s

10、kind:使用 Docker 容器作为节点,在本地快速运行起 Kubernetes 集群的工具。通过该工具可以快速创建媲美 k8s 原生的本地环境,而且占用资源相对较少启动速度快。多用于本地开发和测试 k8s 原生组件,不能用于线上环境

地址:https://github.com/kubernetes-sigs/kind

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

地址:https://github.com/cosmtrek/air

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

地址:https://github.com/juicedata/juicefs

13、sniffer:用于查看进程和连接的流量情况的命令行工具。界面简洁美观,支持进程、Socket 等不同视角查看流量数据

地址:https://github.com/chenjiandongx/sniffer

Java 项目

14、AndResGuard:混淆压缩 APK 的工具。原理是采用资源混淆的方式,不涉及编译过程仅通过变短资源路径实现压缩和混淆,使用方法简单只需传入一个打包好的 APK 文件

地址:https://github.com/shwenzhang/AndResGuard

15、datahub:基于 Java 开发的元数据治理平台,可接入 Hive、Kafka、ES、MySQL 等数据源。随着公司业务的发展,数据的复杂度会呈指数倍增长,通过文档和口口相传的方式管理数据关系的方式终将被淘汰。如果你体验过到处问数据库的字段含义、没捋清某个字段导致线上事故、分析数据毫无头绪等情况。这个时候就需要元数据治理平台,它提供浏览、搜索和管理每个字段的含义、关系、来源等信息,通过元数据的方式更好的治理和挖掘数据的价值

地址:https://github.com/linkedin/datahub

16、termux-app:运行在 Android 上的开源终端模拟器。提供了 Linux 环境和 Shell 通过自带的包管理器,能够在手机上安装和运行 ssh、Python、gcc、htop、git、vim 等工具

地址:https://github.com/termux/termux-app

17、questdb:高性能的开源时序数据库。该项目主要采用 Java 代码实现,它通过面向列的存储引擎、并行执行、SIMD 指令等技术实现了出色的写入和查询性能,多用于物联网、机器学习、金融等场景。还提供了 SQL 查询方式以及交互式的 Web 操作平台,一款值得期待的开源数据库

地址:https://github.com/questdb/questdb

18、addax:支持多种异构数据源离线同步工具。服务于大数据的 ETL 工具,可快速实现 MySQL、HDFS、Hive、HBase 等数据源之间的数据同步,主要用于离线采集各类数据到数据仓库或者大数据平台

地址:https://github.com/wgzhao/addax

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

地址:https://github.com/arco-design/arco-design

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

地址:https://github.com/betterRunner/context-note

21、S2:高性能多维交叉分析表格工具。提供 KPI 趋势表、占比表、对比表等多种表格样式,开箱即用上手简单拥有详细的文档。通过按需渲染和虚拟滚动等方式,实现在百万级数据量秒级渲染、滚动不卡顿

地址:https://github.com/antvis/S2

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: { poststrue },
  })
  // use `console.dir` to print nested objects
  console.dir(allUsers, { depthnull })
}

main()
  .catch((e) => {
    throw e
  })
  .finally(async () => {
    await prisma.$disconnect()
  })

地址:https://github.com/prisma/prisma

Objective-C 项目

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

地址:https://github.com/ViennaRSS/vienna-rss

PHP 项目

24、laravel-tips:Laravel 编码技巧集合

地址:https://github.com/LaravelDaily/laravel-tips

25、PHPWord:提供了读/写多种文档文件格式的 PHP 库。支持 Microsoft Office、富文本(RTF)等文档格式


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

地址:https://github.com/PHPOffice/PHPWord

Python 项目

26、orjson:更快更强的 Python JSON 库。支持比如日期、numpy 数组等丰富的数据类型,而且速度更快

>>> import orjson, datetime, numpy
>>> data = {
    "type""job",
    "created_at": datetime.datetime(197011),
    "status""🆗",
    "payload": numpy.array([[12], [34]]),
}
>>> 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': [[12], [34]]}

地址:https://github.com/ijl/orjson

27、tiler:将图片转化成各种较小图块拼接成的图像工具。马赛克风格的图片转化工具,支持自定义拼接图案和符号。工具实用方便、代码简单易懂,适合对图像感兴趣的小伙伴学习和上手

地址:https://github.com/nuno-faria/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()

地址:https://github.com/jaredks/rumps

其它

29、Simula:Linux 上的 VR 窗口管理工具。通过该工具+VR 设备可轻松实现“目光所及皆桌面”的效果,它基于 Godot 开发安装简单实用方便,支持 HTC Vive Pro、Valve Index 等 VR 设备

地址:https://github.com/SimulaVR/Simula

30、penpot:开源的设计和原型在线平台。它不仅完全免费还提供 Docker 自建和在线使用,而且支持中文和团队共享。缺点是平台提供的组件太少了,第一次上手需要自己从形状开始搞,不过可以自定义组件做到一劳永逸。如果你在寻找开源、免费的原型设计平台,不妨试试它

地址:https://github.com/penpot/penpot

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

地址:https://github.com/bradtraversy/design-resources-for-developers

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

地址:https://github.com/koreader/koreader

33、tabby:高颜值的终端工具。功能强大高度可配置,适用于 Windows、macOS、Linux 操作系统

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

地址:https://github.com/Eugeny/tabby

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

地址:https://github.com/vivirenremoto/doomcaptcha

35、wsa_pacman:轻松地在 Windows11 安装 Android 应用的桌面工具。使用该工具可以实现双击安装 Android 应用,基于系统自带的 WSA 实现,不需要安装第三方模拟器

地址:https://github.com/alesimula/wsa_pacman

36、appflowy:开源笔记工具。基于 Flutter 开发适用于各种操作系统,目标是成为 Notion 的代替品

地址:https://github.com/AppFlowy-IO/appflowy

开源书籍

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

地址:https://github.com/linkedin/school-of-sre

38、everything-curl:《关于 curl 的所有东西》。由 curl 项目发起者撰写的书,内容包括 curl 入门、开源、源码、项目等方面

地址:https://github.com/bagder/everything-curl

机器学习

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

地址:https://github.com/microsoft/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

地址:https://github.com/deezer/spleeter

最后

感谢您的阅读,如果觉得本期内容还不错的话 求赞、求分享,您的支持将让 HelloGitHub 变得更好!❤️

找开源项目就用 HelloGitHub 小程序

安装和运行开源项目遇到问题,就看这篇文章

以上就是第 69 期的全部内容,最后提前祝大家元旦快乐

👆 关注「HelloGitHub」第一时间收到更新👆

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/125000
 
508 次点击