《HelloGitHub》第 93 期

news2024/11/25 4:06:04

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

826f0286fa50ae85ffec0c0ab8e09324.png

简介

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

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


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

C 项目

1、rsync:Linux 远程同步文件的工具。该项目提供了一种快速、增量的文件传输方式,即仅传输有变动的部分,可用于远程同步和备份文件。

地址:https://github.com/WayneD/rsync

C# 项目

2、Kavita:一款功能丰富的在线阅读平台。该项目可以在本地架设一个阅读漫画和电子书的 Web 平台,在手机、平板、台式机等设备上都有着出色的访问体验。

592c97bd3a1c41e77b21b18cc5b233fc.png

地址:https://github.com/Kareadita/Kavita

3、LittleBigMouse:Windows 多显示器鼠标平滑移动的工具。在 Windows 多显示器、分辨率不一致的情况下,鼠标在屏幕间移动会出现跳跃,比如外接了一台 4k 屏幕的和一台 2k 的屏幕,从 4k 屏幕中间挪到 2k 屏幕,鼠标就出现在底部了。该项目可以完美解决这个鼠标跳跃的问题,实现 Windows 多显示器鼠标平滑移动。来自 @Wu Zheng 的分享

9c87e2b2606bdf3600e75a811042a93a.png

地址:https://github.com/mgth/LittleBigMouse

C++ 项目

4、Modern-CPP-Programming:现代 C++ 编程课程。该教程面向有一定编程基础的人,内容涵盖 C++ 编程的基础知识、高级 C++ 语义和概念。

地址:https://github.com/federico-busato/Modern-CPP-Programming

5、WechatExporter:微信聊天记录迁移和备份工具。这是一个用于导出微信聊天记录的工具,支持以 HTML、PDF 或文本格式保存聊天内容,适用于 Windows 和 macOS 系统。

79b5c5b13b68c0287c7557c29c86fdda.png

地址:https://github.com/BlueMatthew/WechatExporter

Go 项目

6、mailpit:带 API 的电子邮件测试工具。这是一个小型、快速、多平台的电子邮件测试工具,它可以充当一个 SMTP 服务器,自带 Web 界面,支持模拟电子邮件接收、切换不同设备查看邮件等功能,还提供了可用于自动集成测试的接口。

30806fc693babb8ab7ac51387550ed13.png

地址:https://github.com/axllent/mailpit

7、muffet:Go 写的网站链接检查工具。该项目通过多线程和递归的方式,检查目标网站中所有页面的链接。它使用简单、速度快,支持 a、img、link、script 等多种标签。

d4d91469aa4f9c0841c909850b430ba6.gif

地址:https://github.com/raviqqe/muffet

8、one-api:OpenAI 接口管理和分发系统。该项目集成了各种大模型,并统一转化成了类似 OpenAI 接口的服务。它开箱即用、单文件,支持负载均衡、令牌管理、兑换码、用户分组、查看额度、邀请奖励等功能,可用于自建 ChatGPT 服务。

7b22abbec4f531ddae836144aa56b9b9.png

地址:https://github.com/songquanpeng/one-api

9、zen:一款适用于 PC 的广告拦截器。该项目是采用 Go 语言 Wails 框架写的能够屏蔽各种广告的桌面工具。它的工作原理是设置一个代理,拦截所有应用的 HTTP 请求,从而阻止广告和跟踪行为的请求,支持 Windows、macOS 和 Linux 操作系统。

dfd1bb8d3e3269a76c42e7e13ee28ef0.png

地址:https://github.com/anfragment/zen

Java 项目

10、sensitive-word:用于过滤敏感词的 Java 库。该项目是基于 DFA 算法实现的高性能敏感词过滤工具,词库收录了 6w+ 内容,支持自定义敏感词、白名单、替换策略、数字常见形式的互换、忽略重复词等功能。

a5770bcbb8ecd58266a2a4d7cc15e372.png

地址:https://github.com/houbb/sensitive-word

11、SMS4J:Java 的短信服务聚合框架。该项目集成了国内众多第三方短信服务,简化了接入多个短信 SDK 的流程,仅通过修改配置文件,就能轻松实现发送短信的功能。来自 @ヽ米 饭 的分享

@RestController
@RequestMapping("/test/")
public class DemoController {

