【Rust日报】 2019-03-31

2024-06-23 01:38
文章标签 rust 2019 03 31 日报

本文主要是介绍【Rust日报】 2019-03-31,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Rust日报小组成立

从下周开始将由ChaosBot、Mike和Damody三位轮流发布日报,其中Damody为台湾同胞,如果大家看到中文繁体日报,就是他发布的。

发日报有什么好处?我来给大家透露一下。至少有三点好处:

  1. 了解Rust生态最新动态
  2. 锻炼自己的总结能力。对于感兴趣的文章,可以快速汲取其主要观点。
  3. 为自己的提升和学习铺垫了资料库。

所以,也欢迎大家参与Rust日报的内容建设中。


Ocypod: 基于Redis的任务队列服务

#job_queue

使用Rust/Actix/Redis实现。据作者称已经用于生产环境几个月,每周处理数百万个任务。

特点:

  • 语言无关

  • 使用redis

  • 使用HTTP/JSON协议

  • 提供HTTP接口

  • 灵活的工作元数据

  • 失败时自动重试

  • ocypod

  • Doc


Rust中型变(Variance)的直观解释

#Variance

简单讨论了泛型参数的协变和声明周期参数中的子类型概念。

Read More


过程宏 101

#proc_macro

一个简单的过程宏入门教程

Read more

可以配合Dtolnay的proc macro workshop来学习。该workshop是Dtolnay为Rust Latam Conf准备的。

proc-macro-workshop


「系列文章」Rust学习中的障碍 Part 1

#learn

该文作者在他博客里记录下来他学习Rust中感觉困难的部分,主要是所有权相关内容,以便帮助后来者。

Read More


RaptorQ(RFC6330)与Rust性能优化

#RaptorQ

课外知识:

喷泉码是一种特殊的前向纠错码(FEC),其理论特征十分简单:如果想发送的数据大小为K个数据包的大小,通过喷泉码编码后可以产生并实际发出K+X个数据包,而接收方只需要这其中的任意K个数据包就可以重建原数据。超出原始数据大小的X个数据包理论可以无穷多地生成,因此可以通过调整X的量以适应不同环境不同丢包率的需求。

RaptorQ(以下简称RQ)作为喷泉码的一种,同时也是系统码(Systematic Code)。这意味着一组数据如果通过RQ进行编码,生成的前K个数据包将与输入数据完全一致。我们称这K个数据包为源码符(source symbols)。而基于源数据额外生成的X个数据包,我们称之为修复码(repair symbols)。修复码被用于恢复在传输过程中丢失的源码符。因此,如果传输过程中没有丢失任何源码符,不需要任何解码运算就可以获重建源数据,可以节省时间与内存占用。这种特性也是系统码的一大优点。

RQ码的某个实现方法高通公司写入RFC6330。可用于视频传输。

在本文中,作者给出了他用Rust实现RQ库的优化历程,包括:

  • 使用unsafe和SIMD

  • 使用ArrayMap替换HashMap

  • 使用cfg(debug_assertions)禁用某些验证检查

  • 更新算法、删除了很多clone调用、使用位图等替换HashSet,在这部分内容作者提到,他最初对借用检查器感到非常沮丧,但是熟悉以后他认为借用检查器不仅仅是有助于所有权,而且还有助于理解性能。

  • 将petgraph库替换为自定义的实现

  • 课外知识参考文章

  • raptorq

  • Read More


宣布ugdb和unsegen

#gdb #tui

ugdb是gdb的替代TUI前端,unsegen是一个建立在termion之上的TUI库。

  • Read More
  • ugdb
  • unsegen
  • termion

别人不会告诉你的关于Rust的五件事

#tips

如果你已经知道了,就当作者没说过。

Read More


lucet: 沙盒WASM编译器

#wasm

Lucet是一个本地WebAssembly编译器和运行时。它旨在安全地在应用程序中执行不受信任的WebAssembly程序。

lucet


sonic: 搜索后端

#elasticsearch

不错的项目。快速,轻量级和无架构的搜索后端。 Elasticsearch的替代方案,可在几MB的RAM上运行。

sonic


boringtun: Rust实现的用户态WireGuard

#WireGuard #userspace #vpn

WireGuard是一个科学上网的解决方案。boringtun是它的用户态Rust实现。

boringtun


guillotiere: 快速释放和矩形合并的动态纹理图集分配器

#graphic_render

该库解决了图形渲染中动态批处理性能问题。

guillotiere


rcore_plus: 清华大学uCore OS的Rust实现

#uCore #OS

目前刚支持gcc,nginx,redis等(基于musl libc)在rcore上运行。

rcore_plus


lorri: nix-shell替代品

#nix_shell

lorri


wrangler: 方便在cloudflare worker上使用wasm的工具

#wasm #Cloudflare

wrangler是一个CLI工具,专为有兴趣在Cloudflare Workers上使用Rust生成的WebAssembly的用户设计。

wrangler


awesomo-rust: 按英文字母索引排序的Rust知名项目列表

#awesome

awesomo-rust


RustyVolleySrc: 使用Rust和WASM实现的排球游戏

