字:
关灯 护眼
渡口文学 > 三合大神之打工皇帝 > 第25章:加速与隐患

第25章:加速与隐患

    王雨回到出租屋。房间很小,只有一张床、一张桌子和一个简易衣柜。他打开灯,昏黄的灯光照亮了斑驳的墙壁。他把文件夹放在桌上,脱下外套,坐在床边。窗外传来楼下大排档的喧闹声,锅铲碰撞,人声嘈杂。空气里飘来炒河粉的香味,混合着油烟和辣椒的气味。他坐在那里,一动不动。很久之后,他拿出手机,再次解锁。彩信箱是空的。他退出短信,打开通讯录,手指在李悦的名字上停留。屏幕的光照在他脸上,明暗不定。最终,他按下了锁屏键。房间陷入黑暗。只有窗外霓虹灯的光,透过窗帘的缝隙,在地板上投下一道狭窄的、红色的光带。

    第二天早上七点,王雨准时出现在工作室门口。

    钥匙插进锁孔,转动,铁门发出吱呀的响声。他推开门,清晨的光线从窗户斜照进来,照亮了空气中漂浮的尘埃。工作室里很安静,只有墙角那台老电脑的散热风扇还在嗡嗡作响。陈默的座位空着,电脑屏幕暗着。李悦的座位也空着,桌上整齐地摆着几叠资料。

    王雨走到自己的座位前,放下背包。他打开文件夹,拿出昨天画好的产品原型图,铺在桌上。铅笔的线条在晨光下显得格外清晰。他盯着那些线条看了很久,然后拿出手机,拨通了张伟的号码。

    “喂,雨哥?”

    “人找到了吗?”

    “找到了!两个,都是深大计算机系大四的,一个叫刘明,一个叫赵凯。他们刚做完毕业设计,正好有时间。我跟他们说了,日结,一天三百,上浮百分之二十就是三百六。他们答应了,今天下午就能过来。”

    “好。”王雨说,“让他们直接来工作室。带上自己的电脑。”

    “明白。”

    挂断电话,王雨开始整理开发文档。他把产品原型图扫描成电子版,用简单的文字标注了每个功能模块的需求。数据库设计图也重新整理了一遍,删掉了所有不必要的复杂关联,只保留最核心的用户表、商家表、优惠券表和订单表。他的手指在键盘上快速敲击,文档一页一页生成。打印机开始工作,发出有节奏的咔嗒声,吐出还带着温度的纸张。空气里弥漫着油墨和纸张特有的气味。

    上午九点,李悦推门进来。

    她穿着一件米色的羽绒服,围巾裹得很紧,脸颊被冷风吹得有些发红。她看了王雨一眼,没有说话,径直走到自己的座位前,脱下外套挂在椅背上。她从包里拿出一个保温杯,拧开盖子,热气升腾起来,带着红枣和枸杞的甜香。她喝了一口水,然后打开电脑,开始工作。

    工作室里只有键盘敲击的声音,还有打印机偶尔的咔嗒声。

    王雨没有抬头。

    他知道李悦在生气。昨晚的争吵像一根刺,扎在两个人之间。但他没有时间去解释,也没有精力去安抚。母亲的病像悬在头顶的剑,赵天豪的阴影像缠在脚上的藤蔓,陈默的背叛像插在胸口的刀。他只能往前走,用最快的速度,最直接的方式,把该做的事情做完。

    中午十二点,张伟带着两个年轻人推门进来。

    “雨哥,人来了!”

    王雨抬起头。两个男生站在门口,都有些拘谨。一个戴着黑框眼镜,穿着深蓝色的羽绒服,背着一个双肩包。另一个个子高些,穿着灰色的运动外套,手里拎着一个笔记本电脑包。两个人的脸上都带着刚出校园的青涩,眼神里有些好奇,也有些紧张。

    “进来吧。”王雨站起身,“我是王雨。”

    “王哥好,我叫刘明。”戴眼镜的男生先开口,声音有些腼腆。

    “我叫赵凯。”高个子男生跟着说,声音更沉稳些。

    王雨点点头,指了指靠窗的两张空桌子:“那是给你们准备的。先把电脑装好,我给你们讲需求。”

    两个男生连忙走过去,放下背包,开始整理。张伟凑到王雨身边,压低声音说:“我问过他们导师了,成绩都不错,刘明拿过编程大赛的奖,赵凯做过一个校园外卖的小程序,虽然简单,但跑通了。”

    “好。”王雨说,“你下午去帮李悦,她那边需要人手。”

    张伟看了一眼李悦的方向。李悦正对着电脑屏幕,手指在键盘上快速敲击,侧脸在屏幕光的映照下显得很专注,也很冷淡。张伟张了张嘴,想说什么,最终还是点点头:“行,我这就去。”

    王雨走到刘明和赵凯的桌子前。两个男生已经把电脑打开了,屏幕上显示着编程软件的界面。王雨把打印好的需求文档和原型图递给他们。

    “这是我们要做的App,叫‘附近优惠’。核心功能很简单:用户打开App,定位,看到周边商家发布的优惠券,领取,到店消费时出示二维码核销。”王雨的声音很平静,语速不快,但每个字都很清晰,“后台管理端,商家可以发布优惠券,查看领取数据和核销数据。用户端,就是领取和使用。”

    刘明翻看着文档,推了推眼镜:“王哥,这个需求……好像比我们想象的简单。”

    “对,就是要简单。”王雨说,“第一个版本,只做核心功能。界面越简洁越好,操作越直接越好。数据库设计图在这里,照着这个建表。前端用原生开发,iOS和Android都要做。后端用Java,框架你们自己选,但要求稳定,容易维护。”

    赵凯看着数据库设计图,眉头微微皱起:“王哥,这个表结构……是不是太简单了?用户和商家的关联,优惠券的库存管理,订单的状态流转……”

    “这些以后再加。”王雨打断他,“现在只要能把优惠券发出去,领到手,用掉,数据能记下来,就够了。其他的,都是噪音。”

    两个男生对视了一眼,都从对方眼里看到了惊讶。他们做过的项目,导师总是要求功能完善,架构优雅,代码规范。但眼前这个看起来比他们大不了几岁的男人,却只要“能用就行”。

    “有问题吗?”王雨问。

    “没有。”刘明先反应过来,“我们今天就开工。”

    “好。”王雨说,“每天下班前,把当天的进度发给我。遇到问题随时问。我不管你们用什么方法,三天之内,我要看到可运行的demo。”

    “三天?”赵凯愣了一下。

    “对,三天。”王雨看着他,“做不到?”

    赵凯咬了咬牙:“能做到。”

    王雨点点头,转身回到自己的座位。他打开电脑,开始写测试用例。键盘敲击的声音在工作室里响起来,密集,急促,像雨点打在铁皮屋顶上。

    下午两点,李悦站起身,拿起背包。

    “我去大学城。”她说,声音很平静,但平静里有一种刻意的疏离。

    王雨抬起头:“张伟跟你一起去。”

    “不用。”李悦说,“我已经联系了三个学生兼职,都是深大的,对周边熟悉。我们约好了两点半在校门口碰面。”

    王雨看着她。她的眼睛很亮,但眼神里没有温度。他知道,她还在生气。但他也知道,她不会因为生气就耽误工作。这就是李悦,永远把该做的事情放在第一位。

    “注意安全。”王雨说。

    李悦没有回应,拉开门走了出去。

    门关上,工作室里又恢复了安静。只有键盘敲击的声音,还有刘明和赵凯偶尔低声讨论技术问题的声音。王雨继续写测试用例,但他的注意力无法完全集中。他的目光时不时飘向陈默的座位。

    那个座位依然空着。

    直到下午三点,陈默才推门进来。

    他穿着那件灰色的连帽衫,头发有些乱,眼睛下面有淡淡的黑眼圈。他看了一眼工作室里的情景——刘明和赵凯正对着电脑屏幕激烈讨论,王雨在写文档,打印机在吐纸——他的脚步顿了一下,然后默默地走到自己的座位前,坐下,打开电脑。

    他没有问那两个陌生人是谁,也没有问他们在做什么。他只是盯着屏幕,手指放在键盘上,但很久都没有敲下一个字。

    王雨用余光观察着他。

    陈默的背挺得很直,但肩膀微微缩着,像在承受某种无形的压力。他的侧脸在屏幕光的映照下显得很苍白,嘴唇抿得很紧。他的眼睛盯着屏幕,但眼神是散的,没有焦点。

    他在想什么?

    王雨不知道。但他知道,那张被删除的照片,此刻正像幽灵一样,在工作室的空气里飘荡。

    下午四点,张伟回来了。

    他手里拎着几个塑料袋,里面装着盒饭和饮料。

    “吃饭了吃饭了!”他大声说,把塑料袋放在中间的桌子上,“我买了烧鸭饭和奶茶,大家自己拿啊!”

    刘明和赵凯欢呼一声,放下手里的活,凑了过来。陈默也站起身,默默地走过去,拿了一盒饭和一杯奶茶,又默默地回到座位,打开饭盒,小口小口地吃着。

    王雨也拿了一盒饭。他打开饭盒,烧鸭的香味扑鼻而来,油脂在米饭上泛着光。他吃了一口,味道不错,但他吃不出什么滋味。他的注意力全在陈默身上。

    陈默吃得很慢,每一口都要咀嚼很久。他的眼睛盯着饭盒,但眼神依然是散的。奶茶放在桌上,他没有碰。

    “雨哥,”张伟凑到王雨身边,压低声音,“李悦那边进展不错。她带了三个学生,一下午跑了八家店,谈成了三家。都是小餐馆,但愿意试试。合同模板我帮她改好了,商家签字盖章就行。”

    “好。”王雨说,“明天继续。”

    “陈默那边……”张伟看了一眼陈默的方向,声音压得更低,“他一直这样?”

    王雨没有回答。

    他吃完最后一口饭,把饭盒扔进垃圾桶,回到座位,继续工作。

    夜幕降临。

    华强北的霓虹灯次第亮起,五彩的光透过窗户照进来,在墙上投下变幻的影子。工作室里,键盘敲击的声音一直没有停。刘明和赵凯已经完全进入了状态,两个人时而讨论,时而沉默地写代码,屏幕上的代码行数不断增加。王雨在写后台管理的测试脚本,手指在键盘上快速移动,屏幕上的命令行窗口不断刷新。

    李悦是晚上八点回来的。

    她推门进来,带进一股冷风。她的脸颊被冻得通红,但眼睛很亮。她把背包放在桌上,从里面拿出一叠文件。

    “谈成了五家。”她说,声音里有一丝疲惫,但也有一丝成就感,“合同都签了,押金也收了。每家五百,一共两千五。这是合同副本。”

    她把文件递给王雨。

    王雨接过,翻看着。合同是简单的两页纸,明确了优惠券的发布规则、结算周期和双方责任。商家的签名有些潦草,但公章盖得很清晰。五家店,三家小餐馆,两家奶茶店,都在大学城周边,客流量不错。

    “很好。”王雨说,“明天继续。”

    李悦点点头,没有多说什么,回到自己的座位,开始整理今天的拜访记录。她的手指在键盘上敲击,声音清脆而有节奏。

    晚上十点,刘明和赵凯完成了第一个模块。

    “王哥,用户注册登录模块做好了!”刘明兴奋地说,“前端页面和后端接口都联调通过了,你要不要看看?”

    王雨走过去,俯身看向屏幕。一个简洁的注册页面,手机号、验证码、密码,三个输入框,一个提交按钮。他拿出自己的手机,扫描二维码,安装测试包。App打开,注册页面加载出来。他输入一个测试手机号,点击获取验证码,后台日志显示短信发送成功。他输入验证码,设置密码,点击注册。页面跳转,显示注册成功。

    整个流程,不到三十秒。

    “很好。”王雨说,“继续做商家端。”

    两个男生受到鼓励,干劲更足了。他们泡了咖啡,继续奋战。

    陈默依然坐在自己的座位上。

    他没有参与任何讨论,也没有写代码。他只是盯着屏幕,偶尔动一下鼠标,打开一个文件,看几眼,又关上。他的存在,像工作室里的一个影子,安静,沉默,但无法忽视。

    晚上十一点,张伟先撑不住了。

    “雨哥,我明天还得去跑工商注册的事情,先撤了。”他打着哈欠说。

    “好,路上小心。”

    张伟走了。刘明和赵凯又坚持了一个小时,到十二点,也收拾东西准备离开。

    “王哥,我们明天早上九点准时到。”赵凯说。

    “好。”

    两个男生走了。工作室里只剩下王雨、李悦和陈默。

    李悦还在整理资料,键盘敲击的声音在寂静的夜里显得格外清晰。王雨在检查刘明和赵凯今天写的代码,一行一行地看,偶尔在文档上做标注。陈默依然坐在那里,一动不动。

    凌晨一点,李悦终于关上了电脑。

    她站起身,拿起外套和背包,看了一眼王雨,嘴唇动了动,似乎想说什么,但最终还是没有说出口。她拉开门,走了出去。

    门关上。

    工作室里只剩下王雨和陈默。

    空气突然变得很安静。窗外的车流声变得遥远,霓虹灯的光在墙上缓慢移动。打印机已经冷却,不再散发热量,但空气里还残留着油墨和纸张的气味,混合着咖啡的苦涩和外卖盒饭的油腻。

    王雨继续看代码。

    但他的注意力无法集中。他能感觉到,陈默在看他。

    不是直接的注视,而是用余光,用感觉,用一种沉默的、压抑的观察。那种观察,像针一样,刺在他的背上。

    他放下鼠标,转过身。

    陈默立刻移开了视线,假装在看屏幕。

    王雨看着他。

    陈默的侧脸在屏幕光的映照下,显得很年轻,也很脆弱。他的睫毛很长,在眼睑下投出淡淡的阴影。他的嘴唇抿得很紧,嘴角微微向下,像在承受某种痛苦。

    王雨突然开口。

    他的声音在寂静的夜里响起,很平静,但平静里有一种沉重的力量。

    “陈默。”

    陈默的身体震了一下。他没有转头,但肩膀微微绷紧。

    “如果遇到难处,”王雨说,语速很慢,每个字都像石头一样砸进空气里,“说出来,我们一起扛。”

    陈默的手指蜷缩起来,握成了拳头。

    “有些路,”王雨继续说,眼睛盯着陈默的侧脸,“走错了,就回不了头。”

    工作室里一片死寂。

    窗外的霓虹灯还在闪烁,红的光,绿的光,蓝的光,交替映在陈默的脸上。他的呼吸变得急促,胸口起伏着。他的嘴唇在颤抖,张了张,似乎想说什么,但喉咙里只发出沙哑的气音。

    很久之后,他终于开口。

    声音很轻,很哑,像砂纸摩擦过木头。

    “谢谢……雨哥。”

    说完,他猛地站起身,椅子腿在地板上划出刺耳的响声。他没有看王雨,抓起椅背上的外套,几乎是逃也似的冲向门口。拉开门,冲出去,门在身后重重关上。

    砰。

    响声在空荡的工作室里回荡。

    王雨坐在那里,一动不动。

    他看着那扇还在微微颤动的门,看着门缝里透进来的楼道灯光,看着空气中漂浮的尘埃。他的心里,有什么东西,正在慢慢沉下去。

    但他没有时间沉溺。

    他转过身,继续工作。

    凌晨三点,刘明和赵凯写的代码全部检查完毕。王雨打开后台管理端的代码仓库,开始部署测试环境。服务器是租的廉价云主机,配置不高,但跑一个简单的后台足够了。他打开终端,输入命令行,屏幕上的字符快速滚动。部署完成,他打开浏览器,输入测试地址。后台管理界面加载出来,简洁的登录框。他输入测试账号,点击登录。

    页面跳转,进入商家管理列表。

    空荡荡的,还没有数据。

    但框架已经搭起来了。

    王雨靠在椅背上,长长地吐出一口气。疲惫像潮水一样涌上来,淹没他的四肢百骸。他的眼睛很干,很涩,太阳穴在突突地跳。但他不能睡。还有事情要做。

    他打开代码编辑器,开始写一个简单的数据导入脚本。要把李悦今天签的那五家商家的信息,导入到数据库里。他的手指在键盘上移动,屏幕上的代码一行一行生成。写完了,保存,运行。命令行窗口刷新,显示导入成功。

    他刷新后台页面。

    商家列表里,出现了五条记录。店名,地址,联系人,电话,状态“已审核”。

    看着那五条记录,王雨的心里,终于有了一丝微弱的安慰。

    至少,事情在向前推进。

    至少,母亲的手术费,又近了一点点。

    他关掉后台页面,准备关电脑。但就在鼠标移到关闭按钮的瞬间,他的动作停住了。

    他的目光,落在了代码仓库的一个文件上。

    那个文件,是后台管理端的一个工具类,名字叫“Utils.java”。文件不大,只有几百行代码。但王雨记得,刘明和赵凯今天没有动过这个文件。这个文件,是陈默之前写的,里面封装了一些通用的方法,比如日期格式化、字符串处理、加密解密之类的。

    王雨点开了那个文件。

    他的目光,一行一行地扫过代码。

    大部分代码都很正常,注释清晰,逻辑简洁。但当他看到文件的最后几行时,他的瞳孔骤然收缩。

    那里,有一段代码,看起来很奇怪。

    那是一段大约二十行的代码,被包裹在一个看似无用的条件判断里。条件判断的表达式很复杂,涉及好几个变量的组合,但那些变量,在整个工具类里都没有被定义过。也就是说,这段代码,永远不会被执行。

    但代码本身,是存在的。

    王雨仔细看那段代码。

    代码的功能,是每隔一段时间,就向一个外部的URL发送一个HTTP请求。请求里携带了一些数据,包括当前服务器的IP地址、系统时间、还有一段经过加密的字符串。那个URL,是一个看起来很随机的域名,由字母和数字组成,没有任何意义。

    注释是乱码。

    不是中文,不是英文,而是一串毫无意义的字符:`#@$%^&*()_+`

    王雨的后背,瞬间冒出了一层冷汗。

    他的手指停在鼠标上,一动不动。

    他的大脑在飞速运转。

    这段代码,是干什么的?

    看起来,像是在收集服务器的信息,然后发送到某个外部地址。那个地址,是谁控制的?赵天豪?还是别的什么人?

    这段代码,是什么时候写进去的?

    陈默写的吗?

    如果是陈默写的,他为什么要写这个?是为了监控服务器的运行状态?还是为了……别的什么?

    王雨想起了前世。

    前世,他曾经见过类似的代码。那是在一家创业公司,技术总监在后台系统里埋了一个后门,定期把公司的核心数据发送到竞争对手的服务器上。那个后门,也是伪装成一段永远不会执行的冗余代码,注释也是乱码。

    后来,那家公司倒闭了。

    技术总监消失了。

    王雨盯着屏幕上的那段代码,心脏在胸腔里剧烈跳动。

    他的手,有些发抖。

    但他强迫自己冷静下来。

    他没有立刻删除那段代码。

    相反,他打开了另一个文件,开始写一段新的代码。那是一段监控代码,功能很简单:记录每一次向那个外部URL发送请求的时间、发送的数据、以及服务器的响应。他把这段监控代码,悄悄地插入到了那个工具类里,紧挨着那段可疑的代码。

    然后,他保存了文件。

    关掉编辑器,关掉电脑。

    工作室里,陷入一片黑暗。

    只有窗外的霓虹灯,还在不知疲倦地闪烁。红的光,绿的光,蓝的光,交替映在空荡荡的桌椅上,映在冰冷的电脑屏幕上,映在王雨苍白的脸上。

    他坐在黑暗里,很久很久。

    然后,他站起身,拿起外套,走出工作室。

    铁门在身后关上,发出沉闷的响声。

    楼道里很暗,声控灯依然没修。

    他一步一步走下楼梯,脚步声在空荡的楼道里回响。

    但他的心里,已经做出了决定。

    那段代码,他不会删。

    他要留着它。

    他要看看,到底是谁,在背后盯着他。

    他要将计就计。
『加入书签,方便阅读』