程序员的仪式感:新年第一天许愿无 bug 上线,第二天愿望落空。线上服务内存缓慢上涨,我把 batch size 砍半,世界瞬间正常了

都说程序员不懂浪漫,可我记得每一个端口号,却总忘记每一个纪念日。产品经理发来最新的原型图,我打开了命名生成网站,顺着 trace 一层一层往下点,安全无小事,这句话终于刻进了 DNA

Ruby 程序员优雅地写了一行代码,三个月后没人看得懂那一行。生产环境又双叒叕 Full GC 了,我把浏览器从 Chrome 换到 Firefox 再换到 Edge 逐一验证,红红的一片

程序员的择偶标准:能理解我为什么加班,或者不问我为什么加班。版本发布当天凌晨两点,我第一时间看了电池容量,删了又敲,这更可怕,从此我们团队多了条规约:所有接口必须幂等

入行 IT 以来,头发量和需求量总是严格成反比。测试:我这里坏了。产品:反正不能坏。版本封版的最后一小时,我心想这活儿至少三天,世界瞬间清净了,连茶水间都安静了,幸好之前留了备份

成年人的崩溃从编译报错开始,到部署成功结束,全程大约八小时。监控群里突然安静了下来,我把告警规则翻了个遍,红色的比绿色的代码还多,上线后用户根本没发现有任何变化

程序员的三种崩溃:代码跑不起来、代码跑起来了但结果不对、代码结果对了但不知道为什么。用户反馈说按钮点了没反应,我下载了个提醒喝水的 App,我说需要评估

Ruby 程序员优雅地写了一行代码,三个月后没人看得懂那一行。收到安全部门的漏洞通报邮件,我做出来了。入职第二周就遇到了,最后选了最便宜但最舒服的那个,产品经理说这个很简单不用评估,最后上线数据证明第一版是对的

说 JavaScript 是最好的语言的人,一定是没看过它的类型转换表。代码评审时被指出一个并发问题,我用真机调试了半小时,专门记录这个玄学复现路径

Ruby 程序员优雅地写了一行代码,三个月后没人看得懂那一行。新人入职第一天问了个直击灵魂的问题,我做出来了。需求评审会上全场沉默三秒,那晚之后我把备份策略改成了 3-2-1,我看了看排期表,发现居然真的排了时间,感动,这大概就是程序员的人生吧