![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
开发经验
文章平均质量分 90
shannon1
这个作者很懒,什么都没留下…
展开
-
多级多粒度的持续集成 (graded and multi-scaled CI solution)
也许对软件开发来说,最重要的已经不再是技术或工具、方法,而是过程。 在网上看了《跌跌撞撞的持续集成之路》(以下都称《路》),有一些想法,写出来和网友一起讨论。《路》中目标项目的持续集成迭代周期为一周,持续集成的任务流程为编译后台代码,后台代码单元测试,编译前台,部署,功能测试。任务流程决定了一个迭代周期内持续集成的实际执行时间。《路》中所反应出来的问题其实就是实际集成执行...2009-05-27 21:07:55 · 281 阅读 · 0 评论 -
时序相关任务的并行计算解决方案讨论 (1)
时序相关任务的并行计算解决方案讨论(Parallel computing solution for chronologically correlative tasks) 现实问题描述想象一个设备网络,包括许多交换机、路由器、网关服务器、Radius服务器,等等。如果要集中式的监控各个设备的工作状态,就需要在网络中部署一个网络设备管理系统。从网管系统侧看来,所有设备都直接或间接与之相...2009-05-29 13:28:49 · 685 阅读 · 0 评论 -
时序相关任务的并行计算解决方案讨论 (2)
分析去“时序相关”的可能在回答主要问题之前,我们还是需要再三分析问题及其数据处理逻辑,看是否可以将数据处理逻辑由时序相关降为时序无关,这样并行计算的效率无疑会更高。前一部分对时序相关的讨论提到“时序相关取决于数据处理的业务逻辑或处理算法”,改变数据处理的算法是有可能实现去“时序相关”的。还是以第一部分提到的和告警相关的设备简单状态机为例,假如变具体实现为:保存两个计数,alarmSetCo...2009-05-30 12:48:05 · 703 阅读 · 0 评论 -
谈谈单元测试中的测试桩实践 (1)
写程序的时候,有时可能遇到这样的情况。比如我们开发了一个数据处理模块,被处理的数据需要调用其他模块(由其他团队开发,或者是第三方提供,总之测试的责任不在你),从数据库或者文件或者通过网络从其他进程中获取。为了对该数据处理模块进行单元测试,我们通常得相应的配置起一个数据库或者文件系统,甚至是相关进程,以求正常的得到数据,但这样做的代价往往较大。这里想讨论一种我以前曾经使用过的简化单元测试的思路。...2009-06-11 14:17:47 · 455 阅读 · 0 评论 -
谈谈单元测试中的测试桩实践 (2)
首先定义一个Clock接口。并为Clock实现两个具体类,一个是NtpClockWrapper,顾名思义其实就是实现了Clock的NtpClock,另一个是SystemClock,它就提供系统当前时间作为标准时间。 package shannon.demo; /** * <code>Clock</code> is an interface for all...2009-06-11 14:25:17 · 258 阅读 · 0 评论 -
谈谈单元测试中的测试桩实践 (3)
相应的SystemTimeSynchronizer#syncTime()也做了修改,不再直接调用NtpClock。 package shannon.demo; import thirdparty.any.NtpClock; public class SystemTimeSynchronizer { public int syncTime() { ...2009-06-11 14:31:04 · 205 阅读 · 0 评论 -
谈谈单元测试中的测试桩实践 (4)
在UnitTestFirewall中也要做相应的修改,以允许在测试时,定制Clock实例。 package shannon.demo; import thirdparty.any.NtpClock; /** * <code>UnitTestFirewall</code> is the facility to * ease unit test...2009-06-11 14:34:06 · 227 阅读 · 0 评论 -
谈谈单元测试中的测试桩实践 (5)
接着,SystemTimeSynchronizerTests就可以作很大的改进,通过预设标准时间,测试SystemTimeSynchronizer#syncTime()的各个处理分支了。 /**shannon.demo.unittest is the unit test codes * package for the demonstration. */package shan...2009-06-11 14:40:26 · 411 阅读 · 0 评论 -
==代替Object#equals() - 加速在容器类中搜索元素速度的可能性
== vs. Object#equals() to accelerate Collection#contains()问题的描述众所周知,在需要将对象进行大量比较(equals)的场景,比如List#contains()的大量调用中,Object#equals(Object)实现的效率是很重要的。提高对象比较效率的途径之一是用地址比较来代替内容比较。比如String#equals(Obj...原创 2012-09-28 22:59:26 · 164 阅读 · 0 评论