Tokio alpha 版发布

#tokio

新版本支持async/await

tokio = "=0.2.0-alpha.1"
#![feature(async_await)]use tokio::net::TcpListener;
use tokio::prelude::*;#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {// ...tokio::spawn(async move {let mut buf = [0; 1024];// ...loop {let n = match socket.read(&mut buf).await {// ...}// ...
}

Read More: https://tokio.rs/blog/2019-08-alphas/

如何写全栈Rust代码

#fullstack

这篇文章比较系统的介绍了Yew、ws-rs(websocket)、serde等工具使用Rust编写一个Chat Web App。

Read More: https://www.steadylearner.com/blog/read/How-to-write-Full-Stack-Rust-code

gfx-rs标杆项目开启

#gfx

gfx-rs并不是纯Rust编写。它依赖的一个复杂而重要的组件是用C和C++的混合语言编写的: SPRIV-Cross。它一个着色器翻译库,由 @TheMaister 和一些 Khronos 成员开发,虽然不是 Khronos 的官方产品,但需要它从SPIR-V源生成特定于平台的着色器。它有一个测试套件,它的后端主要由MoltenVK开发和使用。

SPRIV-Cross 在我们的性能报告中出现了很多次(例如在Dota2上)。它的编写方式也与惯用的Rust相去甚远: 代码更喜欢大的可变数据结构,这使得它很难模块化、测试、优化,尤其是在C/C++ FII之后进行交互。虽然它发展很快(就贡献而言),但它在使用高级后端功能方面限定了我们可以做什么和不能做什么,例如内嵌、参数缓冲区等。它使我们的构建过程变得复杂,尤其是在需要单独的Emscripten构建(Rust代码不需要)来生成WASM模块的网络上,成为开发人员和用户的一个痛点。

所以,gfx-rs团队认为,是时候攻克gfx-rs中C++代码的最后一个堡垒了。标杆项目就是关于“飞出墙外的SPIR”(A SPIR that flies above the garden walls,意指,被扔出去了。。。)。这是一个非常复杂的软件,我们还没有取得很大进展。

然而,我们再次感到Rust是着色器翻译工作的最佳工具: 它是关于解析的,处理字节和数据结构,具有进行单元和模糊测试的能力,并且没有外部依赖性。

Read More: https://gfx-rs.github.io/2019/07/13/javelin.html

十年Cpp程序员学了三个月Rust之后的感想

#cpp

文章不长,用作者的话来总结:与其把Rust看作是一门语言,倒不如将其看作是一个生态系统。他对Rust这个生态系统未来的成长感到非常excited。

  • Facebook用Rust写区块链: Libra

  • Goolge用Rust写操作系统: Fuchsia

  • 亚马逊用Rust写虚拟化技术: FireCracker

  • 微软推,崇业界都应该使用Rust语言。

看见了吗?四大巨头的未来主要核心业务都交给或准备交给Rust了。

这也是这个10年Cpp程序员开始学习Rust的原因:未来。

Read More: https://blog.aclysma.com/my-first-three-months-with-rust/

「跟进」Rust中模拟高阶类型(HKTs)

#HKT

Read More: https://gist.github.com/edmundsmith/e09d5f473172066c0023ef84ee830cad

「系列文章」用Rust重写物联网网关 Part 3: Safe Rust 如何跳过C/Cpp的陷阱

#IoT

文章里这个类比比较经典(普罗米修斯盗了天火,为世界带来了光明,但与此同时也带来了灾难):

我们本可以用C++重写我们的物联网平台应用。使用C就像用蜡烛照明一样。它的基本属性是众所周知的,它从文明之初就存在了,如果你滥用它,它会让你周围的房子着火。(在这个比喻中,C++将是“所有可以被点燃产生光的东西的集合”。)

该文的作者是智能家居系统公司Dwelo的IoT工程师,该文主要罗列了一些Cpp编写嵌入式应用可能拥有的问题。

这篇文章为系列第三篇。

  • Part III https://medium.com/dwelo-r-d/designing-around-our-flaws-e0fccd7070af

Cosmic:多功能discord机器人

#discord

该项目是从Python到Rust的一个重写项目

