sse-rs 发布:一个强大的服务器推送事件(SSE)库
项目概述
作者发布了 sse-rs,这是一套用于解析和消费服务器推送事件(Server-Sent Events)的 Rust crate 集合。该库严格遵循 WHATWG 标准,并提供了非常友好的 API。
项目结构
项目被拆分为两个独立的 crate:
- sse-core:一个支持
no_std 环境的零 I/O 状态机。它会严谨地消费字节缓冲区,并生成解析后的事件。
- sse-reqwest-client:为
reqwest 提供的高级 EventSource 实现(类似 JavaScript API)。你只需要在标准的 RequestBuilder 上调用 .into_event_source() 就能直接使用。
性能优势
相比现有的 eventsource-stream crate,sse-core 的性能有了显著提升:
- 采用了手写状态机(基于
bytes::Buf)
- 避免了急切的字符串分配与行缓冲
- 微基准测试表明,其处理速度至少是前者的 3 倍
- 在网络分片严重的情况下,性能差距会进一步拉大(我们怀疑
eventsource-stream 存在 O(n²) 的时间复杂度)
使用示例
API 设计灵感源自 JavaScript API,使用起来简单直观:支持自动重连流、事件监听等开箱即用的功能。
UiGrid 0.17 发布:Egui 列固定等新功能(MIT 许可)
主要特点
- 开源免费:采用 MIT 许可证,所有功能完全免费。
- 平台支持:Egui 原生支持,且 Web 版功能完全对等。
新增功能
- 列固定(Column Pinning)
- 国际化(i18n)
- 无障碍支持(a11y support)
- 状态保存/加载:支持自定义序列化(默认为 JSON 格式,可按需定制)。
- 数据导出:默认导出为 CSV 格式,可重写该方法以支持其他格式。
- 列重排:可直接拖放调整列序,并配有主题化的指示器。
Rust Android IDE 开源项目发布
一位开发者专为 Android 平台打造了一个开源的 Rust IDE。
主要特点
- 智能语义高亮:集成了
rust-analyzer 的强大能力。
- 完整 Cargo 支持:具备全面的 Rust 包管理功能。
- AI 代码补全:内置智能代码提示。
- 丰富主题:提供超过 245 种主题选择。
- 完全免费:无广告、无内购、完全开源。
开发背景
开发者身兼学生与程序员双重身份,耗时整整 2 年才完成该项目。他特别强调,这是一个倾注了大量心血的严肃项目,绝非随意编写的“玩具”应用。
MagicalOS - 从零开始用 Rust 开发操作系统
这大概就是“因为山就在那里”的程序员浪漫吧?一位开发者从今年 3 月 9 日开始,尝试从零编写操作系统,而就在最近,他成功达成了在该系统上运行《毁灭战士》(Doom) 的里程碑。
当初或许只是出于“这事儿能有多难?”的好奇,但最终收获的却是一个完整的 开源项目。
项目详情
- 项目名称:MagicalOS
- 架构:x86_64
- 开发语言:Rust(包含两个 C 依赖)
- 启动加载器:Limine(最初用的是 GRUB/multiboot2,后因其过于复杂而更换)
- C 标准库:mlibc
核心要点
- 开发初衷:源于一句“这能有多难?”的自我挑战。
- Rust 的优势:
- Cargo 工具链强大又便捷。
- 编译器能在程序跑起来之前就揪出海量潜在错误。
- 其并发处理机制让人印象非常深刻。
- 技术亮点:在 MagicalOS 中亲手实现了一套异步运行时(async runtime)。
- 开发体验:开发者坦言,这个项目让他对 Rust 的着迷又多了几分。
END---
|