YI FANG
文章
归档
项目
关于
搜索
目录
文章
归档
项目
关于
搜索
ARCHIVE / 2016—2026
时间归档
技术判断不是突然形成的。按时间回看,能看到工具如何退场,问题如何留下。
2026
08.05
过了斩杀线,还没过验收线:DeepSeek V4-Flash 正式版发布随想
9 min
07.30
如何让 AI 编程 Agent 在真实仓库里交付
9 min
07.25
AI 时代,工程判断比代码产量更稀缺
10 min
06.13
架构债务不是旧代码,而是被推迟的系统决定
7 min
05.16
人工审批不是弹窗:高风险 Agent 操作的事务边界
8 min
04.18
资深工程师的产出,不应该只存在于代码仓库
8 min
03.21
AI 功能怎么发布:把 Evals 做成真正的门禁
4 min
02.21
上下文工程:让 Agent 知道足够多,但不要知道一切
9 min
01.17
编码 Agent 的沙箱:仓库、网络、密钥和资源分别设边界
4 min
2025
12.13
AI 辅助编程之后,代码评审要看什么
4 min
11.15
流式 AI 界面不是 append 文本:事件协议与状态恢复
4 min
09.20
产品架构与技术架构应该共享同一张问题地图
4 min
07.26
海外 ToC 产品中的前端不是一个页面层
4 min
06.21
不要把生产密钥交给模型:AI 工具调用的权限网关
4 min
05.24
创业阶段的技术决策:先管理不可逆性
4 min
04.19
RAG 评估别再问‘感觉怎么样’:从 120 个真实问题开始
4 min
03.29
两周交付 AI MVP:速度来自主动缩小系统
7 min
02.22
多 Agent 系统:协作之前先建立控制面
8 min
01.11
AI 产品的起点不是模型能力
4 min
2024
12.28
经验年限不等于资深
9 min
10.19
ADR 怎么写才有人看:记录判断,不记录会议流水账
4 min
09.21
技术负责人的边界:不要成为团队的同步阻塞点
4 min
06.22
requestId 到了消息队列就断了:异步链路的 Trace Context
4 min
05.18
差量更新的收益与代价
4 min
02.24
可观测性不是做一块 Grafana 大屏
4 min
01.20
告警为什么总在半夜吵醒错误的人:从 SLO 到 Runbook
4 min
2023
12.09
Node.js 优雅退出:先停止接单,再归还资源
4 min
10.14
十万级数据渲染:不要让 DOM 承担数据仓库的工作
8 min
08.19
把十万行计算移进 Web Worker:真正难的是传输与取消
4 min
06.20
正确使用 CocoaPods 国内源:先分清三段网络链路
7 min
06.17
低代码 BI 引擎:配置能力的边界在哪里
9 min
04.15
低代码配置升级:Schema 迁移不能散落在组件里
4 min
02.25
多图表页面为什么需要请求调度
5 min
01.18
Node.js 内存泄漏:一次从监控到句柄引用链的排查
10 min
2022
11.19
内部平台也有用户体验
4 min
09.17
CI 构建一次、部署多次:不可变产物如何让回滚可信
3 min
07.23
RBAC 不只是用户、角色、权限三张表
4 min
05.21
tenantId 不是一个普通筛选条件:多租户隔离的五层防线
3 min
03.12
把 CI/CD 当作团队产品
4 min
01.22
审计日志怎么写,才能回答‘谁改了什么’
3 min
2021
12.18
异步任务可靠性的四个问题
4 min
10.23
消息至少会来两次:异步消费者的幂等边界
4 min
09.25
把研发流程做成产品:一个内部平台的起点
7 min
06.19
从完成页面到理解系统
4 min
05.22
回滚要在发布之前设计:一次可逆部署的时序
3 min
03.06
性能不是分数,而是一份持续预算
7 min
02.20
内部平台为什么需要控制面:不要让页面直接遥控脚本
3 min
01.17
JSBridge 的本质是一份跨端协议
4 min
2020
11.21
重构 SSR:性能问题首先是系统问题
7 min
10.17
功能开关不是一个 if:一次分阶段发布的完整设计
3 min
08.30
跨端复用,先明确不能复用什么
4 min
07.18
WebView 登录态怎么传:不要把长期 token 交给 H5
3 min
05.23
规范的价值,是减少无意义的决定
4 min
03.28
缓存同时过期之后:一次 SSR 回源风暴的处理
3 min
02.14
离开熟悉业务之前,先带走方法
4 min
2019
12.14
一块大屏发出 47 个请求之后:给查询和渲染设预算
4 min
10.27
监控界面如何处理信息密度
4 min
06.15
前端也需要可观测性
4 min
05.11
只有错误堆栈还不够:给前端异常补一条用户动作时间线
4 min
02.22
图表是一种语言,不是一种装饰
4 min
01.19
图表画错了,但代码没有报错:可视化前的数据管线
4 min
2018
12.15
前后端联调反复返工后,我开始认真写接口契约
4 min
10.13
组件边界不等于视觉边界
4 min
08.18
第一次线上白屏:先恢复页面,再保住证据
4 min
06.29
第一份生产代码教会我的事
4 min
04.21
复杂表单不是一组输入框:把提交过程画成状态机
4 min
02.09
界面复杂度,首先是状态复杂度
4 min
2017
11.18
第一次解决 Git 冲突:不要只让文件变绿
3 min
08.20
为什么我选择前端
4 min
06.24
第一次用 Network 面板拆开一个慢请求
4 min
03.11
浏览器里的第一张完整页面
4 min
01.21
一次点击执行两遍:我怎样弄懂 DOM 事件传播
3 min
2016
12.10
第一个真正有用的小工具:批量改名前先生成计划
4 min
09.24
第一次真正理解抽象
4 min
07.30
用 Java 写零件清单:数据模型从现实约束里长出来
4 min
05.14
第一次学会调试:先让错误稳定地发生
4 min
03.18
从机械图纸到第一段 Java 程序
5 min