自定义博客皮肤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官方及社区最新信息搜集、文章推送

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

原创 【Rust日报】Warp 终于支持 Linux!

Warp 终于支持 Linux!Warp 是一款现代化的终端工具,最初在 MacOS 上发布后备受好评。自从上线以来,Linux 支持一直是 Warp 的最高票功能请求。现在,Linux 用户可以在 Ubuntu、Fedora、Arch Linux 或 RedHat 等发行版上安装 Warp。Warp for Linux 的特性与 Mac 版本非常相似,包括:基于 Rust 编写,所有图形渲染都直...

2024-02-24 15:52:51 210

原创 【Rust日报】2024-02-19 Linux 内核准备升级至 Rust 1.77

Linux 内核准备升级至 Rust 1.77Linux 6.8 内核已经升级至 Rust 1.75,而最新的补丁则将内核的 Rust 代码迁移到 Rust 1.76,并准备好迎接即将发布的 Rust 1.77。Rust 1.77 稳定了内核 Rust 代码使用的单字段 "offset_of" 功能,并添加了一个"--check-cfg" 选项,内核 Rust 代码未来可能会过渡到这个选项。这符...

2024-02-19 19:54:19 861

原创 【社区投稿】Rust登陆华为鸿蒙操作系统之Native模块开发

Rust登陆【华为鸿蒙】操作系统之Native模块开发名词解释【鸿蒙操作系统】的英文全名是Open Harmony Operation System。正文将以其首字母缩写词ohos引用该词条。【鸿蒙软件开发工具包】的英文全名是Open Harmony Software Development Kit。正文也将以它的首字母缩写词ohsdk引用该词条。DevEco Studio IDE是【华为】为鸿蒙...

2024-02-17 23:20:34 1306 1

原创 【Rust日报】2024-02-15 教程 - 从 PyTorch 到 Burn

文章 - 性能轮盘赌:代码对齐的好运气机器码相同,但放置在不同的地址上,性能可能截然不同。作为软件开发人员,我们经常假设特定代码的性能仅由代码本身和运行它的硬件决定。这种假设让我们在优化代码以获得更好性能时感到有控制力。虽然在大多数情况下这种假设是正确的,但本文旨在探讨挑战这种控制观念的现象。此外,作者使用 Rust 编程语言提供一个沙盒来演示这种现象。Performance Roulette: ...

2024-02-16 23:07:35 382

原创 【社区投稿】给Rust的Struct自动实现trait

给Rust的Struct自动实现trait我们通常使用#[derive(Clone,Debug)]这样的方式给struct自动实现相应的trait,从而让struct具备某些特性,但是如果我们想让编译器给struct自动实现自己定义的trait要怎么办?首先我们需要有一个trait,假设如下面的定义:pubtraitPrintable{pubfnprint_me(&s...

2024-02-16 23:07:35 663

原创 【Rust日报】2024-02-12 Rust中的错误管理以及相关库

Rust中的错误管理以及相关库文章详细介绍了Rust中如何处理可恢复和不可恢复的错误,并展示了如何使用Result枚举来优雅地处理这些错误。他还讨论了两个有助于错误管理的库:thiserror和anyhow,这两个库分别用于简化实现Error trait的过程和提升错误传播的灵活性。原文链接https://blog.frankel.ch/error-management-rust-libs/Ru...

2024-02-13 23:43:31 335

原创 【Rust日报】2024-02-10 扩展 Rust Effect 系统

扩展 Rust Effect 系统Yosh 在 RustConf 2023 演讲的文字记录。在本次演讲中,Yosh 解释了什么是 effects、是什么使它们难以融入语言,以及如何克服这些挑战。Rust 自 2015 年发布 1.0 版本以来,一直在不断发展。添加的主要功能:try 运算符(?)、const 泛型、泛型关联类型 (GATs),还有 async/.await。 在这四个功能中,有三个...

2024-02-10 23:16:37 351

原创 【Rust日报】2024-02-08 Loungy:使用 Rust 和 GPUI 开发的 MacOS 启动器

Mira Screenshare:基于 Rust 和 WebRTC 的高性能屏幕分享工具一群大学生宣布推出了他们的期末项目:Mira Screenshare,一个开源、高性能的屏幕共享工具,由 Rust 和 WebRTC 构建。此项目支持 4k @ 60 FPS 和 110ms 端到端延迟的屏幕捕获和流式传输,以及系统音频捕获和流式传输、远程鼠标和键盘控制等功能。Mira Screenshare ...

2024-02-09 23:14:52 865

原创 【Rust日报】FreeBSD讨论在基础系统中使用Rust

