犯错日记(随时更新中)

来源:互联网 发布:江苏进出口数据 编辑:程序博客网 时间:2024/04/29 01:55

2012-12-10  13:46  从上午到现在,一直在解决一个问题:只能正确执行一次,再次执行就不能得到预期的结果了。我的第一反应就是,肯定是goroutine间通信我理解的不对,导致通信时候发生错误。so翻阅了示例中的程序,还是不知道到底是哪个环节出现了问题。认真看自己写的代码,在所有判断的地方都加上输出信息打印,突然发现,原来是进行字符串处理时候我没有做对。这就到了吃饭时间,既然找到了原因就先娱乐下吧。一点开始上班,着手解决这个问题,却发现还不是字符串拆分有问题,这可急坏我了,我能肯定,是这段代码出了问题,但是,具体是哪些真不好查。灵机一动,将链表中的内容悉数打印出来,发现根本就不是我存进去的那些数据。突然发现了我写的很挫的一段代码,这是什么啊,将链表置空怎么能写成这样呢?一边埋怨自己,一边把链表删除的代码写好了。然后下面的测试中没有问题出现了。原因分析:之所以会出现这样的低级错误,应该是因为代码大部分都是复用的原来的代码,自己也没有想多少具体实现细节,以后尽量自己讲代码都审查一遍再使用,以免发生类似错误,害得我花了两三个小时去解决。

2012-12-10 14:52  得到了组长的表扬,我还是蛮高兴的。每次我不明白他都会耐心给我讲解,让一个大师级别的人给一只小菜鸟讲,用专业术语一脸迷茫,我还是不断问,后来把他逼得直接跟我说怎么回事。我要继续努力,早点能用专业术语跟他沟通。呵呵!

2012-12-14 15:01 一直在弄stomp协议,虽说是很简单,但是一些细节真要较真还是有很多地方的。昨天问清楚了组长,到底是让我实现queue还是topic,他老是含糊不清的,我就把我了解的都说了一遍:queue是一个端对端的,一个destination只能被一个consumer订阅,而topic是一个多对多的模型,给老大演示了下我queue的程序,他否定了,那我就知道是topic model了。今天花了好久去研究,topic应该怎么进行pub/sub通信,通过apollo终于了解到,topic只对在线的订阅者发送消息,而且只要有消息被生产出来就会发送到对方。实现方面,我也想了很久,这个是以前就考虑过,后来放弃了。不过,我又有了新的主意,只是不知道能不能奏效。我先试一下。

2012-12-14 17:54 事实证明,我的想法是正确的,虽然中间还是做了很多调整,但是最后的结果很是让我满意。对于topic这种机制,怎样能够实现对于所有在线的订阅过某个destination的consumer的用户能够在生产出消息之后立刻能接收到呢?原来是想把channel加到map中,后来发现这个问题大着呢。突然灵机一闪,我可以用一个全局的变量来监听啊,只要有消息到了,就向订阅过这个destination的所有用户发送消息。当然,需要将订阅过这个destination的consumer存到一个链表中。不过往链表中存这些东西还是有些麻烦的。还好,功能是实现了,继续优化,重构。


2012-12-25 20:00 这一天都是在进行代码重构。因为有前边的基础,后边不是很麻烦。但是,还是一个问题让我纠结了一个小时。关于复制粘贴的代码,还不如自己写呢,没有全部改完,弄到最后总是得不到预期结果。最后还是逐文件查才找到问题所在。以后,尽量不粘代码,宁愿自己一个个敲上去。

2012-12-29 8:34  昨天被组长拉去教育,说我代码写得太随意,好多没有根据要求来写。他说话声音很大,本来脸皮就很薄的我很是挂不住面子,但是没有办法啊,我确实是很多都太主观了。想到要放假,完不成工作元旦就要加班,即使是吃了感冒药也一点都不瞌睡了。整整干了一天,代码量与原来相比减少了,也力求能够更加清晰展现代码的功能,但是一直调试不通。本来不该加班,还是加班到了很晚,也没有找到。因为心里不踏实,今天来得特别早,一眼就看出了错误所在,没有初始化就使用了。这是个小问题,如果IDE能进行调试会方便很多,可是,要命的是,liteide调试时候不能监控变量的值,只能大致确定出错的位置,找起来还是挺麻烦的。一个不该出现的问题被解决。继续

原创粉丝点击