暂无搜索历史
一个订单服务里,一行代码安静地躺着:order.getCustomer().getAddress().getCity()。它不报错、不打日志,甚至单测也能过。可...
很多年前我还在做电商系统的时候,碰到过一个很邪门的 bug:订单结算时,只要命中某个促销规则,金额就会少算几块钱。测试环境怎么都复现不了,线上却偶发。那天下午,...
最近又在评审代码时看到一种熟悉的味道:一个 BaseDao 被十几个子类继承,子类为了复用父类一个查询方法,被迫把连接管理、异常处理、日志打印全部继承下来;改一...
最近团队复盘了一个线上事故,起因是一名同事给支付模块加“组合支付”,只在一个老方法里加了一个分支判断,结果原先稳定的单渠道支付开始偶发对账不平。我是老李,做 J...
上周一个看似无害的邮件发送模块调整,让订单服务整个没跑起来。这不是运气差,是依赖方向出了问题。我是老李,今天聊聊设计模式里的依赖倒转原则。很多人一听就想到接口,...
上个月,一个订单模块出了生产事故:运营改了一条满减规则,结果用户下单后收到的短信模板变成了测试文案。排查半天,问题不在短信服务,而在订单类里塞了参数校验、库存扣...
你可能遇到过这种情况:辛辛苦苦维护的自动化脚本,今天还能跑,明天就崩了。网页改了一下按钮的位置,CSS类名变了,你的选择器就成了一堆废纸。RPA(机器人流程自动...
凌晨一点,你在公司群里看到测试失败通知。点开日志,五十个用例挂了四十八个,原因只是登录页的“确认”按钮改成了“下一步”。你揉了揉眼,把选择器从 button:h...
每天早上一睁眼,先想起那件事:今天的学积分还没打。你手机里可能也有一个这样的网站:登录、签到、领积分,一天漏掉,连续奖励就断。朋友的公司甚至用积分排名考核学习,...
清晨六点半,老张打开电脑,先在报销系统里填单,再登录HR系统下载考勤,最后把数据复制到Excel模板。这套流程他做了两年,眼睛盯着屏幕,手如同打字机。终于有一天...
最近你有没有过这种体验?刷到一个网页,版式工整、配色和谐、动效流畅——但你就是觉得哪里不对劲。这种感觉很难描述,仿佛这个页面不是一个有血有肉的人做的,而是从一个...
先讲个场景。某个周五深夜,老李接到一个电话,对方是某个平台组的负责人,语气疲惫:“我们今晚在统一升级,结果凌晨两点发现一个老模块和新框架不兼容,现在全体在回滚。...
上周跟一个朋友聊合作,他说现在写代码根本不是问题,问题是“一段话下去,代码就出来了,但没人知道它是怎么想的”。我也有同感。我是老李,带过团队,也写过很多年代码。...
在高并发、海量数据的场景下,系统性能往往成为决定业务成败的关键。所谓架构的高性能,并不是单纯地追求单次请求的极致速度,而是要在复杂而不可预测的流量面前,保持稳定...
海量数据并不是一个精确的数字,而是一个相对概念。当数据量超过单机存储上限,或者单库单表的处理能力无法满足业务要求时,架构就开始面临真正的挑战。很多系统在初期可以...
高可用(High Availability,HA)是分布式系统架构设计中最核心的非功能性指标之一。它描述的是系统在面对硬件故障、软件缺陷、流量冲击、人为误操作等...
任何软件系统在诞生之初,都面临一个残酷的现实:用户量未知、流量未知、数据量未知。架构师能做的,不是预测未来,而是让系统具备应对未来的能力。这种能力就是扩展性。扩...
大型软件系统之所以“复杂”,往往不是因为单个功能有多难,而是因为功能之间的依赖、数据流转、团队协作、上线节奏纠缠在一起,形成了一张剪不断理还乱的网。架构师的核心...
内部做技术分享,最容易让人自我感觉良好的,是台下一片掌声。但回头一看,没人真的用上你讲的东西。反倒是那些被问得最多、甚至被挑战的环节,才说明内容真的戳中了听众的...
很多团队做架构评审时,中间件、数据库、框架都挑得没问题,清一色主流选型。可真到线上,还是会出现性能塌方、故障扩散、迭代变慢。问题出在哪?
暂未填写个人网址