第5章 闭关
白宇航下楼去趟小卖铺,回宿舍时,就一个系的老大、老三、老五在,他手里拎著一个塑胶袋子,里面是十袋康师傅红烧牛肉麵,和四盒哈尔滨捲菸厂的平民特產,握手牌香菸。
“豁,”老三摘下耳机,瞄了一眼,“这是要修仙?”
“闭关。他们四个有课?”白宇航把东西往桌上一扔,“接下来两天,除了上厕所,我这屁股不离椅子,宿舍电脑这两天我占了,完事请大伙吃小炒。谁喊吃饭都別理我,老五,帮我打两壶开水。”
“得令。”老五刘景正愁没事干,屁顛屁顛去了。
白宇航打开电脑,屏幕幽蓝的光映在脸上。他在d盘根目录新建了一个工程文件夹,命名叫“qh_netbar_sys”,“启航网吧管理系统”。
2000年的网吧管理软体还处於蛮荒时代,大部分网吧老板都用烂笔头记帐,“几號机开机”、“几號机加一小时”,全靠网管和客人吼。
客人一多,网吧跟菜市场似的。
市面上仅有的几款管理软体,基本都是单机版,电脑开机后要手动打开软体才能计时,重启电脑,没人发现就能免费玩。
最噁心的是,花钱买联网的管理软体也漏洞百出,稍微懂点技术的网管或顾客,改个本地时间或者註册表就能免费上网。
白宇航没打算写多复杂,但软体的架构必须得稳。他直接採用了后世成熟的c/s架构,也就是客户端/服务端架构,服务端放在收银台控制,客户端装在每台机器上,两端之间的心跳包数据,每五秒验证一次,一旦断连或者数据对不上,直接锁屏。
敲代码的声音在宿舍里响起,节奏相当快,像暴雨打在铁皮瓦上。
下午四点多,白宇航正在泡麵,传呼机响了。
白宇航扫了一眼,是苏沐清。他放下手中的活,抓起外套快速跑到一楼走廊尽头的电话亭。
“我要回去了。”听筒里苏沐清的声音,不像往常的轻柔,有些失真,背景音嘈杂,像是在火车站,“调研提前结束了。”
“几点的车?”
“五点半,t18次。”
白宇航看了看表,来不及送了。“那,一路顺风。”
“嗯。”那边沉默了两秒,“钱省著点花,不够……发邮件、打电话给我,或者给我oicq留言,保持联繫。”
“放心,饿不著。”
“祝你顺利,別让我赔本。”苏沐清忽然莞尔,“我的白总。”
“是祝我们顺利,儘量让苏总明年能分到红。”
电话掛断。
白宇航握著听筒在冷风中站了一会儿,听著里面反覆的忙音,直到忙音结束,才微笑著,掛断了电话。
那种属於2000年的离別感,很浓,是一种无处著力的感觉。那时没有微信,没有视频。人们之间的离別,就像突然断了线的风箏。只能等下一封邮件,或者聊天软体上的留言。
白宇航快步回到宿舍,无缝切回“无情码农”模式。
老三张健在一旁打完两局cs,实在忍不住好奇,端著大茶缸子,凑到白宇航身后看热闹。
张健在软体工程系这一届学生里是技术达人,学霸级別,动手能力公认很强,起初他满脸还掛著那种“我看你都在瞎折腾点啥”的戏謔。
十分钟,他只看了十分钟,茶缸乾脆停在嘴边,忘了喝。
屏幕上白宇航敲的代码,结构清晰得嚇人。变量命名规范,注释详尽,准备模块化封装,跟他平时见到的那些乱七八糟的“麵条代码”根本不是一个物种。
“哎,老六。”老三忍不住指著屏幕,“你这块內存分配……怎么写的这么绕?直接用malloc函数,动態內存分配,不就行了?”
“直接用不行,容易產生碎片,有的网吧机器配置低,太破,跑久了会卡。”白宇航头也没回,手指在键盘上飞舞,“你看这,我写了个简单的內存池。”
老三天天都关著的眼皮,瞬间睁开了一下。大一刚学c语言,很多人指针还没搞利索,这货已经开始手写內存池了?
“还有这个。”老三指著屏幕上一段奇怪的进程保护代码,“这又是干啥的?防病毒的吗?”
白宇航停下动作,回头冲老三咧嘴一笑,那笑容里透著股老谋深算:“这个啊,这叫『守护进程』。防止有人手贱关掉计费软体,顺便……还得確保电脑瀏览器主页,永远是我们的导航站。”
“只要检测到主页被改动,”白宇航比划了一个手势,凭空抓了一下,“它就会在后台静默改回来,每分钟检查一次,刪不掉,关不了,除非重装系统,不然谁也没治。”
老三听得目瞪口呆:“臥槽,那这不就是木马流氓软体吗?”
“不不,可不是啊,这叫『用户体验保障』,你別瞎说。”白宇航纠正道,“防止恶意篡改,为了网吧安全。”
老三竖起大拇指:“你牛,我看以后啊,谁得罪你谁倒霉。”
虽然嘴上吐槽,但老三看白宇航的眼神变了。
都是学计算机的,行家一出手,就知有没有。白宇航这水平,別说大一,就是大四那帮快毕业的师兄也未必赶得上他。
到了第二天深夜,宿舍楼早就熄灯了,寢室里其他六位哥们兄弟都睡得呼呼的,只有两台电脑还亮著,白宇航和老三还在忙碌。
白宇航遇到了麻烦。
封装好的程序在虚擬机上跑得好好的,但在和老三的电脑组区域网,做实机环境测试时,经常莫名其妙蓝屏。
“怎么回事?”白宇航皱眉,盯著满屏的十六进位代码。
“我看像是异常中断衝突。”老三也没睡,他在旁边帮忙,“现在的旧主板irq资源不够,你这心跳包数据发得太频了吧,像是跟网卡驱动打架了。”
“有道理。”白宇航揉了揉发胀的太阳穴,“得降频,或者换个异步io模型。”
“你改代码,我接著帮你测。”老三把椅子拉过来,“我这电脑上装了三个不同版本的windows 98和95,正好做兼容性测试。”
“谢了。”
“少废话,事成之后分我钱、请吃饭就行。”
接下来的四个小时,宿舍里只剩下轻按的键盘声和两人偶尔的低语。
“这版怎么样?”
“还是崩,你看,0x0000000a错误。”
“那试试这个,我加了异常捕获。”
“行,好像稳住了……哎,不对不对,我擦,內存泄露了,涨得飞快。”
“靠,怨我,忘了释放句柄了我。”
那种默契很奇妙。
前世白宇航带过上百人的项目团队,但那种层级分明的协作,敏捷开发,远不如现在这样肩並肩作战来得痛快。
老三虽然技术有些稚嫩,但直觉极准,动手能力確实强,一说就明白,总能第一时间抓到bug的尾巴。
凌晨四点。
老三盯著屏幕上稳定运行了半小时的“启航网吧管理系统 v1.0”,打了个巨大的哈欠:“稳了?”
“嗯,稳了。”
白宇航靠在椅背上,感觉脊椎都要断了。
他摸出最后一包握手牌香菸,从仅剩的几根里,扔给老三一根,自己抽出一根点上,深深吸了一口。
辛辣的烟雾,在肺里转了一圈吐出来,带走了一身的疲惫。
屏幕上,正运行著测试好的管理软体的服务端,界面很简单,左边是网吧內全部机器的列表,每一个电脑样式的小图標代表一台网吧电脑,下面都有一个亮点,绿色代表空閒,红色代表使用中;右边是可以选择电脑编號的计费详情和控制按钮。
虽然简陋,但这是2000年时,绝无仅有的“云端人机验证”雏形,更是他攻占网吧桌面的名副其实的“特洛伊木马”。
“老六,”老三趴在桌子上,眼皮打架,“这玩意儿要是真推广开,咱们是不是就发了?”
“这才哪到哪。”白宇航看著屏幕上启航网吧管理系统的蓝色的帆船图標,有点憧憬的说,“这顶天,也就是张门票。”
老三没听见,已经趴在桌上睡著了,发出轻微的鼾声,耳朵上掛著刚扔给他的香菸。
白宇航起身推开窗户,透了下气。
凌晨四点的哈尔滨,寒气逼人。路灯昏黄,街道空旷,远处偶尔传来几声狗叫。
软体如期写好了,有了与网吧老板们进一步绑定,互惠互利的桥樑。
可光是赵建军那三家网吧里,环境就挺复杂,机器配置更是千奇百怪,上网的人更是三教九流。
这套在宿舍里跑通的系统,到了那种乌烟瘴气的实战环境里,能不能扛得住那帮“破坏分子”的折腾,还是个未知数。
白宇航把烟掐灭,关上窗,屋里的暖气瞬间笼罩全身,他回身把外套披在老三身上,爬上了自己的床。
睡觉。
醒了,就起身去道外。
“豁,”老三摘下耳机,瞄了一眼,“这是要修仙?”
“闭关。他们四个有课?”白宇航把东西往桌上一扔,“接下来两天,除了上厕所,我这屁股不离椅子,宿舍电脑这两天我占了,完事请大伙吃小炒。谁喊吃饭都別理我,老五,帮我打两壶开水。”
“得令。”老五刘景正愁没事干,屁顛屁顛去了。
白宇航打开电脑,屏幕幽蓝的光映在脸上。他在d盘根目录新建了一个工程文件夹,命名叫“qh_netbar_sys”,“启航网吧管理系统”。
2000年的网吧管理软体还处於蛮荒时代,大部分网吧老板都用烂笔头记帐,“几號机开机”、“几號机加一小时”,全靠网管和客人吼。
客人一多,网吧跟菜市场似的。
市面上仅有的几款管理软体,基本都是单机版,电脑开机后要手动打开软体才能计时,重启电脑,没人发现就能免费玩。
最噁心的是,花钱买联网的管理软体也漏洞百出,稍微懂点技术的网管或顾客,改个本地时间或者註册表就能免费上网。
白宇航没打算写多复杂,但软体的架构必须得稳。他直接採用了后世成熟的c/s架构,也就是客户端/服务端架构,服务端放在收银台控制,客户端装在每台机器上,两端之间的心跳包数据,每五秒验证一次,一旦断连或者数据对不上,直接锁屏。
敲代码的声音在宿舍里响起,节奏相当快,像暴雨打在铁皮瓦上。
下午四点多,白宇航正在泡麵,传呼机响了。
白宇航扫了一眼,是苏沐清。他放下手中的活,抓起外套快速跑到一楼走廊尽头的电话亭。
“我要回去了。”听筒里苏沐清的声音,不像往常的轻柔,有些失真,背景音嘈杂,像是在火车站,“调研提前结束了。”
“几点的车?”
“五点半,t18次。”
白宇航看了看表,来不及送了。“那,一路顺风。”
“嗯。”那边沉默了两秒,“钱省著点花,不够……发邮件、打电话给我,或者给我oicq留言,保持联繫。”
“放心,饿不著。”
“祝你顺利,別让我赔本。”苏沐清忽然莞尔,“我的白总。”
“是祝我们顺利,儘量让苏总明年能分到红。”
电话掛断。
白宇航握著听筒在冷风中站了一会儿,听著里面反覆的忙音,直到忙音结束,才微笑著,掛断了电话。
那种属於2000年的离別感,很浓,是一种无处著力的感觉。那时没有微信,没有视频。人们之间的离別,就像突然断了线的风箏。只能等下一封邮件,或者聊天软体上的留言。
白宇航快步回到宿舍,无缝切回“无情码农”模式。
老三张健在一旁打完两局cs,实在忍不住好奇,端著大茶缸子,凑到白宇航身后看热闹。
张健在软体工程系这一届学生里是技术达人,学霸级別,动手能力公认很强,起初他满脸还掛著那种“我看你都在瞎折腾点啥”的戏謔。
十分钟,他只看了十分钟,茶缸乾脆停在嘴边,忘了喝。
屏幕上白宇航敲的代码,结构清晰得嚇人。变量命名规范,注释详尽,准备模块化封装,跟他平时见到的那些乱七八糟的“麵条代码”根本不是一个物种。
“哎,老六。”老三忍不住指著屏幕,“你这块內存分配……怎么写的这么绕?直接用malloc函数,动態內存分配,不就行了?”
“直接用不行,容易產生碎片,有的网吧机器配置低,太破,跑久了会卡。”白宇航头也没回,手指在键盘上飞舞,“你看这,我写了个简单的內存池。”
老三天天都关著的眼皮,瞬间睁开了一下。大一刚学c语言,很多人指针还没搞利索,这货已经开始手写內存池了?
“还有这个。”老三指著屏幕上一段奇怪的进程保护代码,“这又是干啥的?防病毒的吗?”
白宇航停下动作,回头冲老三咧嘴一笑,那笑容里透著股老谋深算:“这个啊,这叫『守护进程』。防止有人手贱关掉计费软体,顺便……还得確保电脑瀏览器主页,永远是我们的导航站。”
“只要检测到主页被改动,”白宇航比划了一个手势,凭空抓了一下,“它就会在后台静默改回来,每分钟检查一次,刪不掉,关不了,除非重装系统,不然谁也没治。”
老三听得目瞪口呆:“臥槽,那这不就是木马流氓软体吗?”
“不不,可不是啊,这叫『用户体验保障』,你別瞎说。”白宇航纠正道,“防止恶意篡改,为了网吧安全。”
老三竖起大拇指:“你牛,我看以后啊,谁得罪你谁倒霉。”
虽然嘴上吐槽,但老三看白宇航的眼神变了。
都是学计算机的,行家一出手,就知有没有。白宇航这水平,別说大一,就是大四那帮快毕业的师兄也未必赶得上他。
到了第二天深夜,宿舍楼早就熄灯了,寢室里其他六位哥们兄弟都睡得呼呼的,只有两台电脑还亮著,白宇航和老三还在忙碌。
白宇航遇到了麻烦。
封装好的程序在虚擬机上跑得好好的,但在和老三的电脑组区域网,做实机环境测试时,经常莫名其妙蓝屏。
“怎么回事?”白宇航皱眉,盯著满屏的十六进位代码。
“我看像是异常中断衝突。”老三也没睡,他在旁边帮忙,“现在的旧主板irq资源不够,你这心跳包数据发得太频了吧,像是跟网卡驱动打架了。”
“有道理。”白宇航揉了揉发胀的太阳穴,“得降频,或者换个异步io模型。”
“你改代码,我接著帮你测。”老三把椅子拉过来,“我这电脑上装了三个不同版本的windows 98和95,正好做兼容性测试。”
“谢了。”
“少废话,事成之后分我钱、请吃饭就行。”
接下来的四个小时,宿舍里只剩下轻按的键盘声和两人偶尔的低语。
“这版怎么样?”
“还是崩,你看,0x0000000a错误。”
“那试试这个,我加了异常捕获。”
“行,好像稳住了……哎,不对不对,我擦,內存泄露了,涨得飞快。”
“靠,怨我,忘了释放句柄了我。”
那种默契很奇妙。
前世白宇航带过上百人的项目团队,但那种层级分明的协作,敏捷开发,远不如现在这样肩並肩作战来得痛快。
老三虽然技术有些稚嫩,但直觉极准,动手能力確实强,一说就明白,总能第一时间抓到bug的尾巴。
凌晨四点。
老三盯著屏幕上稳定运行了半小时的“启航网吧管理系统 v1.0”,打了个巨大的哈欠:“稳了?”
“嗯,稳了。”
白宇航靠在椅背上,感觉脊椎都要断了。
他摸出最后一包握手牌香菸,从仅剩的几根里,扔给老三一根,自己抽出一根点上,深深吸了一口。
辛辣的烟雾,在肺里转了一圈吐出来,带走了一身的疲惫。
屏幕上,正运行著测试好的管理软体的服务端,界面很简单,左边是网吧內全部机器的列表,每一个电脑样式的小图標代表一台网吧电脑,下面都有一个亮点,绿色代表空閒,红色代表使用中;右边是可以选择电脑编號的计费详情和控制按钮。
虽然简陋,但这是2000年时,绝无仅有的“云端人机验证”雏形,更是他攻占网吧桌面的名副其实的“特洛伊木马”。
“老六,”老三趴在桌子上,眼皮打架,“这玩意儿要是真推广开,咱们是不是就发了?”
“这才哪到哪。”白宇航看著屏幕上启航网吧管理系统的蓝色的帆船图標,有点憧憬的说,“这顶天,也就是张门票。”
老三没听见,已经趴在桌上睡著了,发出轻微的鼾声,耳朵上掛著刚扔给他的香菸。
白宇航起身推开窗户,透了下气。
凌晨四点的哈尔滨,寒气逼人。路灯昏黄,街道空旷,远处偶尔传来几声狗叫。
软体如期写好了,有了与网吧老板们进一步绑定,互惠互利的桥樑。
可光是赵建军那三家网吧里,环境就挺复杂,机器配置更是千奇百怪,上网的人更是三教九流。
这套在宿舍里跑通的系统,到了那种乌烟瘴气的实战环境里,能不能扛得住那帮“破坏分子”的折腾,还是个未知数。
白宇航把烟掐灭,关上窗,屋里的暖气瞬间笼罩全身,他回身把外套披在老三身上,爬上了自己的床。
睡觉。
醒了,就起身去道外。