Hi there 👋

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

告别 #N/A:从原生 VLOOKUP 痛点到编写专属 VBA 自定义清洗查找宏

在日常办公与数据处理中,VLOOKUP 无疑是普及度最高、使用频率最密集的 Excel 函数之一。然而,几乎每位表格打工人都有过被 #N/A 支配的绝望经历:明明两边的物料编码、员工姓名、订单号在肉眼看来一模一样,但 VLOOKUP 却固执地返回 #N/A。 追根究底,绝大多数查找失败并非公式逻辑有误,而是数据源污染——ERP/CRM 导出的隐形换行符、网页复制带来的非间断空格( )、中英文混杂的标点符号,甚至是员工录入时无意多按的一个空格。 ...

2026年9月17日 · 9 分钟 · 4460 字

Quartz 的跨语言之旅:从 Java 到 .NET 与 Go

定时任务是后端系统的「隐形基础设施」——凌晨两点的日报、每晚的数据清理、订单超时关单、消息补偿……几乎每个业务都离不开一个可靠的任务调度器。 在 Java 世界里,Quartz 几乎就是「调度器」的代名词,Spring Boot 甚至为它准备了开箱即用的 spring-boot-starter-quartz[“https://docs.spring.io/spring-boot/docs/3.0.9/reference/html/io.html”]。但调度这件「小事」并不属于 Java:.NET 生态有血统纯正的移植版 Quartz.NET,而 Go 生态虽然没有官方移植,却长出了一批「精神续作」。 ...

2026年9月17日 · 11 分钟 · 5281 字

Attention Is All You Need?重读经典与被隐匿的技术账本

二〇一七年,Google 的八位研究者发表了一篇题为《Attention Is All You Need》的论文。论文题目的口气极狂妄——“注意力就是你所需要的一切”。然而在随后的几年里,它不仅重塑了自然语言处理,更催生了今天席卷全球的大语言模型浪潮。 然而,当喧嚣的泡沫漫过地平线,当人们在赞叹与恐慌中不断交织,我们或许更应当重新坐下来,把这篇开山之作拆开看一看:它究竟在工程上做对了什么?而在那句轻巧的“All You Need”背后,又究竟隐匿了怎样庞大的现实代价? ...

2026年9月16日 · 8 分钟 · 3541 字

SQL STUFF 函数详解:从"删了再插"到字符串聚合神器

SQL Server 里有个名字最容易被误会的函数:STUFF。初见它的人十有八九会愣一下——“stuff"不是"东西"吗?但就是这个名字古怪的函数,是无数 DBA 和开发者处理多行拼成一行(字符串聚合)的首选工具,也是面试里高频出现的"经典老题”。 ...

2026年9月14日 · 6 分钟 · 2650 字

Telegram 机器人入门与导览:从 BotFather 到自动化生活

Telegram 有个别家即时通讯软件很难复制的东西:机器人(Bot)。不需要下载 App、不需要注册新账号,在聊天框里 @ 一下,一个能查天气、管群、推 RSS、甚至陪你聊天的程序就上线了——而且任何人都能自己造一个。 这篇文章参考仓库 ref/ 目录里那份机器人分类清单,把它整理成一份更可靠、更实用的入门指南:机器人是什么、官方机器人有哪些、常用分类怎么选、怎么自己动手做一个。 ...

2026年9月14日 · 7 分钟 · 3272 字

SSE 详解:HTTP 上的单向实时推送(ChatGPT 打字机效果就是它)

你有没有想过,ChatGPT 那种"一个字一个字往外蹦"的打字机效果是怎么实现的?股票行情页的实时跳动、后台任务的进度条、弹窗里的新消息通知——这些"服务器主动找上门"的场景,背后十有八九是同一个技术:SSE(Server-Sent Events,服务器发送事件)。 ...

2026年9月14日 · 9 分钟 · 4062 字

Python venv 完全指南:虚拟环境一文讲透

“项目 A 要用 requests 2.x,项目 B 要 3.x,两个都装在同一个 Python 里”——这是每个 Python 新手迟早撞上的墙。更常见的是:pip install 装了一堆包之后,系统 Python 变得一团乱,重装系统前根本不敢动它。 venv(Virtual Environment,虚拟环境)就是 Python 官方给的答案:每个项目一个独立的"小房间",包各装各的,互不干扰。它是 Python 3.3 起内置的标准库模块,不需要装任何额外工具,也是 2026 年每个 Python 项目的第一行命令。这篇文章把它从原理到实战讲透。 ...

2026年9月14日 · 9 分钟 · 4089 字

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 字