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

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

官方新闻

「通告」Rust 2018 新的Beta版发布!

Rust 2018已经进入了最终的倒计时,官方刚刚发布了一个最新测试版。新的测试版包含了一些最近新稳定的功能和一些Bug修复。还包含一些工具的改进:Rustfmt 1.0

RLS和Clpippy可以直接安装,不再是“preview”组件了。

来帮助检测是否存在Bug。

「官方」Rust 2018年度调查报告

「官方」演变中的Tide中间件

「官方网络工作组」2018调查报告

此次是网络工作组的报告,一共收到1000多条回复。

在Web方面,流行的框架是Rocket和Actix,分别占比27%和24%。也有其他框架的选择,但是有20%的人不选择任何框架,而是在hyper上自行搭建服务。

存在的问题:65%的人认为缺乏示例是目前生态系统中的问题,其次是缺乏文档。这也是Tokio Doc Push和Rust异步之书正在解决的问题。

缺乏一个真正的框架,类似于Rails或Django那样的。这也是网络工作组正在考虑的事情。为此官方构建了Tide,为打算使用Rust构建Web应用提供一个良好的开端,另一个目标是想要深入挖掘并学习如何在Rust中编写Web框架的人提供一个文档。

在构建应用程序时缺乏对框架和服务的一些绑定。包括绑定应用程序,比如各种NoSql数据库、支持在K8S上运行、编排容器框架和LDAP认证协议。以及对数据库的异步访问支持等,并没有一个惯用法的指南。

Rust官网界面改版引发争议

官方Rust Book现在有Epub版本下载

社区新闻

AWS Lambda已经支持Rust

使用该库可以在AWS Lambda上运行Rust实现的函数

「游戏」Amethyst基金会成立了

好消息。Amethyst是一款免费的开源游戏引擎。它是用Rust编写的,其核心是ECS架构。现在成立了基金会是为了组建一个官方的非盈利组织。这对于Amethyst的发展应该是非常有好处的了。当然,现在的状态只是提交了文件,还在等待最后的审批。

「演讲」低延迟音频合成

包含了演讲视频、代码和Slides。

也可以多关注下后续,会有详细的博文放出。

Rust Belt Rust 2018 大会 视频合集

AWS 出品 : Firecracker

Firecracker是一种开源虚拟化技术,专门用于创建和管理安全,多租户容器和基于功能的服务,提供无服务器操作模型。 Firecracker在轻量级虚拟机中运行工作负载,称为microVM,它将硬件虚拟化技术提供的安全性和隔离性与容器的速度和灵活性相结合。

看上去应该是兼容docker生态链,倾向于Serverless。

「博文」Bitfury公司的工程师为俄罗斯邮政服务设计区块链本月,Bitfury®工程师Yury Yanovich,Ivan Prokhorov,Darya Korepanova和Sergey Vorobyov与Skolkovo科学技术研究所(Skoltech)的计算和数据密集型科学与工程中心一起在科学研究期刊Informatics上发表; 信息传输问题研究所数据挖掘和预测建模实验室; 罗蒙诺索夫莫斯科国立大学世界经济地理系; 和高等经济学院的工作是设计一个基于区块链的供应链,以防止印章伪造。

RustQuiz: 26个在线Rust面试题

来自于RustFest 2018 大会的轻演讲主题:Rust Quiz

RustaCUDA v0.1.0发布

RustaCUDA是对CUDA API的Rust包装。允许分配和释放GPU内存,从GPU复制数据,加载CUDA模块和启动内核,所有这些都具有最安全,程序员友好的Rusty接口。 它可以加载和启动用任何CUDA兼容语言编写的内核,而不仅仅是Rust。

该作者对Rust支持CUDA作出了很多努力。

Rocket v0.4 RC2版本发布

TOML规范 0.5中文翻译发布了

从0.5开始,TOML规范趋于稳定。

Atom 1.33发布,内置Rust支持

改进的Rust贴纸,超酷

「投票结果」你主要用什么操作系统构建Rust代码

学习资源

「付费」《如何系统地学习Rust》

为你精心打造Rust必学第一课。

Rust语言CheatSheet

Rust Quiz 解读: Quiz 1

AoC 2018谜题Rust解决方案

新书:用Rust编写WebAssembly

beta版可预定。

「系列文章」数独谜题生成器 pt.3: 使用WebAssembly

作者想用一个数独谜题生成器来检测WebAssembly的性能,他写了一系列文章,本文是第三篇,用Rust的wasm-bindgen工具来创建数独生成器的wasm模块。

「博文」如何将Tokio的AsyncRead和AsyncWrite转换为Futures, Sinks和StreamsAsyncRead to Future, 一次性读

AsyncRead to Stream, 持续读

AsyncWrite to Sink, 持续写