    // 测试发送固定模板短信
    @RequestMapping("/")
    public void doLogin(String username, String password) {
         //阿里云向此手机号发送短信
        SmsFactory.createSmsBlend(SupplierType.ALIBABA).sendMessage("18888888888","123456");
        //华为短信向此手机号发送短信
        SmsFactory.createSmsBlend(SupplierType.HUAWEI).sendMessage("16666666666","000000");
    }
}

地址:https://github.com/dromara/SMS4J

JavaScript 项目

12、daedalOS:跑在浏览器里的桌面环境。该项目是用 JavaScript 写的运行在浏览器中的仿 Windows 桌面操作系统,支持开始菜单、动态壁纸、命令行终端、视频播放器、3D 弹球、Markdown 查看器、浏览器等功能。

848f28d7767858a4b9850ecf36a697fb.png

地址:https://github.com/DustinBrett/daedalOS

13、miniPaint:免费的在线图片编辑器。该项目无需安装、可直接在浏览器中运行,支持创建/编辑图像、图层、滤镜、马赛克、绘图工具等功能。

a7923c50a1f32325f5de31b208d782c4.gif

地址:https://github.com/viliusle/miniPaint

14、multipleWindow3dScene:炫酷的前端量子纠缠效果。量子纠缠是一种量子力学现象,即两个或多个量子不论相距多远都存在一种关联。该项目通过使用 Three.js 和 localStorage 跨多个浏览器窗口,展示了这一量子力学现象。来自 @YJLTF 的分享

71e1d540490b2b80f832b17cabc150a0.gif

地址:https://github.com/bgstaal/multipleWindow3dScene

15、omnivore:一款免费、多端的稍后阅读工具。该项目采用 TypeScript + Next.js 构建而成,支持保存文章、电子邮件、文档和同步 Obsidian 等个人知识管理系统的内容,以便日后阅读。而且还提供了 iOS、Android 客户端和浏览器插件,方便随时随地阅读。

b401fda7dcc3b20f8612102bf835a467.png

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

16、vue-naive-admin:一款极简风格的 Vue 管理后台。这是一个开源、免费、可商用的后台管理模板,基于 Vue3、Vite4、Pinia、Unocss 和 Naive UI 等前端最新技术栈。它简洁、轻量、风格清新,上手成本低,适合中小型项目或者个人项目。来自 @Ronnie Zhang 的分享

fd0c2123b643b6c7af371112a2c08aa1.png

地址:https://github.com/zclzone/vue-naive-admin

Kotlin 项目

17、Calendar:适用于 Android 的高度可定制的日历库。这是一个用于开发 Android 日历应用的库,内含示例应用。提供了周或月模式显示、边界日期、水平或垂直滚动等功能,可以随心所欲地设计日历。

6131369858e7c05709ea10083646e9b9.png

地址:https://github.com/kizitonwose/Calendar

PHP 项目

18、BookStack:一个简单、开箱即用的 wiki 平台。该项目是基于 PHP 和 Laravel 的 wiki 平台,拥有搜索、Markdown 编辑器、绘图、多语言、身份验证等功能。

0b4be11ebb0ea7b3c5414ba1b0540394.png

地址:https://github.com/BookStackApp/BookStack

Python 项目

19、django-tailwind:Django 集成 Tailwind CSS 的库。该项目可以让你在 Django 项目中轻松地使用 Tailwind CSS 框架,内含 Tailwind CSS 官方的排版、表单、line-clamp 等插件。

0e3e9516fc93c71dc2fc95f2e88dc4be.gif

地址:https://github.com/timonweb/django-tailwind

20、frigate:一款围绕实时 AI 对象检测构建的开源 NVR。该项目基于 OpenCV 和 Tensorflow 实现在本地为 IP Camera 提供实时目标检测和安全报警等功能,还支持根据设定的规则,保留检测到物体的视频。

117988156f2a2dda724b73c967c432f2.jpeg

地址:https://github.com/blakeblackshear/frigate

21、sqlglot:一个非常全面的 SQL 解析器。该项目是用 Python 写的 SQL 解析器、转译器和优化器,它可以格式化 SQL 以及支持在 20 种不同方言和 SQL 之间进行转化,可用来自定义解析器、分析查询,用编程方式构建 SQL。

import sqlglot

# SQL 转 Spark
sql = """WITH baz AS (SELECT a, c FROM foo WHERE a = 1) SELECT f.a, b.b, baz.c, CAST("b"."a" AS REAL) d FROM foo f JOIN bar b ON f.a = b.a LEFT JOIN baz ON f.a = baz.a"""
print(transpile(sql, write="spark", identify=True, pretty=True)[0])

