Rust trait 入门

学 Rust 的一定离不开 trait, 告诉编译器某些类型拥有的,且能够被其他类型共享的功能,官方的定义叫做 Defining Shared Behavior 共享行为,同时还可以对泛型参数进行约束,将其指定为某些特定行为的类型。读过 你真的了解泛型嘛 朋友肯定知道,rust 的 trait 和 go interface 非常像,但是远比后者强大

Mehr lesen

实践出真知,聊聊 HTTP 鉴权那些事

上半年参与的项目涉及到 gateway 和 id 权限认证系统,通过系统性的学习与接触,了解很多 HTTP 鉴权的那些事。分享实践的细节,都是通用做法,符合标准协义,不涉及公司机密

本文主要讲如何给第三方服务,即 API 做鉴权,而不是用户登录系统。一般做后端微服务的很少接触这方面的概念,网关层或是入口做好认证后,链路下游都是默认开放的,最多用 iptables 或 aws securit group 类似的做网络可达的限制。用户信息传到 Context 中即可

Mehr lesen

剖析智能指针 Rc Weak 与 Arc

我们知道 rust ownership 有三原则:

  • 每个值 value, 都有一个所有者 owner

Mehr lesen

硬核!如何在容器中做时间的漫游者

题目稍有些标题党,最近公司想用 chaos-meshk8s 做混沌测试,开始做前期的调研,发现 pingcap 对时间的注入非常硬核,而且最终方案居然是实习生构思出来的 ^^

Mehr lesen

Rust 为什么需要内部可变性

本文参考 rust book ch15 并添加了自己的理解,感兴趣的可以先看看官方文档

Mehr lesen

Rust 让人头大的引用与借用

本篇尽量深入浅出,不想学 Rust 的也可以读读,多种语言对比很有很大的收获,Go 再好也不是所有场景通吃^_^

上周分享了Rust Ownership 三原则, 要谨记这三点:

Mehr lesen

Rust ownership 三原则

本文参考 The Book Understanding Ownership 4.1, 还在更就说明没劝退^_^

Mehr lesen

一文了解 rust lifetime

本篇分享部分案例来自 The Rust Book, 在很多模糊的地方增加自己的理解

上次分享了 Rust 引用, 不熟悉的可以先回顾下前文。首先什么是 lifetimes? 生命周期定义了一个引用的有效范围,换句话说 lifetimes 是编译器用来比对 owner 和 borrower 存活时间的工具,目的是尽可能的避免悬垂引用(dangling pointer)

Mehr lesen

揭开智能指针 Box 的神秘面纱

熟悉 c++ 的肯定知道 shared_ptr, unique_ptr, 而 Rust 也有智能指针 Box, Rc, Arc, RefCell 等等,本文分享 Box 底层实现

Mehr lesen

Rust 居然允许变量 shadow

Rust 素来以学习曲线陡峭,语言严谨安全著称。但是最近学习 The Book 时发现,居然允许 variable shadowing, 即我们常说的变量遮蔽 …

Mehr lesen