【Rust日报】 2019-01-04

in rust •  6 years ago 

pyoxidizer: Rust编写的Python应用分发工具

#python

pyoxidizer


「博文」对Rust中错误传播的思考

#errorhandle

Read More


「博文」2019期望:使用Rust制作和使用C兼容的库

#2019 #ffi

目前构建和安装共享库比较困难,尤其是在多个平台上。Cargo的能力目前还待扩展,Rust的ABI也未稳定,所以需要使用兼容C-ABI来和其他语言沟通。但是现在如果你的库想提供一个C绑定接口,目前还没有一个完美的解决方案。作者罗列了现存的问题,并且他计划在2019年尝试提供一些解决方案。

Read More


Ropey发布1.0版

#rope #text

Ropey是一个文本rope数据结构的实现,旨在成为文本编辑器等应用程序的后备文本缓冲区。

Rope一个二叉查找树。优势:

  • Rope不需要连续的内存空间,不像数组
  • Rope在字符串中进行插入和删除更快O(logn)。而在字符串数组中需要O(n)。
  • 在进行数据copy时。Rope不需要额外的O(n)内存空间。

缺点

  • 需要更多的内存空间,需要维护父节点。
  • 增加代码的复杂度。

ropey


Mozilla招人了

#job

很多岗位,包括Rust实习生。在美国的朋友有福了。

Read More


regex-automata: 使用DFA的正则表达式库

#no_std

支持no_std环境。与regex库的区别是:

  • regex是通用的正则表达式引擎,对编译时间、搜索和内存使用有一个均匀的平衡,还提供了方便的API。
  • regex-automata,则提供了更加底层的接口,可能对于用户来说不太方便,但它提供对内存使用和搜索时间更明确的控制。

regex-automata


Smithay发布0.2

Smithay旨在提供构建模块,以在Rust中创建Wayland合成器。基于wayland-rs实现。wayland-rs采用纯Rust实现,是Wayland协议的Rust实现,弃用了之前的C绑定。Wayland是一个协议定义了如何与内核通讯、如何与Client通讯等,Linux桌面X Client/X server的替代者。

Read More


Victorem: 一个基于UDP的简单游戏框架

#game

提供Server和Client,方便用户创建简单的2D和3D游戏原型。项目刚发布,完成率还有点低,可以关注下。

Victorem


「学术论文」利用Rust类型进行模块化规范和验证

#paper #verification

论文的四个作者均来自于瑞士苏黎世联邦理工学院计算机科学系。文中声称利用了一种新的验证技术,利用Rust类型系统来简化Rust程序的规范和验证。

Read More


bytelines: 可以高效按字节切片读取输入行

#text

声称,在不特别关心unicode的情况下,比lines()的执行速度要快得多。

bytelines


「流媒体技术」构建MPD索引

#mpd #vedio

MPD(Media Present Description)可以非常简洁——只需要短短的几行表述就可以构建一个很大的媒体列表。

作者一般从SoundCloud下载音乐进行播放,但是过程很麻烦:必须浏览SoundCloud,下载一个看起来很有趣的曲目,将其上传到音乐服务器,让MPD将其编入索引,然后播放。所以作者用Rust制作了SoundClound音乐索引,文章记录了他的做法。


strength_reduce: 快速整数除法和模数运算

#no_std

支持no_std环境。

strength_reduce


日报订阅地址:

欢迎通过GitHub issues投稿。

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!