Blog
Posts
Building with code, sharing stories from life.
Rust 中 Package、Crate、Module 和 Workspace 的关系
用一篇文章讲清 Rust 里 Package、Crate、Module 与 Workspace 的层级关系、职责分工与常见混淆点。
Rust 字符串拼接与 `+` 运算符的设计
从 push_str、format!、join 到 `s1 + &s2`:常见写法怎么选,以及为什么 `+` 要消费左边的 String、右边用 &str。
Rust 里的 vec!:为什么必须用宏(以及 C++ 的对比)
从变长参数、初始化语法糖、性能与所有权三个角度讲清 vec! 为何是宏,并对比 C++ initializer_list 的设计取舍。
彻底搞懂 Rust 模块系统:它不是文件系统,而是一棵树
面向 Java/C++/Go 转 Rust 的开发者,用“模块树”视角一次讲清 mod、use、路径与可见性 pub 的关键心智模型与排错清单。
深度解构 Rust Trait:从 C 语言底层视角看抽象
从 C 语言底层实现视角理解 Rust Trait,讲清静态分发、动态分发、胖指针、VTable 与性能取舍。
Deno, Bun, Node.js 原生支持 TypeScript 的“谎言”与真相
所谓“原生跑 TS”并不是引擎突然读懂了类型系统,而是把“校验”和“执行”彻底解耦:运行时负责快速剥离,类型安全交给 IDE 与 CI。
Rust 错误处理
从 panic 与 Result 的分工,到 ? 运算符、Option,以及写库与写应用时常用的 thiserror / anyhow 取舍。
深入分析 npx 运行机制:以 biome 命令为例
以 `npx @biomejs/biome --version` 为切口,拆开 shell、npm、包解析、缓存、临时安装与可执行文件调度的完整链路。
深度解构 JS 工链:从铁三角割据到 Rust 大一统
从 Babel、ESLint、Prettier 的分工体系出发,理解 JavaScript 工链为何走向 Rust 重构,以及底层基建能力为何会成为下一阶段开发者的核心竞争力。
Rust 中 as 的用法总结(基本数据类型)
聚焦 Rust 里 `as` 在基本数据类型之间的显式转换:整数/浮点/char 的规则、截断与精度丢失等常见坑点。
常用链接收藏(持续更新)
把常用网站按主题分区收纳,方便随时翻出来用。
C 语言中 free 的工作原理
free 到底做了什么、没做什么?从堆分配器视角解释 chunk 元数据、合并、tcache/fastbins、mmap 大块与常见踩坑(double free / UAF)。
常用 Linux 命令备忘
日常开发里高频用到的 Linux / macOS 终端命令速查,适合收藏备用。
Docker 环境下 PostgreSQL 快速启动与 SSL 手动配置指南
通过一个简洁的 Shell 脚本快速部署 PostgreSQL 容器,并深入学习数据卷的持久化管理和手动开启 SSL 加密连接的实用技巧。
数据库主键选择总结
数据库主键选择总结
docker network 知识点总结
docker network 知识点总结
javascript 异常处理
javascript 异常处理
Paypal 支付接入 Authorize 和 Capture 的区别
Paypal 支付接入 Authorize 和 Capture 的区别
C 语言中 TMin 的特殊写法
C 语言中 TMin 的特殊写法
How to use git-crypt to Manage Secrets
How to use git-crypt to Manage Secrets
Implementing the Sobel image edge detection algorithm using WebAssembly
Implementing the Sobel image edge detection algorithm using WebAssembly
New Blog
My new blog