《HelloGitHub》第 96 期

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

38953308e683188f2b5c3dc5cb5d7c0f.png

简介

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

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

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


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

C 项目

1、cosmopolitan:让 C 成为构建一次,可随处运行的语言。这个工具可以将 C 语言编写的程序,编译成可无缝运行在多种操作系统上的可执行文件。它采用自包含式二进制文件的设计,能够将程序所有依赖打包进可执行文件中,实现真正的跨平台运行,支持 Windows、macOS 和 Linux 等主流操作系统。

// 编译
cosmocc -o hello hello.c
// 运行
./hello
// 调试
./hello --strace
./hello --ftrace

地址:https://github.com/jart/cosmopolitan

2、linenoise:一个 C 语言写的命令行编辑库。该项目是 Redis 作者用 C 语言实现的用于提升命令行交互体验的单文件库,整体代码大约 800 多行,轻量且易上手,提供了单/多行编辑模式、左右移动光标、上下回滚输入历史记录、命令补全等功能。来自 @9Ajiang 的分享

地址:https://github.com/antirez/linenoise

3、xxHash:超快的非加密哈希算法。哈希算法是一种将任意长度的输入数据转换为固定长度输出哈希值的算法。xxHash 是一种专为快速计算大型数据集哈希值而设计的非加密哈希算法。它具有出色的速度、零依赖和优秀的分布特性,支持流式计算模式和多种编程语言实现,适用于对计算性能要求很高的数据完整性检查、数据流分析、键值对检索等场景。

#include <string.h>
#include "xxhash.h"// Example for a function which hashes a null terminated string with XXH32().
XXH32_hash_t hash_string(const char* string, XXH32_hash_t seed)
{// NULL pointers are only valid if the length is zerosize_t length = (string == NULL) ? 0 : strlen(string);return XXH32(string, length, seed);
}

地址:https://github.com/Cyan4973/xxHash

C# 项目

4、reverse-proxy:微软开源的反向代理工具包。该项目是微软团队用 C# 开发的一个提供核心代理功能的工具库,可作为库和项目模板,用于创建反向代理服务器的项目,内含简单的反向代理服务器示例项目。

地址:https://github.com/microsoft/reverse-proxy

5、Snap.Hutao:实用的多功能原神工具箱。这是一款专为 Windows 平台设计的原神工具箱,支持多账号切换、自定义帧率上限、祈愿记录、成就管理、签到奖励、查询角色资料、养成计算器等功能。它不对游戏客户端进行任何破坏性修改,只为改善原神桌面端玩家的游戏体验。来自 @Masterain 的分享

e93070d6992f3acae8ae97e47fd68ed2.png

地址:https://github.com/DGP-Studio/Snap.Hutao

C++ 项目

6、ada:快如闪电的 URL 解析利器。该项目是用 C++ 写的符合 WHATWG 规范的 URL 解析器,解析速度是 curl 的数倍,目前已成为 Node.js 默认 URL 解析器(18.16.0 及以上),注意仅仅是 URL 地址解析不是请求。

fb3cd8b0c5646b046b873fc87b588d57.png

地址:https://github.com/ada-url/ada

7、keepassxc:一款开源、安全、跨平台的密码管理器。该项目是采用 C++ 开发的免费、离线、无广告的密码管理工具,它提供了简洁直观的用户界面,可轻松管理各种应用/网站的账号密码,支持多平台、浏览器插件、自动填充、密码生成等功能。

ba656cab9526997b923225e00c077edc.png

地址:https://github.com/keepassxreboot/keepassxc

8、TranslucentTB:自定义 Windows 任务栏透明度的小工具。该项目是采用 C++ 开发的用于调整 Windows 任务栏透明度的工具,它体积小、免费、简单易用,支持 5 种任务栏状态、6 种动态模式、Windows 10/11 操作系统。

e89fd91e0acdf3163903c3ff0ac4b5d8.png

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

