《HelloGitHub》第 92 期

news2024/11/17 9:28:30

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

47a8bd059e6aaf9fdd5ce1c0ecc57ead.jpeg

简介

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

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

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


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

C 项目

1、activate-linux:将"Activate Windows"水印移植到 Linux 系统。这是一个可以在桌面系统的右下角,显示“激活 Windows” 字样的小工具,就是图一乐。

596e5657aa38942adfdbd862dd5264ec.jpeg

地址:https://github.com/MrGlockenspiel/activate-linux

2、kew:一款 C 语言写的命令行音乐播放器。适用于 Linux 系统的命令行音乐播放器,支持搜索音乐、播放列表、专辑封面等功能。

a5d154b069bebe67a91c3e9dafcea866.jpeg

地址:https://github.com/ravachol/kew

C# 项目

3、EGamePlay:一款基于 Unity 引擎的灵活战斗框架。这是一个灵活、通用、轻量的游戏战斗/技能框架,配置可选择 ScriptableObject 或 Excel 表格。内含 RPG、回合制、技能调试等示例,以及《如何实现一个战斗系统》的教程。

d6cd62fa6e4dc9e966e18cd022a40678.jpeg

地址:https://github.com/m969/EGamePlay

4、FreeControl:在 Windows 电脑上控制 Android 设备的工具。该项目是基于 scrcpy、采用 C# 编写的控制 Android 设备的 PC 桌面工具,提供了更加简洁的交互界面。来自 @Pdone 的分享

8eb596e89118d70bf053442a71afb4ff.jpeg

地址:https://github.com/pdone/FreeControl

5、N_m3u8DL-RE:适用于 MPD/M3U8/ISM 的流媒体下载器。该项目可以将常见的流媒体保存到本地,支持点播、录制直播、自动混流等功能,适用于 Windows、Linux、macOS 操作系统。

ae5541f9f5d5a05e300ae2e6e2bde745.jpeg

地址:https://github.com/nilaoda/N_m3u8DL-RE

6、Squirrel-RIFE:中文自动补帧工具。该项目是基于 RIFE 算法的补帧软件,可用于去除动漫卡顿感。具有无需手动设置、高质量输出、速度快等特点,适用于 Windows 10 及以上操作系统。

675ebc56654e66b31535c646419a957f.jpeg

地址:https://github.com/Justin62628/Squirrel-RIFE

C++ 项目

7、olcNES:用 C++ 写一个 NES 模拟器。这是一份教你用 C++ 写 NES/FC 游戏模拟器的视频教程和源码,作者是油管大神 javidx9。

099654daf48f91c5cf7016bee8a5f221.jpeg

地址:https://github.com/OneLoneCoder/olcNES

8、olive:一款免费、开源的非线性视频剪辑工具。非线性视频剪辑是指将图片、音乐、特效等素材与视频进行混合编辑,虽然该项目完全免费,但目前还处于迭代中并不稳定,适用于 Windows、macOS 和 Linux 系统。

8aa331832c13914e87cf0aca17de0564.jpeg

地址:https://github.com/olive-editor/olive

Go 项目

9、algernon:小型、独立的 Go Web 服务器。该项目是用 Go 编写的“快餐” Web 服务器,采用 BoltDB、Redis、MySQL 或 PostgreSQL 作为数据库,内置 Lua 解释器。所有功能全在一个独立可执行文件中,支持 Markdown 渲染、Lua 脚本、请求限制、用户和权限等。

18fd1ce1fede5f83474b2a4d3b739d14.jpeg

地址:https://github.com/xyproto/algernon

10、cheat:一款交互式的“小抄”命令行工具。该项目可以创建、编辑、查看 *nix 系统命令的备忘录,比如常用命令的示例和解释。

cheat tar

# To extract an uncompressed archive:
tar -xvf '/path/to/foo.tar'

# To extract a .gz archive:
tar -xzvf '/path/to/foo.tgz'

# To create a .gz archive:
tar -czvf '/path/to/foo.tgz' '/path/to/foo/'

# To extract a .bz2 archive:
tar -xjvf '/path/to/foo.tgz'

# To create a .bz2 archive:
tar -cjvf '/path/to/foo.tgz' '/path/to/foo/'
a99e6b390f3faf7390b06e1282852917.jpeg

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

11、devbox:为应用程序创建隔离环境的命令行工具。该项目可以创建一个可移植、隔离、用于开发的独立 shell,无需 Docker 和虚拟机。比如你的项目使用 Python 和 Go 语言,用这个工具仅需一条命令就能初始化一个独立的开发环境。