FreeBSD讨论在基础系统中使用Rust具体讨论可以见,https://lists.freebsd.org/archives/freebsd-hackers/2024-January/002823.html 。有趣的是,在 Reddit 上有关此问题的讨论,把话题转移到对 Facebook 内部使用 Rust 的讨论。Facebook has effectively forked Rust be...

2024-02-08 23:52:58 814

原创 【Rust日报】2024-02-06 Polars 重写字符串数据结构

Rust Web 框架的错误报告不达标作者已有6年使用 Rust 构建生产应用的经验,并对 Rust 中的 web 框架有深入了解。他认为,目前主流的 Rust Web 框架在错误报告方面表现不尽如人意,而高效的错误报告对于快速响应和解决问题极为关键。作者以 axum 和 Actix Web 为例,探讨了它们在错误报告方面的现状,发现的问题如:无法全面记录错误信息难以追踪错误源。作者同时推荐了自己...

2024-02-07 23:17:26 350

原创 【Rust日报】2024-02-05 编译也是一种测试

编译也是一种测试文章主要讨论了关于Rust编译时长的问题。尽管已有并行前端、Cranelift后端和lld链接器等技术在改善Rust的编译效率,但由于一些根本性限制,其编译速度仍可能无法达到所有人的期望。然而,作者指出有一种新的看法:由于Rust能在编译过程中捕获诸多问题,因此编译实际上可以视为你测试程序的一部分。这就是说,程序中任何规定的接口(如函数的签名、特性、变量类型)在编译时都相当于执行...

2024-02-05 23:46:29 746

原创 【Rust日报】2024-02-03 Ruff v0.2.0

Ruff v0.2.0Ruff v0.2.0 现已推出!从 PyPI 或您选择的包管理器安装它:提醒一下:Ruff 是一个非常快的 Python linter 和格式化程序,用 Rust 编写。 Ruff 可用于取代 Black、Flake8(以及数十个插件)、isort、pydocstyle、pyupgrade 等,同时执行速度比任何单个工具快数十或数百倍。...文章链接,https://as...

2024-02-04 23:46:56 389

原创 【Rust日报】2024-02-02 致力于编程,无论你使用哪种语言

AWS SDK for Rust, 2024 Feb2nd releasedAWS SDK for the Rust Programming Language 2024年2月最新 Releases:Service Features:aws-sdk-sagemaker (1.20.0): Amazon SageMaker Canvas 现在通过 CanvasAppSettings 参数支持生成式 A...

2024-02-04 23:46:56 339

原创 【Rust日报】2024-01-30 使用 NOM 编写一个 JSON 的词法解析器

使用 NOM 编写一个 JSON 的词法解析器一般来说我会手动编写词法分析器/语法分析器或依赖于诸如 Antlr 等工具来编写解析器。然而,最近一个朋友向我介绍了解析器组合器 ( parser combinators ),我觉得非常有趣和有用。我试了一个很棒的 Rust 库叫做nom,在这篇文章中,我将尝试通过构建一个小型的 JSON 解析器来解释 解析器组合器 的核心思想以及 nom 库的基础...

2024-02-02 23:54:57 363

原创 一次Rust重写基础软件的实践(三)

前言受到2022年“谷歌使用Rust重写Android系统且所有Rust代码的内存安全漏洞为零” [1] 的启发,最近笔者怀着浓厚的兴趣也顺应Rust 的潮流,尝试着将一款C语言开发的基础软件转化为 Rust 语言。本文的主要目的是通过记录此次转化过程中遇到的比较常见且有意思的问题以及解决此问题的方法与大家一起做相关的技术交流和讨论。问题描述本篇博客继续此次重写实践过程中遇到的新问题:panic ...

2024-01-29 23:30:41 1073

原创 【Rust日报】2024-01-27 Vizia,Rust 实现的声明式 GUI 库

如何在 Rust 中使用 Unsized 类型Rust 中的大小是一个特殊的话题。在尝试减少 crate heapless 中 const 泛型的使用时,必须使用 Unsized 的类型。作者在博文中记录了其考虑过的方法以及每种方法的优缺点。博客文章链接,https://sgued.fr/blog/heapless-howto/drive-v3,Google Drive API 库drive-v3...

2024-01-27 23:23:53 457

原创 【Rust日报】2024-01-25 Zed 编辑器正式开源啦!

