GitHub 一周热点汇总第13期(2024/03/03-03/09) ,天气渐渐转暖了,春天慢慢来了,来一起看看这周的热门项目吧。
#1 pingora
- 项目名称:pingora - Rust 框架
- GitHub 链接:github.com/cloudflare/...
- 上周 Star 数:10000+
本周最热们的项目就是Pingora,刚刚开源就火箭蹿升,一周获得了1万star,热度爆棚。
Pingora 是一个 Rust 异步多线程框架,用于构建可编程网络服务。Pingora 长期以来一直在 Cloudflare 内部使用,最近Cloudflare宣布将其开源。
早在 2022 年,Cloudflare 就宣布放弃 Nginx 转向内部编写的 Pingora。目前,Pingora 提高性能的同时,每天处理超过 1 万亿条互联网请求,并为 Cloudflare 客户带来了许多新功能,同时只需要以前代理基础架构的三分之一的 CPU 和内存资源。
Pingora提供的能力包括:
- 异步 Rust:快速且可靠
- HTTP 1/2 端到端代理
- 基于 OpenSSL 或 BoringSSL 的 TLS
- gRPC 和 websocket 代理
- 优雅的重载
- 可定制的负载平衡和故障转移策略
- 支持多种观测工具
Cloudflare 的说明中给出了和Nginx的直观对比。对比Nginx来说,Pingora采用了多线程而不是进程的处理方式,这将更加具有优势。除了性能提升外,Pingora采用Rust开发提供了更好的内存安全。
Nginx
Pingora
下面是它的GitHub star,开源后就直接呈现了火箭发射的形式。
#2 screenshot-to-code
- 项目名称:screenshot-to-code - 图片转代码
- GitHub 链接:github.com/abi/screens...
- 上周 Star 数:7200+
- 本项目可以帮助你快速将屏幕截图转换为代码(HTML/Tailwind CSS、React、Vue 或 Bootstrap)。 它使用 GPT-4 Vision 生成代码,并使用 DALL-E 3 生成外观相似的图像。 您现在还可以输入 URL 来克隆实时网站!
借助GPT-4 Vision的突破性能力,Screenshot to Code 让人看到一种全新的开发模式,只需点击几下鼠标,它就能将以前密集的手动流程自动化。
以下是一个执行的示例,将泰勒·斯威夫特 Instagram 页面的屏幕截图转换为代码的过程:
项目提供了一个在线环境,可以直接上传图片并执行:screenshottocode.com/
但是这个在线环境需要购买执行次数,或者绑定自己的OpenAI API key。这两件事我都不是很想做,所以还是自己安装部署吧。
项目由 React/Vite 开发前端, FastAPI 开发后端,跑起来还是很容易的。
最后还是要提醒一句,想使用的一定要有OpenAI的key,因为后台实际是调用OpenAI的。
#3 Ryujinx
- 项目名称:Ryujinx - Switch模拟器
- GitHub 链接:github.com/Ryujinx/Ryu...
- 上周 Star 数:3500 +
Ryujinx 这周很让人意外,同时也在情理之中的火了一把。因为上周Yuzu和任天堂的事件(具体事件回顾可以查看我上周发的内容),Switch模拟器圈的情绪被激发了,同时随着Yuzu的倒下,大家也自然的将目光投向了另一个主力模拟器Ryujinx。
Ryujinx 是一款开源 Nintendo Switch 模拟器,由 gdkchan 创建,用 C# 编写。该模拟器旨在提供卓越的准确性和性能、用户友好的界面和一致的构建。项目很有历史,项目开发于 2017 年 9 月开始,一直保持着更新实属不易。
截至 2023 年 10 月,Ryujinx 已在约 4,200 款游戏上进行了测试;超过 4,150 个启动菜单并进入游戏,其中大约 3,500 个被认为可以玩。最后还是希望项目能够平稳发展,千万不要步了Yuzu的后尘。
#4 generative-ai-for-beginners
- 项目名称:generative-ai-for-beginners - AIGC 入门教程
- GitHub 链接:github.com/microsoft/g...
- 上周 Star 数:2900+
要说现在最热门的是什么?那肯定是AI,而AI中哪个领域最热门,那应该就是AIGC了。
本项目是由微软发布的一个生产式入门课,课程包括18节,每一节课都有自己独立的主题,你可以根据自己的情况选择从任何章节开始学习。想想网上各种X99的课程,为什么不来跟着正规大厂的课程学习下呢。
课程内容同时包含了理论和动手实践,会带领学习一步步的实操一些内容,当然是利用Azure的资源。
项目中涉及的动手实践的源码也都提供给了大家,学习起来还是挺不错的。
微软这两年还是推出了很多不错的免费课程,比如我之前推荐给大家AI入门课(AI-For-Beginners),大家有兴趣也可以去翻翻,我这里直接把地址放在这,感兴趣的话可以一块来学习。
- GitHub 链接:github.com/microsoft/A...
#5 windows
- 项目名称:windows - Windows的Docker容器
- GitHub 链接:github.com/dockur/wind...
- 上周 Star 数:2800+
这个项目帮我们在Docker里运行Windows。由于 Win 系统是运行在 Docker 容器中,相比于虚拟机的形式会有不少的限制,例如无法选择 Machine 类型(i440fx / Q45)、无法像虚拟机那样直通 PCIE 设备(vfio-pci)、由于容器的原因会造成一定的性能损耗等等。适合快速部署一个 Windows 系统用来做一些轻度的使用。
使用项目给出的Docker compose。
yaml
version: "3"
services:
windows:
image: dockurr/windows
container_name: windows
devices:
- /dev/kvm
cap_add:
- NET_ADMIN
ports:
- 8006:8006
- 3389:3389/tcp
- 3389:3389/udp
stop_grace_period: 2m
restart: on-failure
并执行启动命令
bash
docker run -it --rm --name windows -p 8006:8006 --device=/dev/kvm --cap-add NET_ADMIN --stop-timeout 120 dockurr/windows
接下来就可以使用浏览器连接到端口 8006 开始安装。
默认情况下,将安装 Windows 11。但是您可以将VERSION环境变量添加到您的撰写文件中,以便指定要下载的替代 Windows 版本:
安装完成后,就可以通过RDP来使用了。更多详细的配置参数,大家可以参考下项目的说明。