《HelloGitHub》第 85 期
兴趣是最好的老师,HelloGitHub 让你对编程感兴趣!
简介
HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。
这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 Python、Java、Go、C/C++、Swift...让你在短时间内感受到开源的魅力,对编程产生兴趣!
以下为本期内容|每个月 28 号更新
C 项目
1、dperf:一款能模拟巨大流量的压测工具。该项目是基于 DPDK 开发的高性能压测工具,能够每秒建立千万级的 HTTP 连接、亿级别的并发请求和数百 Gbps 的吞吐量。
2、ExplorerPatcher:自由切换 Windows11 开始菜单样式的工具。这是一款能够让 Windows 11 的开始菜单栏(Explorer) 重回 Windows 10 样式的扩展工具,除此之外还支持禁用 Windows 11 的上下文菜单和命令栏等功能,让你在 Windows 上拥有更舒适的工作环境。
3、ImageMagick:一款强大的编辑和处理图像的桌面工具。该项目可用于创建、调整大小、裁剪、颜色校正和合成图像,支持超过 200 种的图像文件格式,其强大之处在于提供了处理复杂图像处理任务的 CLI 和 API。ImageMagick 被广泛应用于平面设计、科学研究、医学影像、天文等领域,适用于 Windows、Linux 和 macOS 系统。来自 @孤胆枪手 的分享
C# 项目
4、ScottPlot:一个免费、开源的 .NET 绘图库。该项目可以轻松地以交互方式显示大型数据集,只需几行代码即可实现折线图、条形图、饼图、散点图等。来自 @星之痕迹 的分享
5、SpleeterGui:一款 Windows 上的音轨分离工具。它是第三方制作的 Spleeter 桌面应用,支持中文在内的多国语言,可以将音乐里的人声和乐器声分离,轻松实现提取音乐中的伴奏。来自 @孤胆枪手 的分享
6、VPet:一款虚拟桌宠模拟器。这是一款 Windows 桌面宠物软件,支持摸头、喂食、喝水、打工、睡觉、玩耍等多种互动方式。
C++ 项目
7、AirSim:基于虚幻引擎构建的无人机、汽车模拟器。这是一款微软开源的无人机和汽车的仿真模拟器,支持使用流行的飞行控制器进行软件在环(SIL)仿真,并使用 PX4 进行硬件在环(HIL)模拟,实现物理和视觉上逼真的模拟,可用于试验自动驾驶汽车、计算机视觉和强化学习算法。来自 @松果 的分享
8、krita:自由开源的免费绘画软件。它强大且完全免费,无需注册、没有广告、试用期和商用限制,让每一位画师都可以有尊严地进行创作。可用于绘制概念草图、插画、漫画、动画、接景和 3D 贴图,支持数位板、压感、防抖、图层、滤镜、色彩管理等功能,适用于 Windows、Linux、macOS 操作系统。
9、notekit:一款支持手绘笔记的 Markdown 编辑器。这是一个基于 GTK+ 3 开发的笔记工具,支持所见即所得的 Markdown 内容,以及通过鼠标、触摸屏或数字转化器添加手绘笔记。
10、pcsx2:免费、强大的 PlayStation 2 游戏模拟器。它能够运行包括最终幻想 X 和 鬼泣 3 在内的热门游戏,支持中文在内的多国语言,适用于 Windows、Linux 和 macOS 系统。
Go 项目
11、dozzle:轻巧的 Docker 实时日志查看工具。这是一个实时监控 Docker 日志的 Web 应用,打包成了一个非常小的 Docker 应用。它开箱即用、占用内存少、不存储任何日志文件,支持更加友好的日志展示、容器名称模糊搜索、正则表达式搜索日志等功能。
12、go-captcha:Go 写的行为验证码库。这是一个 Go 语言、简单易用、交互友好的行为验证码库,支持随机验证文本和点选式验证码。采用展示验证码、采集用户行为、验证行为数据的流程,整个过程用户只需点击操作就能完成验证。
13、kwok:模拟 K8s 集群的工具。它可以在几秒钟内搭建一个由数千个节点组成的 Kubernetes 集群,整个过程仅占用非常少的资源,轻松实现在本机上学习、测试和开发 K8s 集群应用。来自 @松果 的分享
14、scrutiny:一款监控硬盘运行状况的仪表板。这是 smartd 的 WebUI 平台,smartd 是一个守护进程,它能够监视拥有 S.M.A.R.T.(自我监测、分析及报告技术) 规范的硬盘。该项目基于 smartd 实现了硬盘各项指标的可视化界面,并增加了告警、自定义阈值等功能。
15、sqlflow:连接 SQL 和 AI 框架的工具。该项目能够将类似 SQL 的代码,编译成可运行在 K8s 集群的工作流,实现只写 SQL 就能得到 AI 引擎训练/预测的结果。支持 MySQL、MariaDB、TiDB、Hive 等数据库,以及 TensorFlow、Keras 等框架。来自 @松果 的分享
SELECT * FROM iris.train
TO TRAIN DNNClassifier
WITH model.hidden_units = [10, 10], model.n_classes = 3, train.epoch= 10
COLUMN sepal_length, sepal_width, petal_length, petal_width
LABEL class
INTO sqlflow_models.my_dnn_model;
Java 项目
16、circuitjs1:浏览器上的电子电路模拟器。这是一个在浏览器中运行的电子电路模拟器,鼠标点击即可打开或关闭开关,当鼠标移动到任何组件上,会显示该组件的当前状态和简短描述。支持绘制电路、添加电路组件、修改数值、动态显示电压信号、导入/导出/存储等功能,可用于电子电路相关的教学和实验。
17、MoonBox:无侵入的线上流量录制/回放平台。这是一款由 vivo 开源的基于 jvm-sandbox-repeater 的流量回放平台,提供了数据统计和存储能力以及大量插件,适用于自动化测试、线上问题追踪和业务监控等场景。
18、oshi:获取操作系统和硬件信息的 Java 库。这是一个基于 JNA 实现的获取本机操作系统和硬件信息的库,支持操作系统版本、进程、内存、 CPU 使用率、磁盘和分区、设备、传感器等信息。
JavaScript 项目
19、mathquill:数学公式在线编辑器。这是一个 JavaScript 写的公式编辑器,它可以让数学公式输入变得简单和美观。来自 @松果 的分享
20、nextui:漂亮、快速、新式的 React UI 库。UI 的整体风格简洁大方,圆角设计用户体验友好。它不仅颜值能打,而且对开发者也十分友好,支持自定义默认主题、自定义组件样式、fully-typed、自动识别深色模式等功能。来自 @鸿宇Hov 的分享
21、quill:一款强大的富文本编辑器。它是目前 GitHub 上 Star 数最多的所见即所得 Web 编辑器,具有强大的可扩展性和兼容性,支持台式机、平板电脑和手机上几乎所有的浏览器。
22、react-hot-toast:轻便的 React toast 提示组件。它使用方便、易于定制、小于 5kb,支持 Emoji 图标、悬浮保持等功能,提供了多种不同样式的示例代码,拿来就能直接用。来自 @鸿宇Hov 的分享
23、workadventure:像素 RPG 风格的在线虚拟办公室。一个以 16-bit RPG 游戏形式呈现的在线协作工作区。用户可以在虚拟办公室内四处走动,并与同事进行文字交流、视频聊天或在线会议。
Kotlin 项目
24、Music-Player-GO:一款小巧但功能齐全的本地 Android 音乐播放器。它拥有极简的界面和小巧的体积,支持中文、定时关闭、随机播放、按艺术家、专辑、歌曲或文件夹组织音乐等功能。
Objective-C 项目
25、Easydict:一款简洁优雅的翻译词典。它开箱即用,能够自动识别输入文本的语言,支持输入翻译、划词翻译和 OCR 截图翻译等功能。
Python 项目
26、datasette:一个用于探索和发布数据的 Python 工具。该项目可以将 CSV、JSON、数据库等各种形式的数据,在几分钟内发布成 API 接口或网页,轻松实现数据集的 Web 可视化、搜索、分析等功能。
27、erpnext:一款完全开源的 ERP 系统。它是采用 Python+JavaScript 开发的企业资源规划(ERP)系统,可用于构建中/小型企业的客户关系、人力资源、销售/采购/仓库、财务等管理系统。
28、mercury:能够将 Jupyter Notebook 变成 Web 应用的框架。该项目可以让你在 Python Notebook 中添加交互式部件,实现自动生成一个漂亮的 Web 应用,方便分享和展示你的成果。
29、pyotp:Python 的一次性密码库。它是一个能够生成/验证一次性密码(短信验证码)的 Python 库,可以在 Web 应用或其它需要登录的系统上,实现双因素(2FA) 或多因素(MFA) 身份验证方法。
30、sqladmin:FastAPI/Starlette 的后台管理界面。这是一个灵活的 SQLAlchemy 管理后台,采用 Tabler 构建 Web 界面,支持集成到 FastAPI 和 Starlette,实现类似 Django 内置的管理后台功能。
from fastapi import FastAPI
from sqladmin import Admin, ModelView
app = FastAPI()
admin = Admin(app, engine)
class UserAdmin(ModelView, model=User):
column_list = [User.id, User.name]
admin.add_view(UserAdmin)
Rust 项目
31、kibi:不到 1024 行的文本编辑器。这是一个用不到 1024 行 Rust 代码编写的命令行文本编辑器,支持 UTF-8、语法高亮、行号等基础功能。
32、veloren:一款 Rust 写的像素风 RPG 游戏。它的灵感来自《塞尔达传说:旷野之息》、《矮人要塞》和《我的世界》等游戏。虽然这款游戏的画质低,但拥有广阔的开放世界,玩家在游戏里可以打造道具、合成物品、战斗、升级、驯养宠物,还可以探索地牢洞穴、在空中滑翔、与 NPC 交易。
Swift 项目
33、hidden:帮助隐藏 macOS 菜单栏图标的小工具。它能够灵活地隐藏菜单栏应用,让你的 Mac 看起来更加简洁,可通过 App Store 一键安装。
其它
34、distrochooser:帮你找到适合自己的 Linux 发行版。该网站通过询问一些问题,为你推荐符合你要求的 Linux 发行版,支持中文。来自 @酸去羟基醇去氢 的分享
35、dockerlabs:适合所有阶段开发者的 Docker 教程。该教程的内容分为初、中、高三个级别,适合所有阶段的 Docker。内含 500 个动手实验,以及 Docker 和 Docker Compose 小抄,这一切全部开源且分文不取。
36、flutter_twitter_clone:Flutter 写的推特客户端。这是一款用 Flutter 写的第三方 Twitter 客户端,实现了登录/注册、信息流、回复、通知、个人主页等功能。
37、galagino:自制迷你的 80 年代街机。基于 ESP32 开发板的街机模拟器,可以运行吃豆人(Pac-Man)、小蜜蜂(Galaga) 和大金刚(Donkey Kong) 三款经典的街机游戏。
38、my-re0-k8s-security:从零开始的 Kubernetes 攻防。该项目包含了作者在多处攻防场景,所遇到的云原生相关的漏洞挖掘和漏洞利用实例。
39、static-marks:将浏览器书签转换为静态网站的工具。该项目能够将本地的浏览器书签,生成一个方便部署的独立 HTML 文件,轻松实现在线分享浏览器书签的功能。来自 @摸鱼的小灰栗。 的分享
开源书籍
40、build-lua-in-rust:《用 Rust 写个 Lua 解释器》。这本书介绍了如何用 Rust 语言从零实现一个 Lua 解释器。
41、learn-javascript:一本教授 JavaScript 语言的电子书。这是一本从零开始教授 JavaScript 编程语言基础的书,内含丰富的在线练习。
42、vimllearn:《VimL 语言编程指北路》。一本关于 VimL(Vim Language) 脚本语言的书,VimL 是 Vim 内置的脚本语言。
机器学习
43、AnimatedDrawings:让画作动起来的 AI 项目。这是 Meta AI 研究院开源的动画库,它能让你的画作动起来。无论是小朋友画的小人,还是高水平的卡通人物,该项目都能让它们跟着你一起做动作。
44、bark:Text-Prompted 生成音频的模型。该项目可以根据你输入的文本提示生成音频,甚至可以指定背景声音,比如我爱 HG (大笑),生成的语音会包含爽朗的笑声。它还可以模拟音乐、声效,比传统的文本转语音更智能。
from bark import SAMPLE_RATE, generate_audio, preload_models
from IPython.display import Audio
# download and load all models
preload_models()
# generate audio from text
text_prompt = """
Hello, my name is Suno. And, uh — and I like pizza. [laughs]
But I also have other interests such as playing tic tac toe.
"""
audio_array = generate_audio(text_prompt)
# play text in notebook
Audio(audio_array, rate=SAMPLE_RATE)
45、segment-anything:分割一切的图像分割模型。它是来自 Meta AI 研究院的图像分割模型,只需一键就可以“切出”图像中的任何对象。它在 1100 万张图像和 11 亿个掩码(mask) 的数据集上完成了训练,能够在各种分割任务上具有很强的零样本(zero-shot) 性能。来自 @孤胆枪手 的分享
最后
如果你发现了 GitHub 上有趣的项目,就点击这里分享给大家伙吧!
以上就是本期的所有内容了,往期内容点击阅读
感谢您的阅读,如果觉得本期内容还不错的话 求赞、求分享 ️
《HelloGitHub》第 85 期的更多相关文章
- NGK每日快讯」2021.1.27日NGK公链第85期官方快讯!
- 《HelloGitHub月刊》第01期
<HelloGitHub月刊> 因为现在这个项目只有我自己做,只敢叫"月刊",希望有志同道合者,快点加入到这个项目中来!同时,如果您有更好的建议或者意见,欢迎联系我.联 ...
- 《HelloGitHub月刊》第 01 期
<HelloGitHub月刊> 因为现在这个项目只有我自己做,只敢叫"月刊",希望有志同道合者,快点加入到这个项目中来!同时,如果您有更好的建议或者意见,欢迎联系我.联 ...
- 家里蹲大学数学杂志 Charleton University Mathematics Journal 官方目录[共七卷493期,6055页]
家里蹲大学数学杂志[官方网站]从由赣南师范大学张祖锦老师于2010年创刊;每年一卷, 自己有空则出版, 没空则搁置, 所以一卷有多期.本杂志至2016年12月31日共7卷493期, 6055页.既然做 ...
- HelloGithub
<HelloGithub月刊>第一期 <HelloGithub月刊> 因为现在这个项目只有我自己做,只敢叫“月刊”,希望有志同道合者,快点加入到这个项目中来!同时,如果您有 ...
- 在 GitHub 学习,成长为自己想要的样子|HelloGitHub 访谈
万事开头难,我们经过长期的策划和筹备,终于推出了 HelloGitHub 采访系列「开源项目作者的访谈」.这是一个采访个人开源项目作者的栏目,内容侧重于开源项目作者与开源的故事. 我们深知想要做好一个 ...
- js实现简单的滑动门和tab选项卡
思想:首先定义三个选项卡,可以用任何标签,只要如下图, 一共有三个ul,第一个ul给一个class,因为默认第一个选项卡的内容显示出来, 其他两个ul display:none: 当我鼠标移到第二个 ...
- 2013 ACM网络搜索与数据挖掘国际会议
ACM网络搜索与数据挖掘国际会议" title="2013 ACM网络搜索与数据挖掘国际会议"> 编者按:ACM网络搜索与数据挖掘国际会议(6th ACM Conf ...
- GitHub 热点速览 Vol.17:在?各家视频会员要不要?
作者:HelloGitHub-小鱼干 摘要:经济实用,用作上周的 GitHub 热点的横批再合适不过.先不说 GitHub Trending 上不止一个的会员共享项目,免你找好友刷脸要会员,这项目实在 ...
- 如何短时间内快速通过Java面试
当然是刷题啊 1-10期[10期]Redis 面试常见问答[09期]说说hashCode() 和 equals() 之间的关系?[08期]说说Object类下面有几种方法呢?[07期]Redis中是如 ...
随机推荐
- Windows安装使用Chocolatey 包软件管理(类似 rpm , yum, brew , apt-get 包管理器工具)
Windows也能像Linux或者Mac那样命令行安装管理软件了,,,真的太方便了 下载安装 使用window powershell 用管理员运行 Set-ExecutionPolicy Bypass ...
- Blog作业02
目录 前言 设计与分析 踩坑心得 改进建议 总结 前言 这三次作业的题目数量虽然增多,但是在题量加大的同时,这三次作业集的难度也相应的下去了,难度降低的同时也保证了作业集题目的质量.这三次的作业的知识 ...
- manjaro安装指导
本文"指导"二字口气有点大,是说给自己听的,指导我下次的安装. 正文: 1.安装系统:在清华大学开源站上下载KDE版(本机适用19版54内核无驱动问题),用rufus烧制启动盘,以 ...
- 查看shell 用户连接数
w | grep pts |wc -l
- linux 部署轻量级堡垒机Next Terminal
对比 类似的开源堡垒机有 Teleport,Jumpserver,Next Terminal等等. Teleport 安全性最好,较轻量,但是对被管理资产不透明,纳管前需要双向认证,在资产设备上需额外 ...
- selenium--- 数据驱动测试 ddt
通过使用数据驱动测试的方法,可以在需要验证多组数据的测试场景中,使用外部数据源实现对输入值和期望值的参数化,从而避免在测试中仅使用硬编码的数据.将测试数据和测试脚本分离开,使得测试脚本在不同数据集合下 ...
- 使用python来搭建一个简易的文件下载环境以及用droopy来实现一个文件上传环境
ubuntu在安装的时候一般都是自带python环境的,大家可以查看一下查看demo如下 用于共享的命令很简单python2: python -m SimpleHTTPServer 8888pytho ...
- MIUI 12.5稳定版关闭充电提示音的方法
手机开启开发中模式 将手机连接电脑 打开cmd, 输入命令:adb shell settings put global power_sounds_enabled 0,即可关闭充电时的提示音 输入命令: ...
- warning: the `gets' function is dangerous and should not be used.
LINUX下编译C程序时,出现了:warning: the `gets' function is dangerous and should not be used. 原因:Linux 下gcc编译器不 ...
- springboot的websocket因IP问题无法连接
首先遇到这个问题有点奇葩,出现在项目上线时的客户现场,头两天一直都无法确定原因,因为它的表现方式很奇怪,基于springboot实现的websocket,同样的代码在公司研发环境不会有问题,客户现场会 ...