资讯中心
行业洞察、技术分享与服务案例。我们把项目里踩过的坑和总结的方法写下来,希望对正在做信息化建设的你有用。
Selected work
项目界面
交付过的真实界面,左右切换浏览,点击可放大看细节。
甲方说先上线再改,灰度发布怎么排
「先上线,有问题再改」这话本身没毛病,怕的是没有退路。我们把灰度拆成四步:内部账号 2 天、按工号尾号放 10%、按门店放 3 家、最后全量,每步之间留一个观察日。Nginx 按 cookie 分流,回滚就是把权重调回 0,不重新发版。
阅读全文生鲜早市 5 点开单,库存扣减改了两次
生鲜小程序凌晨 5 点开单,6 点半截单装车。第一版下单就扣库存,有人加购不付款,菜压在系统里卖不出去;改成分单预占 15 分钟、定时任务释放,又碰上同一秒两单抢最后 3 斤。最后靠 MySQL 条件更新加判断受影响行数收的尾。
阅读全文小程序首屏 2 秒之外,我们只改了三件事
茶叶电商小程序首屏测下来 3 秒多,没动框架、没换服务器,只改了三件事:主包里的图片挪到 CDN 并换成 webp、把 4 个不常用的页面拆成分包、首页 3 个请求合并成 1 个。改完主包从 1.9M 掉到 1.1M,20 次真机测下来中位数 1.8 秒。记录一下当时怎么量的。
阅读全文丹溪酒业官网,经销商查询那张表
丹溪酒业的官网改版,产品页好做,难的是经销商查询。客户提供的是一张 Excel,500 多家门店,省份写法有「内蒙古」和「内蒙古自治区」两种,还有 20 多条电话带分机。我们做了省份字典映射、电话拆成两个字段,前台按省筛选加关键词搜索,后台留了批量导入和查重。
阅读全文客户说要做 Excel 导入,我们先问 17 个字段
「加个 Excel 导入吧」听着是半天活,真做起来常要两三天。我们会先要一份真实文件,数清楚 17 个字段里哪几个有合并单元格、哪列日期是文本、有没有人在备注里敲了回车。这些不看文件问不出来。有次客户发来的表里有 3 个隐藏 sheet,真正要导的是第 2 个。
阅读全文定时任务跑了两遍,那个凌晨的对账单
每天凌晨 2 点跑的对账脚本,某天生成了两份汇总,客户财务早上对着两张表愣了半天。原因不是脚本写错,是 crontab 里同一条被贴了两遍,中间隔了 7 行没看见。后来加了文件锁 flock、每次运行写 run_id、日志落一张表,还把 crontab 收进 Git。
阅读全文ERP 进销存第一版,只建了 3 张表
给一家商贸公司做进销存,第一版数据库只建了 3 张表:商品、单据、单据明细。没做批次、没做仓位,连供应商都是单据里的一个文本字段。不是偷懒,是老板拿着一摞手写单说,先把每天卖了多少、还欠多少记清楚。后来第五个月才加第 4 张表。
阅读全文技术团队托管和外包,差在谁排优先级
常有人把技术团队托管和 IT 人才外包当成一回事,其实差在谁决定这周做什么。外包是人按你派的活干,托管是我们接手一整块系统、自己排期。一个按人头算,一个按系统能不能跑算。顺带说说代招聘又摆在哪个位置。
阅读全文首页套了 Redis,第二天缓存穿透把库打慢了
首页要查 5 张表,套了 Redis 设 300 秒过期,第二天早上 MySQL CPU 从 20% 跳到 90%。一是过期瞬间几十个请求一起回源,二是 /list?id=999999 这种不存在的 id 每次穿透。加了 setnx 10 秒锁、空值缓存 60 秒、入口验 id 范围,再把 serialize 换成 json_encode。
阅读全文招聘会官网,现场扫码那两小时我们盯着日志
二月体育馆招聘会,87 个展位各一张带展位号的二维码,扫完只填手机号后四位。九点十分起峰值一分钟 140 多次提交,500 报错是 max_connections 100 顶满了。现场关掉简历页的实时查重就缓过来。当天导出 2000 多行 CSV,客户拿数据透视按展位号数人数。
阅读全文2000 行数据也卡,第一次认真看 MySQL 慢查询
表里才 2000 多行,点一次等三四秒。翻慢查询日志才查出五处:long_query_time 默认 10 秒根本不记、OFFSET 1900 白扫前 1900 行、时间字段套 DATE() 让索引失效、JOIN 两边 INT 与 VARCHAR 不一致、SELECT * 捎回两个 TEXT。没加缓存,看完 EXPLAIN 就好了。
阅读全文签证表单那 17 个字段,我们删到 11 个
纸质签证表 A4 两面、17 个字段,搬到线上第一版照单全收,审材料的大姐填完打电话说比纸的还麻烦。把字段贴墙上一条条问「审的时候看不看」,删到 11 个、必填 8 个。上线第三天附件丢失,是 session 24 分钟过期撞上 tmp 目录每小时清理。
阅读全文











