陈北没想到,他的项目会被人盯上。
这个项目是他入职以来接手的第一个独立任务——开发一套小型电商系统的后台架构。不算大,但足够复杂。他熬了七个晚上,写了两千多行代码,测试了三十几个接口,终于在截止日期前一天交付了全部文档和源码。组长看了之后拍着他的肩膀说:“不错,有潜力。”
陈北高兴了一整天。他抱着大爷在出租屋里转了三圈,大爷被他转得头晕,一爪子拍在他脸上。
“猫爷,这个项目要是成了,我就能在公司站稳脚跟了。”他把大爷举到眼前,对着它的脸说。大爷眯着眼,表情在说“关我什么事”。
陈北把它放下来,打开电脑,又检查了一遍代码。没问题,逻辑严谨,注释清晰,架构图也画得漂漂亮亮。他觉得自己的程序员生涯终于要走上正轨了。
第二天早上,他刚到公司,就发现气氛不对。
同事们三三两两聚在一起,盯着手机屏幕窃窃私语。陈北坐到工位上,打开电脑,习惯性地刷了一下行业新闻。头条让他愣住了。
“天豪集团旗下电商平台今日上线,对标同类产品,引发行业关注。”
天豪集团。他知道这家公司。业内排名前三,老板姓张,叫张天豪,据说是个极有手腕的人物。陈北曾经看过一篇专访,张天豪在采访里说:“商业竞争,不择手段。”当时他觉得这只是狠话,现在他知道了,这不是狠话,是预告。
他点进那条新闻,看到了天豪集团新上线的电商平台。界面设计、功能模块、技术架构——他越看越眼熟。不是似曾相识,是一模一样。连那个他随手写的“分类树递归查询”的实现方式,都原封不动地出现在了他们的代码里。
陈北的脸色一点点变白。他的手指在鼠标上发抖,额头上开始冒汗。
“完了,”他低声说,“方案被偷了。”
他不知道是怎么被偷的。也许是他的电脑被黑过,也许是有人在公司内部泄密,也许——他不敢往下想。他只知道,他花了七个晚上写的东西,现在变成了别人家的产品。而且对方比他早上线一天。一天,就一天。
组长走过来,站在他身后,也看到了那条新闻。沉默了很久,拍了拍他的肩膀:“先别急,看看情况。”
陈北点头,但他的心已经沉到了谷底。
与此同时,城市另一端的写字楼里,天豪集团的会议室正开着庆功会。
张天豪坐在长桌的主位,面前摆着一杯黑咖啡和一碟马卡龙。他五十出头,头发花白但梳得一丝不苟,穿着定制的深灰色西装,袖口的扣子是纯金的。他的手指修长,指甲修剪得很整齐,此刻正一下一下地敲着桌面。
“技术部,干得不错。”他的声音不高,但整个会议室都安静下来。他扫了一圈在座的人,嘴角微微上扬,“比原计划提前了两天上线,而且——”他顿了顿,“代码写得比陈北那个小子的原版还好。你们优化过了?”
技术总监擦了擦额头的汗:“是的张总,我们做了部分重构,性能提升了百分之十五。”
张天豪满意地点了点头。他端起咖啡,喝了一口,然后放下,靠在椅背上。“记住,商场如战场。陈北那个项目,本来就是一块肥肉。谁抢到,谁就是赢家。”他把“赢家”两个字咬得很重,像是在给所有人上一课。
会议室的角落里,有人小声说:“这样不太好吧?毕竟是抄袭……”
张天豪的目光立刻扫过去,像一把刀。“抄袭?”他笑了,笑意没有到达眼底,“这叫市场竞争。他的方案又不是专利,凭什么不能用?再说了——”他站起来,双手撑在桌上,身体前倾,“我们比他早上线,从今天起,这个产品就是我们的。”
没有人再说话。会议室里只剩下翻文件和喝咖啡的声音。
张天豪坐回去,拿起手机,拨了一个号码。电话那头接了,他说:“继续盯着陈北。他要是再搞出新东西,第一时间告诉我。”挂掉电话,他把手机扔在桌上,靠在椅背上,闭着眼睛,手指继续敲桌面。
咚、咚、咚。像倒计时。
而此时,陈北正蹲在公司楼下花坛边。
他请了半天假,说要带猫去体检,其实只是想出来透透气。他把大爷从背包里放出来,让它自己在花坛里玩。大爷对花坛没什么兴趣,它更感兴趣的是从旁边跑过的一只灰猫。
那只灰猫浑身脏兮兮的,瘦得像一根棍子,耳朵上有缺口,一看就是老江湖。它从大爷面前跑过去,头都没回。大爷看了它一眼,没有追,只是蹲在花坛边沿上,尾巴垂下来,一晃一晃的。
太阳很好,照在身上暖洋洋的。大爷眯着眼,享受着阳光。它快要睡着了。
然后一只脚踢了过来。
不是踢它,是踢花坛边沿。但大爷的尾巴刚好垂在那里,那只脚蹭到了它的尾巴尖。大爷猛地睁开眼,炸毛了。它弓起背,耳朵往后压,尾巴膨得像一把鸡毛掸子。
踢它的是一个保安。穿着灰色制服,帽檐压得很低,手里拿着一根橡胶棍。他低头看着大爷,嘴里蹦出两个字:“滚开,臭野猫。”
说完,又踢了一脚——这次是冲着大爷的身体去的。大爷灵巧地一跳,躲开了。但它没有跑。它蹲在花坛的另一边,盯着那个保安,瞳孔缩成一条细线。
保安没再理它,转身走进大楼。
大爷蹲在原地,尾巴慢慢放下来,但背上的毛还炸着。它的眼睛一直盯着那扇玻璃门,门里面,保安的身影消失在走廊尽头。
它低下头,舔了舔被蹭到的尾巴尖。然后抬起头,张嘴连叫了三声。
“喵——喵——喵——”
声音不大,但很清晰。花坛里那只灰猫从灌木丛中探出头,看了它一眼,又缩回去了。
大爷叫完之后,身体微微颤了一下。它感觉又有一天的寿命被抽走了。但它不在乎。它在乎的是,那个穿灰衣服的人类,踢了它的尾巴。
没有人可以踢它的尾巴。
陈北从公司大楼里出来的时候,看到大爷正蹲在花坛边沿上,舔爪子。表情跟平时一模一样——淡然、冷漠、生人勿近。
“猫爷,走吧。”陈北把它抱起来,放进背包里。他不知道刚才发生了什么,也不知道大爷叫了三声。他只知道自己的项目被偷了,心情差到了极点。他背着包,低着头,漫无目的地走在街上。他不想回公司,也不想回出租屋。他只想找个地方,安安静静地坐一会儿。
但他不知道的是,就在他走出公司大门的那一刻,城市另一端的写字楼里,天豪集团的技术部已经炸了锅。
“服务器全部宕机了!”
一个年轻的程序员尖叫着从椅子上弹起来。他面前的屏幕一片蓝,蓝得像深海。他疯狂地敲键盘,按Ctrl+Alt+Delete,没反应。按电源键,没反应。他拔掉电源线再插上,开机——还是蓝屏。
不只是他。技术部的三十多台电脑,同一时间全部蓝屏。服务器机柜里,十几台服务器的指示灯从绿变黄,从黄变红,最后全部熄灭。整个机房陷入死寂,只剩下空调的嗡嗡声。
“怎么回事?!”技术总监冲进来,脸上的血色瞬间褪尽。
“不知道,突然就——所有的数据都打不开了。”有人声音发抖。
“备份呢?”
“备份——备份也打不开了。对方的攻击好像是从内部发起的,删掉了所有的备份记录。”
技术总监的腿发软,他扶着桌子,指甲嵌进桌面,留下一道道白印。他知道这意味着什么。所有数据,包括他们刚刚上线的新平台的所有代码、数据库、配置文件,全部清零。没有了。什么都没有了。
会议室里,张天豪还在喝咖啡。
他面前摆着一份文件,是关于下一步市场推广的计划。他已经联系好了三家媒体,准备明天发通稿,标题都想好了——“天豪集团电商平台上线首日,用户突破十万”。至于数据真假,不重要。重要的是声势。
他的手机响了。技术总监的声音从听筒里传出来,又急又乱:“张总,服务器被攻击了,所有数据都没了。”
张天豪的手指停住了。
“什么?”
“全没了。代码、数据库、备份,全部被删了。我们怀疑是内部攻击,但找不到来源。”
张天豪站起来,咖啡杯被他的袖子带倒,棕色的液体泼在文件上,把“用户突破十万”那几个字泡成了一团模糊。他没有管。他拿起外套,大步走出会议室,皮鞋踩在地面上,发出急促的“哒哒”声。
走廊里的员工看到他铁青的脸色,纷纷让路。
他走进技术部的时候,整个部门已经乱成了一锅粥。有人蹲在地上抱头,有人在打电话,有人盯着蓝屏发呆。技术总监迎上来,嘴唇发白:“张总,恢复不了了。对方的攻击太彻底,连硬盘都被低级格式化了。”
张天豪的拳头砸在桌上,发出一声巨响。所有人都安静了,看着他。
“查。”他的声音从牙缝里挤出来,“给我查清楚,是谁干的。”
但没有人能查。没有日志,没有痕迹,甚至没有攻击来源的IP。那些服务器就像被一只看不见的手抹了一下,干干净净,什么都没留下。
与此同时,陈北坐在街心公园的长椅上,抱着大爷发呆。
他不知道天豪集团发生了什么。他只是看着天空,想着自己的项目,想着那七个晚上的努力,想着组长拍他肩膀时说的“不错,有潜力”。他觉得这一切都很讽刺。他写了一千行代码,别人偷走了,变成了别人的成功。而他,只能坐在公园里,抱着一只猫,无所事事。
大爷趴在他腿上,闭着眼。它知道天豪集团发生了什么。它叫的三声,“张总公司服务器全炸”,已经生效了。它又少了一天的命。但它懒得想这些,它只想晒太阳。
陈北低头看它,摸了摸它的背。“猫爷,你说我是不是太倒霉了?”他问。
大爷没理他。
“项目被偷了,公司可能会怀疑我泄密,工作可能也保不住了。”他继续说,像是在自言自语,“我是不是不该来这家公司?”
大爷睁开一只眼,看了他一眼,又闭上了。它的表情在说:你能不能安静点,我在睡觉。
陈北苦笑了一下,站起来,把大爷放进背包里,往出租屋走。他不想再想那些事了。他只想回家,睡一觉,什么都不管。
他走了二十分钟,到了出租屋楼下。上楼的时候,他听到楼上传来电视的声音,是新闻频道。
他推开门,把大爷从背包里放出来。大爷跳上沙发,蹲在扶手上,尾巴垂下来。陈北打开电视,拿着遥控器换台——他需要一些声音填满空荡荡的房间。
换到新闻频道的时候,他停住了。
电视屏幕上,主播正用一种急促的语气播报:“最新消息,天豪集团今日突发重大网络安全事件,公司内部服务器遭到不明攻击,全部数据被清空。据悉,天豪集团刚刚上线的电商平台也因此瘫痪。目前,警方已介入调查。”
画面切到了天豪集团大楼外。记者站在门口,身后是一辆辆警车和闪烁的警灯。员工们三三两两从大楼里走出来,表情迷茫,有人低头看手机,有人对着镜头遮脸。
陈北张大了嘴。
天豪集团。服务器被攻击。数据被清空。电商平台瘫痪。
他突然想起了什么。他猛地转头看向沙发。大爷正蹲在扶手上,尾巴一晃一晃的,表情淡然。它看到陈北在看它,张开嘴,打了个哈欠。露出粉色的舌头和几颗尖尖的牙齿。
打完哈欠,它舔了舔嘴角,继续蹲着,尾巴继续晃。
“猫爷……”陈北的声音有些发抖,“天豪集团……是你干的?”
大爷没理他。它把下巴搁在扶手上,闭上了眼睛。
陈北盯着它看了十秒,二十秒,三十秒。他想起了今天在公司楼下,大爷被保安踢了尾巴的事——他不知道这件事,但他能猜到,大爷一定做了什么。这只猫每次生气,都会有倒霉的事发生。不是巧合,不是运气,是这只猫。
他站起来,走过去,一把抱起大爷,搂在怀里。大爷被他勒得喘不过气,伸出爪子推他的脸。
“运气来了挡都挡不住!”陈北抱着它在屋里转圈,“天豪集团完了!我的项目虽然被偷了,但他们也没占到便宜!”
大爷被他转得头晕,一爪子拍在他脸上。陈北停下来,低头看它。大爷正用一种看白痴的眼神盯着他。它的表情在说:你能不能安静点?让我睡觉。
陈北笑出了声,把它放回沙发上,坐在旁边,摸着它的背。“猫爷,你是不是在帮我?”他问。
大爷闭着眼,尾巴轻轻摆了一下。
陈北看着电视里天豪集团的新闻,嘴角慢慢翘起来。他不知道这一切是怎么发生的,但他知道一件事——他的运气,好得离谱。好到连竞争对手倒霉,都像是老天在帮他。
他靠在沙发上,把大爷搂过来,让它趴在自己腿上。大爷没有挣扎,只是调整了一下姿势,把下巴搁在他膝盖上。
电视里的新闻还在播。主播说:“天豪集团此次事件,预计造成数千万的损失,公司股价可能面临大幅下跌。”陈北听到“股价下跌”四个字,眼睛亮了。他拿起手机,打开股票软件,找到天豪集团的股票——果然,盘后已经开始暴跌了。
他深吸一口气,觉得自己简直就是天选之人。连对手的股票跌,都像是在为他让路。
他不知道的是,趴在他腿上的那只猫,刚刚又老了一天。
但大爷没想这些。它想的是,今天那个人类穿灰衣服的,踢了它的尾巴。它叫了三声,让整个服务器炸了。这笔账,算清了。
它闭上眼,听着陈北的心跳声,尾巴尖轻轻扫过他的手腕。
窗外,夕阳正在下沉,天空被染成橘红色,像大爷的毛。新闻里,天豪集团的大楼在夕阳中投下一道长长的影子,像一个正在倒下的巨人。
而陈北的出租屋里,一人一猫安安静静地坐着,电视的光在他们脸上明明灭灭。
明天,又是新的一天。而大爷的寿命,又少了一天。
但它不在意。它只在意,今天晚上,陈北会不会给它买三文鱼。