9、tugraph-db:支付宝背后的分布式图数据库。该项目是由蚂蚁集团和清华大学共同研发的高性能分布式图数据库,支持事务处理、TB 级大容量、低延迟查找和快速图分析等功能。

地址:https://github.com/TuGraph-family/tugraph-db

CSS 项目

10、easings.net:CSS 缓动函数速查表。缓动函数(Easing Functions)是一种用于控制 CSS 动画速度的函数,该项目提供了一系列优雅的缓动函数示例代码和效果展示。

.block {transition: transform 0.6s cubic-bezier(0.7, 0, 0.84, 0);
}
4c50a44336affdc673eaf441a5f4ac5c.png

地址:https://github.com/ai/easings.net

Go 项目

11、codapi:在线运行代码片段的 Go 服务。该项目提供了一个 API 服务,可以在线运行 Python、TypeScript、C、Go 等 30 种编程语言的代码片段,可用于在文档和教程中展示交互式的代码示例。

916e08960a7044b2f7f29286745f6c43.png

地址:https://github.com/nalgeon/codapi

12、focalboard:开源的项目管理和团队协作工具。这是一款开源、多语言、自托管的项目管理工具,兼容了 Trello 和 Notion 的特点。它支持看板、表格和日历等视图管理任务,并提供评论同步、文件共享、用户权限等功能。该工具还提供了适用于 Windows、macOS、Linux 系统的客户端。

6749fcfe291dce947f390d9cf582ac95.jpeg

地址:https://github.com/mattermost/focalboard

13、go-pretty:美化控制台输出的 Go 库。这是一个用于美化表格、列表、进度条、文本等控制台输出的库,你可以用它输出精美的表格、多层级的列表以及多任务进度条等内容。

地址:https://github.com/jedib0t/go-pretty

14、gopeed:一款由 Go+Flutter 开发的高速下载器。这款下载工具后端用的是 Go 语言,支持 HTTP、BitTorrent、Magnet 等多种协议,并使用协程实现高速并发下载。前端部分采用 Flutter 开发,提供了适用于 Windows、macOS、Linux、Android、iOS 和 Web 等全平台的客户端。来自 @DeShuiYu 的分享

c79336c077a677459527628ddd9a4348.png

地址:https://github.com/GopeedLab/gopeed

15、teleport:一款 Go 写的企业级开源堡垒机。这是一个专为基础设施提供连接、身份验证、访问控制和安全审计的平台,它支持对内网的 Linux 服务器、Kubernetes 集群、Web 应用、PostgreSQL 和 MySQL 数据库的安全访问。该平台采用自动下发证书的方式进行认证,无需在目标机器上管理密码和 SSH Key。此外,用户可以方便地使用 ssh、mysql、kubectl 等远程连接工具,轻松接入受管理的资源。

2ed78e6383d6e2f336dae4340c44d817.png

地址:https://github.com/gravitational/teleport

Java 项目

16、javers:用于追踪数据历史记录和审计的 Java 库。该项目是将版本管理的想法应用于数据(Java 对象)变更管理的 Java 库,它支持查看复杂的对象结构差异,保留修改数据的历史记录,并能追踪对象变化。来自 @猎隼丶止戈reNo7 的分享

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

17、source-code-hunter:Spring 全家桶源码解读。该项目提供了一系列互联网主流框架和中间件的源码讲解,包括 Spring 全家桶、Mybatis、Netty、Dubbo 等框架。

地址:https://github.com/doocs/source-code-hunter

JavaScript 项目

18、aspoem:现代化的古诗词学习网站。这是一个更加注重阅读体验和 UI 的诗词网站,采用 TypeScript、Next.js、Tailwind CSS 构建。它拥有简洁清爽的界面和好看的字体,提供了古诗词的拼音、注释、译文以及移动端适配、搜索和一键分享等功能。来自 @meetqyhvkXU 的分享

