自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Rust语言学习交流

Rust官方及社区最新信息搜集、文章推送

  • 博客(1882)
  • 收藏
  • 关注

原创 【Rust日报】Ferrous Systems 捐赠 FLS 给 Rust 项目

2022 年 7 月,Ferrous Systems 为用于安全关键和受监管行业的 Rust 编译器及工具链 Ferrocene 开发了 Ferrocene 语言规范(FLS),它对 Rust 的语法、语义和行为进行了结构化、详细的描述,为验证、合规和标准化工作提供了基础。:此次捐赠为 Rust 项目制定官方规范提供了更清晰的路径,增强了依赖 FLS 的公司和个人的信心,标志着 Rust 生态系统的一个重要里程碑。未来,FLS 和 Rust Reference 将共同构成官方的 Rust 规范。

2025-04-03 20:50:56 349

原创 【大家的项目】hx-lsp 为 helix 提供 snippet 和 code Action

hsv(300, 100%, 100%) 色相 0-360 度, 饱和度和明度百分比。hsl(240, 50%, 50%) 色相 0-360 度, 饱和度和亮度百分比。rgb(2.0, 255.0, 255.0) 支持浮点值。: Shell 脚本, 参数是选择区域内容以及替换字段。: Shell 脚本,参数是选择区域内容以及替换字段。rgb(100%, 0%, 50%) 支持百分比。rgb(255, 255, 255) 支持整数。hsl(180, 0.5, 0.5) 浮点值。捕捉,或者使用替换字段。

2025-04-03 20:50:56 178

原创 【Rust日报】apalis:一个用简单、可扩展的多线程后台作业和消息处理库

Tiny SSE 是一个轻量的支持 SSE 的服务器,采用 Rust 和 Lua 开发。最快的日志记录器:根据基准测试结果,对于大多数常见用例而言,速度最快的日志记录器似乎是 slog。Github 仓库:https://github.com/geofmureithi/apalis。作者测试了 Rust 生态中常用的几种日志框架,主要是关注它们的性能差异。是一个用 Rust 编写的简单、可扩展的多线程后台作业和消息处理库。: 为 Rust 提供的结构化、具上下文信息的、可扩展且可组合的日志记录功能。

2025-04-02 21:32:55 494

原创 【Rust日报】Fastrace:一个现代化的分布式追踪系统

对比 fusio/monoio(使用 io_uring 作为 I/O API 的 async 运行时)、tokio(最流行的异步 Rust 运行时,磁盘 I/O 使用线程池)、fusio/tokio(利用 spawn_blocking 和 block_in_place 结合 write 和 pread 减少随机读取系统调用开销),在有计算负载场景中还引入 Apache Opendal(使用 spawn_blocking + pwrite/read 作为底层 I/O API)。

2025-04-01 19:13:20 462

原创 【Rust日报】使用 Rust 的 Ubuntu 应该更加现代

命令的强大替代工具。Jon Seager 认为将命令行工具切换到 uutils 的最重要原因是其安全性更高、受攻击的可能性更低,相比 C 语言,Rust 优化的内存管理可避免许多 C 程序中因内存错误导致的漏洞。实验性的 Ubuntu 用户已能用 Jon Seager 编写的 oxidizr 工具在经典 GNU 程序和新的 Rust 程序之间切换,该工具适用于 coreutils、findutils、diffutils 和 sudo-rs 等,Seager 也在 Ubuntu 论坛的帖子中说明了使用方法。

2025-03-29 21:41:44 481

原创 【大家的项目】AIScript - Rust 编写的新一代编程语言

AIScript 是一种独特的解释型编程语言和 Web 框架的结合体,两者都用 Rust 编写,旨在帮助开发者轻松构建 AI 应用程序。该语言语法汲取了 Python、JavaScript 和 Rust 的灵感,结合它们的优势创造出直观、强大且易于使用的语言。结合了 Rust 的 axum 性能和类似 Python Flask 的简单性。简单而强大的错误处理机制,受 Rust、Go 和 Zig 启发。丰富的标准库,底层利用 Rust 的生态系统。:创建轻量级、专注的服务,最小化样板代码。

2025-03-28 12:01:49 390

