清华大学陈渝副教授:尝试将Rust/Risc-V等新技术用于系统类课程教学
看看对学生有啥帮助。这里陈教授给出了一些学习资料:
有兴趣学习/参与开发 rust-based os kernel的朋友,欢迎与陈教授联系和交流(他也在Rust社区微信群和Rust编程之道的读者群里)。
XV中如何使用panic
XV是一个终端16进制查看器,作者之前是Java开发者,XV是他的第一个Rust项目。他在本文主要介绍了UX中使用panic的一些经验。
作者认为Rust里的panic等价于Java里的异常,所以他在XV中大量使用Unwrap。(日报君友情提醒:这一条谨慎看待,不是指滥用)
当然,作者也是针对具体的情况来使用unwrap,在预期操作总是会成功的情况下会unwrap。所以,如果程序运行崩溃了,说明代码里有问题。
类型转换。在确定安全的情况下使用From,在不太安全的情况下使用TryFrom。
在Release模式下开启默认检查算术溢出。Rust在Debug模式下如果算术计算溢出会报错,但是在Release模型下会静默生成错误的结果。需要在Cargo.toml中设置
overflow-checks = true
来开启溢出检查。自定义了一个panic处理程序,类似于
HumanPanic
库。它会捕获回溯信息,当崩溃后再次启动XV,它还会显示一条错误信息,提醒人们在GitHub上提交错误报告。
使用Rust扩展Python
「系列文章」Rust:如何使用私有Cargo依赖项构建Docker镜像
本文展示了如何在构建Docker镜像时获取私有Cargo依赖项并获取它们。
「手工」自制Ferris布偶
喜欢Ferris的朋友可以按这个教材手工制作一个。
指南:Rust Web开发中的Futures
本文以HTTP请求为示例,比较系统地介绍了Futures。
Smithy 0.3 发布
又一个 WebAssembly 开发框架,完全用 Rust 开发网站前端的框架。作者立的 flag 是简单,快速。 新版本中增加了自定义路由的功能。
gptman: 允许管理GUID分区表的库
支持Linux平台,允许您将分区从一个磁盘复制到另一个磁盘等等。
「系列文章」使用wasmer和Rust构建插件系统 Part 4
Wasmer是一个可以嵌入到Rust应用中的wasm解释器。
Hawk:基于Rust和AWS Services的图像识别应用
用于人脸识别门禁系统的一个原型项目。
架构设计图
前端开发人员的Rust:模块
该文作者在用Rust重写ember-cli项目,这篇文章是他的Rust学习心得吧。
Rust图形库指南
该指南主要为那些想要使用Rust编写图形内容(视频游戏,动画,炫酷可视化等)并且不知道从哪里开始的人提供上下文。
crates.io的crate下载总数达到了10亿
Thruster Web框架0.7.4发布,引入了async/await支持
基于futures 0.3, async和await!宏。应该是为1.0预热,准备迎接官方的异步稳定。
「嵌入式Rust」micromath 0.3发布
micromath是一个嵌入式的Rust数学库,支持快速安全的浮点数近似计算、常用的算术运算、2D/3D向量类型、统计分析和四元数等。
「学术」Varisat 0.2.0发布
Varisat是一个CDCL SAT求解器的Rust实现。CDCL SAT求解器在形式验证等领域应用广泛。
pkg-version: 可在编译时获取Cargo包版本
一般情况下可以通过CARGO_PKG_VERSION_MAJOR
环境变量来获取包的版本号,但是这种方式总是会产生字符串,只能在运行时将其解析为数字。所以这个库提供了一个pkg_version_major!
过程宏在编译期解决这个问题。
(看源码发现依赖dtolnay的proc-macro-hack,它是一个支持表达式位置过程宏的库)
Plotka: 轻松可视化浏览器中的数据
Plotka可以从stdin获取数据,解析它(作为JSON或CSV)并通过websockets进行广播。 还可以托管静态文件,可以完全通过它在浏览器中绘制数据,它可以用作Matplotlib等的替代品。
rudolfs: 基于AWS S3的高性能缓存Git LFS服务器
LFS,Large File Storage, 大文件存储
From 日报小组 @Chaos
日报订阅地址:
独立日报订阅地址:
社区学习交流平台订阅: