如何阅读 redis 源码

有的网友想要学习 redis 源码的方法,鸽了一个月,今天分享我的学习方法以及路径,学习步骤不限于 redis, 换成其它开源软件套路也是一样。强调一下,没有速成方法,没有捷径,只有苦行僧一般的坚持才能做好任何一件事情,与君共勉 ^^ 以前写过 redis 系列,感兴趣的可以订阅话题

Read More

分享一个 UT failed 引出的思考

我司使用 mono repo, 某个服务 ut 失败,导致别人无法构建。查看下源代码以及 ut case, 发现槽点蛮多,讲一下如何修复,展开聊一下写单测要注意的一些点,和设计模式中的概念依赖反转、依赖注入、控制反转

Read More

Rust 为什么需要内部可变性

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

Read More

剖析智能指针 Rc Weak 与 Arc

我们知道 rust ownership 有三原则:

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

Read More

如何正确设置连接保活

本文来自十年老粉小六子投稿,内容比较干,大家平时肯定也会遇到

由于线上存在网络问题,会导致 GRPC HOL blocking, 于是决定把 GRPC client改写成 HTTP client

Read More

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

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

Read More

真实环境下 Go 大内存服务优化实践

本文是在上家的 case, 以前很多人在公开大会上拿该案例做分享,所以觉得有印象的同学勿喷,虽然冷饭,但是原创

有时大字很不理解的现象,明明 call RPC 时设置了超时时间 timeout, 但是 Grafna 看到 P99 latency 很高,why ???

Read More

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

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

Read More

int make 居然不是关键字?

这是一个小白问题,有多少人知道 int 居然不是关键字?make 也不是关键字?

我们知道每种语言都有关键字和保留字的,而 go 以关键字少著称,只有25个

Read More

Rust Fn FnMut FnOnce 傻傻分不清

上周文享了闭包你了解底层实现嘛? 我们要记住,闭包是由函数和与其相关的引用环境组合而成的实体

Read More