地址:https://github.com/tobymao/sqlglot

22、tablib:轻松处理表格数据集的 Python 库。该项目能够将不同格式的表格数据集,转化成统一的 Dataset 对象。它提供了动态列、标签、过滤等功能,支持 csv、df、json、yaml、xls 等格式的数据。

import tablib

data = tablib.Dataset(headers=['First Name', 'Last Name', 'Age'])

for i in [('Kenneth', 'Reitz', 22), ('Bessie', 'Monke', 21)]:
    data.append(i)

# 将数据输出成 json 格式
print(data.export('json'))
# [{"Last Name": "Reitz", "First Name": "Kenneth", "Age": 22}, {"Last Name": "Monke", "First Name": "Bessie", "Age": 21}]

# df 对象
data.export('df')
#   First Name Last Name  Age
# 0    Kenneth     Reitz   22
# 1     Bessie     Monke   21

地址:https://github.com/jazzband/tablib

23、talebook:一款简单好用的在线个人书库。该项目是基于 Calibre 的个人图书管理系统,后端是 Python 的 Tornado Web 框架,前端采用 Vue.js 构建。它不仅拥有美观的界面而且安装简单,支持在线阅读、导入书籍、推送到 Kindle、私人模式等功能。

8a6d9a6e0cb613b924babf307a88f16c.png

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

Rust 项目

24、sshx:基于 Web 的安全终端协作工具。该项目只需一条命令,即可与多人共享终端。支持实时多人协作、多窗口、远程光标、在线聊天、自动重连等功能,可用于教学和远程调试。来自 @猎隼丶止戈reNo7 的分享

4a632bb43a795f08e918d621b5a1de3e.png

地址:https://github.com/ekzhang/sshx

25、tailspin:一款实用的日志高亮命令行工具。该项目是 Rust 写的命令行查看日志的工具,它无需配置开箱即用,通过高亮的形式,突出显示数字、日期、IP、URL 等内容,让重要的信息一目了然。

b831ed43d8306bf13680e0edb121bc8b.png

地址:https://github.com/bensadeh/tailspin

26、Weylus:将平板用作计算机上的输入板/触摸屏。通过该项目可以将平板设备,作为电脑的外接屏幕、触控板、键盘,适用于 Windows、Linux 和 macOS 系统。

e2a17d16063ba3b0fe24f9129a54989a.gif

地址:https://github.com/H-M-H/Weylus

Swift 项目

27、visionOS_30Days:挑战 30 天上手苹果 visionOS 开发。visionOS 是运行在苹果的混合实境头戴式设备 Apple Vision Pro 上的操作系统,该项目提供了 30 个 visionOS 开发的示例代码。

8f1e472c1b3882c7fc51464925dd1323.png

地址:https://github.com/satoshi0212/visionOS_30Days

其它

28、dbgate:(no)SQL 数据库桌面管理工具。该项目支持包括 MySQL、PostgreSQL、SQL Server、MongoDB、SQLite、Redis 等多种数据库,适用于 Windows、Linux、macOS 系统。

7e4fdaac457b8f747defb0633e9fd62e.png

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

29、Detect-It-Easy:用于查看文件类型的工具。该项目可以快速检测二进制文件的文件类型、体系结构和编译器信息,支持识别多种文件格式,有助于进行逆向工程和安全分析,适用于 Windows、Linux、macOS 系统。

150df6e23f38f4505256a65966be30a4.png

地址:https://github.com/horsicq/Detect-It-Easy

30、github-chinese:GitHub 网站汉化插件。该项目可以将 GitHub 网站的菜单栏、标题、按钮等公共组件,自动翻译成中文,适合刚接触 GitHub 的小白使用。来自 @wuyuncheng-26 的分享

7c85372f7efba7f9f0b7034627547de3.png

地址:https://github.com/maboloshi/github-chinese

31、HumanSystemOptimization:人体系统调优不完全指南。这是一份帮助改善人体健康状态的指南,篇幅较长。尽量做到保持睡眠时长与质量、不要吸烟、每天做点运动、减少糖分的摄入,就能拥有不错的健康状态。

地址:https://github.com/zijie0/HumanSystemOptimization

32、wondershaper:Linux 限制网络带宽的工具。该项目通过使用 iproute 的 tc 命令,实现了对 Linux 网络带宽限速的功能,支持多网卡、限制最大上传/下载速率。

地址:https://github.com/magnific0/wondershaper