7ad95a13639e65552c03429418a32c50.png

地址:https://github.com/meetqy/aspoem

19、MyIP:好用的 IP 工具箱。该项目的作者是一位产品经理,这是他借助 ChatGPT 完成的第一个 Vue.js 项目。通过该项目,你可以在线查看自己的 IP 信息(多源),并进行网站可用性、网速、MTR、DNS 泄漏、WebRTC 等检测。来自 @Jason Ng 的分享

9a2ba1c1d882a2a0dbaab92a5f7a9b1a.png

地址:https://github.com/jason5ng32/MyIP

20、nutui:京东风格的移动端 Vue 组件库。该项目是由京东开源的移动端 Vue 组件库,专为移动端 H5 和小程序开发场景而设计。它内含 80 多个高质量组件,支持按需引用、TypeScript、国际化等特性。

9fdece1423c2bcef91ecd4458b736cd9.png

地址:https://github.com/jdf2e/nutui

21、pikachu-volleyball:用 JavaScript 实现的皮卡丘排球游戏。该项目通过逆向工程解析原版的皮卡丘排球游戏,并使用 JavaScript 重新实现,包括物理引擎和对战机器人部分。

c6e81b931fb619be039fbd515ce7f519.png

地址:https://github.com/gorisanson/pikachu-volleyball

22、wasp:一个类似 Rails 的 React、Node.js 全栈 Web 框架。该项目是一个面向 Web 开发人员的全栈 Web 框架,开发者只需编写简单的 .wasp 配置文件,就能自动生成基于 React 和 Node.js 构建的 Web 应用,而且内置了数据库、身份验证、路由等功能。

10ca9fe308c8cf7c1d526c449f27e248.png

地址:https://github.com/wasp-lang/wasp

Python 项目

23、marker:将 PDF 转换为 Markdown 文件的项目。这是一个能够将 PDF、EPUB 和 MOBI 格式的文件转换为 Markdown 文件的 Python 项目。相较于 Nougat,它具有更快的速度和更高的准确度,在处理英语类内容时效果最佳,但对中文的处理就要差一些。

80bd5897ca25e3f8de2c0fe035a58b6d.png

地址:https://github.com/VikParuchuri/marker

24、Paper-Piano:在纸上弹钢琴。该项目使用 Python 和 OpenCV 实现图像处理和识别,通过摄像头捕获手指动作和手指下方的阴影,让用户可以通过触摸纸张来演奏钢琴。

abdc9719b3a10529dd7d82d3e4d8b2a4.png

地址:https://github.com/Mayuresh1611/Paper-Piano

25、pelican:Python 语言的静态网站生成器。这是一个用 Python 编写的静态网站生成器,让你可以通过编写 Markdown、reStructuredText 等格式的文本文件来创建网站,支持生成 RSS、代码语法高亮、插件扩展等功能。

地址:https://github.com/getpelican/pelican

26、posthog:开源的产品分析平台。这是一款基于 Django 构建的产品分析和用户追踪平台,它提供了丰富的功能,包括事件跟踪、漏斗分析、群体分析、A/B 测试等,适用于了解用户行为、改善产品体验的场景。

ceeb10bd7fe4a0645ff2687acf58ed67.png

地址:https://github.com/PostHog/posthog

27、taipy:快速打造数据驱动的 Web 应用。这是一个基于 Python 和 Flask 的项目,结合了 React 等前端技术,为开发者提供了一个简洁、高效的开发框架。它能够简化数据处理、API 开发和用户界面构建的开发过程。不论是数据科学家、机器学习工程师还是 Web 开发者,都能够利用 Taipy 快速完成从原型到 Web 应用的全过程。来自 @刘三非 的分享

ab6fe25d76bc0a93a6f9a59c2c3cd94c.gif

地址:https://github.com/Avaiga/taipy

Rust 项目

28、genact:假装很忙的摸鱼神器。该项目可以在终端上模拟一些很忙的假象,比如编译、扫描、下载等。这些操作都是假的,实际上什么都没有发生,所以不会影响你的电脑,适用于 Windows、Linux、macOS 操作系统。来自 @39499740 的分享

a683e759ccbdc05830a53ff03fb251dd.gif

地址:https://github.com/svenstaro/genact

29、rnote:跨平台的手写笔记和绘图应用。这是一款用 Rust 和 GTK4 编写的绘图应用,可用于绘制草图、手写笔记和注释文档等。它支持导入/导出 PDF 和图片文件,以及无限画布、拖放、自动保存等功能。适用于 Windows、Linux 和 macOS 系统,需要搭配手写板使用。

1c9acc6fd9194f79705c28110be689fa.png

地址:https://github.com/flxzt/rnote

Swift 项目

30、Applite:Homebrew Cask 的桌面应用。这是一款采用 Swift 开发的免费 macOS 应用,它为 Homebrew Cask 提供了一个图形化界面,实现一键安装、更新和卸载应用。

1f55caabc886aeba12964d138c05b8b1.png

地址:https://github.com/milanvarady/Applite

31、BLEUnlock:使用蓝牙设备解锁你的 Mac 电脑。这款工具是可以在 macOS 上实现通过蓝牙设备解锁/锁定电脑。使用该工具时,蓝牙设备无需安装任何应用程序。当蓝牙设备靠近 Mac 电脑时,可以解锁屏幕并唤醒电脑;而当蓝牙设备远离时,自动锁定屏幕并暂停播放音乐/视频。支持 iPhone、Apple Watch、蓝牙耳机等设备。

fba3a285e65caf41ec84e815124bc8eb.png

地址:https://github.com/ts1/BLEUnlock

其它

32、candle:自制 3D 电子蜡烛。该项目作者使用简单的 LED 板和小型电路板,制作了一个微型电子蜡烛,并通过旋转底座和流体模拟算法,模拟出 3D 的烛光效果。

9735c5f28def4e32cbe3d4ad8b188f43.gif

地址:https://github.com/mitxela/candle

33、docker-android:运行在 Docker 容器里的 Android。这是一个 Android 模拟器的 Docker 镜像,支持 Android 9-14 版本、VNC(远程桌面)、ADB(Android 调试桥)、日志查看等功能,适用于 Android 客户端测试和调试等场景。

docker run -d -p 6080:6080 \
-e EMULATOR_DEVICE="Samsung Galaxy S10" \
-e WEB_VNC=true \
--device /dev/kvm \
--name android-container \
budtmo/docker-android:emulator_11.0
b8d0a63da864f8450b043c7c54641fd1.png

地址:https://github.com/budtmo/docker-android

34、excelCPU:仅用 Excel 构建出一颗 CPU 。该项目是一颗运行在 Excel 文件中的 16 位 CPU 处理器,它具有 3Hz 主频、128KB RAM 和一块 128x128 像素的显示屏,为此作者还创建了一门汇编语言。

66a1e8cd57856cdeaca2d37627fcc925.png

地址:https://github.com/InkboxSoftware/excelCPU

35、Mr.-Ranedeer-AI-Tutor:打造你的个性化 AI 老师。该项目通过提示词让 AI 对话机器人充当老师和学习助手的角色,为你生成学习计划、授课解惑、出练习题等,还可以选择不同的授课风格和深度。它可搭配任意大模型,作者推荐 GPT-4 效果最佳。

===
Author: JushBJJ
Name: "Mr. Ranedeer 提示词"
Version: 2.7
===[Student Configuration]🎯Depth: Highschool🧠Learning-Style: Active🗣️Communication-Style: Socratic🌟Tone-Style: Encouraging🔎Reasoning-Framework: Causal😀Emojis: Enabled (Default)🌐Language: English (Default)You are allowed to change your language to *any language* that is configured by the student.[Overall Rules to follow]1. Use emojis to make the content engaging2. Use bolded text to emphasize important points3. Do not compress your responses4. You can talk in any language
...

