脑裂:脑子裂成两半,谁也不认谁

Posted on 一 06 7月 2026 in Tech • Tagged with distributed systems, split-brain, network partition, consensus, quorum, raft, high availability

分区(partition)是网络把集群切成了几块,谁也看不见谁;脑裂(split-brain)是切开之后,每一块都以为"就剩我了,我来当家"。于是两个主节点同时写数据,等网络恢复,数据对不上,谁都不认谁。这篇讲清楚脑裂的根因(网络分区 + 各自选主),以及业界公认的解法:多数派仲裁(quorum)、fencing、见证节点,配一份可抄的排查与设计清单。


Continue reading

一个字符串引发的血案:从 C 到 Go 的 rune,字符串是怎么一步步进化的

Posted on 一 06 7月 2026 in Tech • Tagged with string, unicode, c, cpp, java, python, go, rune, encoding

字符串看着最简单,坑却最深。从 C 的一根 char 指针,到 C++ 的 std::string,到 Java/Python 的对象化,再到 Go 的 rune,这一路演进本质上就在解决三个问题:谁管内存、长度怎么算、一个"字"到底是什么。这篇按时间线把它们串起来,讲清楚每一步为什么这么设计、又留下了什么坑。


Continue reading

限流这件事,从来不是"每秒放几个"这么简单

Posted on 一 06 7月 2026 in Tech • Tagged with microservices, rate limiting, backend, stability, architecture

很多人以为限流就是"每秒放 100 个请求",配个数字完事。真上了规模才发现,限流是分层的、分策略的、还得跟业务谈判的。这篇把限流拆成"在哪一层限、按什么维度限、用什么算法、放行还是拒绝、拒了怎么告诉客户端"几件事,配上可抄的配置和一张决策清单。


Continue reading

Streamlit 深入浅出:用写脚本的方式做数据应用

Posted on 日 05 7月 2026 in Tech • Tagged with journal, python, streamlit, data-app

Streamlit 让你用写 Python 脚本的方式,几十行就做出一个能交互的数据应用——不碰 HTML/CSS/JS,不起前端工程。这篇讲清楚它背后"脚本从上到下重跑一遍"的设计理念,常用控件与状态管理,一个能跑的完整实例,以及我踩过坑之后总结的最佳实践。


Continue reading

给你的服务养一个"数字替身":AI 时代为什么要写 Sample App

Posted on 日 05 7月 2026 in Tech • Tagged with journal, testing, architecture, WebRTC

做后端和 SDK 这些年,我越来越依赖一个东西:给每个服务配一个能把主流程完整跑一遍的 Sample App——Web Service 就配个 Test Web App,音视频应用就配个 Native App。它既是 E2E 测试工具,又是一个"永远在线的模拟用户",还是最诚实的一份活文档。AI 能帮你把它写得飞快,但要不要养、往哪个方向养,得你自己拿主意。


Continue reading

用穷举法吃透问题:把碎片经验炼成体系能力

Posted on 六 04 7月 2026 in Journal • Tagged with journal, methodology, learning, problem-solving, career

有的人解决问题像打地鼠,这个坑填上,下个坑又冒出来。真正拉开差距的,不是记住多少答案,而是能不能把一类问题的成因、解法和取舍一次性想透。这篇聊聊我这些年反复用的一套笨办法:分类、穷尽、对比、取舍。


Continue reading

拖延症又犯了,怎么办

Posted on 六 04 7月 2026 in Journal • Tagged with journal, procrastination, methodology

明知该做,就是不想动,眼看 deadline 变成头上的达摩克利斯之剑,心理负担越来越重,却越拖越凶。研究过无数克服拖延的方法,也天天告诫自己知行合一,可"臣妾就是做不到"。这篇不劝你自律,而是想聊聊:为什么方法没用,以及怎么把"启动成本"降到你抬手就能做的地步。


Continue reading

完全由 AI 生成的代码,我越看越心惊

Posted on 六 04 7月 2026 in AI • Tagged with journal, ai, code-review, engineering, responsibility

有一次我认真读完一段完全由 AI 生成、且已经跑通的代码,越看越心惊。冷静下来复盘:一部分不能全怪 AI——我的 design 本来就没说清楚;另一部分确实是 AI 的锅。结论很简单:想把 AI 的改动用到产品线上,你必须收紧缰绳,用"人机接力"的流程,主要功能代码逐行看、验收测试亲自做。因为 AI 不会替你背锅,为最终结果负责的人是你。


Continue reading

Headroom 和 Ponytail:给 AI 编程的 Token 账单拧上两个阀门

Posted on 五 03 7月 2026 in Tech • Tagged with ai, token, cost, headroom, ponytail, agents, context, productivity

用 AI 写代码,token 烧钱的地方无非三处:模型读进去多少、写出多少代码、回话多啰嗦。Headroom 管"读进去",靠压缩上下文;Ponytail 管"写出来",靠逼着 agent 少写代码。这篇讲清楚这两个开源工具各自怎么做、在你的项目里怎么装怎么用,也把厂商不爱说的坑一并摊开:真实场景省的往往没广告那么多。


