【Rust日报】 2019-05-21

mini-aio: 新的异步IO库

#async

AdGear公司(一家实时广告平台)开源的库。这个库采用了与Rust中大多数其他异步IO库完全不同的方法:它实际上受到了Pony编程语言的启发。 因此,它不使用Futures,它不使用async/await,它只提供简单的trait。

比如,你想要实现HTTP server,只需要实现TcpListenNotify trait。该trait包含了listening、connected等方法。然后按正常的方式使用就可以,最终使用该库提供的event loop中执行:event_loop.run()

之前日报里介绍过Pony的并发特点:引用能力(Reference Capabilities),Pony 语言中每种变量的类型都包含了有关如何在 actor 之间分享数据的信息。有点像Rust的借用检查器,同样保证数据安全性。所以Pony的异步是actor模型,和actix差不多。坊间有这样的说法,「Pony,当Rust遇上Erlang」。

所以,mini-aio也提供Handler trait,该trait允许接收从代码任何地方发来的消息并处理。

但要注意,此库处于alpha阶段。该库作者也写了不少Rust项目,可以看看他的个人仓库。

Read More 一个用mini-aio实现的FTP服务器:ftp-server-mini-aio mini-rs 作者antoyo GitHub仓库

coreutils: 为Unix和类Unix系统编写的Rust核心工具集

#coreutils #learning

该项目无意与GNU的coreutils 100%兼容,如Uutils的coreutils。瞄准最小但完整的实用程序集,只添加实用程序的几个实现和真正有用的函数之间通用的功能。目前该项目在寻求Review、贡献者、和建议。想要学习Rust的朋友,也可以从此项目入手。

coreutils

Cargo 5730号issues的解决办法

#cargo

Cargo无法处理启用了不同feature的不同类型的依赖项,这对于no_std项目来说是一个大问题。所以有人写了一个cargo-5730库,来帮助解决此问题。

#5730 cargo-5730

「学术」gbdt-rs: 用纯Safe Rust编写的梯度提升决策树库

#gbdt #ml

gbdt-rs提供训练和推理功能。 它可以使用xgboost训练的模型来完成推理任务。gbdt-rs论文已被IEEE S&P'19接受!

gbdt-rs 相关论文

pyo3-file: pyo3的辅助库,方便处理类Python文件的对象

#python

pyo3-file

actix-web已经发布了1.0 rc版本

#actix

web-v1.0.0-rc

From 日报小组 @Chaos

日报订阅地址:

独立日报订阅地址:

Telgram Channel 阿里云语雀订阅 Steemit GitHub

社区学习交流平台订阅:

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

文章来源:

Author:Rust.cc
link:https://rust.cc/article?id=ccec0f4b-e279-482d-b90c-5dcfbb2be060