原创 【Rust日报】unsafe 会破坏 Rust 的内存安全保证吗?

例如,为了安全地使用 Web 字体(通过网络传送的字体),Chrome 会采用多种安全防范措施,但是依然无法找到所有问题,或者只能在代码分发给用户后发现问题。:Brainfuck 语言仅由 8 个字符操作构成,本身不能定义或调用函数 ,但在实现其解释器或编译器时,可用支持函数的语言。同时,其输出指令依赖平台 API 与硬件交互,这虽涉及内存不安全操作,但不改变 Brainfuck 程序本身语义。FFI 可让程序调用其他语言代码,实现语言本身不具备的功能,但也可能引入不安全因素。此外,该工具还支持执行像。

2025-03-27 12:02:17 665

原创 【Rust日报】Rust CUDA 项目重启

来自恩倍科公司(Embecosm)的亚瑟・科恩(Arthur Cohen)在提交所有这些补丁之前的补丁系列中解释道: “这个补丁集是四个规模相近的补丁集的第一个,目的是将我们对 Rust 前端的最新更改同步到上游。:此前依赖旧版 Rust 编译器(nightly-2021-12-04),新贡献者 @jorge-ortega 将其更新到 nightly-2025-03-02,提升了与 Rust 生态系统的兼容性并能使用新语言特性,此过程参考了 @apriori 在 2022 年的草案 PR。

2025-03-25 23:22:16 533

原创 【Rust日报】ArkFlow:高性能Rust流处理引擎

原文:https://blog.rust-lang.org/inside-rust/2025/03/17/leadership-council-update.html。Github 仓库:https://zellij.dev/news/stacked-resize-pinned-panes/:除项目管理岗位外,探讨为项目内部基础设施提供资金支持,但面临对项目成员需求了解不足、资金融入项目避免增加负担等问题。高性能Rust流处理引擎,提供强大的数据流处理能力,支持多种输入输出源和处理器。

2025-03-24 22:17:14 788

原创 【Rust日报】async-std 已停止维护,请改用 smol

Git 2.49 版本发布,它采用了一个叫做 name-hash v2 的 git backfill 工具来获得更好的性能,“git clone” 命令现在可以针对不一定处于任何分支顶端的单个提交进行浅克隆,在无对象克隆中支持延迟加载缺失的文件,为支持 zlib-ng 做了准备工作,并且在代码库中添加了 Rust 语言的对外接口。支持多种断言方式,涵盖状态码、响应头、响应体(HTML、JSON、XML 等)、Cookie、SSL 证书属性、IP 地址、响应时间和哈希值等,全面测试 HTTP 响应。

2025-03-21 23:57:26 808

原创 【Rust日报】Rust 在 2025 年发展展望

以键盘操作为主,提升操作效率。:Dioxus、Tauri 和 Leptos 等项目将 Rust 应用于 GUI 和网页等高级应用领域,虽这并非 Rust 的优势领域,但这些拓展很有意义。:用户初次使用 Rust 时应能快速上手,随着项目深入,在遇到问题时可局部调整,而不影响整体。:拓展能发现提升 Rust 编程便利性的机会,这些改进会惠及所有开发者,同时也能让开发者用一种技术构建整个软件栈,共享库和支持代码。(或其 Rust 绑定)仅支持磁盘缓存的问题,减少了每次查询时的磁盘访问,提高了查询速度。

2025-03-20 10:35:46 535

原创 【Rust招聘】「小米公司招聘」Rust软件工程师(校园招聘)

5-10年Rust/C/C++软件开发经验,其中至少3年专注于Rust系统编程;精通Rust语言特性(如Pin/Unpin、async/await、无畏并发);在Rust语言或工具链上有贡献,或在OSDI/SOSP等顶级会议发表相关论文。推动Rust在操作系统底层的实践应用(包括内核态/用户态交互、硬件抽象层);制定团队的Rust编码规范,设计核心模块的FFI接口和跨语言兼容方案;有Rust语言或编译器贡献经验,或参与过Rust RFC讨论;主导基于Rust语言的澎湃OS关键子系统的架构设计与实现;

2025-03-20 10:35:46 306

