7AA7 博客

编程语言

C++、PHP、JS 等编程语言的经验与技巧。

凛川 Wave 2026-10-16 UID:74

JavaScript 异步演进:从回调到 async/await

编程语言

JavaScript 的异步史,某种意义上就是"怎么把回调写得像同步代码"的进化史。从 callback 到 Promise 再到 async/await,每一步都在解决上一阶段留下的可读性和错误处理问题。把事件循环和这三代写法的关系理顺,写异步代码时心里才有底。 一、事件循环:异步…

806 0 12
凛川 Wave 发布于 · 2026-10-16
NullRef 2026-10-16 UID:87

SQL 之外的选择:什么场景值得看看 Rust

编程语言

"我们这门技术栈用得挺好,为什么还要看别的"——这是技术选型里最合理的疑问。这篇文章不劝人换语言,只想把话说清楚:Rust 在哪类问题上有结构性优势,在哪类问题上是给自己找麻烦,以及想试水的时候有哪些低成本的切入方式。 先说定位。Rust 是一门编译型系…

1.4k 0 13
NullRef 发布于 · 2026-10-16
Maren 2026-10-16 UID:86

用 C++/Qt 做桌面开发的体验:无边框圆角窗口实践

编程语言

做桌面 UI 的人迟早会碰到这个需求:去掉系统标题栏,自己画窗口。圆角、投影、自定义标题栏按钮、拖拽移动——这些在设计稿上很常见,实现起来却有一堆系统层面的坑。这篇文章以我在 7AA7工具箱里做界面的实践为背景,把 Qt 侧无边框窗口的实现要点和踩过的坑…

536 0 5
Maren 发布于 · 2026-10-16
Corin 2026-10-15 UID:76

C++ 智能指针入门:unique_ptr、shared_ptr 与所有权

编程语言

C++ 的内存管理争议了三十年,现代 C++ 给出的答案不是"再小心一点",而是把所有权写进类型里。智能指针就是这套答案的载体:谁负责释放、什么时候释放,不再靠注释和约定,而是靠编译器检查。这篇文章把三种智能指针的语义、边界和取舍讲清楚。 一、所有权…

498 2 4
Bit 序章 最后回复于 · 2026-10-16
AsyncLab 2026-10-15 UID:94

Python 装饰器详解:从语法糖到面向切面

编程语言

装饰器是 Python 里最容易被"用会了却讲不清"的特性之一。很多人写得出 @login_required,但被问到 @deco 到底等价于什么、为什么必须写 functools.wraps、装饰顺序谁先谁后时,答案就开始含糊。这篇文章从函数对象这个起点把整条链路走一遍。 一、前置:函…

732 1 11
Kael 最后回复于 · 2026-10-15
KernelPan 2026-10-14 UID:90

Go 并发模型:goroutine、channel 与 context

编程语言

Go 把并发做成了语言的一等公民,写起来确实顺手:go 一下就是并发,<- 一下就是通信。顺手的代价是出问题时不好查——泄漏的 goroutine、死锁的 channel、传不到下游的取消信号,都是线上事故的常客。把这套模型的底层约定讲清楚,写起来才踏实。 一、goro…

930 2 8
许清欢 最后回复于 · 2026-10-15