【Rust日报】 2019-03-05

in rust •  6 years ago 

使用Rust构建类似于Wireshark过滤器那样的执行引擎

#Wireshark

Cloudflare公司开源的用于解析Wireshark过滤器语法,并将它们编译器为可执行的IR。该库用于该公司提供的防火墙服务规则解析,所以使用Wireshark的过滤器语法作为DSL。

解析语法一般有三种方式:

  • 使用状态机、正则等按字符进行解析
  • 使用解析器组合器,比如nom或combine这种工具
  • 完全自动化的生成器,可以根据提供的语法自动生成一个解析器,比如pest

但是该库并没有用nom或pest,而是选了第一种解析方式。并且在文章里给出了一些提升解析器性能的经验:

  • 他们认为Rust标准库提供的字符串API完全够用。
  • 使用IndexMap替换了HashMap来进一步提升了两倍性能。
  • 使用trait对象动态分发和闭包来避免实现JIT而带来的一些问题。动态分发的执行效率出乎他们的意料。
  • 选择使用Rust语言实现,对于支持WASM提供了巨大的方便。

该库已经用于Cloudflare公司的生产项目。

说明: Cloudflare是一家提供CDN、DNS、DDoS 防护和安全服务的公司。该公司曾经声称自己抵挡“在一秒钟内的流量接近于谷歌(Google)的全球搜索引擎在一个小时内的流量”的攻击。


集成React + Rust + WASM指南

#wasm

本教程教你如何用Rust提供的wasm工具链开发React App。

Read More


「招聘」「新加坡」使用Rust构建下一代支付系统

#job

新加坡TenX公司,成长型创业公司,产品是基于云的支付平台,并且支持数字货币。其他消息不详。

Read More


Rust实现一个Merkle(默克尔)树状数组

#MerkleBIT #blockchain


ansible-vault-rs: Ansible Vault解密库

#ansible


使用Bulletproofs进行零知识证明

#blockchain

该文展示了如何使用bulletproofs进行零知识证明


日报订阅地址:

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!