原创 【Rust日报】MCP 的 Rust 实现

它是 Anthropic 于 2024 年末推出的一项开创性的开放标准协议,旨在简化和增强人工智能应用(尤其是基于大语言模型的应用)与外部数据源、工具和系统的交互方式。:允许 LLM 接收外部指令,并根据这些指令执行特定的任务,如文件处理、应用交互或网络服务调用等。:通过提供标准化的接口,使得不同的 LLM 和外部工具能够相互兼容,降低了集成和使用的复杂性。:负责管理通信过程中的上下文信息,确保 LLM 在执行任务时能够考虑到相关的背景和情境。From 日报小组 Yuan YQ。目前此项目还处于早期阶段。

2025-03-18 23:46:04 264

原创 【Rust日报】Subsecond - Dioxus 团队的 Rust 热更新工具

开箱即用的可观测性:只需一行代码就能集成诸如 Prometheus、Grafana、Opentelemetry 和 Jaeger 等流行的观测系统。Dioxus 团队的新工具 “subsecond” 能让你轻松地为你的 Rust 代码添加热更新支持,而且只需要极少的运行时集成工作。零拷贝内存缓存抽象:foyer 中的内存缓存利用 Rust 强大的类型系统,通过零拷贝抽象实现了更高的性能。foyer 的目标是提供一个高效易用的混合式缓存。混合缓存:无缝集成内存缓存和磁盘缓存,以实现最佳性能和灵活性。

2025-03-17 23:27:44 404

原创 【Rust日报】AudioNimbus 沉浸式空间音频

市面上的商业字体编辑器售价可能高达数百美元,而主要的开源替代品又未能跟上现代用户界面的期望,Shift 则采用了全新的思路。HRTF(Head-Related Transfer Function, 头部相关传递函数):模拟听众的耳朵、头部和肩膀如何塑造对声音的感知,提供大脑用于推断声音方向和距离的声学线索。)和 C/C++(用于字体子集化和字形塑造)编写的。我很高兴向大家介绍 AudioNimbus,它是对 Steam Audio 的 Rust 语言封装库,为 Rust 生态系统带来了强大的空间音频功能。

2025-03-15 23:34:52 837

原创 【Rust日报】Ferrules 一个超快的文档解析工具

Rust 项目去年首次参与 GSoC 取得成功,今年期望参与者提升技能,吸引新贡献者,提高 Rust 语言知名度,后续还会发布参与进展的博客文章。:引入新的任务状态表示,使用 Rust 的结构体枚举在编译时通过类型系统强制实施不变量,修复了与时间相关的不一致问题,但与旧状态不兼容,更新前需确保队列无重要任务,且需重新创建任务组。:GSoC 是谷歌组织的年度全球计划,旨在吸引新成员参与开源项目,将开源组织(如 Rust 项目)与参与者(通常是学生)配对,在经验丰富的导师指导下进行有意义的开源贡献。

2025-03-14 23:46:08 904

原创 【Rust日报】Slint 1.10 发布,推出 Figma 插件

Slint 1.10 发布,推出 Figma 插件Slint 是用 Rust 编写的原生 GUI 工具包,支持多种编程语言 API,适用于跨平台开发。此次 1.10 版本包含以下特性:Figma 插件:为解决从 Figma 设计到最终软件实现 “设计意图” 转换的问题,推出 Figma to Slint 插件。在 Figma 中选择元素时,插件会根据 Figma 许可,在开发模式 “检查器” 面板...

2025-03-11 15:30:55 406

原创 【Rust日报】eval_macro - 编写 Rust 宏的新方式

eval_macro - 编写 Rust 宏的新方式Eval Macro (求值宏)是一种全新的编写 Rust 宏的方式,它将强大的功能和易读性相结合,以下是它和macro_rules!的对比:Proc MacroEval MacroMacro RulesInputToken StreamRust CodeMacro FragmentsOutputToken StreamRust CodeMa...

2025-03-10 15:25:23 859

原创 【社区投稿】深入再谈智能指针、AsRef引用与Borrow借用

