【Rust日报】 2019-04-01

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

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

Rust算法俱乐部

#algo

台湾同胞搞的Rust学习算法的教程

rust-algo.club


cnx:用Rust实现的X11状态栏

#x11

cnx


rustsim 报告 #5

#rustsim

简要:

  • alga 0.9 和 nalgebra 0.18开始支持复数
  • 并且与#[no-std]保持兼容
  • nalgebra开始在几何代数上添加对三角函数和卷积的支持等等。

Read More


Rust 2.0要开始筹备了,主要目标有:

  • 为了更健康的crate生态,准备提供一个审查工具,帮助用户剔除掉一些依赖包
  • 语言简化。 考虑删除过程宏功能,准备汲取Zig语言的编译器动态反射来替代当前的过程宏。另外,还要放弃ref和mut修饰符,用于简化用户的开发体验。
  • 为了进一步增加安全性,将会添加: 依赖类型和有状态视图的支持。依赖类型有助于提升代码安全性,有状态视图有助于减少unsafe代码的使用。
  • 编译器改进。考虑让rust编译器比gcc编译的更快。

欢迎你的反馈。

img

祝大家愚人节快乐。

Read More


使用Rust的条件编译来实现Mock功能

#mock

写单元测试的时候经常需要mock一些场景,比如访问外部服务。但是传统的mock服务是在测试代码中创建一些模拟的对象。Rust中的一些mock框架也是类似的做法,参加「mock框架比较」。但是最大的问题是无法mock出代码中使用的外部结构。Rust中没有继承的概念,所以无法mock出标准库或者外部包中使用的结构类型。有一种解决办法是用trait或泛型,但是这种方法可能会使代码更复杂。而另一种方法则是利用条件编译,这也是本文作者想要介绍的。

#[cfg(test)]
use fake_clock::FakeClock as Instant;
#[cfg(not(test))]
use std::time::Instant;

在测试的时候使用fake_clock的mokc对象,而非测试的情况则使用Instant。

但这样也有一些缺点:

  • 所有测试用例共享一个mock,但是如果每个测试用例需要不同的mock行为,则需要想想其他策略
  • 更加需要集成测试。

在使用该文作者编写的http mock库mockito就可以使用条件编译:

#[cfg(test)]
use mockito;#[cfg(not(test))]
let url = "https://api.twitter.com";#[cfg(test)]
let url = &mockito::server_url();
  • Read More
  • mockito
  • Rust社区mock库比较

amiquip: 纯Rust实现的RabbitMQ客户端

#RabbitMQ

amiquip


RFC 2672: Re-export Cow from prelude

#rfc

diesel作者发起的这个RFC感觉比较接地气。

从标准库中重新导出std::borrow::Cow,以鼓励其可以得到更广泛的使用。

RFC 2672


一个Elixir/Javascript程序员准备切换到Rust的思考

#elixir #js

他发帖主要是想寻求一个快速学习的方法,如果有同样需求的初学者,可以看看讨论区的回复。

Reddit 讨论


yarte 0.2 现在支持actix-web 1.0.0-alpha

#yarte #actix

yarte号称最快的模板引擎,之前和Askama模板的作者有过Lisense相关的争议。

  • Read More
  • yarte

HugoToJSON: 用于生成Hugo文档的关键内容的json

#hugo

主要用来给Hugo静态站点提供搜索,目前该库请求review。

HugoToJSON


「愚人节之歌」 用Rust重写

有人在Reddit发布了一首歌的歌词:「用Rust重写」

Reddit 讨论贴

但好像没什么人参与讨论。。。


介绍Seqlocks

#STM #seqlocks

seqlocks(顺序锁)对读写锁的一种优化。使用顺序锁,读执行单元绝不会被写执行单元阻塞,也就是说,读执行单元可以在写执行单元对被顺序锁保护的共享资源进行写操作时仍然可以继续读,而不必等待写执行单元完成操作,写操作也不需要等待所有读执行单元完成读操作才去进行写操作。用于受保护的资源很小,简单且经常访问,适用于写操作很少但必须很快的场景。Linux内核处理中断的函数使用了seqlock。

该文作者也是实验性软件事务内存库swym的作者,swym是对seqlock的一种实现,基于Transactional Locking II 论文。

  • Read More
  • swym
  • Transactional Locking II 论文

Rust中的惯用monad

#monad

「长文预警」本文作者描述了一种在Rust中表达Monad的新方法,用于证明在Rust中实现Monad的可行性。作者说这是他见过的最简单的设计。

Read More


日报订阅地址:

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

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



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

相关文章

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

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

C++入门01

1、.h和.cpp 源文件 (.cpp)源文件是C++程序的实际实现代码文件,其中包含了具体的函数和类的定义、实现以及其他相关的代码。主要特点如下:实现代码: 源文件中包含了函数、类的具体实现代码,用于实现程序的功能。编译单元: 源文件通常是一个编译单元,即单独编译的基本单位。每个源文件都会经过编译器的处理,生成对应的目标文件。包含头文件: 源文件可以通过#include指令引入头文件,以使

407串口01发送

实验一: 工程。 链接:https://pan.baidu.com/s/1g8DV4yZWOix0BbcZ08LYDQ?pwd=2176 提取码:2176 串口1的使用。发送功能。 单片机发送信息到电脑。 通过串口进行通信。 首先单片机这边。 单片机这边,需要对单片机的串口模块进行使能初始化,设置串口的格式。 单片机和电脑的串口收发格式要配置一致。不然A和B肯定通信不成功,鸡和鸭讲,

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

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

大学生自救数据结构与算法(py实现)——01递归

目录 目录 递归 基本概念 工作原理 基本要素 优点 缺点 实现技巧 实例解析:计算阶乘 斐波那契数列 高效的斐波那契数列 python中的最大递归深度 二分查找 基本原理 性能分析 优化与变体 线性递归  元素序列的递归求和 二路递归 二路递归的基本概念 典型应用 工作原理 多重递归  示例:计算卡特兰数(Catalan Number) 尾递

【设计模式-04】原型模式

【设计模式-04】原型模式 1. 概述2. 结构3. 实现4. 案例5. 使用场景6. 优缺点6.1 原型模式的优点6.2 原型模式的缺点 7. 实现深克隆(深拷贝) 1. 概述 原型模式: 用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型对象相同的新对象。 2. 结构 原型模式包含如下角色: 抽象原型类:规定了具体原型对象必须实现的 clone() 方法。

Android自定义view学习笔记01

Android自定义view学习笔记01 昨天看博客的时候看到鸿洋老师的博客里面有关于自定义view的学习教程。一直深感所掌握的东西太少太杂,按照他的Android 自定义View (一)所讲内容,代码实践。根据实际情况稍作修改,并且补充一些在代码过程中知识点,做此笔记。 相关代码 //CustomView01.javapackage mmrx.com.myuserdefinedvi

C++ 教程 - 04 类的使用

文章目录 类的定义类定义案例构造函数 类的定义 C++ 在 C 语言的基础上增加面向对象编程,类是用于指定对象的形式,是一种用户自定义的数据类型,封装了数据和函数。类可以被看作是一种模板,可以用来创建具有相同属性和行为的多个对象。 class 关键字定义类,相当于在结构体中加入方法; 花括号内定义成员变量、成员方法,并且分块表示,每块使用public/private/prote

采药问题 01背包

Description:辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。”

04 TensorFlow 2.0:高阶OP之meshgrid

谁诀别相思成疾莫问天涯 也莫问归期 怎奈何无人了解 情断之时 冷暖自知                                                                                                                                 《莫问归期》 内容覆盖: stackmeshgrid im