老码农原创小说《码农故事》 24-25回

《码农故事》第二十四回

莫楠回去越想越觉得不对劲:核心系统的架构和域类设计这么重要的东西,怎么能轻易地全部告诉一个外人?这可是当年赵川带着自己不知道熬了多少个通宵才做出来的。里边有多少技巧,解决了多少复杂的算法问题啊!而且,在后来的两年时间里他们又不断地对系统架构进行了优化,很多在高并发、大数据量的情况下才能出现的问题他们也是第一次碰到,费了很多心血才一一解决。这些都是没有积累一定的用户量和数据量的开发者很难具备的经验,他看着这些代码就像是他的命根子一样。可是,一夜之间就全部让陈呆子了解了这么多精华,岂不是太亏了吗?

莫楠忧心忡忡的,一晚上都没有睡好。第二天一大早他就跑到公司,等赵川来了打算好好跟他说说,劝他别再让陈呆子看那么多内部的东西了。可是,赵川和陈呆子是同学,他似乎很信任陈呆子。自己能说服赵川吗?
他在座位上坐立不安地等着,感觉脑袋晕晕乎乎的,心情也不好。过了一会有人推门进来,他探起身子一看,来人不是赵川,而是段倩,于是又失望地坐回椅子里。

段倩看见莫楠的样子觉得很奇怪:他没在干活,可是看见有人来了居然一言不发,闷坐在自己座位上,这可是很少见的场景啊。她放下包走到莫楠的座位边,笑着问道:“莫大牛,你今天这是怎么了,生病了?”
莫楠没好气地说:“去去去,小丫头片子,别烦我。”
段倩也有点不高兴了:“哼,你这人真不知道好歹,我才懒得管你呢!”

莫楠今天没心情和段倩斗嘴,扭了一下身子,把转椅转了半圈,对着窗外发呆。

段倩看莫楠确实有心事,也就不和他计较了,转身往自己的座位走去。

这时赵川走了进来,正好迎面和段倩打了个照面,一看段倩一脸不高兴的样子,就问道:“段倩,谁惹你了?”

段倩在自己座位坐下,朝莫楠那边指了指,说:“那位大牛今天不高兴,也许是失恋了吧。”

莫楠听见了赵川的声音,也听见段倩编排自己,可他居然就是懒得动,他自己都觉得自己的状态有点奇怪。也许是因为有点困的原因,让自己变得消极了?

赵川连包都没顾得上放下,走到莫楠身边关心地问:“莫楠,你怎么了?”

莫楠懒洋洋地说:“老大你说,一个武林高手,能不能轻易地把自己的绝招传授给别人?”

赵川听得云里雾里,不知道莫楠到底想说什么,只能含糊其辞地回应道:“呃,一般是不会的。”

莫楠又问:“还有那些药厂研发的药物,为啥就是不公开他们的配方,还申请专利呢?”

赵川心想,这小子今天吃错了什么药,绕什么弯子啊。我倒要看看他到底想往哪里引申。想到这,他镇定地说:“配方是商业秘密,当然不能公开。”

莫楠马上坐直了身子,看着赵川问道:“那咱们为什么要让陈呆子看咱们的核心代码和数据表啊?这些难道不是商业秘密吗?”

赵川恍然大悟,原来这小子是因为昨天的事情想不通啊。他朝莫楠点点头:“哦,是这个问题。你等我一下。”

他走到自己座位把包放下,然后推着自己的椅子到莫楠身边坐下,看着莫楠说:“那我也问你一个问题,MySql为什么要把他们的代码开源呢?这不是泄露自己的商业秘密吗?”

莫楠还真没有思考过这类问题,他挠着头嘀咕道:“呃,这个,他们想先占领市场,所以……”

赵川又笑着问:“我再换一个问题:下次我让陈呆子也给你看一下他们的核心代码和数据表,你能做出他们做的东西吗?”

莫楠还是不服气:“我是不能马上做出来,但是起码我肯定能学到东西,掌握一些他们的经验。这就好像古代的侠客,各自有各自的独门秘籍,自己苦练十年才能具有一些功力。如果某个侠客的秘籍让别的侠客看到了,就算对方没完全练出来,至少也能知道他的套路,对付他就更容易了。这样说总没错吧?”

赵川摇摇头:“这么比喻就完全错了。程序员不是侠客,掌握的技术也不是秘籍。要是按你的比喻来理解程序员,那就不会有开源社区了。如果不是因为有数据库高手贡献开源数据库,框架高手贡献开发框架,UI高手贡献视图模板,咱们想做这个系统就先得花几百万买商业版开发工具,不然所有的工作都要自己做,你觉得凭咱们这几个人能做出来吗?”

莫楠嘀咕着:“反正他们有他们赚钱的套路。再说咱们又不是做开源平台的。”

赵川说:“没错,咱们和他们的套路不一样。可是做程序员要有开源的精神,那就是创造、分享、贡献。自己会一点东西就藏着掖着,生怕别人知道了学了去,这是井底之蛙。你想想,咱的那点东西全世界就咱几个人会?不可能。越是高手越是乐于分享,半吊子才把自己会的那点东西当个宝。只有大家都分享自己的经验,水涨船高,才能让大家都获益。你看StackOverflow上面那么多程序员在义务解答问题,GitHub上那么多程序员在分享自己的代码,他们图个啥?就是为了让整个社区更有活力,最终利人利己嘛。”

莫楠不吱声了,他知道自己正经讨论问题的时候说不过赵川,可是心里还是不服,总觉得给陈呆子看代码和向开源社区做贡献不是一码事。

赵川似乎看出了莫楠的疑惑,他继续说:“当然了,我也知道昨天的事情是有一点风险的,但是要请别人帮忙,又不拿出自己的东西来,别人就无从下手了不是?而且上次同学聚会,他也给我讲了他们用异步方式做前后端交互的技术,速度比咱们现在用的框架快十几倍,我听完了也学到了很多东西。说句实在的,人家现在玩的技术比咱们潮多了,你以为咱们的技术是个宝,人家还未必看得上呢。”

莫楠瞪大眼睛问道:“他们用的是ALGO做的那套Javascript框架?我前一阵也想学习一下,可是国内还没有对应的社区,中文版资料也找不到啊。”

赵川笑了笑说:“没错。陈呆子自己花了三个月生啃的原版文档,研究了所有的API,还做了一百多页的笔记。这些笔记他都发给我了,一会我转发给你看看。他本来打算等自己做完产品的时候根据实际经验把笔记完善了,做成中文文档,然后再共享到开源社区。我就让他把手头的笔记先给我看看,近水楼台嘛。其实我是很想把咱们的产品转到这个技术平台的,不过到底可行性如何还得你看了再说。”

莫楠感觉有点羞愧:“噢,原来是这样。看来我是以小人之心度君子之腹了。”

赵川站起来拍了拍莫楠的肩膀:“没事,我知道你把这些代码当做自己的孩子一样看待,所以怕别人把咱们的技术偷走。不过咱们程序员就得不停地学习新东西,可也不能光索取不贡献,尽自己能力去分享才是正道。其实我也想过把一些有通用性的代码做成插件,放到GitHub上共享,只是以前没有精力才一直拖了下来。最近要是有时间的时候可以考虑这件事,反正工作量也不大。”

莫楠点点头:“嗯,那我找时间来整理吧。”

段倩一直在旁边听着他们的谈话,这时也凑了过来:“那个笔记也给我发一份吧,我也想学点新技术。”

莫楠恢复了正常的心情,对段倩说:“不急,这主要是后端的东西,你看不明白,等哥学会了肯定教你。哎对了,你前几天让哥看的那个JS库哥已经看得差不多了,明天有空给你讲讲,让你见识见识哥做前端的功力。”

赵川一看他们俩又要开始斗嘴,知道莫楠心里的疙瘩已经解开了,就哈哈地笑着回到自己座位,把笔记转发给了他们俩。 <待续>

 

《码农故事》第二十五回

莫楠的工作效率挺高,到了周五下午,他已经整理了两个管理动态数据的插件放到GitHub上。段倩也把老版本的页面动态效果做了一个CSS+JS库,和莫楠的插件放在了一起。赵川看了很满意,他想,如果这些工具对其他人有用的话,既有利于提高公司在开源社区的知名度,也有利于吸引高水平的程序员。

到了6点钟,陈呆子风尘仆仆地赶来了。他一坐下就掏出笔记本电脑,接上投影仪,给大家看他做的数学模型PPT。

裴曼看着幻灯演示暗暗好笑。她觉得这是她有生以来看过的最丑的一套PPT:由一张杂草图片构成的绿色背景已经够乱的了,文字偏偏又用了红、黄、紫三种颜色来强调不同的重点,一般的文字也不是黑色而是蓝色,角上还嵌着一些黑白的图形,一眼看去就像是进了杂货铺似的。

陈呆子扶了扶鼻梁上的眼镜,刻意的谦虚中却透着一份得意:“我以前很少做PPT,这次可能做得有点乱,大家将就着看吧。我这个整体风格是受Vim里边代码颜色的启发,用红色来标识引用你们提供的关键内容,用紫色标识数学公式,用蓝色标识论述和说明文字,用黄色来标识重点概念和结论,这样做成统一的PPT风格,有利于大家理解我的内容。”

莫楠马上赞叹道:“这个好!我说我怎么看着这么顺眼呢!敢情是Vim风格,的确看着一目了然啊!”

裴曼听不太懂他们在说什么,心想:果然程序员的思维就是异乎常人,这么丑陋杂乱的PPT居然会有人说好?她向段倩那边看去,对着段倩做了个皱眉头的表情,段倩会心地冲她做了个鬼脸,表示自己也不喜欢这套PPT的样式。

陈呆子清了清嗓子,开始讲解他的设计思想。PPT里有不少数学公式,裴曼和段倩都听得似懂非懂,莫楠则一边听一边提问题,陈呆子对每个问题都耐心地进行了解答。赵川一直坐在一边听着,没有说话。

陈呆子讲完之后挨个看了看听众们。赵川看上去是听明白了。从提问的情况看,莫楠听懂了结论,过程估计还没有完全理解。裴曼和段倩没有提问题,从眼神看起来是基本都没听明白。

赵川这时问莫楠:“你还有什么问题吗?或者,你先讲一讲实现的思路,让老陈帮着参谋一下?”

莫楠站起来,拿了一支马克笔,开始在白板上画了几条曲线:“我理解的思路是,把用户按主题分组并去除部分长期不活跃用户,然后对若干组的用户动态集合归并成一个时间序列,然后用数值分析方法把时间序列拟合成一条一元N次方程曲线,对这条曲线求导并找到导函数的拐点,再来具体看这些拐点的时间点上有哪些事件,例如市场活动、新功能发布之类,并且通过拐点的位置来评价这些事件的效用。再针对这些选出的事件对其他组的用户动态进行验证,如果验证通过则可以把这个事件对用户活跃度的影响作为一个已发现的规律。”

赵川点点头:“嗯,我也是这么理解的。老陈你看,这么做对不对?”

陈呆子未置可否,自己走到白板前拿起一只红色的马克笔在白板上边写边说:“要注意两个问题。第一,划分拟合组和验证组的时候,要让对应组的用户数量和动态都尽可能相互接近;第二,拟合方程也不宜太高阶,最好是4次以内。”

莫楠边听着边认真地在笔记本上记录着。赵川看着白板又琢磨了一会,觉得这个模型应该管用,就转过身子对着裴曼和段倩说:“你们俩弄明白老陈讲的内容了吗?”

裴曼摇了摇头。段倩有点犹豫地说:“本来不太明白,刚才看莫楠讲了一下,我大概知道这个思路了。”

莫楠得意地说:“哎,这就对了。哥早说了,咱的功力还是可以的,数学的东西还记得一些。怎么样?哥没吹牛吧?”

裴曼有点着急地说:“莫楠,你别得瑟了,明天你可得给我好好讲一下,要通俗,这些数学公式我看着就晕。”

莫楠拍了拍胸脯:“没问题啊,包在俺身上了!一期教不会免费再教,直到学会为止。”

赵川和陈呆子对视一眼,陈呆子点了点头,意思是莫楠可以按这个思路去分析数据了。

赵川看了看表,又到了晚上10点多。他想起明天一大早还有海边活动,就问陈呆子有没有兴趣一起去,陈呆子表示很遗憾,周六要去女朋友家帮老丈人修电脑,重装机器,软件也要重新装,估计要耗上大半天时间。

看着陈呆子郁闷的表情,赵川想笑又不好意思笑,最后忍住了。他让大家各自回家休息,约好明天一早在公司会合。 <待续>

打赏支持我写出更多好文章,谢谢!

打赏作者

打赏支持我写出更多好文章,谢谢!

任选一种支付方式

1 收藏 评论

关于作者:老码农

搞得定代码,罩得住娃;治得好跟腱,踢得了球。Hi,我是老码农,蜀黍有练过,小盆友们不要随便模仿喔。(新浪微博:@老码农的自留地) 个人主页 · 我的文章 · 122 ·    

相关文章

可能感兴趣的话题



直接登录
跳到底部
返回顶部