地址:https://github.com/JushBJJ/Mr.-Ranedeer-AI-Tutor

36、ugly-avatar:丑头像生成器。该项目可以用来随机生成一个很丑的手绘头像,不要怀疑真的很丑、很抽象,仅供娱乐。来自 @puz_zle 的分享

be32492c87e1f6186bfb5e8fceaec97f.png

地址:https://github.com/txstc55/ugly-avatar

开源书籍

37、Real-Time-Rendering-4th-CN:《Real-Time Rendering 4th》中文翻译版。这是《Real-Time Rendering》第四版的中文翻译项目,该书是实时渲染领域的经典之作,非常适合从事游戏开发、3D 图形、VR/AR 等领域的开发者学习。

7f0779735a8d25b19ee6bf6d03e9b5ae.png

地址:https://github.com/Morakito/Real-Time-Rendering-4th-CN

机器学习

38、FastChat:用于训练和评估大型语言模型的开放平台。这是一个用于训练、部署和评估大型语言模型的平台,你可以用它在本地部署和评估各种大模型。除此之外,它还提供了一个在线评估大模型的平台,用户可以向两个不同的大模型,问同一个问题,然后根据回答选出你认为更好用的大模型。在此过程中,你可以免费使用 Claude、ChatGPT 等对话机器人。来自 @浮生若夢 的分享

0037dd0688b7cfbc5af26067f38a65bb.png

地址:https://github.com/lm-sys/FastChat

39、generative-ai-for-beginners:面向初学者的生成式人工智能教程。这是由微软开源的面向初学者的生成式 AI 免费课程,课程共 18 节,涵盖了创建生成式 AI 应用所需要了解的一切,包括生成式 AI 和 LLMs 的简介、提示词、构建文本生成应用、聊天应用、图像生成应用、向量数据库等方面的内容。

地址:https://github.com/microsoft/generative-ai-for-beginners

40、jan:一站式体验 LLMs 的桌面应用。这是一个支持在本地运行开源 LLMs 和连接 ChatGPT 服务的 AI 对话桌面应用,它开箱即用、界面清爽、不挑硬件,支持设置代理、接入 ChatGPT、一键下载/接入适配当前电脑配置的大模型、离线运行等功能,适用于 Windows、Linux、macOS 操作系统。

5050852ef655427e0afe127234f93310.png

地址:https://github.com/janhq/jan

41、open-interpreter:让 LLM 在你的计算机上运行代码。该项目可以让大语言模型在本地运行代码,支持 Python、JavaScript、Shell 等编程语言。相当于大语言模型是一个解释器,它会理解你的意图,将自然语言转化成相应的代码脚本并运行。安装后,用户就可以在终端通过聊天的方式操作计算机,比如创建和编辑图片、视频和文件,控制 Chrome 浏览器进行搜索等。

da6d275f112b288f54dd2f957a894771.gif

地址:https://github.com/OpenInterpreter/open-interpreter

最后

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

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

- END -

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue中使用图片url直接下载图片

vue中使用图片url直接下载图片 // 下载图片downloadByBlob(url, name) {let image new Image()image.setAttribute(crossOrigin, anonymous)image.src urlimage.onload () > {let canvas document.createElement(canvas)canvas.width image.widthcanvas.height image…

如何在 Linux 中查找命令的执行时间

在 Linux 操作系统中&#xff0c;查找命令的执行时间对于优化系统性能、调试程序以及评估脚本效率至关重要。本文将介绍几种方法来准确地测量命令的执行时间。 使用时间命令 时间命令&#xff08;time&#xff09;是一个内置的 shell 命令&#xff0c;用于测量其他命令或程序的…

谷歌浏览器如何查看HTTP版本

