归档
2025
全部文章Vibe Coding 一个复杂项目——问题与经验分享
AI 能很快写出一个功能,却未必能维护好一整个项目。以 MrRSS 的开发为例,谈如何让生成的代码经得起持续迭代。
越过长城,走向世界——翻墙协议的历史与原理浅析
加密藏住了内容,却未必藏得住流量特征。看看代理协议如何在一次次封锁中改变伪装,以及这些设计为何仍会暴露。
弹簧摆
《算法笔记》第 4 篇:弹簧一边伸缩、一边摆动,轨迹该怎么算?把系统的能量写成运动方程,再让数值计算还原它的运动。
波函数坍缩与程序化生成
《算法笔记》第 3 篇:几块样本图案,怎样拼出一张完整地图?用波函数坍缩算法逐步确定局部选择,让相邻约束塑造整体图案。
形式化理解零知识证明
如何严格证明一个协议“没有泄露秘密”?用模拟器刻画验证者获得的信息,让零知识证明的直觉落到数学定义上。
Chrome 原生 AI API 开发实践
模型搬进浏览器后,翻译和摘要可以直接在本地完成。用可运行的 JavaScript 示例,尝试 Chrome 不依赖远程接口的 AI 功能。
如何在半年内给 3 个开源项目骗到 100+ stars?
在 GitHub 种下三个项目,终于等到星星落下来。聊聊选题、开发与运营,也聊聊热闹之后的困惑。
从 C10K 到 C10M——从源码深入 I/O 模型的演进
连接越来越多,服务器的时间花在哪里?逐段阅读 Linux 源码,看 I/O 接口如何减少无效遍历与数据搬运,撑起更高并发。
如何组织一个 Go 项目?
Go 项目的目录该怎么分?结合开源项目,讨论入口、内部实现与公共库的边界,以及目录约定背后的取舍。
AI时代的爱情
技术让每个人获得了最适合自己的位置。我的位置,是白色房间里的一张椅子。
ReDos——低效的正则表达式
一次 CodeQL 告警引出的 ReDoS 问题:看正则表达式如何陷入大量回溯,以及哪些写法容易拖垮匹配性能。
git diff 是如何实现的?
《算法笔记》第 2 篇:两个文件之间,最少要改几处?把差异比较画成网格上的寻路问题,看 Myers 算法如何避开大面积的无用计算。
告别 JavaScript : 现代 CSS 特性
组件随容器变宽、动画随页面滚动,这些效果还需要写 JavaScript 吗?用可运行示例尝试 CSS 能独立完成的布局与交互。
消息队列——原理与对比
消息发出后,怎样才算真正送达?比较三种常用消息队列如何保存、确认和重试消息,理解可靠投递背后的取舍。
Redis 事件循环
《深入 Redis 源码》第 6 篇:多个客户端同时连接,Redis 怎样避免等在某一次读写上?追踪事件循环,看就绪通知如何驱动请求处理。
Redis 集群
《深入 Redis 源码》第 5 篇:有了磁盘备份,主机宕机后仍可能无法服务。看 Redis 如何让副本接管请求,并把单机装不下的数据分给多个节点。
Redis 持久化
《深入 Redis 源码》第 4 篇:内存里的数据怎样经得起重启?对照 Redis 落盘与恢复的源码,看少丢数据、少阻塞请求和快速恢复之间的取舍。
一觉醒来,全球计算机水平上升1000倍
传统时间复杂度势力妄图开历史倒车。
Redis 数据库
《深入 Redis 源码》第 3 篇:键到期了,内存就会立刻释放吗?追踪 Redis 管理键的源码,看它如何控制清理开销,并在内存不足时决定淘汰谁。
Redis 数据结构
《深入 Redis 源码》第 2 篇:Redis 的快不只因为数据在内存里。看看底层结构如何通过紧凑存储与渐进式扩容,在访问速度和空间占用间做取舍。
Redis 对象
《深入 Redis 源码》第 1 篇:同一种 Redis 对象,底层为什么会有不同编码?跟着命令查看数据的实际存法,理解编码为何随内容和规模变化。
过往归档2 篇
共 23 篇文章

