Hi there 👋

欢迎来到我的博客,这里记录了我的技术探索与生活思考。

TreeSize:C 盘又红了?让它告诉你空间去哪了

每个 Windows 用户都经历过这个时刻:C 盘变红,系统开始弹"磁盘空间不足"。然后你打开资源管理器,对着 C:\ 下面的文件夹发呆——Windows 看起来不大,Program Files 也还行,那几十个 GB 到底去哪了? 资源管理器有个著名的"反人类"设计:它不显示文件夹的总大小。你想知道 Users 占多少,得一层层右键属性,等它算半天,最后可能还因为权限问题读不出来。 ...

2026年9月11日 · 10 分钟 · 4808 字

CONTRIBUTING.md:给潜在贡献者的"入伙指南"

上一篇写了 CHANGELOG.md,这次轮到仓库根目录里另一位常驻成员:CONTRIBUTING.md。 如果你观察过那些"活得很好"的开源项目——Ruby on Rails、Kubernetes、VS Code——会发现它们都有一份 CONTRIBUTING.md。它回答一个问题:一个素不相识的陌生人,要怎么才能帮你写代码? ...

2026年9月11日 · 10 分钟 · 4955 字

CHANGELOG.md:一份写给人的版本变更日志

打开任何一个有点年头的开源仓库,根目录里通常躺着这么几位:README.md 负责"这是什么、怎么用",LICENSE 负责"允不允许你用",CONTRIBUTING.md 负责"欢迎来贡献",AGENTS.md 负责"告诉 AI 代理怎么干活"……而 CHANGELOG.md 负责最后一件事:这个项目从出生到现在,每一次重要的变化。 ...

2026年9月11日 · 11 分钟 · 5323 字

GitHub 上的 License:从右上角那行小字说起

打开任何一个 GitHub 仓库,大约在右侧栏「About」下方,都会看到一行小字:License: MIT、License: Apache-2.0、License: GPL-3.0……有的仓库干脆什么都不显示。这行小字看起来不起眼,却决定了别人能不能用你的代码、能不能改、能不能闭源卖钱,甚至决定了你自己将来能不能反过来告抄袭。 ...

2026年9月10日 · 13 分钟 · 6351 字

编码与转换手段大全:URL、Base64、Hex、哈希一网打尽

浏览器地址栏里的 %E4%B8%AD、JWT 里那段 eyJhbGciOiJIUzI1NiJ9...、邮件里偶尔见到的 =E4=B8=AD、网页源码里的 &……这些看似乱码的字符串,其实都出自同一类东西:数据编码与转换。 上一篇《字符编码详解》讲的是"字符怎么存"(字符集与 UTF-8),这篇讲的是另一层——数据怎么传、怎么展示:URL 里不能裸奔的字符、二进制怎么变成可见文本、数据完整性怎么校验。两者名字都带"编码",但解决的问题完全不同,别混在一起。 ...

2026年9月10日 · 9 分钟 · 4136 字

字符编码详解:从乱码到 Unicode 与 UTF-8

你有没有在终端或旧系统里见过这样的"天书":中文、汉字,或者更魔性的 锟斤拷?这不是加密,也不是乱敲,而是字符编码错位的产物——同一段字节,用不同的编码规则去解读,就得出完全不同的文字。 字符编码是计算机最基础也最容易被忽略的知识之一。这篇文章从 ASCII 讲起,一路走到 Unicode 与 UTF-8,把"字符集"和"编码"这两个概念彻底理清楚,最后用代码验证各个编程语言里字符串的真实存储方式。内容参考了 hello-algo 第 3.4 节《字符编码》。 ...

2026年9月10日 · 9 分钟 · 4145 字

AGENTS.md:给 AI 编码代理的"README"

你可能已经注意到了,本仓库的根目录里躺着一个 CLAUDE.md——就是 Claude Code(Anthropic 的 AI 编码代理)在这个项目里工作时读的"操作手册"。它告诉代理:这是一个 Hugo 博客、文章命名有什么规矩、frontmatter 怎么写、有哪些自定义布局。 ...

2026年9月9日 · 9 分钟 · 4100 字

Git 的四个特殊文件:.gitignore、.gitattributes、.gitkeep、.gitmodules

随便打开一个像样的项目仓库,根目录里几乎都有几个以点开头的文件:.gitignore、.gitattributes、.gitmodules……它们不起眼,却各自管着一件大事。很多人用 Git 好几年,也就对 .gitignore 略知一二,剩下几个要么没见过,要么见过也没深究过。 ...

2026年9月9日 · 9 分钟 · 4322 字

SQL 中的 CTE(公用表表达式)详解:从基础语法到递归实战

写复杂查询的时候,你有没有经历过这些瞬间:一个查询里套了三层子查询,括号一层套一层,改一个条件要数半天括号;同一个中间结果在一条 SQL 里要用两次,只能复制粘贴两遍;想表达"先取 A,再基于 A 算 B,最后基于 B 出结果",却不得不把它们全部硬挤进一个 SELECT 里。 ...

2026年9月8日 · 7 分钟 · 3497 字

Fork:一款快速友好的 Mac / Windows Git 客户端

Git 本身是个强大的工具,但"强大"的另一面常常是"门槛"。命令行里 git rebase -i、git reflog、冲突解决这些操作,对新手不友好,对老手也未必高效。于是诞生了一大批 Git GUI 客户端——但大多要么臃肿缓慢,要么功能残缺,真正"又快又好用"的并不多。 ...

2026年9月7日 · 5 分钟 · 2210 字