前言:

从2018年开始,我每天会花1个小时关注Rust社区动态,并且在Rust.CC论坛、tg channel、Steemit、GitHub、语雀订阅都开通了Rust每日新闻,分享我每天的见闻,偶尔也夹杂了一些个人的观点。大半年过去了,Rust每日新闻已经成为了Rust社区群大家每天必看的内容。在这个知乎专栏里,每周会精选几篇Rust社区中的动态,和大家分享。分享的内容就不按时间排序了。

2018-12-16

「付费阅读」系列

官方新闻

官方核心成员nrc对Rust 2021 Edition的思考:

「官方网络工作组」异步进展

async

虽然Rust 2018发布的时候没有稳定异步编程,但在今年,异步编程也取得了很大进展。网络工作组发文,介绍了几个促进Nightly生态中使用async/await的crate。

async/await对Rust的重要性:async/await在其他语言中已经证明了其可用性

在Rust中引入async/await中需要多考虑一个元素:借用。所以,之前在编写异步代码的时候,必须使用'static限定,并且还经常要用到Arc和Mutex。

async/await语法稳定之后,将不会有「借用」相关的问题。但是在这之前,还有很多工作要做,比如稳定await语法。现在google的Fuchsia项目已经在大规模使用async/await语法了。

标准库中支持Future等trait的工作也即将完成。

确定了各种API,包括Waker、Pin、与tokio兼容的futures-rs 0.1等。

发布了一些新的crate:romio,之前介绍过,是对tokio最小化包装,为了支持async/await。

http-service, 一个基于字节的、http和新的futures API的crate,提供HTTP通用接口。是从Tide库中提取出来的API。

Tyger,即将推出的这个库是在Hyper上面构建的一个小的crate。提供直接的HTTP服务接口,因此可以直接使用async/await。Tyger也会对Hyper增加一些补充,提供一些更高级的抽象。也是从Tide中提取出来的包。

官方希望在2019年上半年稳定async/await。官方所考虑的不仅仅是支持这个语法,而且还在为打造async/await生态做足了准备。这也是异步编程支持如此缓慢的原因。

社区新闻

OS2ATC2018(第六届开源操作系统年度会议)会议现场直播链接

现在的topic: 《Design & Implementation of uCore Plus OS in Rust Lang》(清华大学ucore操作系统课程升级Rust教学)

「安全」Crossbeam发现double-free BugMsQueue和SegQueue会发生此Bug。 即使从队列中弹出一个元素,crossbeam也会运行它,此问题来自于crossbeam-epoch的垃圾收集器内的析构函数。

crev: 代码审查工具箱

提供了一个cargo工具:cargo-crev

该工具可以判断你项目中依赖crate的安全性、质量和发现的问题。可以在公共的git仓库里发布可验证的review信息。通过这种方式期望在Rust生态系统中构建可信任的网络。将不会有人再受到未经审查和不受信任代码的困扰。

想想npm因为依赖包出了多少次安全事故。这个工具ms不错,但是否真的可以解决问题?

使用方法:

cdcargocrevidgen#generateyouridcargocrevverify#verifyyourdepedenciescargocrevreview#reviewadependencycargocrevdbgitstatus#checkgitstatusofyourproofdatabasecargocrevdbgit--ci-a#commiteverythingcargocrevdbgitpush#pushittoyourgithubrepositorycargocrevtrust#trustsomeonewithagivenCrevIdcargocrevdbfetch#fetchupdatesfromallpeopleyoutrustcargocrevverify#verifyagaincargocrevhelp#seewhatotherthingsyoucando

其中id是可以通过crev gitter channel来共享给大家的,形成信任网络。然后可以通过 cargo crev trust 命令从你信任的人那里获取依赖crate。

当然,这世界上没有绝对的安全,但也无法阻碍人们追求它的脚步。

Rust非常适合高性能科学计算

来自某粒子物理实验室的软件性能工程师Hadrien坦言,相比于Cpp,Rust更适合高性能科学计算。并且对Rust能进入这个领域之前需要完善的工作提出了他自己的建议,同时也希望Rust 2019的目标之一可以是「高性能科学计算」。

杭州Rust线下Meetup回放视频

一共两场分享,视频地址是第二场分享,在列表里也能找到另外一场分享的视频。

使用Rust和WebAssembly进行edge计算

