博客
把踩过的坑、想明白的问题,慢慢整理成文章。
精选笔记

用 Multica 把 AI 对话回流进项目与脚手架
AI 让「生成」廉价到近乎免费,而对话本身是易逝的:窗口一关,那些踩过的陷阱、试探过的歧路、当时不易复得的判断,尽数沉入水底。真正稀缺的从来不是生成,是留存与复利。本文以一座登山编年档案库为锚,谈如何借 Multica 把临时会话持久化,并令其回流进认知、项目与脚手架。
工程实践 · 方法论

gh:把整个 GitHub 装进终端
gh 是 GitHub 官方命令行工具——PR、Issue、Actions、Release,乃至整个 REST/GraphQL API,都不必再切回浏览器。而它在 AI 时代被重新估值的真正原因是:CLI 与 LLM 都是「文本进、文本出」,天生适配。这是一份把 gh 用进日常工作流的完整指南。
工程实践 · CLI

金冰镐奖:四个关于「怎么登,比登了什么更重要」的故事
登山界的最高荣誉从不表彰「登了什么」,只在意「怎么登」。Latok I 跨越世代的执念、Rupal 壁的极简主义、安纳普尔纳的信任悖论、闪亮之墙上那场没有峰顶的「世纪之攀」——四个故事,拼出阿尔卑斯式攀登的精神内核。
随笔 · 登山
最近文章共 64 篇
用 Multica 把 AI 对话回流进项目与脚手架
AI 让「生成」廉价到近乎免费,而对话本身是易逝的:窗口一关,那些踩过的陷阱、试探过的歧路、当时不易复得的判断,尽数沉入水底。真正稀缺的从来不是生成,是留存与复利。本文以一座登山编年档案库为锚,谈如何借 Multica 把临时会话持久化,并令其回流进认知、项目与脚手架。
MulticaAI 协作方法论agent12 min readgh:把整个 GitHub 装进终端
gh 是 GitHub 官方命令行工具——PR、Issue、Actions、Release,乃至整个 REST/GraphQL API,都不必再切回浏览器。而它在 AI 时代被重新估值的真正原因是:CLI 与 LLM 都是「文本进、文本出」,天生适配。这是一份把 gh 用进日常工作流的完整指南。
ghGitHubCLI命令行19 min read金冰镐奖:四个关于「怎么登,比登了什么更重要」的故事
登山界的最高荣誉从不表彰「登了什么」,只在意「怎么登」。Latok I 跨越世代的执念、Rupal 壁的极简主义、安纳普尔纳的信任悖论、闪亮之墙上那场没有峰顶的「世纪之攀」——四个故事,拼出阿尔卑斯式攀登的精神内核。
金冰镐奖阿尔卑斯式攀登登山户外16 min read缓存与数据库一致性:从 Cache Aside 到布隆过滤器
从一个读多写少的业务接口出发,推演双写方案为何失败、Cache Aside 为何成为主流,再到击穿、雪崩、穿透三类失效场景与布隆过滤器的取舍——一条主线串起缓存一致性背后的完整决策链。
缓存RedisCache Aside布隆过滤器17 min read从静态服务器到 CI/CD:GitHub Pages、Jekyll 与 GitHub Actions 完全指南
以「只服务静态文件」这一个约束为主线,串起 GitHub Pages 的托管原理、Jekyll 与前端框架的构建部署、GitHub Actions 自动化,直到 CI/CD 的完整图景。
GitHub PagesGitHub ActionsJekyllCI/CD33 min readLeetCode Hot 100 | 10. 和为k的子数组
利用前缀和与哈希表,将「寻找子数组和」转化为「寻找两个前缀和之差」,实现 O(N) 求解。
LeetCodeHot100滑动窗口C++5 min readLeetCode Hot 100 | 100. 寻找重复数
利用值到下标的映射关系,通过正负标记法实现 O(1) 空间的原地哈希检测重复
LeetCodeHot100技巧C++3 min readLeetCode Hot 100 | 11. 滑动窗口最大值
通过自定义单调递减队列,在 O(N) 时间内求解每个滑动窗口的最大值。
LeetCodeHot100滑动窗口C++5 min readLeetCode Hot 100 | 12. 最小覆盖子串
LeetCode Hot 100 第 12 题解析
LeetCodeHot100滑动窗口C++1 min readLeetCode Hot 100 | 13. 最大子数组和
动态规划经典题:定义 dp[i] 为必须以索引 i 结尾的最大连续子数组和,通过 Kadane 算法优化至 O(1) 空间
LeetCodeHot100数组C++4 min read