Rust trait 入门
学 Rust 的一定离不开 trait
, 告诉编译器某些类型拥有的,且能够被其他类型共享的功能,官方的定义叫做 Defining Shared Behavior 共享行为,同时还可以对泛型参数进行约束,将其指定为某些特定行为的类型。读过 你真的了解泛型嘛 朋友肯定知道,rust 的 trait
和 go interface
非常像,但是远比后者强大
学 Rust 的一定离不开 trait
, 告诉编译器某些类型拥有的,且能够被其他类型共享的功能,官方的定义叫做 Defining Shared Behavior 共享行为,同时还可以对泛型参数进行约束,将其指定为某些特定行为的类型。读过 你真的了解泛型嘛 朋友肯定知道,rust 的 trait
和 go interface
非常像,但是远比后者强大
上半年参与的项目涉及到 gateway 和 id 权限认证系统,通过系统性的学习与接触,了解很多 HTTP 鉴权的那些事。分享实践的细节,都是通用做法,符合标准协义,不涉及公司机密
本文主要讲如何给第三方服务,即 API 做鉴权,而不是用户登录系统。一般做后端微服务的很少接触这方面的概念,网关层或是入口做好认证后,链路下游都是默认开放的,最多用 iptables 或 aws securit group 类似的做网络可达的限制。用户信息传到 Context
中即可
题目稍有些标题党,最近公司想用 chaos-mesh
对 k8s
做混沌测试,开始做前期的调研,发现 pingcap 对时间的注入非常硬核,而且最终方案居然是实习生构思出来的 ^^
本篇尽量深入浅出,不想学 Rust
的也可以读读,多种语言对比很有很大的收获,Go
再好也不是所有场景通吃^_^
上周分享了Rust Ownership 三原则, 要谨记这三点:
本篇分享部分案例来自 The Rust Book, 在很多模糊的地方增加自己的理解
上次分享了 Rust 引用, 不熟悉的可以先回顾下前文。首先什么是 lifetimes
? 生命周期定义了一个引用
的有效范围,换句话说 lifetimes
是编译器用来比对 owner 和 borrower 存活时间的工具,目的是尽可能的避免悬垂引用(dangling pointer)
熟悉 c++ 的肯定知道 shared_ptr
, unique_ptr
, 而 Rust 也有智能指针 Box
, Rc
, Arc
, RefCell
等等,本文分享 Box
底层实现
Rust 素来以学习曲线陡峭,语言严谨安全著称。但是最近学习 The Book 时发现,居然允许 variable shadowing
, 即我们常说的变量遮蔽 …