【Rust日报】 2019-05-19

sloth - 纯rust写的3D光栅化工具

基于 crossterm 实现跨平台的终端输出。现在也可以输出成js,显示在web上。来看看效果。

img

更炫酷的一个效果:demo

Repo

cerebrallib - 使用Rust写的brainfuck语言的虚拟机库

练手项目

// src/main.rs code
use cerebrallib::cerebral;
use std::io
fn main() {
    let code = String::from("++++");
    let mut vm = cerebral::CerebralVM::new(code, io::stdin(), io::stdout());
    vm.execute();
}

Repo

Rust 最开始的作者 Graydon Hoare 在一个讲座中叙述了编译器的历史

是给不列颠哥伦比亚大学(在加拿大)的学生开的讲座。

分别讲了 clang, swiftc, rustc, 和 gcc 等。文章有意思。

Slide 在这里。

Repo

Pushrod 0.2.11 发布

Pushrod 是基于 piston_windows 的一个GUI库。这次发布增加了图片按钮等。看一下效果图

img

Repo

【嵌入式】为ESP32构建Rust开发环境

文章在这里,不复杂。

diesel-factories - 为测试要构建 factory_bot 的库

在单元测试/集成测试中,你经常会需要插入一些数据到数据库中。而 factory_bot 就是这样一种库,diesel-factories 是它基于 diesel 的实现。

这个库像下面一样使用。

// A normal Diesel model
#[derive(Clone, Queryable)]
struct Country {
    pub id: i32,
    pub name: String,
}

// Our factory
#[derive(Clone, Factory)]
#[factory(model = "Country", table = "crate::schema::countries")]
struct CountryFactory {
    pub name: String,
}

// Setting up what the default values are
impl Default for CountryFactory {
    fn default() -> Self {
        Self {
            name: "Denmark".into(),
        }
    }
}

#[test]
fn some_test() {
    let con = establish_connection();

    // Using all the defaults
    let denmark = CountryFactory::default().insert(&con);
    assert_eq!("Denmark", denmark.name);

    // Defaults can be changed through builder methods
    let netherlands = CountryFactory::default()
        .name("Netherlands")
        .insert(&con);
    assert_eq!("Netherlands", netherlands.name);
}

Repo

安全代码工作组正在为创建可重现的构建和构建时间沙盒化而努力

Rust 安全代码工作组

cargo-repro

cargo-sandbox

如何使用纯Rust实现命令行自动补全

命令行自动补全可深可浅,深的可以对子命令,参数项等,都自动补全。文章可以借鉴。

Read More

memory-profiler - Nokia 用 Rust 写了一个 Linux 内存调优工具

内存调优工具,主要用来分析内存泄漏什么的。当然,还有很多其它更详细的特性。我们来先睹为快。

img

img

Repo

From 日报小组 @Mike

日报订阅地址:

独立日报订阅地址:

Telgram Channel 阿里云语雀订阅 Steemit GitHub

社区学习交流平台订阅:

Rust.cc论坛: 支持rss Rust Force: 支持rss 微信公众号:Rust语言学习交流

文章来源:

Author:Rust.cc
link:https://rust.cc/article?id=38ff9dd0-59c5-467e-b5b4-8563e58f8869