• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

【Rust日报】 2019-06-05:actix-web 1.0 正式版发布

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

actix-web 1.0 正式版发布

#actix

actix-web 1.0对于0.7来说,是一次比较彻底的重构。涉及架构重新设计、抽象也由Actor进一步升级到了Service。对于代码层面而言,就是用Service替代了之前的Handler。 1.0的代码也完成遵循Rust惯例,组件化开发,相比于0.7版本的一大坨代码,清爽了很多。

重点说一下Service抽象,它是来自于领域驱动设计(DDD,Domain Derive Development)的概念。DDD要求开发者,构建软件的时候是以领域模型为基本单位。领域模型无关技术,具有高度的业务抽象性,它能够精确的描述领域中的知识体系。开发者需要学会如何让领域模型之间彼此之间建立关系,形成完整的领域架构。而Service就是专门为领域模型提供的外层服务层。服务是无状态的,它只拥有行为。

actix-web这样进行重构,可以方便开发者更好地进行分层设计。相比于之前的actor抽象,更加符合直觉。当然,如果你还喜欢之前的actor抽象,可以通过actix_web_actors组件获得支持。

actix-web组件的依赖层次应该是这样的: 「 (tokio && futures) -> actix-net/actix-rt -> acitx-net/其他子crate -> actix-web」。0.7的actix-web是基于actix实现的web抽象,1.0 的actix-web,是直接取消了actix的抽象,换成了基于actix-rt的Service抽象,提升了性能。但是你如果想用actix也可以,通过actix-web里支持的一个actor组件应该可以(目测,参考example中webscoket的示例),参考下图:

Read More


dargo: 一个类似于cargo-edit的工具

#cargo #tool

由国内社区DCjanus实现,和cargo-edit相比,特色在于:dargo基于查本地crates index,基本是瞬间可以完成整个workspace的升级。而cargo-edit之类的工具则是通过HTTP请求(直接访问crates.io)去检查最新版本。

所以使用dargo的时候,需要更新本地index才能保证获得最新版本。而更新本地index则比http速度要快很多,也有国内镜像可用。比较适合国情。

dargo


来自MIT数字货币计划Rust工作室的分享幻灯片 Day 1

#MIT #DigitalCurrencyInitiative


mft: 解析NTFS主文件的库

#NTFS

mft


Sluice: 一个用于并发I/O编程的异步字节缓冲区和管道

#IO #async

sluice目前发布了 0.4 alpha 版本,基于Rust的async/await语法

Sluice


在Rust中使用FlatBuffers

#flatbuffers

FlatBuffers是Google的序列化格式。它在读取和编写数据方面非常快:比JSON或XML快得多,并且通常比Google的其他格式(比如Protobuf)更快。目前有十三种编程语言支持它,包括Rust。

FB在计算时间上占优势,而PB则在内存空间上占优(相比FB,这也正是它计算时间比较慢的原因)。Google宣称FB适合游戏开发是有道理的,如果在乎计算时间它也适用于后台开发。protobuf更适用于分布式计算领域。
参考来源

感兴趣的可以看看这篇教程,了解FlatBuffer以及如何在Rust中使用它。

Read More


构建无锁连续环形缓冲区

#lockFree #ringBuffer

本文由Andrea Lattuada(苏黎世联邦理工学院博士生, ETH Zurich)和James Munns(来自Ferrous Systems)共同写作,介绍了如何设计和实现(包含了两个版本的实现,每人实现了一个版本)用于跨线程通信的高性能无锁环缓冲器。


From 日报小组 @Chaos

日报订阅地址:

独立日报订阅地址:

社区学习交流平台订阅:


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
灰色预测模型及MATLAB实例发布时间:2022-07-18
下一篇:
FFT-Matlab初步实现 - WHaoL发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap