第16章 技术考验(1/2)
坐在靠窗的工位上,林辰并没有急于开始编码。他先是花了一些时间,熟悉这台“新”电脑的环境。
操作系统是 windows nt 4.0,开发环境主要是 visual c++ 6.0 和刚兴起不久的 delphi,角落里还躺着一个装着 redhat linux 5.1 光盘的盒子。
机器性能比宿舍那台老古董强不少,但和他前世用惯了的云开发环境相比,依然是天壤之别。
他熟练地打开资源管理器,检查磁盘空间,又调出任务管理器看了看内存占用——基地的机器果然也跑着不少后台服务,资源并不宽裕。
这种“抠抠搜搜”的环境,反而激起了他的斗志。在有限资源下做出极致性能,不正是这个时代程序员的浪漫吗?
“怎么样,还习惯吗?”周斌端着一个印着“清华大学”字样的搪瓷杯走了过来,杯口冒着热气,茶叶梗在里面沉沉浮浮。
“挺好的,比宿舍条件好多了。”林辰笑着回应,“谢谢学长。”
“别客气,以后就是自己人了。”周斌靠在隔断上,压低声音,“刚才吴峰就那脾气,技术宅的通病,眼里只有代码和逻辑,人情世故差点意思。不过人不错,遇到真解决不了的技术难题,找他准没错。”
“明白,我觉得这样挺好,直接,高效。”林辰表示理解。
“嗯,你能这么想最好。”周斌点点头,喝了口茶,“对了,既然你们团队都加入基地了,bbs的服务器是不是可以考虑迁过来?这边网络更稳定,运维也方便。信息中心那边总抱怨你们占用了太多出口带宽。”
这正是林辰所期待的。他立刻点头:“没问题,我们尽快安排迁移。不过学长,迁移过程中可能需要短暂停机,还得麻烦基地这边提供技术支持。”
“小事儿,我跟运维组的同学打个招呼,你们配合着来。”周斌大手一挥,很是爽快,“还有,你们那个‘开放qq’的项目,有什么需要也可以提。基地虽然资源紧张,但对有潜力的项目,还是会倾斜支持的。”
“太感谢学长了!”林辰心中一定,有了基地官方层面的支持,很多事就好办多了,“我们目前最需要的是一个更稳定的开发测试环境,以及……如果可能的话,希望能申请到一些独立的带宽资源,用于后续的通信协议测试。”
“开发环境好说,那边还有几台空闲的机器,我给你们划两台。”周斌指着机房角落,“带宽嘛……我得跟王老师申请一下,问题应该不大。不过林辰,”他话锋一转,语气带着提醒,“基地有基地的规矩,资源不是白给的。
每个季度会有项目评审,进展不佳或者方向不受认可的项目,资源可能会被收回。而且,基地鼓励技术共享和协作,你们的核心代码,虽然不要求完全开源,但在关键技术上,最好能对基地成员有所启发。”
这就是代价了。林辰心知肚明。他需要贡献自己的技术影响力,来换取实实在在的资源。
“我明白,学长。”林辰郑重承诺,“我们会定期分享技术心得,也会积极参与基地的其他项目。”
“好!就喜欢你这种明白人!”周斌满意地拍了拍林辰的肩膀,“那你先忙着,有什么需要随时找我。”
送走周斌,林辰深吸一口气,开始动手配置开发环境。他决定将“开放qq”的核心服务端代码迁移到 linux 环境下,这对于未来的高并发处理和跨平台部署更有优势。而在 windows 下,则主要进行客户端界面和部分辅助工具的开发。
正当他埋头折腾 编译参数时,一个身影悄无声息地出现在他旁边。
是吴峰。
他手里拿着一张打印出来的纸,上面似乎是某种协议分析的日志。
“林辰,”吴峰的语气依然没什么起伏,但少了之前的挑衅,“你刚才提到的‘事件驱动异步io’,在 linux 下,除了 select,是不是用 poll 或者 epoll 更好?我看过一些文章,说 select 有文件描述符数量的限制。”
林辰停下手中的动作,有些意外,但很快反应过来。技术人之间的交流,往往就是这么直接。你展示了实力,就赢得了对话的资格。
“峰哥说得对。”林辰从善如流地用了尊称,“select 确实有 fd_setsize 的限制,默认一般是1024。poll 在这方面有所改进,但性能上,在文件描述符非常多的时候,两者都需要遍历整个集合,效率是 o(n) 的。epoll 是 linux 2.6 内核才引入的,采用基于事件的就绪通知方式,效率是 o(1),是目前最好的选择。”
他顿了顿,补充道:“不过我们现在的业务规模,select 或 poll 暂时够用。直接上 epoll 的话,代码可移植性会差一些,毕竟不是所有 unix-like 系统都支持。”
吴峰眼中闪过一丝亮光,像是找到了知音:“没错!可移植性和性能的权衡。你们bbs现在用的 apache 模块,就是多进程模型的典型。看来你确实考虑过这个问题。”他扬了扬手中的纸,“我在分析一个私有协议,遇到点麻烦,数据包重组老是出错,要不要一起看看?”
这就开始技术协作了?林辰愣了一下,随即欣然答应:“好啊,我看看能不能帮上忙。”
接下来的一个小时,两人就挤在一台电脑前,对着密密麻麻的十六进制码和协议文档,激烈地讨论起来。林辰凭借前世丰富的网络编程经验,很快指出了吴峰在状态机设计上的一个细微瑕疵。吴峰一点就透,立刻修改代码,重新测试,问题果然迎刃而解。
“厉害!”吴峰难得地露出了一个堪称“灿烂”的笑容,虽然在他苍白的脸上显得有些僵硬,“你这个状态迁移的思路很清晰!比我自己瞎琢磨强多了!”
“峰哥你基础扎实,我就是旁观者清。”林辰谦虚道。
经过这番深入的技术交流,两人之间的距离感瞬间拉近了不少。吴峰甚至主动分享了一些基地内部的技术“秘籍”,比如哪台服务器性能最好但脾气古怪,哪个仓库里还藏着一些“古董级”但可能有用的开发板。
下午四点多,林辰正准备去吃饭,苏晚晴、陈浩和刘博出现在了基地门口。
“辰哥!这就是咱们的新据点啊!”陈浩一进来就大呼小叫,好奇地东张西望,“嚯!这么多服务器!这得值多少钱啊!”
他的大嗓门立刻引来了不少目光。苏晚晴有些不好意思地拉了拉他的袖子。
林辰笑着迎上去:“来了?感觉怎么样?”
“比想象中……更专业。”苏晚晴轻声说,目光扫过那些忙碌的身影和闪烁的机柜,带着一丝向往。
刘博则直接走到一台开着的服务器后面,盯着里面错综复杂的线缆和指示灯,推了推眼镜,喃喃道:“布线可以优化,散热风道有点问题。”
林辰把他们带到自己的工位附近,介绍了基地的基本情况和刚才与周斌、吴峰的接触。
“我靠!辰哥你这就跟基地大神勾搭上了?”陈浩一脸崇拜。
“是技术交流。”林辰纠正他,然后把周斌关于服务器迁移和资源支持的话转述了一遍。
本章未完,点击下一页继续阅读。