深入再谈智能指针、AsRef引用与Borrow借用这是一个具有深度的技术主题。每次重温其理论知识,都会有新的领悟。大约 2 年前,我曾就这一技术方向撰写过另一篇短文《从类型转换视角,浅谈Deref<Target = T>,AsRef<T>,Borrow<T>和From<T> trait差异》。在那篇文章中,我依据当时的经验知识,归纳了自定义智能指...

2025-03-10 15:25:23 793

原创 【Rust日报】Ferron - 又一个高效的 Web 服务器

Ferron - 又一个高效的 Web 服务器Ferron 是一款用 Rust 编写的高性能网络服务器,前身是 Project Karpacz,目前正迈向测试版发布阶段。它是一款快速且内存安全的网络服务器,设计兼具轻量与强大,专注于速度、安全和可靠性,旨在为高性能网络服务开启新时代。Ferron 具有以下特点:性能卓越:基于 Rust 的零成本抽象和高效并发模型构建,速度快、资源消耗低。内存安全:...

2025-03-07 14:52:54 408

原创 【Rust日报】fish 4.0 发布

fish 4.0 发布fish 是一个使用 Rust 开发的面向 macOS 和 Linux 的交互式命令行工具。此次发布的 4.0 版本包含了大量的更新和优化。简单列举如下:绑定符号与改进的按键组合支持新的按键符号表示法:bind命令支持新的按键符号,如bind ctrl-right,无需再使用复杂的转义序列。增强的按键区分能力:fish 通过启用终端功能,如 xterm 的 “modifyO...

2025-03-05 15:55:59 683

原创 【Rust日报】Linux 6.14: Rust 构建内核里程碑

Christoph Hellwig 离开 Linux DMA 维护组自从 Linus 接受 Rust 语言编写 Linux 内核之后,一直是讨论甚至争吵的焦点。在 Linus Torvalds 表明会接受一组用于内核 DMA 映射层的 Rust 抽象代码合并后,相关讨论逐渐平息。但这一决定导致 Christoph Hellwig 悄然辞去 DMA 映射代码的维护工作,Marek Szyprowsk...

2025-03-04 19:25:26 788

原创 【Rust日报】zlib-rs 0.4.2: 目前最快的 zlib 解压工具

zlib-rs 0.4.2: 目前最快的 zlib 解压工具zlib-rs 0.4.2 版本在性能提升方面取得了耀眼的成绩,在解压缩方面是目前最快的与 zlib API 兼容的实现,在主要的压缩场景中也表现出色。解压缩:与 zlib-ng 相比,除最小块大小外,zlib-rs 速度明显更快,在 1kB 输入时快超 12%,64kB 输入时快超 6%;与 chromium 使用的 zlib 实现相比...

2025-03-03 17:42:59 783

原创 【Rust日报】Rust 2024 版本中的不兼容变更汇总

Rust 2024 版本中的不兼容变更汇总Rust 2024 版本已经发布,其中包含一些不兼容的变更,简单汇总如下:核心语言返回位置impl Trait生命周期捕获规则:在 2024 版本中,返回位置的impl Trait默认捕获所有生命周期,而 2021 版本默认不捕获。临时作用域更改:2024 版本调整了if let中临时变量的作用域,其在if分支结束时结束,避免了借用冲突;同时...

2025-02-28 15:52:20 437

原创 【大家的项目】yolo-tonic: 实时物体检测

yolo-tonic: 实时物体检测这个项目实现了实时物体检测,作者开发这个项目的目的是探测 Rust 在机器学习和推理方面的性能表现。具体包含以下组件:使用 YOLO v8 模型进行检测。这是最新版本的 YOLO 物体检测模型使用 Rust 编写的 gRPC 服务(基于 Tonic 和 Ort)来进行推理基于 Axum 的中间件,用于:从网络摄像头或文件中流式传输视频收集预测结果通过 HTTP ...

2025-02-27 15:42:36 305

原创 【大家的项目】动态错误处理 crate: anyerr

anyerr是一个动态错误处理库,提供了一个叫做AnyError的类型拥有表示错误,与anyhow类似但又有所不同,主要是在功能上更加丰富。大家如果喜欢,欢迎来GitHub来给个 star。 https://github.com/oosquare/anyerr特性anyerr的各种特性可以总结为以下几点:错误包装:各错误处理库的基本功能。提供了 helper trait 来简化错误...