开源书籍

33、Node.js-Troubleshooting-Guide:Node.js 应用故障排查手册。该手册主要是帮助 Node.js 开发者,应对开发和线上部署中遇到的问题,比如定位故障、压测和性能调优等。

地址:https://github.com/aliyun-node/Node.js-Troubleshooting-Guide

34、pml-book:《概率机器学习》。该项目包含凯文·墨菲的三本书籍,分别为《机器学习:概率视角》、《概率机器学习:简介》、《概率机器学习:高级》,内容涵盖了基础理论和前沿研究,图文并茂并配有示例和练习。来自 @Xuefeng Xu 的分享

地址:https://github.com/probml/pml-book

机器学习

35、backgroundremover:一条命令自动移除图像背景。该项目通过 AI 技术,可自动移除图片和视频中的背景。

978cd6ae2f33cfa93836c6a042a1c827.png

地址:https://github.com/nadermx/backgroundremover

36、machine-learning-roadmap:机器学习路线图。这份机器学习思维导图,包含了机器学习相关的问题、学习步骤、工具、底层数学知识、教程资源等,为如何学习机器学习指出方向。

729dbd554321a69e43487ea7e4698e25.png

地址:https://github.com/mrdbourke/machine-learning-roadmap

37、PokemonRedExperiments:通过强化学习训练 AI 玩 Pokemon。该项目使用 Python + RL 从零训练了一个玩「宝可梦红」的 AI,同时作者还提供了配套的讲解视频,以及如何在本地运行和自定义训练的教程,快来上手试试吧!来自 @老荀 的分享

cfbeb9318e2cf8173b907cf8d37f9c20.png

地址:https://github.com/PWhiddy/PokemonRedExperiments

38、supervision:计算机视觉 AI 工具库。该项目简化了对象检测、分类、标注、跟踪等计算机视觉的开发流程。开发者仅需加载数据集和模型,就能轻松实现对图像和视频进行检测、统计某区域的被检测数量等操作。

import cv2
import supervision as sv
from ultralytics import YOLO

image = cv2.imread(...)
model = YOLO('yolov8s.pt')
result = model(image)[0]
detections = sv.Detections.from_ultralytics(result)

print(len(detections))
# 5
8bd884366268fa91b9fb1cee11e58872.gif

地址:https://github.com/roboflow/supervision

最后

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

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

- END -

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

点击阅读原文可按照编程语言浏览项目

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

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

相关文章

2023年高级软考系统架构师考题参考

对于一些有实践经验的同学来说,感觉不难,但是落笔到纸面上,就差强人意了,平时这方面要多练习,所想所思要落到纸面上,或者表达清晰让别人听懂,不仅是工作中的一个基本素质,也是个非常…

OpenHarmony 应用通用签名

一.背景 由于hap包需要经过签名才能安装到设备上,在DevEco Studio可以进行自动签名,但是自动签名只能安装在当前的设备上,在其他设备上不能安装,所以我们需要进行通用的手动签名,手动签名HarmonyOS和OpenHarmony流程是…

写实风格3D模型材质贴图

在线工具推荐: 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 写实3D模型的制作过程包括建模、材质贴图、灯光设置和渲染等步骤。首…

智慧工地解决方案,智慧工地项目管理系统源码,支持大屏端、PC端、手机端、平板端

智慧工地解决方案依托计算机技术、物联网、云计算、大数据、人工智能、VR&AR等技术相结合,为工程项目管理提供先进技术手段,构建工地现场智能监控和控制体系,弥补传统方法在监管中的缺陷,最线实现项目对人、机、料、法、环的全…

Baumer工业相机堡盟相机如何使用NEOAPI SDK实现相机的连接(C++)

Baumer工业相机堡盟相机如何使用NEOAPI SDK实现相机的连接(C) Baumer工业相机Baumer工业相机SDK技术背景代码分析第一步:先使用NEOAPI函数查找相机第二步:连接相机后对相机进行采图第三步:将采集的图像显示在UI界面上 …

数据缓存(Redis, Spring Cache)——后端

