清华大学陈渝副教授:尝试将Rust/Risc-V等新技术用于系统类
本帖最后由 皋陶 于 2020-8-27 14:41 编辑【Rust日报】 2019-05-05:清华大学陈渝副教授:尝试将Rust/Risc-V等新技术用于系统类课程教学#OS #tsinghua看看对学生有啥帮助。这里陈教授给出了一些学习资料:
[*]面向初学者的代码/文档信息
[*]面向对rust比较熟悉的同学的信息
[*]以及
有兴趣学习/参与开发 rust-based os kernel的朋友,欢迎与陈教授联系和交流(他也在Rust社区微信群和Rust编程之道的读者群里)。
XV中如何使用panic#error_handle #panicXV是一个终端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#pythonRead 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#wasmerWasmer是一个可以嵌入到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发布#embededmicromath是一个嵌入式的Rust数学库,支持快速安全的浮点数近似计算、常用的算术运算、2D/3D向量类型、统计分析和四元数等。micromath
「学术」Varisat 0.2.0发布#CDCL #SATVarisat是一个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 #browserPlotka可以从stdin获取数据,解析它(作为JSON或CSV)并通过websockets进行广播。 还可以托管静态文件,可以完全通过它在浏览器中绘制数据,它可以用作Matplotlib等的替代品。plotka
rudolfs: 基于AWS S3的高性能缓存Git LFS服务器#GitLFSLFS,Large File Storage, 大文件存储rudolfs
本篇完,感谢关注:RISC-V单片机中文网
页:
[1]