AsyncWrite to Future, 一次性写

「博文」在Nightly版下使用async/await

本文介绍了async/await,并且介绍了如何在最新的生态系统中使用老的futures 0.1。

「视频」使用Rust和Amethyst引擎进行游戏开发

视频演讲中以一个开源的消除游戏everpuzzle为示例进行介绍。 [大约1小时]

「嵌入式Rust」嵌入式开发环境

作者尝试玩嵌入式,选择了以自定义一个ErgoDox键盘作为尝试。本教程介绍了相关的开发环境准备。

在Android开发中使用Rust

国内社区小伙伴写的文章,介绍如何在Android中使用Rust。

使用Rust和Efflux编写 MapReduce Jobs

项目

romio:异步网络原语

无船同志写的 :Mio + Future + Tokio = Romio。

( 八卦: tokio作者不原意跟进Futures最新版,所以官方派出无船同志完成这项推动Rust异步历史进程的艰巨任务。)

Sequoia: OpenPGP的一个Rust实现关于Sequoia:Sequoia由三位前GnuPG开发商Neal H. Walfield,Justus Winter和Kai Michaelis开发。为了缓解许多常见的安全问题,Sequoia是用强类型语言Rust编写的,它提供了时间和空间内存安全性。 Rust还为将库嵌入其他语言提供了出色的支持。 Sequoia已经提供了C绑定,并且正在积极开发Python绑定。

秘猿开源CKB和CKB-VM

Nervos CKB是一个公共授权区块链,是Nervos网络的共识层。CKB的VM是基于RISC-V指令集实现的。

高性能JavaScript到JavaScript编译器

基于Rust和Wasm实现

使用Cranelift实现的玩具语言JIT

Atlasr: 免费的地图预览器

Tange:基于任务的并行框架

“任务并行”是指一个或多个独立的任务同时运行。 可以用来做并行计算。用于:数据处理

分布式机器学习算法

一般的并行计算

工具与库

tr: 国际化(i18n)库

刚发布,现在找人使用,并且想得到更多反馈。

「工具」宣布RustPräzi:为http://crates.io构建整个调用图(call graph)我们很高兴地宣布我们的第一个版本的RustPräzi,一个PoC(概念验证)项目,它从http://crates.io 3下载所有crate版本,构建LLVM调用图并将它们链接到一个大型版本的基于呼叫的依赖网络。与常规依赖关系网络不同,基于调用的依赖关系网络表示包内和包之间的函数调用链,支持图形分析/查询

一个CG是表示整个程序中方法(函数)之间调用关系的图,图中的节点是方法,边表示调用关系。例如方法foo()调用了方法bar(),则CG中应有一条从foo()到bar()的有向边。

高效diff算法库

pijul开源了它们用的diff算法。pijul是基于Rust实现的类Git版本控制工具,用法介绍

招聘

「招聘」位于美国旧金山市中心的公司招Rust工程师

这是去矿上工作啊。想用Rust构建大型的数字货币和大型采矿系统。没看到说可以远程的信息,应该是不能远程了。薪水 120k ~ 160k美刀 + 股权

旧金山软件工程师的平均工资是134,000美元

旧金山的失业率为3%

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Rust 中使用 Yew 框架编写 Function Component 非常简单。Function Component 是一种无状态组件,只接收 props 参数并返回一个 Virtual DOM 树。 下面是一个简单的例子,演示如何编写一个 Function Component: ```rust use yew::prelude::*; fn function_component(props: &Props) -> Html { html! { <div> <h1>{ props.title }</h1> <p>{ props.content }</p> </div> } } #[derive(Clone, PartialEq, Properties)] struct Props { title: String, content: String, } ``` 在这个例子中,我们定义了一个名为 `function_component` 的函数组件,并接受一个 `props` 参数。在函数组件中,我们使用 `html!` 宏来创建 Virtual DOM 树,并将 `props` 中的 `title` 和 `content` 属性设置为标题和段落的文本内容。 为了使用这个组件,我们需要在父组件中将 `Props` 传递给 `function_component` 函数,并将其渲染到页面上: ```rust use yew::prelude::*; struct App {} impl Component for App { type Message = (); type Properties = (); fn create(_: Self::Properties, _: ComponentLink<Self>) -> Self { App {} } fn update(&mut self, _: Self::Message) -> ShouldRender { false } fn view(&self) -> Html { let props = Props { title: String::from("Hello, World!"), content: String::from("This is a Yew Function Component."), }; function_component(&props) } } ``` 在这个例子中,我们创建了一个名为 `App` 的组件,并在 `view` 方法中将 `Props` 传递给 `function_component` 函数。在实际应用中,我们可以根据需要设置不同的 `Props` 属性来渲染不同的页面内容。 希望这个例子对你有帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值