摘要: 今天花了好2小时,给一个年轻的同事讲解我设计的架构。因为我分配给他们两人一个工作,3天过去了几乎毫无进展。2个小时讲过去了,他也提出了一些观点,我接受了,发现我的设计更加的清晰。然后再叫上另一位同事,我们3个人一起,终于完成了整体架构,确定了两者之间的接口,接口应该包含的内容。 很累很疲惫,却觉得很有意思。因为生平还不曾这样,把自己的设计交给别人去实现。虽然之前有过小的东西,这次却更大。突然觉得... 阅读全文
posted @ 2013-05-23 23:07 永远是学生 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 最近搞了一个算法,寻找k个有序数组中,顺序为n的那一页数据。最开始的时候,我用假数据填充法处理了一种特殊情况。实现完上线以后,才发现数据填充存在问题。于是赶紧修改。修改完以后,写了case去验证。竟然发现修改前后的版本都能完全通过这些case。我大惑不解,拼命想构造出一组让旧版本fail,而让新版本成功的case,结果只是发现,虽然假数据填充是不对的,但是结论却是对的。 虽然白白花了两天时间,但... 阅读全文
posted @ 2013-05-13 00:14 永远是学生 阅读(166) 评论(0) 推荐(0) 编辑
摘要: Assert.assert,断言,是大家JAVA单元测试必用的语句。根据个人的体验,Assert颇有不便之处: 1. Assert可以输入一个message,失败的时候,会把这个message打印出来,开发人员就知道错误是什么;开发人员也可以选择不输入message,这样失败了就什么都看不到; 2. Assert的工具不够多,比如没有函数直接支持 a 大于 5这样的断言, 也不能断言一个lis... 阅读全文
posted @ 2013-04-24 23:43 永远是学生 阅读(452) 评论(0) 推荐(0) 编辑
摘要: 最近写了一个分表查询的lib,封装了一些数据结构,可以简化对于分表查询的实现。这个问题主要体现在,对分表进行查询时,原有的单表查询需要进行修改,或者需要在内存中进行处理。修改单表的sql可能导致性能问题,原有的优化可能失效。内存处理则需要一些技巧,搞不好会把太多内容加载到内存中,导致内存被耗光。 我的lib主要使用iterator的模式来解决数据库的读取的问题,每次只读取1000条,放在内存中,... 阅读全文
posted @ 2013-04-22 23:07 永远是学生 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 最近一个月,项目组都在忙一个新功能,今天终于上线完毕。整体还算是顺利,过程中也学到了一些东西。 这次升级主要的困难有以下几点: 1. 修改比较多,设计的页面和功能点有几十个; 2. 外部依赖比较多,而且他们和我们并行开发; 3. 主要的模块负责人需要承担其他的任务; 4. 部分成员不熟悉系统和代码。 为此我做了如下一些安排: 1. 尽量早的推动外部系统和我们定接口; 2. 安排一个... 阅读全文
posted @ 2013-04-16 23:25 永远是学生 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 我已经不止一次的看到,有的人代码里有这样的函数 A.XXX B.XXX C.XXX A.YYY B.YYY C.YYY A.ZZZ B.ZZZ C.ZZZ 这个函数要处理A,... 阅读全文
posted @ 2013-04-07 23:21 永远是学生 阅读(479) 评论(0) 推荐(0) 编辑
摘要: 以前写过一篇blog,写得不是很详细。这次清明节在家好好的整理了下思路,把相关的细节重写下来。很奇怪这些内容在google上找不到,也许是太基本了吧。 为了理解mockito,必须先明白mock测试的原理,它分成以下几个步骤: 建立mock; 将mock和待测试的对象连接起来; 在mock上设置预期的返... 阅读全文
posted @ 2013-04-06 12:36 永远是学生 阅读(12098) 评论(0) 推荐(0) 编辑
摘要: 题目要求对长为n的bit数组输出所有0、1组合,相邻两个只有一个bit发生变化。如果n=2,则可以有下面的输出: 00 00 01 01 11 10 10 11 那么左边的是正确的,右边的不正确,因... 阅读全文
posted @ 2013-04-04 11:40 永远是学生 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 与项目成员沟通要坦率,真诚,重要的信息要和大家分享,当然对于不同的消息可以选择不同交流方式,邮件,及时聊天,面对面的聊天,正式谈话,闲谈,都是交流的方式。适当的应用可以增进同事间的感情,消除隔阂。相反,如果你越要装老大,人家越不买你的账,一旦产生矛盾就很难去消解。所以,尤其是刚开始管项目的时候,尤其要注意。 真诚坦率也不只表现在交流上,也体现在行动上。脏活累活不要挑挑拣拣,吃苦的事情要抢着去干,... 阅读全文
posted @ 2013-03-26 22:09 永远是学生 阅读(139) 评论(0) 推荐(0) 编辑
摘要: neo4j是一个nosql的图形数据库。nosql的意思是说不支持sql。图形数据库是说用graph作为建模工具。我们知道关系型数据采用二维表作为建模工具,一些nosql数据库使用hash表,有的使用json。neo4j颠覆传统,使用graph。众所周知,图上的数据操作一般有: 1. 添加 删除节点; 2. 添加删除 边; 3. 深度优先遍历; 4. 广度优先遍历; 5. 最短路... 阅读全文
posted @ 2013-03-24 23:00 永远是学生 阅读(1928) 评论(0) 推荐(0) 编辑