2025-02-27 15:42:36 332

原创 【Rust日报】Typst 0.13 发布!

Typst 0.13 发布Typst 是一款功能强大的开源排版系统,旨在为用户提供高效、灵活且美观的排版体验,其具备多种特性:语法简洁易用:采用直观、简洁的语法,即使是没有专业排版经验的用户也能快速上手,轻松创建各种文档,降低了排版的技术门槛。丰富的功能支持:拥有丰富的功能,涵盖了从基础的文本排版(如设置字体、字号、颜色等)到复杂的数学公式编辑、图表绘制以及多语言排版等各个方面,满足不同用户在不同...

2025-02-26 12:31:17 465

原创 【Rust日报】Rust 1.85.0 及 Rust 2024 发布

Rust 1.85.0 及 Rust 2024 发布Rust 1.85.0 稳定版主要更新内容Rust 2024 版:Rust 2024 版正式稳定发布,它带来多项语言、标准库、Cargo、Rustdoc 和 Rustfmt 的更新,如改变 RPIT 生命周期捕获规则、调整临时变量作用域、增加Future和IntoFuture到标准库 prelude 等。用户可参考版本指南进行迁移,部分更改可使用...

2025-02-25 12:37:05 671

原创 【Rust日报】Cot - “懒人”友好的 Web 框架

eserde: 更友好的序列化/反序列化框架众所周知,serde是 Rust 生态中的一个非常强大的序列化/反序列化框架。今天介绍的这个eserde是由Mainmatter开发的,它在serde之上构建,旨在提供更好的错误处理。serde在反序列化的时候,遇到第一个错误就会停止解析,而eserde能够一次性报告多个错误,可以大大节省调试时间,减少 API 交互次数。下面是一个...

2025-02-24 14:43:43 319

原创 【Rust日报】uv - 用 Rust 开发的 Python 包和项目管理器