# 安装
curl -fsSL https://get.jetpack.io/devbox | bash
# 初始化
devbox init
# 安装 Python 和 Go
devbox add python2 go_1_18
# 激活
devbox shell

地址:https://github.com/jetpack-io/devbox

12、faas:一款高星的功能即服务框架。该项目用容器的方式运行 Serverless 函数,让功能即服务(FaaS)变得简单。它可以轻松地将函数和微服务部署到 Kubernetes,支持自动扩缩容、自带 Web 管理平台、Dockerfile 和多种编程语言。

c0eb41539461a2eae31d8b79555477b5.jpeg

地址:https://github.com/openfaas/faas

13、migrate:好用的数据库迁移/变更工具。该项目是用 Go 写的数据库迁移(migrate)工具,帮你自动创建 SQL 迁移文件并管理版本,支持 MySQL、MariaDB、PostgreSQL、SQLite、Neo4j、ClickHouse 等不同类型的数据库。

$ migrate -source file://path/to/migrations -database postgres://localhost:5432/database up 2

地址:https://github.com/golang-migrate/migrate

Java 项目

14、graceful-response:SpringBoot 接口优雅响应处理器。该项目通过注解的方式,优化 Controller 层的代码,完成统一返回值封装、全局异常处理、异常与错误码映射等功能。

public class Controller {
    
    @GetMapping("/query")
    @ResponseBody
    public Data query(Parameter params) {
            Data data = service.query(params);
           return data;
    }
}

地址:https://github.com/feiniaojin/graceful-response

JavaScript 项目

15、Cronicle:一个简单的任务调度和运行平台。该项目是用 Node.js 写的 cron 替代品,它开箱即用、自带 Web 界面、无需数据库,提供了执行 shell 命令、实时统计、自动故障转移、自动重试、多时区等功能。

457bf19edf6f640de3d50b1dfb45523b.jpeg

地址:https://github.com/jhuckaby/Cronicle

16、earth:一个可视化全球天气实况的项目。该项目以可视化的方式展示了全球的天气情况,提供了风、温度、相对湿度等多种天气数据,以及风、洋流和波浪的动画效果。

e29d80ebdefa812b67c0f2cbf1d24359.jpeg

地址:https://github.com/cambecc/earth

17、javascript-testing-best-practices:JavaScript 和 Node.js 的测试最佳实践。这是一份提升 JavaScript & Node.js 项目稳定性的指南,包括前/后端测试、持续集成、工具等方面。

00af5a4ed0998b5a0ffbecade2617d76.jpeg

地址:https://github.com/goldbergyoni/javascript-testing-best-practices

18、MikuTools:一个轻量级的在线工具集合。该项目是用 Vue + Nuxt.js 构建的在线工具箱,开源版本仅保留了部分无需后端的功能。

03cf767906000a9d120adadb1b0d8da9.jpeg

地址:https://github.com/Ice-Hazymoon/MikuTools

19、page-spy-web:像使用谷歌控制台一样开始远程调试。这是一款用来调试远程 Web 项目的工具,提供了 Docker、NPM 等多种部署方案。

22ec7355592bf9e3a5f5ba53f6a7fffc.jpeg

地址:https://github.com/HuolalaTech/page-spy-web

Kotlin 项目

20、ponymusic:开源的 Android 在线音乐播放器。该项目是用 Kotlin 语言写的 Android 音乐播放器,支持添加和播放本地音乐、通知栏控制、同步网易云歌单、每日推荐、搜索歌曲和歌单等功能。

e59d6112840a9c70c549175379201021.jpeg

地址:https://github.com/wangchenyan/ponymusic

Python 项目

21、example-code-2e:《流畅的 Python(第 2 版)》的示例代码。《流畅的 Python》是深受 Python 程序员喜爱的经典之作,该书可以帮助理解 Python 语言的核心特性和底层逻辑。但这里只有示例代码,书需要自行购买。

地址:https://github.com/fluentpython/example-code-2e

22、LaTeX-OCR:将数学公式转化成 LaTeX 代码。该项目可以将图片、剪贴板中的图片和屏幕截图,转化成对应的 LaTeX 代码,提供了命令行、库、GUI、Docker 多种使用方式。

from PIL import Image
from pix2tex.cli import LatexOCR

img = Image.open('path/to/image.png')
model = LatexOCR()
print(model(img))
d976345ce8fb799365969b86ceed7bab.jpeg

地址:https://github.com/lukas-blecher/LaTeX-OCR

23、Rickrack:一款开源的调色板桌面应用。该项目是基于 PyQt5 的调色板应用程序,旨在帮助用户轻松实现色彩的协调与搭配。它免费、无需注册、没有任何限制,支持离线使用、提取颜色、调色等功能。开箱即用无论你是绘画爱好者还是专业用户,都可以轻松上手并发挥创意。

