【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