“从第一个请求进来开始画。”
赵大壮盯着纸面,额头很快渗出汗。
他刚才还脑子打结,可笔尖落下去后第一条线居然顺着就拉了出来。
“用户点登录,先验身份,再取班级权限。”他说得慢,手上的笔却没停。
方既明靠在椅背上,手里端着纸杯水一脸嫌弃。
“继续,别把权限校验画成小区门岗。”
赵大壮差点笑出来,赶紧低头补了一层角色判断。
见鬼了?
赵大壮盯着图纸,头皮发麻。
刚才方既明随口甩出来的那些词汇现在像长了腿一样,自动在脑海里列成清晰的逻辑矩阵。
缓存、索引、事务、回滚,全卡进了对应的齿轮里。
他画到数据写入那一步笔尖停住:“这里两个请求同时改错题记录,会抢。”
方既明挑了挑眉没接话。
赵大壮盯着图自己往下推:“所以不能让它们随便写,要加锁,还得留版本号。”
方既明喝了口水,纸杯边缘被他捏出一个小坑:“还算有救,接着说。”
赵大壮越讲越顺,声音从发虚变得有底气。
他把用户数据链路拆成三段:入口层、业务层、存储层。每一段该干什么全清清楚楚写在框旁边。
方既明偶尔敲一下桌面:“这里别重复查。”
“这个缓存失效时机往前放。”
“错误日志不能只给你自己看,答辩老师也得看懂。”
赵大壮一边点头一边拿橡皮狂擦重新画,橡皮屑沾在袖口上他也顾不上拍。
十几分钟后,纸上已经铺满方框和箭头。
以前他写代码全靠感觉往前莽。
今晚这张图让他第一次知道,一个系统得先搭好骨架。
方既明放下纸杯心里骂了一句:明天必须去买个新保温杯,老吴喝过的那个他真下不去嘴。
赵大壮没注意到他的表情,正盯着错题归因那一块发狠。
“方哥,这个模块我想拆出去。”
方既明看向他。
赵大壮吞了口唾沫,手却没停:“错题归因以后会越来越复杂,知识点、错误类型、时间衰减、学生标签都要算。”
他在图右侧另起一个框:“放在主系统里会拖慢查询,拆成独立服务更干净。”
方既明没夸他,只把纸杯转了半圈。
赵大壮抬头看他,眼里带着点不确定:“这样想有问题吗?”
“有,但方向对。”方既明拿过红笔,在他新画的框旁边点了两下,“第一,独立服务挂了主系统不能跟着趴窝。”
赵大壮马上接住话头:“加降级策略,归因服务挂了先展示基础错题列表。”
“第二,日志别只记错误,要能回滚。”
赵大壮眼底一亮:“对,异常记录加操作前快照,写入失败就回到上一版。”
他说完自己都愣住了。
这话要是放到昨天打死他也憋不出来。
方既明看着他的表情没吭声,这小子需要的是信心。
“把这两条补上。”
赵大壮低下头,笔尖“唰唰”地在纸上飞舞。
门外林小溪抱着画板经过,脚步在门口停了,她本来要去美术组找姜老师交作业,看见里头的情景没忍住弯了弯嘴角。
思考了一下,拿起铅笔靠着墙边在速写本上沙沙扫过,把台灯下那两个凑在一起的人影勾得更深。
半个小时后速写本合上。
画面下方她写了五个字:把前路点亮。
她抱着画板轻手轻脚离开,没有惊动里面的人。
办公室墙上的钟走到十点半。
最后一笔收尾,赵大壮直接瘫在椅背上。
桌上那张A4纸密密麻麻,箭头乱窜跟鬼画符似的。
他盯着那张纸,眼底亮得像探照灯。
全通了,每一条线、每一个框,他都知道为什么放在那里。
这感觉太爽了,比旧项目跑通那次还爽。
“方哥。”赵大壮揉了揉酸胀的手腕,嗓子哑得厉害。
“我第一次觉得我真能去赛场试试。”
方既明把纸杯里最后一点水喝完眉头一皱:“自信可以,别上头。”
赵大壮用力点头:“明天我按这张图写代码,先把用户模块和缓存重做。”
“今晚到此为止。”方既明把流程图拍了拍,折都没让他折。
“拍照备份,原件放我这,回去睡觉。”
赵大壮急了:“我今晚还能再写一段!”
方既明把手机啪地扣在桌上:“你敢熬夜造出一座屎山,明天我就让钱多多拿着大喇叭在走廊朗读你的变量名。”
赵大壮脸色当场变了:“那太狠了,杀人还要诛心啊!”
方既明抬手指向门口:“滚。”
赵大壮抱起电脑,走到门口又回头:“方哥,明天七点我来学校。”
“六点五十。”
“靠。”
“再废话六点半。”
赵大壮立刻闭嘴,抱着电脑撒丫子跑了。
门刚关上,方既明的手机屏幕亮起。
市赛组委会的初审通知发了过来:南桥十九中编程赛已通过材料初审,三天后参赛选手需到现场答辩。
方既明看着屏幕,手指在桌面上敲了两下。
门外头赵大壮的脚步声又折了回来。门开了一条缝,他探进半个脑袋:“方哥,我校服落这了。”
方既明按灭屏幕,抓起椅背上的校服一把砸他怀里:“保留点脑细胞,三天后有你费唾沫的时候。”
赵大壮接住校服,脸上那点困意一下全没了:“三天后?啥三天后?”
方既明看着他,笑得挺缺德。
“现场答辩,恭喜你,壮哥。”