场景:给用户端展示的数据都是通过查询数据库所得,因此数据库访问压力会随着用户访问量增大而增加,从而导致系统响应慢、用户体验差。 方法:通过Redis缓存数据,减少查询数据库操作。(Redis的数据是存储在内存…

vscode 支持c,c++编译调试方法

概述:tasks.jason launch.json settings.json一定要有,没有就别想跑。还有就是c 和c配置有区别,切记,下文有说 1.安装扩展插件。 2.安装编译器,gcc.我用的是x86_64-8.1.0-release-win32-seh-rt_v6-rev0.7z &#xf…

GLTF编辑器-位移贴图实现破碎的路面

在线工具推荐: 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 位移贴图是一种可以用于增加模型细节和形状的贴图。它能够在渲染时针…

水准网、平面导线平差

东北大学测绘工程水准网、平面闭合导线间接平差法平差C#项目。 闭合导线程序界面: 水准网程序界面: 项目gitee地址: horizon: 东北大学测绘工程水准网,闭合导线间接平差法C#项目 (gitee.com) 注:此项目为本博主代人转…

DCDC--电感的选择和影响

1、感值L的影响 1.1、纹波Ripple的影响:感值越大,纹波越小 1.2、负载瞬态响应Load Transient的影响:感值越大,负载瞬态响应越差 2、直流电阻DCR的影响 2.1、效率Efficiency的影响 相同型号,感值越大,DC…

笔记1:基于锚框(先验框)的目标检测

一、边缘框(bounding box) 1.1 定义 边缘框:真实标注的物体位置 2.1 表示方式 1、(x1,y1)和(x2,y2) 2、(x1,y1)和w,h 二、锚框(anchor box)/先验框(prior bounding box) 2.1 定义 对边缘…

vue 拖拽通过子元素拖拽父元素指令

vue 拖拽通过子元素拖拽父元素指令 需求 拖拽头部 拖动整个框 // candrag.js中的代码如下 directive // 通过子元素 控制移动父元素, 如果 需要直接控制父元素可以再写一个自定义指令 或者改造下这个指令 export default {// 定义 Vue 插件install(Vue) {Vue.di…

抬头举手阅读YOLOV8NANO

首先用YOLOV8NANO得到PT模型,转换成ONNX,OPENCV调用,PYTHON,C,ANDROID都可以举手写字阅读YOLOV8NANO

QT上位机开发(开篇)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 可能是因为03年上大学的原因,那个时候学习的编译工具主要就是VC6,一个普遍被认为是古老的开发工具。如果要编写界面的话&am…

java设计模式学习之【访问者模式】

文章目录 引言访问者模式简介定义与用途实现方式 使用场景优势与劣势在Spring框架中的应用电脑示例代码地址 引言 设想你是一个艺术馆的管理员,艺术馆里有各种各样的艺术品。每当有游客来访时,根据他们的兴趣,他们可能只想看画、雕塑或特定的…

私有部署ELK,搭建自己的日志中心(六)-- 引入kafka对采集日志进行削峰填谷

一、背景 首先,要说明一点,elk日志中心,是可以缺少kafka组件的。 其次,如果是研发环境下,机器资源紧张的情况下,也是可不部署kafka。 最后,因为kafka的部署是可以独立的,所以本文将…

成都服装(服饰)行业2023年度工作总结表彰大会暨五圣荟户外大本营签约发布会

凝心聚力谋发展,稳中求进谱新篇,由成都服装(服饰)行业协会主办,成都梵圣万汇文化发展有限公司承办的成都服装(服饰)行业2023年度工作总结表彰大会暨五圣荟户外大本营签约发布会于2023年12月28日…

数据库系统(六)数据库范式 | 函数依赖,一二三范式,BCNF,属性集闭包和正则覆盖

文章目录 1 好的关系设计的特征2 函数依赖关系3 Normal Forms 规范形式3.1 一二三范式3.1.1 基本概念3.1.2 判断是否满足3NF 3.2 BCNF3.2.1 基本概念3.2.2 判断是否满足BCNF3.2.3 分解得到BCNF 4 属性集闭包和正则覆盖4.1 属性集闭包求法4.2 属性集闭包应用4.2.1 测试某个属性集…

借助 Google Play 游戏电脑版新功能,加速业务增长

作者 / Google Play 游戏总监 Arjun Dayal Google Play 游戏电脑版测试版自去年发布以来,取得了巨大的发展。Google Play 游戏电脑版现在提供 3,000 多种游戏,覆盖 120 多个国家/地区的用户,为玩家提供各种类型的游戏。我们的热门移动游戏目录…

4-链表-合并两个有序链表

这是链表的第4题,来个简单算法玩玩。力扣链接。 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 [1,2,4], l2 [1,3,4] 输出:[1,1,2,3,4,4]示例 2&#xff…