cargo-warloc: Rust 项目代码统计工具软件项目中的代码行数统计这块儿,已经有很多优秀的工具了。例如,在 Github 上拥有 20k+ 星标的老牌代码行数统计工具cloc(https://github.com/AlDanial/cloc)。今天介绍的这款cargo-warloc是使用 Rust 开发的,并且专门针对 Rust 项目统计的。除了可以统计代码的行数,还可以统计文...

2025-02-20 19:58:10 367

原创 【Rust日报】Apache Kafka 和 Fluvio 性能对比

Pepe - 一个高性能的 HTTP 负载生成器Pepe 是一个用来生成 HTTP 负载来测试 Web 服务器性能指标的命令行工具,并带有一个漂亮的 TUI(Terminal User Interface)。类似于大名鼎鼎的 Apache 负载工具ab。pepe使用reqwest和tokio库开发,可以从客户端发起大量的、并发的请求,同时,还支持基本认证方式,支持通过代理服务器发送请求...

2025-02-19 16:42:55 696

原创 【Rust日报】Rust中的协作式多任务

Rust中的协作式多任务这篇博客文章深入探讨了在Rust中实现协作式多任务的理论和实践。文章首先解释了协作式多任务的基本概念,它通过任务间的自愿让渡控制权来实现多任务处理,与抢占式多任务形成对比,后者由操作系统强制执行任务切换。文章详细展示了如何在Rust中利用std::thread和std::sync::mpsc模块来进行任务切换,强调了无锁编程和原子操作在确保线程安全中的作用。接着,文章讨论了...

2025-02-17 23:56:02 344

原创 【Rust日报】Rust如何改变机器人技术

datalogic-rs - JSONLogic 的Rust实现JSONLogic 是一种使用 JSON 编写可移植逻辑规则的标准。该库采用基于 AST 的评估系统,并具有两阶段执行模型:首先通过 from_value 将表达式解析为预编译的 AST,然后使用 apply 函数执行它们。什么是 JSONLogic?JSONLogic 允许你将逻辑表达式编写为 JSON 对象,这些对象可以轻松地存储...

2025-02-14 22:57:33 502

原创 【Rust日报】自己构建SQLite - 第四部分

使用Rust进行系统调用Rust因其安全性和并发性特征被视为与内核交互的有效工具,帮助开发者创建更稳健的应用程序。系统调用是应用程序与操作系统内核进行通信的基本接口,允许程序请求各种服务,如文件操作、进程控制和网络通信等。Rust通过使用libc crate提供了一种直接调用系统调用的方法,避免了依赖Rust标准库的抽象,这使开发者能够更细致地控制低级操作,同时仍能享受Rust的安全特性。要开始在...

2025-02-12 22:42:13 391

原创 【Rust日报】我曾认为 TypeScript 的类型系统很强大,直到我尝试了 Rust

CompressO - 使用Tauri实现的视频压缩工具此应用使用 Tauri 构建,Tauri 是一个基于 Rust???? 的跨平台桌面应用开发框架。前端采用 Next.js。压缩功能完全由 FFmpeg 处理,使用平台专属的独立二进制文件。该应用完全离线运行,不会发出或接收任何网络请求。https://github.com/codeforreal1/compressOauto_context - ...

2025-02-11 22:30:38 675

原创 【Rust日报】Hydro - 一个针对Rust语言的高级分布式编程框架

Hydro - 一个针对Rust语言的高级分布式编程框架Hydro是一个针对Rust语言的高级分布式编程框架,设计来简化开发者创建正确且可扩展的分布式服务。Hydro的目标是确保分布式系统的安全性,就像Rust保障内存安全一样。该框架集成了Rust的标准构造和IDE,提供类型和编程结构来保证分布式程序的正确性。Hydro的编译过程分两阶段:首先,Hydro程序在开发者的本地设备上运行以生成部署计划...

2025-02-10 23:20:00 163

原创 【Rust日报】微软的Pluton在底层使用了Rust 和 Tock OS

Feluda:在许可证问题找到你之前先找到它们!大家好!????我刚发布了 Feluda,一个基于 Rust 的 CLI 工具,可以扫描项目的依赖项,并标记可能在个人或商业项目中引发问题的限制性许可证。目前支持 Rust、Node.js 和 Go 项目,未来将添加更多语言支持。有没有遇到过这样的情况?引入一个依赖项时没检查许可证,后来才发现它限制商业使用(比如 AGPL、SSPL 等)。Feluda 帮...

2025-02-07 22:25:17 432

原创 【Rust日报】使用Rust构建Web电子表格

使用Rust构建Web电子表格在filtra.io发布的一篇采访中,Quadratic的CEO David Kircos讨论了他们使用Rust语言来开发一个基于Web的高性能、可编程的电子表格应用程序——Quadratic。David解释说,创建Quadratic并不像人们想象的那么复杂,因为他们使用了现成的代码编辑器Monaco(即支持Visual Studio Code的编辑器),这允许他们专...

2025-02-06 23:52:18 864

原创 【Rust日报】沃尔沃在EX90和Polestar 3车型的电子控制单元(ECU)中使用Rust

Rust所有权和生命期可视化工具RustOwl可视化变量的所有权移动和生命周期。当你保存Rust源代码时,它会进行分析,并在你悬停在变量或函数调用上时显示变量的所有权和生命周期。RustOwl通过下划线来可视化这些信息:绿色:变量的实际生命周期蓝色:不可变借用紫色:可变借用橙色:值被移动红色:生命周期错误 - 实际生命周期与预期生命周期之间的差异目前,我们仅提供一个VSCode扩展。沃尔沃...

2025-02-05 23:35:27 219

原创 【Rust日报】你认为Rust最终会变得跟C++一样复杂吗?

你认为Rust最终会变得跟C++一样复杂吗?高赞回答。ChevyRayJohnston:根据我的标准,路线图上没有任何功能会使语言过于复杂。现在甚至还远远没有达到那个地步。Rust在我的感觉中,它的特征很少有冗余或重叠的地方,实际上在特征方面往往显得相当克制。我喜欢Rust的一些复杂特性在不需要时或用途非常明显时是“隐藏”的:我不需要在每个引用上标注生命周期注释,只有当我所做的事情的复杂性需要...

2025-02-04 21:14:23 361

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除