0
点赞
收藏
分享

微信扫一扫

【Rust日报】 2019-08-31:Rust全栈开发Web应用


cargo-udeps,缓解Rust依赖膨胀的插件

大多数人对Rust的最大问题之一是编译时间长。原因之一是许多项目使用crates.io中相当多的依赖项。

帮助缓解crates.io上的依赖膨胀是cargo-udeps的目标之一。小编在自己的项目上试用了一下,遇到问题尚待解决。毕竟目前还是v0.1.0,期待这个插件进一步完善。Gist详情

lyys-MBP:abc lyy$ cargo install cargo-udeps
Updating crates.io index
Downloaded cargo-udeps v0.1.0
Downloaded 1 crate (19.7 KB) in 2.45s
Installing cargo-udeps v0.1.0
Downloaded cargo v0.38.0
Downloaded curl v0.4.23
...
Compiling cargo v0.38.0
Compiling cargo-udeps v0.1.0
Finished release [optimized] target(s) in 3m 28s
Installing /Users/lyy/.cargo/bin/cargo-udeps
Installed package `cargo-udeps v0.1.0` (executable `cargo-udeps`)
lyys-MBP:abc lyy$ cargo +nightly udeps
Compiling semver-parser v0.7.0
...
Running /abc/target/debug/build/abc-runtime-a1002fbc69f0d1e8/build-script-build
error: failed to run custom build command for abc-runtime v2.0.0 (/abc/runtime)

Caused by:
process didn't exit successfully: /abc/target/debug/build/abc-runtime-a1002fbc69f0d1e8/build-script-build (exit code: 1)
--- stderr
error: 'run' isn't a valid value for ''
[possible values: udeps]

USAGE:
cargo-udeps --manifest-path --message-format

For more information try --help

warning: build failed, waiting for other jobs to finish...
Error: StrErr("build failed")

Rust全栈开发Web应用

Brian St. Pierre编写的 Introduction to Rust Web Applications

一个快速且简单的指南,使用 Rust 全栈开发 Web 应用:

  • ​Diesel​​ 作为 ORM
  • ​Rocket​​ 作为 Web 框架,
  • ​Seed​​ 作为 [WebAssembly] 前端

structopt v0.3 发布

structopt 是一个库,其通过定义结构体来解析命令行参数。

v0.3 较大的两个变化是:

  • 错误提示的显著改进;
  • 移除了​​raw​​属性;

有关更详细的信息,查看Github

rg3d,3D游戏引擎

Rust 编写 3D 游戏引擎。它包含的功能:

  • FBX Loader(ASCII和二进制)
  • TTF字体加载器
  • 延迟着色渲染器(基于OpenGL 3.3 Core)
  • ...

由于其 API 未稳定,该引擎还没有在​​crates.io​​上发布。

  • 引擎演示链接
  • 正在编写的3D射击游戏

RustCrypto:chacha20poly1305,aead,polyval,universal-hash

RustCrypto项目,本周发布了4个新的crates,这些是加密算法的纯Rust实现或​​trait​​:

  • chacha20poly1305:流行的身份验证的加密模式,由RFC 8439定义。此包也支持​​XChaCha20Poly1305​​扩展的​​nonce​​变体。
  • aead:使用关联数据进行身份验证加密(Authenticated Encryption with Associated Data, AEAD)的​​trait​​,​​chacha20poly1305​​包是根据这些​​trait​​实现的。
  • polyval:AES-GCM-SIV(RFC 8452)使用的通用散列函数。
  • universal-hash:通用散列函数的​​trait​​。

自行承担使用风险。一般来说,使用任何加密库的0.1版本,可能是一个非常糟糕的主意。


日报订阅地址:

独立日报订阅地址:

  • Telgram Channel
  • 阿里云语雀订阅
  • Steemit
  • GitHub

社区学习交流平台订阅:

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

相关推荐

0 条评论