Rust 实战丨手写一个 oneshot channel

本文从零开始,通过多版本迭代,实现一个安全的 Rust oneshot channel。我们将深入 `AtomicBool`、`UnsafeCell`、`MaybeUninit` 的使用,通过 `Drop` 管理内存,并最终以 `Sender`/`Receiver` 模式和所有权机制封装 `unsafe`,构建健壮的并发原语。

rust

Rust 实战丨手写一个 SpinLock

本文以三段迭代示例演示如何在 Rust 中手写自旋锁:从最小化原子标志实现,到绑定受保护数据,再到借助 RAII 实现自动解锁。过程中深入讲解 Atomic 内存顺序、UnsafeCell 内部可变性、Send/Sync 并发标记,以及 Drop/Deref 零成本抽象,帮助读者理解自旋锁适用场景与潜在陷阱,并掌握将并发安全问题前移到编译期的工程思维。

rust

RAG 技术概览

本文是在笔者学习了极客时间《RAG 快速开发实战》课程后,对 RAG 相关技术进行一个梳理归纳,帮助开发者在 RAG 开发中进行快速定位、系统学习。

ai

读书笔记丨《Unit Testing Principles, Practices, and Patterns》

本文总结了读者在阅读《Unit Testing》书籍中的收获和思考。

读书笔记

书籍摘抄丨《Unit Testing Principles, Practices, and Patterns》

本文对《Unit Testing》的关键观点进行了梳理总结。

书籍摘抄

一步步推导出 MySQL 数据的底层存储结构

本文从最简单的数据格式开始,通过不断解决一个个关键问题,最终推导出 MySQL 数据的底层存储结构,即 B+ 树。

数据库

在 Hexo 博客中优雅地集成 Markmap 思维导图

本文详细介绍了如何在 Hexo 博客中优雅地集成 Markmap 思维导图,让你能够直接在 Markdown 文件中创建交互式思维导图。同时这也是一个 Hexo 插件的标准实现案例。

小技术

为什么 OpenTelemetry 的 SDK 中不支持尾采样 Hook?

本文介绍了 OpenTelemetry 的采样机制,特别是为什么它在 SDK 层面不支持尾采样。

服务监控

读书笔记丨《悟道领域驱动设计》

阅读《悟道领域驱动设计》后的一些笔记和思考。

读书笔记

Go 1.24 新特性解读:使用 testing/synctest 优雅地测试并发代码

本文介绍了 Go 1.24 版本引入的实验性包 testing/synctest,并详细讲解了如何使用它优雅地测试并发代码。

go
12346