31e650398287d5ff194a40be20b61e53.jpeg

地址:https://github.com/eigenmiao/Rickrack

24、sqlmap:强大的 SQL 注入工具。这是一个 Python 写的渗透测试工具,可以自动检测和利用 SQL 注入漏洞,获得数据库服务器的权限。它提供了强大的检测引擎和多种特性,包括识别数据库类型和版本、枚举用户、提权、获取数据等。

9118364c33dbb9fcf08461e1d46dc548.jpeg

地址:https://github.com/sqlmapproject/sqlmap

25、XHS-Downloader:小红书图文/视频采集工具。该项目是基于 Python Requests 库实现的小红书作品采集器,支持获取图文/视频信息、下载完整作品、批量下载等功能,提供了 Windows 可执行文件和源码运行两种方式。

0229af8341de418ef837dba3bc743c64.jpeg

地址:https://github.com/JoeanAmier/XHS-Downloader

Rust 项目

26、git-cliff:自由可定制的变更日志生成器。该项目可以自定义解析规则,自动从 Git 历史记录中生成 Changelog 文件。

2c10d879356bb9bb2df1372c500a66a3.jpeg

地址:https://github.com/orhun/git-cliff

27、proc-macro-workshop:学习如何编写 Rust 过程宏。Rust 的过程宏(procedural macros)是一种高级用法,可以理解为生成 Rust 代码的 Rust 代码。该项目包含 5 个示例项目,其中 3 个是作者在工作中实现的宏。

地址:https://github.com/dtolnay/proc-macro-workshop

28、ruff:非常快的 Python 代码风格检查和格式化工具。该项目采用 Rust 编写,比 Python 的 Flake8 和 Black 快 10-100 倍,支持通过 pip 安装、内置 700+ 规则、兼容 Python 3.12、自动纠错等功能。

fe7bc95508a3e2ad6c26c580c0afac71.jpeg

地址:https://github.com/astral-sh/ruff

Swift 项目

29、secretive:一款存储和管理 SSH 密钥的应用。该项目是可以将 SSH 密钥存储在苹果芯片安全隔离区(Secure Enclave)的工具。安全隔离区是指集成到 Apple 片上系统 (SoC) 的专用安全子系统,它独立于主处理器,可提供额外的安全保护。

87a6671d4bc24755be5b36c536c50a9d.jpeg

地址:https://github.com/maxgoedjen/secretive

其它

30、Awesome-Love-Code:表白代码收藏馆。该项目收集了 50+ 个用于表白的代码和程序,涵盖 Web、Python、C/C++、C# 等编程语言。

156846581ad70163b84db9b548d71a09.jpeg

地址:https://github.com/sun0225SUN/Awesome-Love-Code

31、dpoint:一款开源数字手写笔。该项目通过摄像头跟踪和惯性测量,实现了 6DoF 输入。触控笔可用于任何平面,仅需消费级的摄像头配合使用。

321f129fb11612b63da6a0f5ecff345d.jpeg

地址:https://github.com/Jcparkyn/dpoint

32、linux-router:将 Linux 作为路由器的脚本。这是一个 Linux 软路由器的 shell 脚本,它可以通过一条命令将 Linux 设备作为路由器,提供互联网共享、DNS 服务器、WiFi 热点等功能。来自 @GunVeda 的分享

地址:https://github.com/garywill/linux-router

33、nerd-fonts:解决字体缺失问题的项目。这是一个收集了 3600+ 图标的字体集合和补丁工具,该项目不是一个字体,而是一个可以将多种字体中的图标,作为补丁添加到目标字体中的工具。

af29eac66ff5870ed588b71746b08614.jpeg

地址:https://github.com/ryanoasis/nerd-fonts

34、RehabilitationGuide:程序员颈椎病腰突康复指南。该项目是作者从确诊颈椎病、腰椎间盘突出到康复的经验和方法分享。来自 @九旬UKDhO 的分享

ca4733e5526f1d68282148bab32ec30e.jpeg

地址:https://github.com/AnsonZnl/RehabilitationGuide

35、smhasher:测试 Hash 函数质量和速度的项目。该项目展示了 200+ 种非加密哈希函数,在分布、冲突和性能等方面的测试结果。

44ca0a80b6254157c420a87f4583f390.jpeg

地址:https://github.com/rurban/smhasher

开源书籍

36、typescript-book:《简明的 TypeScript 书》。该书全面、精练地介绍了 TypeScript 语言,涵盖了 TypeScript 语言的入门、类型系统、基础语法和高级用法等知识。

