【Rust日报】 2019-05-05:清华大学陈渝副教授:尝试将Rust/Risc-V等新技术用于系统类课程教学...

清华大学陈渝副教授:尝试将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

用于人脸识别门禁系统的一个原型项目。

架构设计图

【Rust日报】 2019-05-05:清华大学陈渝副教授:尝试将Rust/Risc-V等新技术用于系统类课程教学..._第1张图片

  • Read More

  • hawk


前端开发人员的Rust:模块

#frontend

该文作者在用Rust重写ember-cli项目,这篇文章是他的Rust学习心得吧。

  • Read More

  • rember-cli


Rust图形库指南

#Graphics

该指南主要为那些想要使用Rust编写图形内容(视频游戏,动画,炫酷可视化等)并且不知道从哪里开始的人提供上下文。

Read More


crates.io的crate下载总数达到了10亿

【Rust日报】 2019-05-05:清华大学陈渝副教授:尝试将Rust/Risc-V等新技术用于系统类课程教学..._第2张图片

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

文中链接请点击“阅读原文”打开。

你可能感兴趣的:(【Rust日报】 2019-05-05:清华大学陈渝副教授:尝试将Rust/Risc-V等新技术用于系统类课程教学...)