最近几个星期,我一直在跟一个十分诡异的bug做斗争。我的一个服务端程序,它要跟另外一个服务保持持久的连接,要认证终端用户,然后执行一系列的数据操作。
不知为什么,时不时的,这个程序会丢失socket连接。也不是经常发生,但也不是很罕见,就是过一段时间,运行这个服务的机器就会资源耗尽,无法响应——因为积压了太多的无法处理的请求。
这个问题快把我搞疯了;我找不出问题出自哪里,我的时间全被这个问题占用了,一边盯着要在服务彻底宕机前重启它,一边来回分析这段代码。就是这段,让我来展示给你看….
等一下。
这里不是我的办公室。我没有坐在办公桌前。电脑也不在身边。我他妈的在什么地方?
四周都是人。很闹。看起来像是一个Party。
嗨,我的手为什么湿了?哦,看,是一杯饮料;黑的,透亮,看起来像是一杯可乐。没错,是可乐。很凉,但里面没有冰块。白色的小餐巾纸浸透了,它的边缘被我用手揪的粉碎,所以我猜我已经在这待了好一阵了。
没错,现在我记起来了。这是公司同事的聚会,是Dan邀请我来的。是有人过40岁生日,也许是50。我记不清了。Dan是个不错的人,但我们的性格大相径庭,他是个话痨。估计他以前是卖保险的。
还好,在这里,我不需要穿西装。而且也不需要穿的像电梯旁边的那个傻冒那样。真的,为什么要在Party上穿连帽衣呢?
不过,谁会在意呢。他已经按了电梯,所以他很可能打算出去。哦,不,老弟,别在用iPhone看Facebook了,电梯门就要关了。灯灭了,你错过了这趟。哈哈,你就是个傻冒,你…
哇噢。
哇噢。
他不留神。他错过了电梯。
我敢跟你打赌,这就是我代码里的问题。如果远程服务挂了,而我还在等待接收认证码,应用没有收到通知,于是报错,socket丢失。
就是这样。两个星期的折磨,找到问题的灵感竟然来自一个到处都是买保险的人的公司Party上。还有在手上的一杯走了气的可乐和一张撕碎的纸巾。
我也许因该现在就走,回去验证一下我的灵感。但我也不想被人认为太不礼貌…我需要找个时机,神不知鬼不觉的溜出去。我不能再待在这里了。我已经被这个问题折磨的太久。
哦,见鬼。Dan走过来了。他乐呵呵的,后面还跟着一个老家伙。
唉。我估计走不掉了。他们真的是要过来和我聊天吗?Dan,我不爱说话,你不知道吗?我祈祷Dan改变主意。我不能在这浪费口舌,说不定这绝妙的灵感在我坐到键盘前时会消失的无影无踪。
嗨, 这是你们的CEO。哦,是吗。很高兴见到你。面带笑容。微鞠一躬。点头。我一定是快把那个该死的电梯和认证码给忘了。没错,Dan是一个不错的家伙。哦, 他跟你说到过我?真是好人。我相信他一定没告诉你关于那个该死的bug的事,你们在阻挡我去彻底的解决这个问题,只有解决了它我才能终于睡上一次好觉了。
终于,他们走了。我很可能把这次谈话搞砸了,通常都是这样。他们可能会认为我脑子有问题。或不善交际。我现在真的毫不在意,因为我终于找到这个该死的bug的原因了。
我还是赶紧呼叫电梯吧,以免又有哪个天才的家伙试图过来浪费我的时间。我不会错过这趟电梯。我搞定了一个bug!
英文原文:I am not an introvert. I am just busy.
相关推荐
作者认为,业务代码只是程序员职业发展道路上的一个挑战。写业务代码需要掌握技术技巧,如封装和抽象,但这只是基础,需要不断提升自己水平,面临更大的挑战,才能成为技术大牛。 五、别以上班太忙没时间学习为借口...
得知贵公司的聘请信息,我对 Flash 程序员一职很感爱好。从高校毕业至今,始终在深圳一家网络公司担当 Flash 编程职务。对 Flash 嬉戏课件编程有了相当的了解和熟识,我信任我有实力担当贵公司所要求的 Flash 编程...
程序员最艰巨的十大任务程序员最艰巨的任务跟编写代码没有多少关系。编码是逻辑思路的一种实践,这跟程序员日常工作中的其它任务比起来相对...那些非程序员职业的人也许知道很多关于编程的事情,但很显然,他们不会编程
在典型的Java企业项目小组中,大部分能够帮你的高级工程师看起来都很忙,文档也很少。你需要尽快交付成果,并向项目组证明自己的能力。你会如何处理这种状况呢?这篇文章为开始开发新项目的Java开发者提供了一些建议...
不过,在那之后我一直很忙,只是断断续续的抽空设计,所以,直到今天才来发布一个新版本的东西。相对于旧版本,新版有几个改进。1. 名字换成了CBC(Code Beautifier Collection)。2. 脱离了CnPack框架,因为升级后...
在我写它的时候,我曾想过构建一个更普遍有用的工具来玩模拟数字电路,但很快我就忙得无暇进一步研究。 然后,我开始玩 Minecraft,重新点燃了我对电路模拟的兴趣! 游戏可以根据最原始的输入进行各种有趣的逻辑处理...
我的感想:我是很满意我的这个小项目,我之前也讲过这是我第一次做这方面的东西,我的本意是把我看过的计 算机的书和学到的一些知识都运用起来;不至于让知识都停留在书本的层面上,里面有些东西确实是我强加上去 的,最明
这场派对邀请了全镇居民参加,一共25个“人”,他们的年龄相差有些悬殊,Wolfgang算是很年轻的居民,另外还有年过半百的艺术家,四十出头的建筑设计师,以及最近要去佛罗里达旅行的程序员等等。 Smallville镇有一条...
非科班出身程序员刷题 mx(冥想) 冥想联系 国内访问 国外访问 音频来自网络 网站模板来自 一说程序员的工作方式,下面这个网流图最直观: ...当工作忙起来的时候,我们一般就会凑合着点外卖,或者吃快餐,很少有人从家
如果你做得好,Perl 也能帮你这个忙。 <br/>Perl 还可以帮你写更安全的程序。除了其它语言提供的典型的安全接口之外,Perl 还通过一种跟踪数据的机制给你提供预防意外安全错误的保护,这样就可以在灾害发生之前...
大多数PHPer都想写出运行状态良好的应用程序,而且希望尽可能做得简单且不费事。...我的评估标准是:我很忙;因此框架应该节省我的时间,从中选择一个后,就坚持使用下去,因此就有了这本介绍 CI 的书。
这时候你想换个底色,于是在百度上一搜“证件照换底色”,出来了一堆photoshop 教程,程序员可以找公司美工帮个忙,但是一般人就很纠结了,所以呢我就花了半天的功夫写了一个小软件,简化大家的操作难度,哎!...
程序员有时候很忙,忘记给女朋友发消息,用这个程序可以帮助你24小时关心女朋友,还可以加入你自定义的语句
这本书是不错提供了很多实例,如飞机大战,还有卡牌网络游戏,最可贵的不但讲了cocos2d-x客户端了还讲了服务器端开发以及cocos2d怎么与服务器互联,但是莫名其妙的最悲剧的就是此书没提供任何源代码和游戏资源,作为...
程序员面试刷题的书哪个好 前端学习中积攒的一些小经验 2016-11-03 更新说明 这个项目已经很久没有更新了, 偶尔更新也是为了测试所用, 就README而言, 并没有怎么更。 想起这个工程是当初刚刚学了前端, 然后入职...
本人并不是技术特别厉害的程序员,本程序经过N多测试均未发现问题,如果你无法正常使用,极有可能是你的公钥没有配置好,可以联系支付宝的技术教你弄弄。 如果你发现我写的代码有点冗余,请与我联系,我们共同完善...
我一直不认为一个课程提供了很多很多的细节就是优秀的价值高的课程了,掌握必要的细节,这个不含糊,至于其他,或者通过视频给出(这样可以给出更多的细节,但是不占上课时间,课上只讲重要的、必要的细节知识),...
我是一名设计师,不是令人敬畏的程序员 - 所以如果你发现错误,欢迎你帮助我修复它们。 我测试了它,它奏效了。 但你知道它是怎么回事,不同的环境等等。简而言之,如果我能帮上忙,我会的。 推特给我@derrybirkett ...