Repo: https://github.com/Sreyas-Sreelal/Cosmic

「社区」Rust游戏工作组的调查

#Game

Rust游戏工作组是社区自愿发起的一个组织,这次他们发起调查,是为了更好地支持Rust游戏开发生态,游戏开发者们可以去参与。

Read More: https://users.rust-lang.org/t/survey-from-the-rust-game-development-working-group/31270?u=erlend_sh

stubborn-io:对tokio的AsyncWrite/AsyncRead进行了包装

#tokio

Docs: https://docs.rs/stubborn-io/0.1.3/stubborn_io/

可以将任何文件进行Hash然后生成一个甜甜圈图案

#wasm

由Rust和Wasm实现

  • online demo: https://alugocp.github.io/donut/

  • Repo: https://github.com/alugocp/donut

PodCast:采访Jimmy Cuadra

#podcast

话题关于Matrix,一个开放和分散的通信协议,以及他在Rust中的实现Ruma。该作者之前也出了视频课程,地址在这里:https://youtu.be/76BE1P8B1UU

  • Read More: https://rustacean-station.org/episode/001-ruma/

  • Ruma: https://github.com/ruma/ruma

Rust项目中如何在运行时重载配置

#reload

有些程序运行时间很长。对于这些,重启它们来改变配置不是你愿意做的事情。想象一个网络服务器或数据库服务器。这种东西总是处理大量的查询,重启会杀死所有当前正在执行的查询,这会导致最终用户出错,或者由于某些地方的重试而导致性能不佳。

作者的思考:

  • 需要从一个或多个文件中加载配置

  • 需要某种触发器来重新加载配置,然而,使用inotify之类的工具监视配置文件更改的做法不是最佳实践

  • 需要一个手动触发器

  • unix守护进程约定是向进程发送一个SIGHUP信号,对于命令行应用程序,此信号意味着终端消失了,你可能想要终止它。unix守护进程没有终端,所以它被重用了。在SIGHUP上,守护程序通常会重新加载其所有配置并重新打开日志文件(这是为了与logrotate集成)

  • 推荐使用signal-hook来侦听信号,因为信号一般很容易被错误使用,这个库屏蔽了信号使用的大部分问题。

  • 或者,程序可以通过某种方式发送一些触发重载的RPC命令

  • 配置文件有三种应用场景:初始化/ 每次都需要加载/ 需要主动更改的配置

根据上面的思考,作者开发了Spirit框架。但是该框架还有很多工作要完善。

(目测该框架会对Rust在自动化运维方向起到促进作用)

  • Reddit 讨论:https://www.reddit.com/r/rust/comments/couwju/runtime_configuration_reloading/

  • 原文:https://vorner.github.io/2019/08/11/runtime-configuration-reloading.html

  • signal-hook https://crates.io/crates/signal-hook

  • Spirit: https://github.com/vorner/spirit


From 日报小组 Chaos

日报订阅地址:

独立日报订阅地址:

  • Telgram Channel

  • 阿里云语雀订阅

  • Steemit

  • GitHub

社区学习交流平台订阅:

  • Rust.cc 论坛: 支持 rss

  • Rust Force: 支持 rss

  • 微信公众号:Rust 语言学习交流