地址:https://github.com/gibbok/typescript-book

机器学习

37、cleanlab:自动检测数据集中错误数据和标注的框架。该项目基于置信学习(confident learning,CL)算法,实现了自动检测出机器学习数据集中的各种问题,提高数据集质量训练出更好的模型,支持图像、文本、音频类型的数据。

76dd3c242b142064a5d46bdc22745c6b.jpeg

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

38、ComfyUI:一个基于节点流程的 AI 绘图操作界面。该项目将 Stable Diffusion 流程分成多个节点,通过拖拽各种节点构成图像生成到处理的工作流,支持 Stable Diffusion 1.x 和 2.x 版本、组合各种模型、根据 PNG 图片生成完整的工作流等功能。

cc2960c9506ae37806b776bbbeb93c88.jpeg

地址:https://github.com/comfyanonymous/ComfyUI

39、dvc:一款针对 AI 项目的数据版本管理工具。基于 Git 的数据版本管理工具,版本化机器学习项目的数据和模型。可用于比较代码、数据、参数、模型或性能图,共享机器学习项目的数据或重现结果。

90fab3dace0568455aa94dd391921246.jpeg

地址:https://github.com/iterative/dvc

40、ml-engineering:机器学习:LLM/VLM 训练与工程。该项目是作者训练开源 BLOOM-176B 大模型和 IDEFICS-80B 多模态模型的经验总结,还提供了大量可以直接拿来用的代码和脚本,希望能够帮助你成功训练大型语言模型和多模态模型。

地址:https://github.com/stas00/ml-engineering

41、screenshot-to-code:该项目可以将屏幕截图转化为 HTML/Tailwind CSS 代码,它使用 GPT-4 Vision 生成代码、DALL-E 3 生成相似的图片。

a4840be3d1ff5976a09a3b4f1d3b8601.jpeg

地址:https://github.com/abi/screenshot-to-code

最后

感谢参与分享开源项目的小伙伴,欢迎更多的开源爱好者来 HelloGitHub 自荐/推荐开源项目。

本期有你感兴趣的开源项目吗?如果有的话就留言告诉我吧~还没看过瘾?点击阅读 往期内容。

- END -

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

点击阅读原文可按照编程语言查看项目

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1270614.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

手敲myarraylist,深入了解其运行逻辑

1、自定义MyArrayList类 该类里面基本有两个属性,一个是用来存放数据的数组,另外一个是用来描述已经存放数据的数量。同时设置arraylist表的默认长度为10;代码如下: public class MyArrayList {private int[] elem;private int u…

基于matlab的图像去噪算法设计与实现

摘 要 随着我们生活水平的提高,科技产品飞速更新换代,在信息传输中,图像传输所占的比重越来越大。但自然噪声会在图像传输时干扰其传输过程,甚至会使图片不能表达其原来的意义。去噪处理就是为了去除图像中的噪声,从而…

出口贸易媒体发稿7种方法提升转化率的秘密武器解析-华媒舍

出口贸易成为了许多企业发展的重要方向。在这个竞争激烈的市场中,如何让自己的产品脱颖而出,吸引更多客户并提高转化率,成为了每个企业家都面临的挑战。本文将向大家介绍7种提升转化率的秘密武器:出口贸易媒体发稿方法。 1. 出口贸…

如何获取1688的订单详情

获取1688订单详情需要申请 第一步:先去1688-开放平台申请,申请不一定能通过,审批很严。 第二步:首次登录请先注册,注册成功后即可登录。 第三步:选择:我是第三方开发者 第三方是封装好的ap…

如何判断数据库慢 SQL 查询?

慢 SQL 查询通常指执行时间较长或者消耗大量系统资源的查询。要判断一个 SQL 查询是否慢,可以考虑以下几个方面: 执行时间: 观察查询执行所需的时间。如果一个查询花费了相对较长的时间才能返回结果,可能就是慢查询的一个指标。通…

JavaScript黑科技:简洁有用的一行代码,让你的开发效率飙升!

说在前面 在这篇技术博客中,我们将向你介绍一些令人惊叹的JavaScript黑科技,这些只需一行代码就能实现的简洁而有用的功能,将极大地提升你的开发效率。无论是优化代码、增加交互性,还是实现复杂的逻辑,这些代码片段将成…

【教程】 一文部署配置并入门 Redis

综述 什么是Redis Redis官网——Redis.io Redis, 作为一个高性能的键值对数据库,主要应用于以下场景: 缓存系统:由于其高速读写能力,Redis 非常适合用作缓存系统,减少数据库负载。 会话存储(Session St…

c++基本常见错误总结

我们无论是在学习中还是在工作当中,总是会遇到各种各样的c编译错误问题,经常会有一种情况就是上一次好像遇到过这种问题,但是就是想不起来了(我就是这样)所以下面这一篇文章就是总结自己遇到的编译以及运行错误。 注意…

Javase | Java常用类 (不断补充中...)

目录: 1.Object类2.String类3.StringBuffer类4.Math类5.Random类6.包装类(不断补充中...) 1.Object类 Object类是Java语言中的所有类的超类,即所有类的根。它中描述的所有方法,所有类都可以使用。 equals( ) : 指示其他某个对象与此对象“是否相等” (比…

SD-WAN是否将终结IPsec VPN?

在网络架构的演进历程中,IPsec VPN一直扮演着至关重要的技术角色。而近年来备受关注的SD-WAN技术日益成熟,各大服务供应商纷纷将其与IPsec VPN进行对比,似乎预示着SD-WAN必然替代传统的IPsec VPN。 然而事实究竟如何?SD-WAN等于IP…

Vue项目解决van-calendar 显示白色空白,需滑动一下屏幕,才可正常显示

问题描述,如图 ipad(平板)或者 H5移动端引入Vant组件的日历组件(van-calendar),初始化显示空白,需滚动一下屏幕,才可正常显示 解决方法 需在van-calendar上绑定open"openCalendar"事件…

AI堆栈之战正在升温

原创 | 文 BFT机器人 从OpenAI和微软最近的现状可以看出,争夺更多新兴AI堆栈的竞争正在加剧。AI堆栈是用于开发和部署AI应用程序的技术、框架和工具的集合,通常包括多个层或组件。 在微软Ignite会议和OpenAI首届DevDay大会的背景下,一些行业…

福德植保无人机:农业科技的新篇章

一、引言随着科技的不断发展,无人机技术在许多领域中都得到了广泛的应用。近年来,福德植保无人机在农业领域大放异彩,成为了现代化农业的重要一环。本篇文章将为您详细介绍福德植保无人机的优势、特点以及未来发展趋势。 二、福德植保无人机的…

分油问题C++求解

原题 3个油桶&#xff0c;容量分别为&#xff08;大桶&#xff09;20&#xff0c;&#xff08;中桶&#xff09;9&#xff0c;&#xff08;小桶&#xff09;7&#xff0c;初始时大桶满油&#xff0c;如何操作可以分出17的油&#xff1f; 代码 #include<iostream> #inc…

Unity中Shader编译目标级别

文章目录 前言一、Shader Model二、Shader编译目标级别法1&#xff1a; #pragma target 3.0法2&#xff1a;#pragma require integers geometry 三、测试代码 前言 针对不同平台的特性&#xff0c;所做的一些功能 一、Shader Model ShaderModel 由微软提出&#xff0c;要求显…

【LeetCode】栈和队列OJ题---C语言版

栈和队列OJ题 1.括号匹配问题&#xff08;1&#xff09;题目描述&#xff1a;&#xff08;2&#xff09;思路表述&#xff1a;&#xff08;3&#xff09;代码实现&#xff1a; 2.用队列实现栈&#xff08;1&#xff09;题目描述&#xff1a;&#xff08;2&#xff09;思路表述&…

java double类型保留两位小数并去除后面多余的0

public static void main(String[] args) {double value9.100001;//保留两位小数String format String.format("%.2f", value);//去除多余的0String strValue new BigDecimal(format).stripTrailingZeros().toPlainString();System.out.println("strValue &q…

三维模型重建中地面控制点刺点输入常见问题及解决方法

三维模型重建中地面控制点刺点输入常见问题及解决方法 在倾斜摄影三维模型重建中&#xff0c;地面控制点的人工刺点输入是一个重要的环节。然而&#xff0c;这个过程可能会遇到一些常见问题。以下是一些常见问题及相应的解决方法&#xff1a; 1、问题&#xff1a;标定点位置不…

48、Flink DataStream API 编程指南(1)- DataStream 入门示例

Flink 系列文章 1、Flink 部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接 13、Flink 的table api与sql的基本概念、通用api介绍及入门示例 14、Flink 的table api与sql之数据类型: 内置数据类型以及它们的属性 15、Flink 的ta…

webpack优化打包速度

webpack打包速度太慢 优化 1.多线程打包 js压缩和loader 2.优化启动速度 hard-source-webpack-plugin 3.删除无用的 分析类插件 4.DllPlugin通道打包 1.webpack多线程打包 loader loader 使用 thread-loader 将他放置你要使用的loader前面就行&#xff0c;不过这个lorder例如s…