《HelloGitHub》第 94 期

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

be1f4133b2ffa3eae7c2a531430bcc9f.png

简介

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

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

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


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

C 项目

1、genann:C 语言写的极简神经网络库。这是一个轻量、无依赖、单文件的 C 语言神经网络库,内含丰富的示例和测试。代码简洁易读,适合作为初学者学习神经网络的入门项目。来自 @ziming012 的分享

#include "genann.h"/* Not shown, loading your training and test data. */
double **training_data_input, **training_data_output, **test_data_input;/* New network with 2 inputs,* 1 hidden layer of 3 neurons each,* and 2 outputs. */
genann *ann = genann_init(2, 1, 3, 2);/* Learn on the training set. */
for (i = 0; i < 300; ++i) {for (j = 0; j < 100; ++j)genann_train(ann, training_data_input[j], training_data_output[j], 0.1);
}/* Run the network and see what it predicts. */
double const *prediction = genann_run(ann, test_data_input[0]);
printf("Output for the first test data point is: %f, %f\n", prediction[0], prediction[1]);genann_free(ann);

地址:https://github.com/codeplea/genann

C# 项目

2、FancyScrollView:Unity 滑动列表插件。该项目采用 Unity 引擎动画系统来定制列表滑动效果,具备非常高的灵活性,除了用作滑动列表,还可以用作导航栏。项目代码结构和风格规范,接入成本低、易于使用和定制。来自 @Wu Zheng 的分享