【Rust日报】 2019-08-12:Tokio alpha 版发布,新版本支持async/await相关推荐

  1. linux查看采集卡内核,MAGEWELL美乐威Pro Capture系列视频采集卡驱动1.3.0.4186版For Linux(2019年12月10日发布)...

    驱动说明 MAGEWELL美乐威Pro Capture系列视频采集卡驱动1.3.0.4186版For Linux(2019年12月10日发布) MAGEWELL Pro Capture系列视频采集卡最 ...

  2. 微信推出“腾讯QQ”小程序;马化腾又要发红包;GitLab 12.5 稳定版发布| 极客头条...

    整理 | 屠敏 快来收听极客头条音频版吧,智能播报由标贝科技提供技术支持. 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注 ...

  3. Magento支付宝手机网站支付插件V6.0旗舰版发布,支持在微信中使用支付宝支付,订单重新支付功能!...

    2019独角兽企业重金招聘Python工程师标准>>> 功能 严格按照支付宝接口文档编写代码. 支付宝异步通知机制,确保订单状态及时更新,无丢失遗漏. 订单完美对接:支付后即使关掉支 ...

  4. ios12上滑关闭程序动画_苹果iOS 12.3正式版发布:上滑清除程序动画重新回归

    新浪科技讯 北京时间5月14日凌晨消息,今天推送了iOS 12.3正式版,随着苹果和专利官司的和解,苹果原先的上滑清除程序动画在iOS 12.3中重新回归,本次更新大小506.2M,苹果除了继续提高系 ...

  5. IntelliJ IDEA 2019.1.1 预览版发布,以及对旧版本的更新

    百度智能云 云生态狂欢季 热门云产品1折起>>>   虽然 IntelliJ IDEA 2019 年的首个重大更新版本 2019.1 已发布,但 JetBrains 依然惦记着旧版本 ...

  6. Android 12 预览版发布,64G手机用户:我又活了

    [CSDN 编者按]2021 年 2 月 18 日,全球使用人数最多的移动操作系统--Android,正式发布了其最新版本 Android 12 DP1 (Developer Preview 开发者预 ...

  7. Android 12 预览版发布,64g 手机用户哭了

    [CSDN 编者按]2021 年 2 月 18 日,全球使用人数最多的移动操作系统--Android,正式发布了其最新版本 Android 12 DP1 (Developer Preview 开发者预 ...

  8. Android 12 预览版发布,64G手机用户:我又活了 #IT资讯# #Android# #手机系统#

    [CSDN 编者按]2021 年 2 月 18 日,全球使用人数最多的移动操作系统--Android,正式发布了其最新版本 Android 12 DP1 (Developer Preview 开发者预 ...

  9. Firebug 1.7正式版发布,支持Firefox 4

    Firebug 1.7 正式版发布了,同时发布的还有 Chromebug 1.7.0.该版本修复了最后一个beta版的三个bug. Firebug 1.7 最主要的目标是完全兼容 Firefox 4, ...

最新文章

  1. C++ 通过模版工厂实现 简单反射机制
  2. linux文件夹加密访问,技术|Linux系统上用encfs创建和管理加密文件夹
  3. js 获取鼠标在画布的位置_javascript求鼠标在canvas画布里的坐标
  4. 使用别名访问MSSQL Express
  5. 如何使用Linux的Crontab定时执行PHP脚本的方法
  6. 快搜浏览器_opera、Google、firefox三个浏览器的选择
  7. win10安装ipython_windows10下安装IPython notebook 用来查看.ipynb文档
  8. 将时间格式的字符串转换成日期类型浏览器兼容解决方案
  9. php 面试靠快速排序,搞定PHP面试 - 常见排序算法及PHP实现
  10. python代码规范---PEP8(python enhancement proposal)
  11. 申请开通微信支付教程
  12. MQTT5.0新特性(比对3.1.1)
  13. Vue强制刷新页面重新加载数据方法
  14. 基于ArcGIS与高分影像进行绿地变化分析
  15. 代理后域名及Https协议向后传递,后端Spring获取不到问题记录及分析
  16. 怎么通过麦克斯韦方程组推导出达朗贝尔方程
  17. mybatis中的Example_Where_Clause
  18. js一维数组,api,二维数组
  19. Cocos2d-x + Android + Eclipse + Windows 7
  20. 天干地支计算公式_天干地支快速查的计算公式

热门文章

  1. 24小时自助服务终端-税务相关业务
  2. mysql ignoretable_做Mysql主从时,注意使用replicate_wild_do_table和replicate-wild-ignore-table【转】...
  3. 【黑马程序员】SpringBoot2学习笔记
  4. 用友U8采购请购单批量订货界面添加存货档案中字段
  5. 3D人物建模好学吗?需要怎样的美术基础?
  6. python字符串怎么排序
  7. r如何连接oracle,R语言 R两种方式连接Oracle
  8. 电力-RTU终端ModBus规约(C程序)
  9. 手机淘宝提升排名的主要权重!!
  10. javascript中关于全角转换问题!