Continue reading

什么样的技术书籍才值得一读再读

Posted on 四 02 7月 2026 in Tech • Tagged with books, reading, engineering, career, learning note

框架每年换一茬,但有些技术书十年后翻开还是有用。这篇聊聊我书架上被翻烂、后来又买了第二本的那几本经久耐看的技术书——《数据密集型应用系统设计》《性能之巅》《UNIX 编程艺术》之类——以及为什么它们比追新更值得花时间。


Continue reading

AI 写的代码:华丽袍子下面,也可能都是虱子

Posted on 三 01 7月 2026 in Journal • Tagged with ai, coding, golang, harness, software-engineering, code-review, maintainability

最近一个 Golang 新项目让我重新认识了 AI 编程:顶流大模型加各种 harness,仍会写出看起来漂亮、跑起来似乎也没问题、但可读性和可维护性不尽如人意的代码。带 AI 就像带一个刚毕业的博士生——它懂得多,却不知道什么最适合你的产品、环境、业务和那座“屎山”。上岗必须备齐指导手册、设计与代码规范、架构原则、编码规范、验收清单,一个都不能少。


Continue reading

超级个体真有那么神吗

Posted on 二 30 6月 2026 in Tech • Tagged with AI, super-individual, polymath, full-stack, learning, engineering, career

AI 能让一个人像一支小队,但不能让一个人逃掉工程责任。真正的超级个体,不是炫耀百家招式,而是持续交付有价值的产品,满足用户需求,创造真实价值。


Continue reading

生锈的知识,还能不能重新上场?

Posted on 二 30 6月 2026 in Tech • Tagged with AI, C++, audio-video, learning, knowledge-management, engineering

长久不用的知识会不会生锈?会。但真正危险的不是忘了细节,而是把生锈的手感误认为仍在巅峰。以大型 C++ 和 Audio/Video 项目为例,聊聊怎样让知识重新招之即来、来之能战。


Continue reading

临床八年制女生,接下来七年怎么学习和科研

Posted on 一 29 6月 2026 in Journal • Tagged with AI, clinical-medicine, healthcare, methodology, learning

写给临床八年制本博连读、即将结束大一的医学女生:未来七年不要急着追工具、追热点、追论文,而要按阶段搭好医学基本功、临床思维、科研训练、数据工具箱和长期身心节奏。


Continue reading

在你懈怠时,如何让别人推你一把?

Posted on 一 29 6月 2026 in Journal • Tagged with journal, career, teamwork, self-management, methodology, growth

人难免懈怠、偷懒、迷茫。真正成熟的自律,不是永远靠一个人硬扛,而是主动设计协作、反馈和承诺,让团队、朋友和同事在关键时刻推你一把。


Continue reading

狭路相逢勇者胜

Posted on 一 29 6月 2026 in Journal • Tagged with journal, career, young-people, crossroads, courage, learning, growth

写给站在人生十字路口的青年朋友:路窄时不要急着否定自己,真正的勇敢是先稳住,再学习,再行动。


Continue reading

打翻的牛奶,别再喝第二遍:给悔恨的行动手册

Posted on 日 28 6月 2026 in Journal • Tagged with journal, reflection, regret, emotion, mental-health, 人生, 行动手册

错误选择带来的悔恨,像毒蛇一样每天噬咬人心。这个行动手册不劝你立刻放下,而是给出一套可执行的方法:先止血,再复盘,再补救,最后把执念交给风。


Continue reading

别让 AI 替你编简历:用 DDD 把求职材料建模

Posted on 日 28 6月 2026 in AI • Tagged with AI, career, resume, cover-letter, DDD, prompt-engineering

不要一上来就让 AI “帮我写一份简历”。先按 DDD 思想把求职者、目标职位、证据和匹配关系建模,再让 AI 生成可审查、可复用、可迭代的简历和求职信。


Continue reading

人脸识别入门其实不玄:从一张脸到一个名字

Posted on 六 27 6月 2026 in Tech • Tagged with python, opencv, mediapipe, face-recognition, lbph, computer-vision, demo

人脸识别听起来像玄学,其实入门链路可以拆成检测人脸、裁剪样本、训练模型、设定阈值这几步。本文基于一个 OpenCV + MediaPipe 的教学 demo,讲清楚 Haar、Face Mesh、LBPH 各自负责什么,如何用 Poetry 跑通采集、训练和识别链路,以及为什么教学级 demo 不能直接拿去当门禁或支付系统。


Continue reading

为什么需要 KMS 和信封加密

Posted on 六 27 6月 2026 in Tech • Tagged with security, cryptography, kms, envelope-encryption

从数据库泄露、密钥轮换和故障边界说起,解释为什么需要 KMS,以及信封加密如何把密钥管理这件事做得更稳。


Continue reading