#game #wasm

  • RustyVolleySrc
  • demo

日报订阅地址:

  • Telgram Channel
  • 阿里云语雀订阅
  • Stemmit
  • Rust.cc论坛
  • GitHub

这篇关于【Rust日报】 2019-03-31的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1085968

相关文章

一份LLM资源清单围观技术大佬的日常;手把手教你在美国搭建「百万卡」AI数据中心;为啥大模型做不好简单的数学计算? | ShowMeAI日报

👀日报&周刊合集 | 🎡ShowMeAI官网 | 🧡 点赞关注评论拜托啦! 1. 为啥大模型做不好简单的数学计算?从大模型高考数学成绩不及格说起 司南评测体系 OpenCompass 选取 7 个大模型 (6 个开源模型+ GPT-4o),组织参与了 2024 年高考「新课标I卷」的语文、数学、英语考试,然后由经验丰富的判卷老师评判得分。 结果如上图所

图形编辑器基于Paper.js教程03:认识Paper.js中的所有类

先来认一下Paper的资源对象,小弟有哪些,有个整体的认识。认个脸。 在Paper.js的 官方文档中类大致有如下这些: 基类: ProjectViewItemPointToolSizeSegmentRectangleCurveCurveLocationMatrixColorStyleTweenToolEventGradientGradientStopEvent 二级或三级类 继承Ite

Rust:Future、async 异步代码机制示例与分析

0. 异步、并发、并行、进程、协程概念梳理 Rust 的异步机制不是多线程或多进程,而是基于协程(或称为轻量级线程、微线程)的模型,这些协程可以在单个线程内并发执行。这种模型允许在单个线程中通过非阻塞的方式处理多个任务,从而实现高效的并发。 关于“并发”和“并行”的区别,这是两个经常被提及但含义不同的概念: 并发(Concurrency):指的是同时处理多个任务的能力,这些任务可能在同一时

Android自定义View学习笔记03

Android自定义View学习笔记03 参考gitHub上面的开源项目CircleImageView 预备知识 BitMap类 BitMap位图类,其中有一个嵌套类叫Bitmap.Config,内部有四个枚举值。这个类的作用是定义位图存储质量,即存储一个像素的位数,以及是否能显示透明、半透明颜色(Possible bitmap configurations. A bitmap co

软考初级网络管理员_03_硬件单选题

1.CPU是一块超大规模的集成电路,其主要部件有()。 运算器、控制器和系统总线 运算器、寄存器组和内存储器 控制器、存储器和寄存器组 运算器、控制器和寄存器组 2.(请作答此空)是指CPU一次可以处理的二进制的位数,它直接关系到计算机的计算精度、速度等指标:运算速度是指计算机每秒能执行的指令条数,通常以()为单位来描述。 宽带 主频 字长 存储容量 3.CPU执行指令时,先根

03 TensorFlow 2.0:TOPK Accuracy实战

这江山风雨 岁月山河 刀光剑影 美了多少世间传说 且看他口若悬河 衣上有风尘 却原来是一位江湖说书人                                                                                                                                 《说书人》 在分类问题中会遇到TO

Day 31:100334. 包含所有1的最小矩形面积Ⅰ

Leetcode 100334. 包含所有1的最小矩形面积Ⅰ 给你一个二维 **二进制 **数组 grid。请你找出一个边在水平方向和竖直方向上、面积 最小 的矩形,并且满足 grid 中所有的 1 都在矩形的内部。 返回这个矩形可能的 **最小 **面积。 确定首次出现 1 的第一行 top,最后一次出现 1 的最后一列 r,最后一次出现 1 的最后一行 bottom,首次出现的第

Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!

代码仓库 会同步代码到 GitHub https://github.com/turbo-duck/flink-demo 当前章节 继续上一节的内容:https://blog.csdn.net/w776341482/article/details/139875037 上一节中,我们需要使用 nc 或者 telnet 等工具来模拟 Socket 流。这节我们写一个 ServerSocket

我的2019年工作总结及对未来1年的计划和期许

最近一直在忙,不过今天手上的2个项目目前都在修改bug中了。等修改好了,估计明天又同时进行复测了。 刚刚公司群里发布了2019年度工作总结和考核评优工作的通知,和去年一样,每个人需要提交一份个人总结PPT。然后我看了我去年的写的总结和期望,不足和成就。有了些感触,也忙里偷闲整理了半天今年的工作内容。这里具体的项目名称就不透露了。 整体来说: 1、独立测试3个项目/产品的测试工作。 2、客户

source配置文件不生效 原创 2016年03月14日 18:43:55 3558 问题背景: 升级jdk 1.8之后,启动时报版本编译问题,查看$JAVA_HOME,$JRE_HOME

source配置文件不生效 原创  2016年03月14日 18:43:55 3558 问题背景:       升级jdk 1.8之后,启动时报版本编译问题,查看$JAVA_HOME,$JRE_HOME,没有问题。      初步推断是没有source,sourec .bashrc 之后查看$JAVA_HOME,$JRE_HOME变成1.8版本,但启动时还是报错,这就