在谷歌浏览器中查看HTTP版本&#xff0c;你可以按照以下步骤操作&#xff1a; 首先&#xff0c;你需要打开谷歌浏览器&#xff0c;然后访问你想要查看HTTP版本的网页&#xff1b; 在页面上&#xff0c;按下F12键或右键点击页面任意位置&#xff0c;选择 “检查”&#xff08;I…

Leetcode 剑指 Offer II 071.按权重随机选择

题目难度: 中等 原题链接 今天继续更新 Leetcode 的剑指 Offer&#xff08;专项突击版&#xff09;系列, 大家在公众号 算法精选 里回复 剑指offer2 就能看到该系列当前连载的所有文章了, 记得关注哦~ 题目描述 给定一个正整数数组 w &#xff0c;其中 w[i] 代表下标 i 的权重…

基于java+springboot+vue实现的电商个性化推荐系统(文末源码+Lw+ppt)23-389

摘 要 伴随着我国社会的发展&#xff0c;人民生活质量日益提高。于是对电商个性化推荐进行规范而严格是十分有必要的&#xff0c;所以许许多多的信息管理系统应运而生。此时单靠人力应对这些事务就显得有些力不从心了。所以本论文将设计一套电商个性化推荐系统&#xff0c;帮…

nvidia-smi查看无进程,但GPU占用率100%问题解决

问题&#xff1a;nvidia-smi查看无进程&#xff0c;但GPU占用率100%问题解决 原因&#xff1a;记住记住记住CtrlZ是把当前运行程序挂起&#xff0c;并不是终止运行&#xff0c;终止用CtrlC,前段时间跑代码测性能和看部分结果一直用的CtrlZ&#xff0c;导致程序都处于挂起状态&…

适用于 Windows 的 6 个最佳视频转换器

视频转换器可以帮助您在设备上转换和播放不受支持的视频格式。它还可以方便地减小视频文件大小、以通用格式组织所有视频或与其他人共享文件以在不同设备上播放。 Windows 有大量视频转换器可供选择。虽然有些是免费的&#xff0c;但其他一些则提供迎合专业用户的高级功能。在…

数据结构——线性表(二)

线性表顺序存储结构的优缺点 优点:1.无须为表示表中元素之间的逻辑关系而增加额外的存储空间 2.可以快速的存取表中的任一位置的元素 缺点:1.插入和删除操作需要移动大量的元素 2.当线性表长度变化较大的时候,难以确定存储空间的容量 3.造成存储空间的"碎片" 所以…

Go语言学习Day2:注释与变量

名人说&#xff1a;莫道桑榆晚&#xff0c;为霞尚满天。——刘禹锡&#xff08;刘梦得&#xff0c;诗豪&#xff09; 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 目录 1、注释①为什么要写注释&#xff1f;②单行注释…

C++11入门手册第一节,学完直接上手Qt(共两节)

入门 hello.cpp #include <iostream>int main() { std::cout << "Hello Quick Reference\n"<<endl; return 0;} 编译运行 $ g hello.cpp -o hello$ ./hello​Hello Quick Reference 变量 int number 5; // 整数float f 0.95; //…

双向长短期BiLSTM的回归预测-附MATLAB代码

BiLSTM是一种带有正反向连接的长短期记忆网络&#xff08;LSTM&#xff09;。 BiLSTM通过两个独立的LSTM层&#xff0c;一个按时间顺序处理输入&#xff0c;另一个按时间倒序处理输入&#xff0c;分别从正向和反向两个方向捕捉输入序列的特征。具体地&#xff0c;正向LSTM按时…

资源免费分享了

为了解决粉丝们在学习过程中&#xff0c;出现没有资料&#xff0c;没有书籍&#xff0c;搜索引擎搜索不精准&#xff0c;没有恰当的博文等这一类情况&#xff0c;今天&#xff0c;我将我曾经的学习资料&#xff0c;免费分享给大家&#xff01; 博主声明:此并非过度宣传&#x…