清华大学陈渝副教授:尝试将Rust/Risc-V等新技术用于系统类课程教学
#OS #tsinghua
看看对学生有啥帮助。这里陈教授给出了一些学习资料:
- 面向初学者的代码/文档信息
- 面向对rust比较熟悉的同学的信息
- 以及
有兴趣学习/参与开发 rust-based os kernel的朋友,欢迎与陈教授联系和交流(他也在Rust社区微信群和Rust编程之道的读者群里)。
XV中如何使用panic
#error_handle #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上提交错误报告。
- Read More
- xv
使用Rust扩展Python
#python
Read More
「系列文章」Rust:如何使用私有Cargo依赖项构建Docker镜像
#docker
本文展示了如何在构建Docker镜像时获取私有Cargo依赖项并获取它们。
Read More
「手工」自制Ferris布偶
#ferris
喜欢Ferris的朋友可以按这个教材手工制作一个。
Read More
指南:Rust Web开发中的Futures
#futures
本文以HTTP请求为示例,比较系统地介绍了Futures。
Read More
Smithy 0.3 发布
#wasm
又一个 WebAssembly 开发框架,完全用 Rust 开发网站前端的框架。作者立的 flag 是简单,快速。 新版本中增加了自定义路由的功能。
Read More
gptman: 允许管理GUID分区表的库
#guid #cli
支持Linux平台,允许您将分区从一个磁盘复制到另一个磁盘等等。
gptman
「系列文章」使用wasmer和Rust构建插件系统 Part 4
#wasmer
Wasmer是一个可以嵌入到Rust应用中的wasm解释器。
Read More
Hawk:基于Rust和AWS Services的图像识别应用
#hawk #ImageRecognition
用于人脸识别门禁系统的一个原型项目。
架构设计图
- Read More
- hawk
前端开发人员的Rust:模块
#frontend
该文作者在用Rust重写ember-cli项目,这篇文章是他的Rust学习心得吧。
- Read More
- rember-cli
Rust图形库指南
#Graphics
该指南主要为那些想要使用Rust编写图形内容(视频游戏,动画,炫酷可视化等)并且不知道从哪里开始的人提供上下文。
Read More
crates.io的crate下载总数达到了10亿
Thruster Web框架0.7.4发布,引入了async/await支持
#async #web
基于futures 0.3, async和await!宏。应该是为1.0预热,准备迎接官方的异步稳定。
Read More
「嵌入式Rust」micromath 0.3发布
#embeded
micromath是一个嵌入式的Rust数学库,支持快速安全的浮点数近似计算、常用的算术运算、2D/3D向量类型、统计分析和四元数等。
micromath
「学术」Varisat 0.2.0发布
#CDCL #SAT
Varisat是一个CDCL SAT求解器的Rust实现。CDCL SAT求解器在形式验证等领域应用广泛。
- Read More
- varisat
pkg-version: 可在编译时获取Cargo包版本
#cargo
一般情况下可以通过CARGO_PKG_VERSION_MAJOR环境变量来获取包的版本号,但是这种方式总是会产生字符串,只能在运行时将其解析为数字。所以这个库提供了一个pkg_version_major!过程宏在编译期解决这个问题。
(看源码发现依赖dtolnay的proc-macro-hack,它是一个支持表达式位置过程宏的库)
- pkg-version
- proc-macro-hack
Plotka: 轻松可视化浏览器中的数据
#visualize #browser
Plotka可以从stdin获取数据,解析它(作为JSON或CSV)并通过websockets进行广播。 还可以托管静态文件,可以完全通过它在浏览器中绘制数据,它可以用作Matplotlib等的替代品。
plotka
rudolfs: 基于AWS S3的高性能缓存Git LFS服务器
#GitLFS
LFS,Large File Storage, 大文件存储
rudolfs
From 日报小组 @Chaos
文中链接请点击“阅读原文”打开。