< 返回版块

Cupnfish 发表于 2020-09-10 18:54

用 Rust 创建一门编程语言第三部分更新了

系列教程:用 Rust 开发一个名叫 Eldiro 的编程语言

Read More: https://arzg.github.io/lang/3/

你不会相信这个奇怪的技巧可以加速和提高你的测试

标题是直译原文的,虽然看上去有种标题党的嫌疑,但是就如原文所说的,这种方法在之前已经有不少人用过了,但是从来没有谁把它放到台面上分享给大家,这是一种实用的方法。

作者在github上维护一个命令行工具 Intermodal,需要大量测试用户输入与程序输出是否符合预期,因此用到了这个怪异的方法。

使用起来大概时这样的:

  #[test]
  fn quiet() {
    let mut env = test_env! {
      args: [
        "--quiet",
        "torrent",
        "create",
        "--input",
        "foo",
        "--announce",
        "udp:bar.com",
        "--announce-tier",
        "foo",
      ],
      tree: {
        foo: "",
      }
    };
    env.status().ok();
    assert_eq!(env.err(), "");
    assert_eq!(env.out(), "");
  }
  // 代码直接摘自Intermodal的测试用例

可以看到这个宏用起来还是挺方便的,具体原理原文以及源代码都有。

作者目前还没有将这个方法提炼成一个库,如果你想用的话可以去作者的命令行工具源代码里面复制这部分的相关代码,然后在你的项目里面使用。作者说以后肯定时要和现在它写的项目分离出来作为一个独立的项目的,但是暂时没有动力。作者鼓励大家去维护这样的一个库。

Read More: https://www.reddit.com/r/rust/comments/ippyeg/you_wont_believe_this_one_weird_trick_to_speed_up/

Intermodal github仓库: https://github.com/casey/intermodal/

BPF拦截Zoom的加密数据

本来是三月份的时候就已经写的这么文章,但由于当时Zoom的一些风波,作者便没有选择发布这篇blog。

现在好像风波过去了,作者整理了这篇blog,选择重新发布出来。

Read More: https://confused.ai/posts/intercepting-zoom-tls-encryption-bpf-uprobes

编译时字符串格式化

需要Rust 1.46

Crate: https://crates.io/crates/const_format/0.2.5

使用Knurling-rs学习嵌入式Rust

Read More:https://ferrous-systems.com/blog/knurling-sessions-introduction/

Rust Firebird 客户端

Read More: https://crates.io/crates/rsfbclient

Rust有偿专业咨询

如果你在工作中使用Rust遇到了困难,可以向他们做有偿咨询,他们会帮助你度过难关。

地址: https://rust-experts.com/

Twistrs ー Rust 中的域名枚举库

这是作者的第一个Rust库,blog介绍了作者写这个库的一些历程。

Read More: https://blog.digital-horror.com/twistrs/

This Week in Rust

355。

Read More:https://this-week-in-rust.org/blog/2020/09/09/this-week-in-rust-355/

From 日报小组 Downtime Jancd

社区学习交流平台订阅:

评论区

写评论

还没有评论

1 共 0 条评论, 1 页