Zed 编辑器正式开源啦!Zed 编辑器官方宣布,Zed 现在是一个开源项目!Zed 的代码已经上传到 GitHub,拥有 GPL 和 AGPL 授权许可。同时,Zed 所使用的 UI 框架 GPUI 也开源了,采用 Apache 2 许可。Zed 团队表示,开源的主要目的是希望让 Zed 成为最好的产品,并且拥有全球数百万开发者的使用者群。他们相信,作为所有 Zed 用户的程序员,开源是最有意义...

2024-01-26 21:36:04 5242 8

原创 【Rust日报】RustFFT 6.2 发布,现支持 WASM SIMD 加速

RustFFT 6.2 发布,现支持 WASM SIMD 加速RustFFT 6.2 版本近日发布!这是一个高性能的、在纯 Rust 中编写的、支持 SIMD 加速的 FFT(快速傅里叶变换)库。6.2.0 版本扩展了 RustFFT 对 WASM SIMD 扩展的支持。总体来说,此版本的 SIMD 支持包括 AVX、AVX2、SSE4.1、Neon 和 WASM SIMD(以及非 SIMD 的后...

2024-01-25 22:11:38 368

原创 【Rust日报】2024-01-22 Tauri更新: 嵌入式原型,离屏渲染,webview多实例

Tauri更新: 嵌入式原型,离屏渲染,webview多实例Tauri是一个能创建桌面应用的框架(网页前端,Rust后端)在我们和Tauri的协作中完成了一些嵌入式改进。现在这个框架已经可以支持移动应用和其他后端语言了。我们正在努力将Servo(一款网页浏览器引擎)集成到Tauri中,需要在WRY(Tauri的基础web视图库)中添加对Servo的支持。尽管这个项目尚未完全就绪,但我们已经创建了...

2024-01-23 23:13:00 423

原创 一次Rust重写基础软件的实践(二)

前言受到2022年“谷歌使用Rust重写Android系统且所有Rust代码的内存安全漏洞为零” [1] 的启发,最近笔者怀着浓厚的兴趣也顺应Rust 的潮流,尝试着将一款C语言开发的基础软件转化为 Rust 语言。本文的主要目的是通过记录此次转化过程中遇到的比较常见且有意思的问题以及解决此问题的方法与大家一起做相关的技术交流和讨论。问题描述本文将记录转化过程中遇到的另外一个问题。该问题是由已经转...

2024-01-23 23:13:00 1011 1

原创 【Rust日报】2024-01-20 十亿行挑战优化心得

bevy_gaussian_splatting:用 Rust 编写的 bevy 高斯泼溅渲染pipeline插件WebGL2、WebGPU 和原生后端CPU、并行 CPU 和 GPU 排序选项ply 和内部压缩 gcloud 格式使用示例:usebevy::prelude::*;usebevy_gaussian_splatting::GaussianSplattingPlugin;fn...

2024-01-21 23:40:21 385

原创 一次Rust重写基础软件的实践(一)

前言受到2022年“谷歌使用Rust重写Android系统且所有Rust代码的内存安全漏洞为零” [1] 的启发,最近笔者怀着浓厚的兴趣也顺应Rust 的潮流,尝试着将一款C语言开发的基础软件转化为 Rust 语言。本文的主要目的是通过记录此次转化过程中遇到的比较常见且有意思的问题以及解决此问题的方法与大家一起做相关的技术交流和讨论。问题描述在项目转化过程中我遇到了一个与 CAS (Compare...

2024-01-18 23:16:00 790

原创 【Rust日报】2024-01-15 Rust全栈开发有一个光明的未来

如何创建两个“简单”的分配器这篇文章是作者分享的关于构建"简单"分配器的经验。他从构建可以提供4字节对齐和分配内存区块的简单分配器开始。在 Rust 中,所有的分配器需要始于trait std::alloc::GlobalAlloc,该trait提供了两种方案去分配和回收内存。创建分配器后,它可以在程序中全局使用。作者首先定义了一个包含锁和分配空间的分配器结构体。然后,他创建了一个公共分配器,并在...

2024-01-16 22:18:22 433

原创 【Rust招聘】美团基础研发平台招聘Rust开发工程师 base北京/上海

【岗位名称】OLAP研发专家【岗位职责】负责美团新一代云原生分布式日志存储系统的架构设计、开发和维护,保障系统的稳定性,持续对性能进行优化,助力业务降本增效深入业务场景,协助排查和解决问题,驱动存储系统研发参与美团Raptor监控系统需求评审、产品技术方案设计、开发及相关技术文档编写,高效交付业务需求,保障系统的可维护性参与美团可观测系统数据架构迭代升级路径的规划并推动落地【岗位基本要求】本科及...

2024-01-16 22:18:22 377

原创 【Rust 日报】2024-01-14 Linux Kernel加入了第一个Rust写的有用模块

[rust up] Linux Kernel加入了第一个Rust写的有用模块这个模块是 Asix PHY 的网络驱动程序。它是作为用 C 编写的现有驱动程序的替代方法提供的。这些功能是等效的。看看 commit 信息:net:phy:addRustAsixPHYdriverThisistheRustimplementationofdrivers/net/phy/ax887...

2024-01-15 22:45:26 990

原创 【Rust日报】2024-01-12 将 Rust 引入 Git 项目

将 Rust 引入 Git 项目去年年底的假期里,Taylor Blau 花了一些时间思考如何将 Rust 引入 Git 项目。将 Rust 引入 Linux 内核的重要工作正在进行中。在他们既定的目标中,他认为有一些可能与 Git 项目相关:由于语言的安全保证,内存安全错误、数据竞争、内存泄漏等风险降低。在 Rust 中重构或引入新代码时更容易获得信心。通过依赖更现代的语言,更广泛的程序员群体可...

2024-01-14 23:37:43 405

原创 【Rust日报】Xilem 项目在 2024 年的计划

Xilem 项目在 2024 年的计划2024 年,Xilem 项目备受关注。Google Fonts 将资助四位开源贡献者:Aaron Muir Hamilton、Daniel McNab、Matt Campbell 和 Olivier Faure,他们将主导项目的不同方面。Aaron 将专注于文本布局和 Android 集成,而 Daniel 将提升 GPU 性能。Matt 将确保可访问性,O...

2024-01-13 22:05:12 431

原创 【Rust日报】2024-01-10 embedded-hal 1.0 发布

nolife - 告别生命周期错误这篇文章介绍了 Rust 中解决生命周期错误的库 nolife 0.3,并提供了一种在异步编程中保持借用数据“视图”的方法。以下是文章的主要内容:可以通过使用 nolife 0.3 来摆脱 E0597:借用值的生命周期不够长的问题。使用异步函数和 async/await 特性来实现 nolife,通过将函数转换为自引用结构的一种方法。介绍了如何使用 nolife,...

2024-01-11 21:47:34 361

原创 【Rust 日报】2024-01-09 这位高级开发者从他的第一个大型 Rust 项目中学到了什么...

这位高级开发者从他的第一个大型 Rust 项目中学到了什么这篇文章是一位拥有十多年编程经验的高级顾问分享的,关于他在假期间使用 Rust 语言开发一个物联网(IoT)最小可行产品(MVP)的经历。作者之前主要使用 C++ 进行数据分析和可视化,并在过去四年里主要使用 Scala 进行开发。他将 Rust 视为 C++ 和 Scala 之间的一个实用的中间地带,并通过构建小型项目和领导每周的读书会来...

2024-01-10 23:52:40 396

原创 【Rust日报】2024-01-08 async-graphql: 7.0.0 版本发布

认真对待 Rust,多写 Rust作者通过参与一次黑客马拉松,尝试用Rust重新实现颜色工具,开始了对Rust的深入探索。Rust编译器以友好的错误提示和严格的规则为特点,使作者愈发热衷于写更多Rust代码。Rust社区通过内建lint工具支持新手,促使作者更规范地编写代码,并享受到了Rust提供的愉悦开发体验。作者通过构建一个表单提交后端服务(formulate)的项目,深刻认识到测试的价值,逐...

2024-01-09 22:26:49 412

原创 【Rust 日报】2024-01-07 为虚拟化工作负载设计的操作系统:Motūrus OS

Motūrus OSFor 云端的简单、快速和安全的操作系统。目标是基于虚拟机的工作负载,如 Web服务、Serverless、边缘缓存等。为什么有这个项目?目前,大多数虚拟化生产环境工作负载都在运行Linux。虽然Linux具有许多先进功能,在许多情况下是唯一合理的操作系统选择,但在理论上,对于一些虚拟化工作负载来说,存在一些使其不太理想的复杂性:Linux被优化为裸机,这导致在运行在Linux...

2024-01-08 23:50:13 883

原创 【大家的项目】helyim: 纯 Rust 实现的分布式对象存储系统

helyim 是使用 rust 重写的 seaweedfs,具体架构可以参考 Facebook 发表的 haystack 和 f4 论文。主要设计目标为:精简文件元数据信息,去掉对象存储不需要的 POSIX 语义(如文件权限)小文件合并成大文件,从而减小元数据数,使其完全存在内存中,以省去获取文件元数据的磁盘IO支持地域容灾,包括 IDC 容灾和机架容灾架构简单,易于实现和运维支持的特性:支持使用...

2024-01-07 23:30:50 403

原创 【Rust日报】2024-01-06 SimpleTranscribe-rs:利用 Whisper-rs 音频转换到文本

今年的Servo:超过 1000 个 PR今年迄今为止,我们已经拥有 53 个个人贡献者(比去年的 22 个贡献者增加了 140%),收到了 1037 个PR(比去年的 215 个贡献者增加了 382%)和 2485 个提交(比去年的 523 个贡献者增加了 375%)!个人贡献者对于项目的健康发展尤其重要,在提出的拉取请求的人中(而不是我们友好的机器人),30% 是由 Igalia 以外的人提出...

2024-01-07 23:30:50 355

原创 【Rust日报】Piccolo - 用纯Rust实现的无栈Lua虚拟机

Piccolo - 用纯Rust实现的无栈Lua虚拟机Piccolo,原名luster,在经过数年的中断后,于2023年4月悄然恢复了开发。曾经开发过 rlua 的 kyren,在底层gc-arenacrate 取得突破后,回到了piccolo项目。这两个项目现在已经(小心地)在生产中使用,比如 Fish Folk 用在了游戏脚本中,Ruffle 用于其 ActionScript 虚拟机。...

2024-01-04 22:30:23 390

原创 【Rust日报】2024-01-01 使用 Rust 构建生产级微服务

使用 Rust 构建生产级微服务这个由sanyi编写的博客系列 “在Rust中构建生产就绪微服务” 涵盖了Rust中构建生产就绪微服务的过程。以下是每篇博客的主要主题总结:设置工作空间:为Rust应用程序设置多包工作空间。添加CLI子命令:实现一种简单的模式,以向应用程序添加多个CLI子命令。配置:从文件或环境变量中加载配置。Web服务器:基于Axum启动异步Web服务器。应用程序状态:向Rust...

2024-01-02 23:38:19 448

原创 【Rust日报】2023-12-30 基于 Dioxus 的 GUI 框架 Freya

WASM 编译器 Wasker 发布 v0.1.1Wasker 是一个 WebAssembly 编译器,它将 Wasm 二进制文件编译为 ELF 格式,该 ELF 文件与操作系统无关。这使得用户可以选择其喜爱的操作系统作为 Wasm 的运行时。目前,Wasker 支持 WASI 预览版 1。Wasker v0.1.1 发布链接,https://github.com/Mewz-project/Was...

2023-12-31 21:53:53 442

原创 【Rust日报】2024-12-28 Rust 1.75.0 发布

Rust 1.75.0 发布:支持在trait中使用async fn和return-position impl TraitRust 团队在最新版本的 Rust 1.75.0 中引入了新功能:现在可以在trait中使用async fn和return-position impl Trait。这一更新增加了 Rust 的灵活性和表达能力,使得在trait中定义异步方法和返回具体类型的函数变得更加方便。...

2023-12-29 22:47:47 521

原创 【FFI】N-API的JS堆对象生命周期管理

N-API的JS堆对象生命周期管理N-API是Node API的简写,同时也是nodejs的JS VM(链)接入原生模块.node文件的应用程序二进制接口(i.e. ABI)。借助N-API引入的抽象隔离,升级nodejs运行时(虚拟机)【编译】不要求对原生扩展模块重新编译— 为nodejs的不同版本分别准备不同的原生模块build真的好麻烦。【运行】不导致原生模块程序崩溃— 精读每一版cha...

2023-12-28 21:23:03 1211

原创 【Rust日报】2023-12-26 逐步废弃并最终移除 Rust 中 static mut 语法的提案

逐步废弃并最终移除 Rust 中 static mut 语法的提案在 Rust Internals 论坛上,有一个关于逐步废弃并最终移除 Rust 中 static mut 语法的提案(Pre—RFC),提议在 2024 年 Rust 版本中开始废弃 static mut 的使用,并在 2027 年版本中完全移除这个语法。(这个提案不涉及 &'static mut)。主要的动机是:现有的 ...

2023-12-27 22:11:08 441

原创 【Rust日报】2023-12-25 bott: 命令行 copilot

为Android打造更快的Rust编译Rust语言在Android平台的广泛应用带来了卓越的性能、安全性和开发者生产力,但在如Android这样的大型项目中,构建时间较慢成为一个问题。为此,作者为Android工具链做了很多优化, 包括OptimizationsSpeedup vs BaselineMonolithic1.8%Mono + GC Sections1.9%Mono + GC + LT...

2023-12-26 23:34:06 364

空空如也

空空如也

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

TA关注的人

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