什么是边缘计算? 边缘计算将数据的处理、应用程序的运行甚至一些功能服务的实现,由网络中心下放到网络边缘的节点上。属于一种分布式计算。一直以来,公共和企业设施的监测和维护消耗着大量的人力、物力成本;电力、制造等行业数字化转型中对海量数据的实时、智能处理也有着强烈需求。如果用常规模式构建物联网,所有数据都交给云端,那么会带来一系列的问题。边缘计算就是为了解决这个问题。

fastlylabs公司,推出了一个产品Terrarium(看着像是用webassembly.studio改造的),是一个基于浏览器的多语言编辑和部署平台。据该公司描述,此产品是为了推进边缘计算。Terrarium是基于WebAssembly沙箱而构建。Terrarium可以将几种不同的编程语言编译为WebAssembly,然后将其编译为快速,安全的本地代码,并用于为Web服务提供动力。

本文介绍了如何用Rust和Terrarium进行编写边缘计算服务。

「趣味」Rust Raps: Rust 2018 Edition首张单曲发布

由Rusta Rhymes推出的热门新单曲“Ferris Crab(Rust Raps 2018 Edition)”即将推出首张专辑“Drop for Mic”。

Rust开发的一款编程教学游戏预览

学习资源

Rust Quiz解读已更新到Quiz 15

Rust 异步函数内部转换流程

本文介绍了Rust内部async/await的内部转换机制,包括generator、状态转换过程等。

使用Cargo Test来Debug代码

本文介绍了使用cargo test命令,结合单元测试来调试代码中的问题。

「系列博文」在浏览器中使用WASM Part 1

本文介绍了如何使用Rust编译wasm,并在浏览器中使用它。同时也包括了wasm的工作机制,值得一看。

在AWS Lambda上面运行Rust

本文以编写一个独立的crate为例,从代码编写到部署,介绍如何在AWS Lambda上面运行Rust库。

「嵌入式Rust」Cortex-M3 入门指南(一):体系概述

「视频」如何在Rust/C/C++/.Net中使用SIMD

用Rust为Kubernetes动态生成Dockerfiles

「Slides」在Rust中使用C的va_list

以及,你为什么不应该用它。

项目

libui-rs: libui的Rust绑定

gba: 帮助你创建GBA游戏

NASA开源的静态分析工具: ikos

虽然是为C/C++静态分析实现的工具,但据说也适用于LLVM IR,因此有助于检测Unsafe Rust的代码。

seed: Rust+WebAssembly 前端框架

基于wasm-bindgen和js-sys创建。创建应用时需要依赖web-sys。

「区块链」comit-rs:Comit协议的Rust实现

COMIT是一个协议,以链接不同的区块链。以便将区块链生态系统打造地更大,更具有包容性。

[WIP] Rust实现的Lua解释器

Rust开发安全应用程序指南

该指南不是Rust语言教程,只是记录Rust开发应用程序过程中可能出现的「坑」,特别是开发一些对安全性要求较高的程序需要注意的地方。该指南还在持续更新中。

使用Rust配置管理kubernetes

本文作者使用Rust构建了一个用于管理k8s上运行的微服务声明格式和生命周期的标准化工具shipcat。它封装了k8s的API,目的是为了更加标准化、版本化、权限化、自动化管理k8s。本文阐述了k8s管理中的问题,以及shipcat的解决思路。

工具与库

spirit教程

spirit可以帮助开发者更容易地构建Unix守护进程。 文章里介绍了它的使用方法。

parstream: 基于线程池以流方式计算迭代函数

并且不会打乱迭代器中元素的顺序。

命令行使用频率跟踪工具fe

pom:又一个peg解析器

支持no_std的Curve25519加密库

椭圆曲线加密/签名/密钥交换算法Curve25519的 #[no_std] 版本

rust大油井频率怎么用_「Rust每日新闻」本周精选 • 第二十四期相关推荐

  1. belt rust take tours_「Rust每日新闻」本周精选 • 第二十二期

    前言: 从2018年开始,我每天会花1个小时关注Rust社区动态,并且在Rust.CC论坛.tg channel.Steemit.GitHub.语雀订阅都开通了Rust每日新闻,分享我每天的见闻,偶尔 ...

  2. rust大油井频率怎么用_短波通信频率使用指南

    短波通信短波通信实际使用的频率范围:1.6MHz-30MHz (1)1600kHz-1800 kHz:主要是些灯塔和导航信号,用来给鱼船和海上油井勘探的定位信号. (2)1800 kHz -2000 ...

  3. rust大油井频率怎么用_数据量大怎么搞?当然是用这个了!

    前言 最近项目中不少表的数据量越来越大,并且导致了一些数据库的性能问题.因此想借助一些分库分表的中间件,实现自动化分库分表实现.调研下来,发现Sharding-JDBC目前成熟度最高并且应用最广的Ja ...

  4. 智能化软件开发微访谈·第二十四期 大模型时代的智能化软件生态(讨论汇编)...

    CodeWisdom "智能化软件开发沙龙是由CodeWisdom团队组织的围绕智能化软件开发.数据驱动的软件开发质量与效能分析.云原生与智能化运维等相关话题开展的线上沙龙,通过微信群访谈交 ...

  5. python爬取天天基金_「天天基金网每日净值」python爬虫简单爬取天天基金的基金信息和每日净值 - 金橙教程网...

    天天基金网每日净值 fROM bs4 import BeautifulSoup import Requests import JSON import js2py import time from el ...

  6. 光子浏览器_光子学公开课第十四期 明日开课 | 上海大学金翊教授:三值光学计算机...

    导引 三值光学处理器用无光态和偏振方向正交的两个线偏振光态表达信息,用旋光器和偏振片制作光学运算器,沿用现有的计算机外设和存储芯片.依据降值设计理论构造出的三值逻辑光学处理器能够根据用户的需要而改变硬 ...

  7. rust主播排行_「Rust日报」2019每周精选 • 第四期

    前言: 从2018年开始,我每天会花1个小时关注Rust社区动态,并且在Rust.CC论坛.tg channel.Steemit.GitHub.语雀订阅都开通了Rust日报,分享我每天的见闻,偶尔也夹 ...

  8. rust sabrina 滑雪板_「Rust」夺冠 Valve Index连续十八周TOP10

    日前,Valve公布了上周(2021年1月4日-1月10日)Steam平台销量排行榜,由Facepunch Studios开发的第一人称末日生存联机游戏「Rust(腐蚀)」拿下冠军,「V社VR套件(V ...

  9. ccd相机好修吗_「CCD购买指南 」CCD废片大公开

    最近小红书上CCD大热,当我看到花几十块钱就能拥有一部相机的时候,贫民窟的我,激动的心,颤抖的手. 相信在看这篇笔记的你们也是这种心情. 千万别啊‼️‼️ 这样冲动容易被坑 花三分钟看完我的笔记,你会 ...

最新文章

  1. [投稿]通过Web界面在多台服务器上批量创建文件
  2. python如何读写文件-Python之写入文件(1)
  3. Android安装包apk文件在某些版本操作系统上安装解析包出错问题的解决办法
  4. 服务器带系统,服务器有带系统的吗
  5. python numpy安装教程_手把手教你搭建机器学习开发环境—Python与NumPy的超简安装教程...
  6. 程序员过关斩将--解决分布式session问题
  7. Google的面试题长啥样
  8. 某些小时后MySql连接自动掉线
  9. Go 语言基础(七) 之 并发和网络
  10. 【sklearn第三讲】数据预处理
  11. 是什么浪费了运维的工作时间?
  12. Vivado 2017封装自定义IP Core
  13. 数据分析学习记录(二)---响应曲面法及Design-Expert的简单使用
  14. 2017——小米——句子反转
  15. 古风排版(20 分)
  16. matlab使用杂谈5-fftshift函数的使用
  17. 老师用计算机教我们画画拼音,《汉语拼音13 ang eng ing ong》第二课时教学设计3...
  18. YV12toI420 yuv420、NV12、YV12相互转换
  19. 2022国际数维杯C题题解:利用大脑结构特征和认知行为特征诊断阿尔茨海默病
  20. IE浏览器兼容jsp问题

热门文章

  1. 支付宝红包无线支付服务器,网上发红包无线支付成市民新宠 1.5万人次通过支付宝送红包...
  2. 造梦西游html5,造梦西游OL(新服开启)
  3. 网络工程师成长日记427-项目勘察
  4. 每个人都应该了解的金融小知识 -- 利率计算 (含一道码农面试题)
  5. 总结错误 No mapping for GET /swagger-ui.html
  6. 微服务设计第 1 章 微服务
  7. 二次规划、最小二乘法
  8. 分布式系统之CAP原理
  9. Gazebo手册:5 机器人模型配置文件
  10. MYSQL死掉后自动重启脚本