using UnityEngine;
using UnityEngine.UI;
using FancyScrollView;class MyCell : FancyCell<ItemData>
{[SerializeField] Text message = default;public override void UpdateContent(ItemData itemData){// 更新内容message.text = itemData.Message;}public override void UpdatePosition(float position){// position 是一个介于 0.0 到 1.0 之间的值// 可以根据 position 自由控制滚动的外观}
}
444355356ffdc84ffe049be845b0a667.gif

地址:https://github.com/setchi/FancyScrollView

3、MarkovJunior:基于马尔可夫链的图像生成器。马尔可夫链是一种数学模型,具有“无记忆”的性质,即未来状态的概率分布只依赖于当前状态,而不依赖于过去的状态。该项目利用马尔可夫链原理,通过模拟图像的状态转移来生成独特的图像,包括建筑、迷宫等。

b830a5d0b5ca0404dd73207f67ca32e4.png

地址:https://github.com/mxgmn/MarkovJunior

C++ 项目

4、abseil-cpp:谷歌开源的 C++ 基础库。这是一个在 Google 内部被广泛应用的 C++ 公共库,它提供了一系列高质量、可靠、高效的基础模块,其中包括字符串处理、并发、时间、STL 容器、测试、日志等实用函数。来自 @张程林 的分享

地址:https://github.com/abseil/abseil-cpp

5、gpupixel:高性能跨平台实时美颜滤镜库。这是一个用 C++11 编写的高性能图像和视频处理库,内置基于 GPU 的美颜特效滤镜,效果可以达到商业级别水平。支持磨皮、美白、瘦脸、大眼等特效,适用于 iOS、macOS 和 Android 平台。来自 @Zhaoyou Ge 的分享

1e41f1e70de481cd7c037ebd25cd7e32.gif

地址:https://github.com/pixpark/gpupixel

6、qtrvsim:面向教育的 RISC-V CPU 模拟器。这是一个采用 Qt 实现的 RISC-V CPU 模拟器,由捷克理工大学计算学院开发。

d75ea462ed8dee564e275714595a7309.png

地址:https://github.com/cvut/qtrvsim

Go 项目

7、copilot-gpt4-service:将 Github Copilot 转成 ChatGPT 的服务。该项目可以将 GitHub Copilot 转换成 ChatGPT 的服务,为什么要这么做呢?因为如果你在 GitHub 上有一个开源项目,就有机会免费使用 Copilot,除此之外学生和老师在完成认证后也可以免费使用 Copilot,一番操作下来就等于白嫖 GPT-4。一定要按照推荐的方式部署,否则有封号风险,仅限自用。来自 @exiaOgW1q 的分享

地址:https://github.com/aaamoon/copilot-gpt4-service

8、goploy:容易上手的代码发布平台。这是一个采用 Go + Vue.js 构建的 Web 部署平台,可一键部署、发布和回滚项目。支持基于角色的访问控制、监控、秒级定时任务、Xterm、LDAP 等功能,提供了完整的安装引导,即使是初学者也能轻松上手。来自 @zhenorzz 的分享

ead2080ee981baa0bbd1eec966794b23.png

地址:https://github.com/zhenorzz/goploy

9、listmonk:开源的邮件列表和营销平台。这是一个开箱即用的邮件营销平台,可以帮助你管理邮件订阅者、创建和发送邮件、分析营销数据。可查看邮件阅读率、链接点击率等,支持自托管适用于个人和企业。

d64ddcc5bdf6987672a4558a38ff3a77.png

地址:https://github.com/knadh/listmonk

10、restic:一款强大的开源备份工具。该项目提供了简单、快速、安全的开源备份解决方案。它无需繁琐的配置,即可轻松完成备份和恢复操作。采用增量备份策略,备份数据经过加密和压缩处理,保障数据安全且节省空间,支持灵活的存储选择,包括本地磁盘和云存储。可设置自动备份时间,确保数据得到定期的备份保护。

$ restic --repo /tmp/backup backup ~/work
enter password for repository:
scan [/home/user/work]
scanned 764 directories, 1816 files in 0:00
[0:29] 100.00%  54.732 MiB/s  1.582 GiB / 1.582 GiB  2580 / 2580 items  0 errors  ETA 0:00
duration: 0:29, 54.47MiB/s
snapshot 40dc1520 saved

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

11、vfox:无忧应对多编程语言不同版本的工具。这是一款跨平台的通用版本管理工具,通过命令行快速安装、切换编程语言的不同版本,并支持自定义源地址。相比于针对每种语言的独立版本管理工具(如 nvm、fvm、gvm 等),这个项目让开发者摆脱繁琐的学习和记忆过程,只需一个工具、一条命令,轻松搞定多编程语言版本管理。来自 @Han Li 的分享

$ vfox c
node -> v20.10.0
java -> v11.0.12
798d835ded42cc57f0fb41b64835fb3a.png

地址:https://github.com/version-fox/vfox

Java 项目

12、1brc:探索 Java 处理 10 亿行文本的最快速度。这是一个有趣的 Java 编程挑战,要求开发者编写一个 Java 程序,读取包含多个气象站温度值的文件(10 亿行),然后计算每个气象站的最小、平均和最大值,最后按照站点名称排序后输出,现在最快速度为 2 秒。

8ebe1ba9d90597f9c4771ea275e834ae.png

地址:https://github.com/gunnarmorling/1brc

13、automq-for-kafka:一款真正的云原生 Kafka 解决方案。该项目是基于云原生重新设计的新一代 Kafka 发行版。在保持和 Apache Kafka 100%兼容前提下,AutoMQ 可以为用户提供高达 10 倍的成本优势以及百倍的弹性优势,同时支持秒级分区迁移和流量自动重平衡,解决运维痛点。

c48d8233201b8a88a4ed82b14fd93aa5.png

地址:https://github.com/AutoMQ/automq-for-kafka

14、spring-startup-analyzer:优化 Spring Boot 应用启动性能的工具。该项目利用采集 Spring 应用启动过程数据,生成交互式分析报告,为开发者提供了分析 Spring 应用启动性能的工具。其主要功能包括分析启动卡点、处理 Spring Bean 异步初始化,以及显示应用未加载的 jar 包、方法调用次数和耗时统计等详细信息。来自 @linyimin 的分享

8035dc12d330873c0bc80e33976df48b.png

地址:https://github.com/linyimin0812/spring-startup-analyzer

JavaScript 项目

15、awesome-hands-control:用手势操控电脑程序的工具。该项目基于手势识别进行自定义操控电脑程序,采用纯前端技术栈实现。它通过训练好的模型(MediaPipe)来识别手势,然后将特定手势与电脑操控绑定,最后,用户可以指定操作的进程,从而实现手势操控电脑程序。来自 @Rylan 的分享

0a21e914d962b0e3ce172901a226567f.png

地址:https://github.com/RylanBot/awesome-hands-control

16、bpmn-js:专注于流程图的可视化和编辑组件。该项目提供了直观的拖拽式创建和编辑流程图的功能,可用于构建业务流程管理、决策流可视化和低代码平台。来自 @塔咖 的分享

const xml = '...'; // my BPMN 2.0 xml
const viewer = new BpmnJS({container: 'body'
});try {const { warnings } = await viewer.importXML(xml);console.log('rendered');
} catch (err) {console.log('error rendering', err);
}
d82181173a68fe9f2cc35ffe6a7dcf0b.gif

地址:https://github.com/bpmn-io/bpmn-js

17、dockge:一个美观、易用的 Docker Compose 管理平台。该项目提供了一个 Web 界面,用于管理 docker-compose.yaml 文件。它开箱即用、界面设计精美,支持交互式编辑 compose.yaml 文件、更新 docker 镜像,以及启动、停止、重启、删除 docker 等操作。来自 @猎隼丶止戈reNo7 的分享

ac2bb773a7c02b1ccde6b485d3854d0d.gif

地址:https://github.com/louislam/dockge

18、theatre:一个用于创建 Web 动画的 JavaScript 库。该项目是带图形用户界面的 Web 动画编辑器,能对任何 JavaScript 变量进行动画处理。它不仅支持处理 three.js 或其他 3D 库对象的动画功能,还能利用 React 等库对 HTML/SVG 进行动画处理。

24e9a4f70813193aac66a6f2cdf9470a.gif

地址:https://github.com/theatre-js/theatre

19、tiny-rdm:一款轻量级的跨平台 Redis 桌面客户端。该项目是基于 WebView2 的 Redis 桌面客户端,拥有小巧的体积和精美的界面,同时支持中文。它提供了多种连接方式、分段加载、慢日志、转码显示等功能,可以在 Windows、Linux 和 macOS 系统上使用。

8368281efa2053e5f4672e1945ffa466.png

地址:https://github.com/tiny-craft/tiny-rdm

Kotlin 项目

20、jingmo:一款古诗词文和成语应用。它叫「京墨」是一个免费的 Android 阅读应用,内含丰富的中国传统文化内容,包括古诗、歇后语、成语故事、中国传统节日、绕口令等。安装应用第一次进入无内容,需要在设置里手动同步数据。来自 @贺丰宝 的分享

7b58fa5c4e226badae08a68f07cbd745.png

地址:https://github.com/hefengbao/jingmo

Objective-C 项目

21、Itsycal:可爱的 Mac 菜单栏日历。这是一个迷你的菜单栏,拥有可爱的界面和实用的功能,支持显示/添加系统日历的事件、深色模式、周数、快捷键等功能,适用于 macOS 11+ 系统。

26527db203112373bd97067732a776d8.png

地址:https://github.com/sfsam/Itsycal

22、KeepingYouAwake:防止 Mac 进入睡眠状态的工具。这一个小型的菜单栏实用工具,可以让 Mac 电脑在预设的时间内或永久不进入睡眠模式,适用于 macOS 10.13 或更高版本。

dbff4d2c97e39ea7cbda44c4ef9e6529.jpeg

地址:https://github.com/newmarcel/KeepingYouAwake

PHP 项目

23、akaunting:专为小型企业和个人设计的在线会计软件。该项目是基于 Laravel+Vue.js+Tailwind CSS+MySQL 构建的会计平台,为用户提供全面的会计和财务功能。其中包括费用跟踪、现金流、报告等,并且支持移动端适配和多语言。

26d7c26c67c923310719689f55e418e2.png

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

Python 项目

24、DouyinLiveRecorder:一款支持多平台的直播录制工具。该项目是基于 FFmpeg 实现的多平台直播源录制工具,支持循环执行直播录制任务(循环值守)、直播状态推送、多人录制、去水印、选择画质等功能。

7650f031a2a8fb4c1c94920fa9b9a403.png

地址:https://github.com/ihmily/DouyinLiveRecorder

25、harlequin:一个简单、快速、美观的终端数据库客户端。这是一个带界面的命令行数据库客户端,提供了数据库和表目录、查询编辑器、显示结果、导出数据的功能,支持 DuckDB、SQLite、Postgres、MySQL 等数据库。

102c818ce2dfbb9ed273cdc03167312b.png

地址:https://github.com/tconbeer/harlequin

26、khal:一款简单、美观的终端日历。该项目是用 Python 写的命令行日历工具,支持快速便捷地浏览、添加和编辑事件,以及同步日历数据。

72bed20b1897531b1fc0061514a476ab.png

地址:https://github.com/pimutils/khal

27、pyupgrade:一键升级 Python 代码的工具。这是一个用于自动升级 Python 代码,以适应新版本语法的工具。支持升级到不同的 Python 版本、提供预览模式即查看改动变化等功能。

bff2d5713179c65d980ab36001c7a614.png

地址:https://github.com/asottile/pyupgrade

28、text_blind_watermark:给文本加盲水印的 Python 库。通过该项目可以将一段隐秘信息嵌入到明文中,嵌入前后的明文无变化。简单说就是给文本打上隐藏水印,适合在版权保护、数据泄漏溯源、数据安全等场景使用,支持 macOS 的 Chrome 浏览器、苹果备忘录、macOS/iPhone 的微信和钉钉等应用。

from text_blind_watermark import TextBlindWatermark2password = 'HelloGitHub'
text = '这句话中有盲水印,你能提取出来吗?'
watermark = 'HelloGitHub'text_blind_wm = TextBlindWatermark2(password=password)text_with_wm = text_blind_wm.embed(text=text, watermark=watermark)
print(text_with_wm)
e25f1d9786e8f332749a38371e7c6a35.png

地址:https://github.com/guofei9987/text_blind_watermark

Rust 项目

29、cmd-wrapped:一个 Rust 编写的命令行历史记录分析工具。这是一款命令行工具,它可以读取你的命令行操作历史记录,并生成详细的分析报告。报告包括过去任意一年的命令行活跃时段、常用命令等信息,支持 Zsh、Bash、fish 等。

bb87ad1477fa121611ba3582a34a2127.png

地址:https://github.com/YiNNx/cmd-wrapped

其它

30、gdb-dashboard:GDB 可视化调试界面。这是专为 GNU 调试器(GDB)设计的文本界面,支持模块化显示调试的程序相关信息,更直观和方便地调试代码。该界面采用 Python 编写,具备轻松自定义和扩展的特性。

f55efbb31c7ccbfdb242665a7de18f5c.png

地址:https://github.com/cyrus-and/gdb-dashboard

31、kubernetes-network-policy-recipes:只需复制粘贴即可解决 K8s 网络问题的配方。该项目包含了 Kubernetes 网络策略的各种用例和示例 YAML 文件,可直接复制使用。

b94daec2b041ddfbe398289985f11220.gif

地址:https://github.com/ahmetb/kubernetes-network-policy-recipes

32、network_proxy_flutter:支持手机端的免费抓包工具。该项目是采用 Flutter 开发的抓包工具,可用于拦截、检查和重写 HTTP(S) 流量。它支持扫码连接、域名过滤、请求重写等功能,适用于 Windows、macOS、Linux、Android 和 iOS 平台。

17adcda0378ca5c0134aaa4979823bc2.png

地址:https://github.com/wanghongenpin/network_proxy_flutter

33、particle-life:粒子生命演化游戏。该项目通过定义粒子之间的相互作用力,从而生成复杂的自组织图案。源码十分简单,用户可以在线试玩,创造出各种有趣的图案。

a0d8d53d30a37ccf7afa309c7bf04426.jpeg

地址:https://github.com/hunar4321/particle-life

34、vimwiki:Vim 中的个人 wiki。这是一个 Vim 插件,通过以 wiki 的方式连接文本,提供更好的组织笔记和想法的功能。

8fd9a752cc6336ee932f01deff91a3a0.png

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

开源书籍

35、game-programming-patterns:《游戏编程模式》。该书收集了经过验证、已发布的 3A 级游戏中的经验和模式,来解决你在游戏开发中遇到的问题。

1fcaa159eb2b829607784129dd133658.jpeg

地址:https://github.com/munificent/game-programming-patterns

36、PDF-Explained:《PDF 解析》。该项目是《PDF Explained》一书的非官方中文翻译版,内容由浅入深介绍了如何构建简单的 PDF 文件,以及 PDF 运算符、书签、超链接、注释、加密等高级特性。

地址:https://github.com/zxyle/PDF-Explained

机器学习

37、AnimateDiff:让 AI 生成的图动起来。这是一款可以在 Stable Diffusion 中制作动图的库,支持将大多数开源模型转换为动画生成器。让原本通过文字生成的图片,变成 gif 图片动起来。来自 @adoin 的分享

6a92c515b2af13dc8d6029f93bff2cbe.gif

地址:https://github.com/guoyww/AnimateDiff

38、AnyText:轻松 DIY 图片文字,定制你的创意设计。该项目提供了文字生成和文字编辑两种模式,它能够根据提示词生成图文融合的图片,并确保文字的准确性,还支持对上传图片中的文字进行编辑后,重新生成图片。支持中文、英语、日语、韩语等多语言,适用于海报设计、Logo 设计、创意涂鸦、表情包等场景。

53877cf6dec0a9cf97e55b38db34db77.jpeg

地址:https://github.com/tyxsspa/AnyText

39、pyvideotrans:开源的视频翻译和配音工具。该项目可以将视频从一种语言翻译成指定语言的视频,并自动生成和添加对应语言的字幕和配音。来自 @okaymyworld 的分享

ac329e588fc3b9aeacb11f7a4b16afb9.png

地址:https://github.com/jianchang512/pyvideotrans

40、StreamDiffusion:实时交互式 AIGC 图片。该项目能以惊人的速度生成 AIGC 图像,单张 RTX4090 显卡可达 100 张/秒。它通过流批处理简化数据处理,采用残差无分类器(RCFG)减少计算冗余,随机相似性过滤器提高 GPU 利用率,并通过优化 IO 队列实现并行处理。同时,利用多种模型加速工具,实现爆炸式地提升 AIGC 图像速度。

0030000f3984005ca4520fbe70f2360d.gif

地址:https://github.com/cumulo-autumn/StreamDiffusion

最后

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

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

- END -

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

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

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

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

相关文章

推荐一款第三方的日历框架------CalendarView

简介 Android上一个优雅、高度自定义、性能高效的日历控件&#xff0c;完美支持周视图&#xff0c;支持标记、自定义颜色、农历等&#xff0c;任意控制月视图显示、任意日期拦截条件、自定义周起始等。Canvas绘制&#xff0c;极速性能、占用内存低&#xff0c;支持简单定制即可…

STL容器大总结区分(上)

如图所示 ,按大小说明其重要性 那就先说两个最重要的: vector---数组 list-----链表 vector 基本概念 功能&#xff1a; vector 数据结构和 数组非常 相似 &#xff0c;也称为 单端数组 vector 与普通数组区别&#xff1a; 不同之处在于数组是静态空间&…

HarmonyOS漫谈---套壳安卓还是套壳苹果?HarmonyOS更像谁?

2020年以前华为手机的操作系统是EMUI,这个是在Android基础上扩展而来的,版本和android几乎一致,和市面上其它android手机厂家搭载的系统并无本质不同 2019年5月16日,美国针对华为发起了第一轮制裁。8月华为发布了HarmonyOS1.0,此时还只是主要在IOT设备上使用,智慧屏成为…

贝叶斯增量式跨域适应:少样本 + 跨模态学习 + 知识保留和推断【fundus + OCT】,做视网膜病变

贝叶斯深度学习&#xff1a;增量式少样本学习跨域适应 贝叶斯多目标函数 跨模态学习 fundus OCT&#xff0c;做视网膜病变 核心思想设计网络&#xff1a;寻找分类模型、损失函数实验结果混淆矩阵与注意力图评估 总结 核心思想 论文&#xff1a;https://arxiv.org/pdf/2110.…

paddlepaddle在执行loss.item()的时候,报错an illegal memory access was encountered.

遇到的问题是“an illegal memory access was encountered”&#xff0c;这是一个常见的内存错误。 首先&#xff0c;要确保你的代码中没有其他明显的内存错误&#xff0c;例如&#xff1a; 确保你没有试图访问超出数组边界的元素。确保你没有试图释放已经释放的内存。确保你没…

尚无忧球馆助教系统源码,助教小程序源码,助教源码,陪练系统源码

特色功能&#xff1a; 不同助教服务类型选择 助教申请&#xff0c;接单&#xff0c;陪练师入住&#xff0c;赚取外快 线下场馆入住 设置自己服务 城市代理 分销商入住 优惠券 技术栈&#xff1a;前端uniapp后端thinkphp 独立全开源

C#学习(十一)——Array和Collection

一、集合 集合重要且常用 孤立的数据是没有意义的&#xff0c;集合可以作为大量数据的处理&#xff0c;可进行数据的搜索、迭代、添加、删除。 C#中&#xff0c;所有集合都必须实现ICollection接口&#xff08;数组Array除外&#xff09; 集合说明Array数组&#xff0c;固定长…

网络安全02--负载均衡下的webshell连接

目录 一、环境准备 1.1ubentu虚拟机一台&#xff0c;docker环境&#xff0c;蚁剑 1.2环境压缩包&#xff08;文件已上传资源&#xff09;&#xff1a; 二、开始复原 2.1上传ubentu&#xff1a; 2.2解压缩 2.3版本20没有docker-compose手动下载&#xff0c;包已上传资源 …

第2章-神经网络的数学基础——python深度学习

第2章 神经网络的数学基础 2.1 初识神经网络 我们来看一个具体的神经网络示例&#xff0c;使用 Python 的 Keras 库 来学习手写数字分类。 我们这里要解决的问题是&#xff0c; 将手写数字的灰度图像&#xff08;28 像素28 像素&#xff09;划分到 10 个类别 中&#xff08;0…

32GPIO输入LED闪烁蜂鸣器

一.GPIO简介 所有的GPIO都挂载到APB2上&#xff0c;每个GPIO有&#xff11;&#xff16;个引脚 内核可以通过APB&#xff12;对寄存器进行读写&#xff0c;寄存器都是32位的&#xff0c;但每个引脚端口只有&#xff11;&#xff16;位 驱动器用于增加信号的驱动能力 二.具体…

数据结构-线性表

文章目录 数据结构—线性表1.线性表的定义和基本操作线性表的定义线性表的特点线性表的基本操作 2.线性表的顺序存储和链式存储表示顺序存储链式存储单链表循环链表双向链表 数据结构—线性表 1.线性表的定义和基本操作 线性表的定义 定义&#xff1a;线性表是具有相同数据类…

SpringSecurity(16)——OAuth2客户端授权模式

工作流程 基本使用 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId><version>2.3.12.RELEASE</version> </dependency> <dependency><groupId>…