自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 收藏
  • 关注

在 Adobe Flex 3 中使用条件编译

赖勇浩(http://laiyonghao.com)译原文地址:http://bit.ly/3UpSWP我初接触的时候,还以为 Flex 3 不支持条件编译,后来找了好些文档来看,也没有看明白,直到找到这篇文章的 livedocs 文档才明白原来是这么回事。好文档嘛,就想译出来给大家看看咯,虽然一如既往地半生熟地译法,看在我的热情上,大家就少骂哈……——————————————...

2009-09-27 22:04:00 64

测试驱动开发(TDD)

代码整洁可用(cleancodethatworks)是TDD的追求目标。 测试驱动的规则:1、只有自动测试失败时,我们才重写代码。2、消除重复设计,优化设计结构。上面的规则派生的规范:1、我们必须通过运行代码提供的反馈来做决定,并以此达到有机设计的目的。2、我们必须自己写测试程序,而不是指望...

2009-09-27 20:35:00 50

重构原则

1.1何谓重构重构(名词):对软件内部结构的一种调整,目的是在不改变“软件可察行为”的前提下,提高其可理解性,降低修改成本。重构(动词):使用一系列的重构准则,在不改变“软件可察行为”的前提下,调整其结构。1、重构的目的是使软件更容易被理解和修改。2、重构不会改变软件“可察行为”。1.2为何重构1、...

2009-09-27 20:33:00 75

如何写出优美的 C 代码

<!-- START RESERVED FOR FUTURE USE INCLUDE FILES--><!-- this content will be automatically generated across all content areas --><!-- END RESERVED FOR FUTURE USE INCLUDE FI...

2009-09-26 08:55:00 55

应用jBPM4解决中国特色的流程需求

原文:http://www.infoq.com/cn/articles/jbpm4-process-requirement1. jBPM4的特点jBPM是JBoss众多开源项目中的一个工作流开源项目,也是目前应用最广泛的工作流项目。在今年的7月10号,JBossjBPM团队正式发布了jBPM4的正式版。jBPM4完全基于流程虚拟机(PVM)的机制,对核心引擎进行了重新设计,而PV...

2009-09-26 08:40:00 84

演进架构中的领域驱动设计

原文链接:http://www.infoq.com/cn/articles/ddd-evolving-architecture作者 Mat Wall and Nik Silver 译者王丽娟 发布于 2009年9月21日 上午11时9分 社区...

2009-09-26 08:38:00 74

数值字符串转化为真实数值

/******************************************************************************** 文件名称:StrToData.h** 作 者:罗振 ** 完成日期:2009-9-24*******************************************************************...

2009-09-26 07:41:00 161

广州技术沙龙第二期活动总结

赖勇浩(http://laiyonghao.com)总述2009 年 9 月 19 日,在众多朋友的鼎力支持下,广州技术沙龙第二期开始了!来自包含但不限于新浪、金山、网易、腾讯、梦境、4399.com、shishouji.com、职友集、百才、中大和华工等公司和学校的 120 多位朋友参加了活动,甚至出现了老总带队十来人过来参会的盛况。其中来自网易的林伟、梦境网络的Joshua Zhu...

2009-09-25 09:12:00 81

微内核流程引擎(IVR导航)的设计与实现(三)——脚本的设计

我设计的流程引擎是脚步驱动的。脚本中定义了流程执行的环境,流程操作的对象,流程执行的步骤。下面是一个流程脚本的示例:<?xml version="1.0" encoding="utf-8"?><process name="make_call"> <data type="user_tel">called_number</d

2009-09-24 17:38:00 55

微内核流程引擎(IVR导航)的设计与实现(二)——功能描述

上一篇介绍了微内核流程引擎开发背景,这篇介绍它的功能描述。基本功能:1、能够通过脚本定义流程,更改流程。2、对软交换系统应用服务器的所有的接口都可以编辑。3、异常处理,实现补偿机制。4、流程要支持:顺序执行,分支处理,跳转执行。5、脚本中支持简单的数据库操作,比如:记录查询(根据查询结果决定流程),字段查询,记录增删改。扩展功能:1、提供多种调用形式:1...

2009-09-24 17:01:00 56

微内核流程引擎(IVR导航)的设计与实现(一)——开发背景

开发背景我们公司是主要从事企业语音方面产品的开发,主要产品比如:调度系统,指挥系统,电话会议系统,呼叫中心系统等。这些系统都有一个共同特点,就是涉及到呼叫,放音,收发按键,会场操作。我们的业务产品都是基于我们的软交换系统之上构建的,软交换系统的应用服务器向外提供这些服务。产生的问题我们在开发的过程中就发现一个问题,每个产品在此接口上都会做很多重复的开发,特别是在IVR...

2009-09-24 15:55:00 73

微内核流程引擎(IVR导航)的设计与实现 系列

本系列是我开发的一个微内核流程引擎的设计和实现思路。目前这个流程引擎已经完成,现在把整个思路和大家共享一下。《微内核流程引擎(IVR导航)的设计与实现(一)——开发背景》《微内核流程引擎(IVR导航)的设计与实现(二)——功能描述》《微内核流程引擎(IVR导航)的设计与实现(三)——脚本的设计 》《 微内核流程引擎(IVR导航)的设计与实现(一)——在一次尝试后的优...

2009-09-24 15:34:00 113

测试工程师和实施工程的培养

我们公司测试工程师不多,专职的有两三个,有两年工作经验。实施工程师的情况更糟糕一点。大部分都只有一年的工作经验,很有好几个刚刚毕业。我们公司虽然成立有几年了,但是实施工程师职位了老员工不多,主要原因是流动性太大了。工作超过两年的很少。这种状况下应该好好反思一下测试部和工程部的管理和建设。我认为,要解决这个问题,就要在测试工程师和实施工程是的培养上下功夫。目前我们在这方面做的还很不够。对...

2009-09-23 18:26:00 179

重构,开始第一个案例

前言你会发现所谓设计不再是一切动作的前提,而是在整个开发过程中逐渐浮现出来的。——MartinFlower。没有银弹,没有放之四海而皆准的真理。重构和自动化测试时紧密联系的,没有自动化测试,重构会步履维艰。重构:在不盖被代码外在行为的前提下,对代码做出修改,以改进程序的内部结构。也就是在代码写好之后改进它的设计。1重构,开...

2009-09-23 18:17:00 117

软件开发思路:整合,复用,分享

昨天表了一篇文章《软件开发关键字:整合和复用》。关于整合和复用,是有一些交集的。今天继续这个话题。不过题目变了一下。以复用的思路指导开发:1、构建系统的时候,把多个子系统系统的交集部分抽象出来,作为系统的基础设施,为多个子系统提供服务。我们公司是从事企业语音系统开发,包括调度系统,会议系统,呼叫中心系统等。这几个子系统的交集,典型的比如企业通讯录,计费,呼叫记录,网管,都...

2009-09-23 18:05:00 104

软件开发关键字:整合和复用

去年在公司研发年度会议上,讨论关于软件的开发思路。去年的时候,我提出我们公司要在SOA方向关注一下。今年的时候,我在次基础上提出要建立建立我们公司的业务开发平台。但是受到一些同事的强烈抵触和不认同。很有可能是我的想法还不够成熟,毕竟建立一个开发平台是一件很有难度的事情。 今年我在开发过程中对我们公司的研发思路也经常反思,得出一个初步的想法:开发中遵循整合和复用的思路。得出这个思路的原因...

2009-09-22 22:35:00 90

推荐一个提高效率的工具:Google桌面

介绍一个提高效率的工具,Google 桌面。“使用 Google 桌面搜索计算机如同使用 Google 搜索网络一样方便。这是一款款桌面搜索应用程序,能够对电子邮件、文件、音乐、照片、聊天记录、Gmail、浏览过的网页等等进行全文搜索。Google 桌面可以对计算机进行搜索,从而让您能够轻松地找到所需的信息,而不必手动整理文件、电子邮件和书签。”摘自Google 桌面官方的描述。在网上...

2009-09-22 21:27:00 92

首次使用google test心得体会

我的博客中转载过关于Google test的一个系列,今天终于抽出时间按照上面的步骤体会了一下Google test的魅力。开源真是个好东西,Google推出的开源更加不容小视。下面是我使用后的一些体会。1、简单易用。上手还是还是挺容易的,按照资料的步骤,参考自带的sample程序,可以很快的写一个自己的测试程序。2、测试案例是以宏的形式来定义的。Google test定义...

2009-09-21 22:13:00 94

设计模式之iterator模式到STL中iterator迭代器

设计模式之iterator模式到STL中iterator迭代器近日看《设计模式:可复用面向对象软件的基础》一书中23种模式中就有iterator迭代模式,且篇幅颇大。机缘巧合、我在分析STL代码结构的时候,同样发现iterator迭代器,且占据相当大的地位。从设计模式的角度来看iterator模式ü 意图提供一种方法顺序访问一个聚合对象中各个元素,而又不需要暴露对象的内部表示。我想...

2009-09-21 13:04:00 60

jBPM4.1新特性和中文用户手册下载

原文:http://www.blogjava.net/kaysurf168/archive/2009/09/10/294523.html 9月1号,jBPM4发布了4.1版本,jBPM4.1的新特性如下: 新内容:Start节点支持form工作日历可定制化改进了tomcat的安装以及许多配置选项 扩展了持续集成的范围,降低执行时间 ...

2009-09-19 15:19:00 55

应该以什么思维方式和心态来对待我们的软件设计和工作方式

昨天在INFOQ上看了一篇文章,很受启发,和大家分享一下。“——深感有责任欢迎不同的声音,并且当质疑之声受到抵制的时候要勇于挺身而出。只有以开放的心态质疑我们的工作方式,我们才能真正地学习和进步。不管我们是个人、是团队还是社区,这都确切无疑。这是一个突出的例子,但是每天我在社区中都会看到许多这样的例子,通过扣帽子,新的观点被抵制和打压,而不是真正地去解决问题。”以开放的心态质疑我们...

2009-09-19 14:45:00 61

使用 Watir 加速面向 Web 应用的自动化测试程序的开发

使用 Watir 加速面向 Web 应用的自动化测试程序的开发文档选项<noscript></noscript><noscript><trvalign="top"><td width="8"><img alt=&qu

2009-09-19 14:17:00 57

几个实用的软件开发工具之——代码编辑工具

1 代码编辑工具1.1 source insightSource insight 是一款非常优秀的代码编辑软件,支持创建工程(同时支持网络创建),语法着色,词语联想,它的代码搜索功能非常强大,非常适合阅读代码。下图是Source insight的全视图:左边为变量和参数列表:右边为工程文件列表:右下角为函数调用树:左下角为鼠标所指变量或者...

2009-09-18 22:32:00 183

几个实用的软件开发工具之——版本管理工具

2 版本管理工具介绍两个基于界面的CVS工具。如果不习惯使用命令,可以使用客户端来使用CVS。2.1 wincvs一款开源的cvs客户端。视图如下:登陆界面:登陆后可以创建新库,导入,导出模块:也可以通过浏览文件,单击右键导入或导出模块:2.2 eclipse cvs插件如果你使用的代码编辑器是eclipse,你可以直...

2009-09-18 22:21:00 288

几个实用的软件开发工具之——性能优化工具

4性能优化工具4.1 gprofgprof是GNU profiler工具。可以显示程序运行的“flat profile”,包括每个函数的调用次数,每个函数消耗的处理器时间。也可以显示“调用图”,包括函数的调用关系,每个函数调用花费了多少时间。还可以显示“注释的源代码”,是程序源代码的一个复本,标记有程序中每行代码的执行次数。原理:在编译或链接源程序的时候在编译器的命令行参数中加...

2009-09-18 22:14:00 198

几个实用的软件开发工具之——代码检测工具

3代码检测工具介绍几个动态和静态代码检测工具,可以帮助发现代码BUG。3.1 MEMWATCHMEMWATCH 由 Johan Lindh 编写,是一个开放源代码 C 语言内存错误检测工具,您可以自己下载它(请参阅本文后面部分的 参考资料)。只要在代码中添加一个头文件并在 gcc 语句中定义了 MEMWATCH 之后,您就可以跟踪程序中的内存泄漏和错误了。MEMWATCH 支持 ANS...

2009-09-18 22:13:00 682

几个实用的软件开发工具之——功能测试工具

5 flowtestFlowtest是我们公司前任总监开发的流程测试工具。基本的思路是,把每个网元作为一个单独的考察对象,而把其他和它交互网元用测试工具flowtest模拟出来。flowtest还可以实现流程模拟,模拟其他网元发送消息、接受消息。并且在flowtest中检测被测试网元的反应是否正确,如果不正确这打印出出错信息。测试流程使用脚本驱动,通过脚本来描述测试过程。并且,flowte...

2009-09-18 22:11:00 164

国内IT名企的三个方面的发展共性

国内IT名企的三个方面的发展共性在国内的IT界凡经历了10年以上时间考验而不衰的企业都以经占据了行业市场,例如华为、用友、周立功等公司。10年是企业的年轮,20年是企业成熟的标志,就国内IT而言,20年以上的企业少之又少,10年以上的企业也并不多,这也是中国缺乏IT国际品牌的原因之一。IT行业本身就是一个竞争激励、发展迅速、时遇多变的行业,企业需要生存,就必须时时警惕,时时改革,时时创新(...

2009-09-18 21:36:00 99

几个实用的软件开发工具——总述

这里介绍几个适用的开发工具。在开发过程中适当的软件开发工具,可以提高软件开发效率,提高软件开发质量。下面介绍的软件分为一下几类:代码编辑工具,代码检测工具,版本管理工具,程序性能分析工具,功能测试工具,系统构建工具。《 代码编辑工具 》《版本管理工具 》《 代码检测工具 》《性能优化工具 》《功能测试工具》...

2009-09-18 21:08:00 63

《代码大全》学习笔记——第十九章,一般控制问题

<!-- [if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning/> <w:DrawingGri

2009-09-18 21:06:00 132

《代码大全》学习笔记——第十八章,表驱动法

<!-- [if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning/> <w:DrawingGri

2009-09-18 21:04:00 67

《代码大全》学习笔记—— 第十七章,不常见的控制结构

第十七章,不常见的控制结构前言谨慎的使用这些控制结构,将会获得更多的帮助。17.1 子程序中有多处返回<!-- [if !supportLists]-->1、 <!-- [endif]-->如果能够增强可读性,那么就是用return。<!-- [if !supportLis...

2009-09-18 21:02:00 56

《代码大全》学习笔记——第十五章,使用条件语句

第十五章,使用条件语句前言15.1 if语句简单if-then语句:<!-- [if !supportLists]-->1、 <!-- [endif]-->首先写正常的代码路径,再处理不常见的情况。<!-- [if !supportLists]-->2、 &...

2009-09-18 20:59:00 61

《代码大全》学习笔记——第十六章,控制循环

第十六章,控制循环前言16.1 选择循环的种类什么时候使用while循环:什么时候使用带退出的循环:如果把循环条件放在开始或结束处,那就要写一个半循环。还要注意把所有的退出条件放在一起,避免将它写的到处都是。带退出的循环更容易理解。什么时候使用for循环:不需要在内部控制循环,循环条件...

2009-09-18 20:55:00 89

【转】玩转Google开源C++单元测试框架Google Test系列(gtest)之八 - 打造自己的单元测试框架...

原文地址:http://www.cnblogs.com/coderzh/archive/2009/04/12/1434155.html一、前言上一篇我们分析了gtest的一些内部实现,总的来说整体的流程并不复杂。本篇我们就尝试编写一个精简版本的C++单元测试框架:nancytest ,通过编写这个简单的测试框架,将有助于我们理解gtest。二、整体设计使用最精简的设计,我们就用两个...

2009-09-18 20:39:00 99

【转】玩转Google开源C++单元测试框架Google Test系列(gtest)之七 - 深入解析gtest

原文地址:http://www.cnblogs.com/coderzh/archive/2009/04/11/1433744.html一、前言“深入解析”对我来说的确有些难度,所以我尽量将我学习到和观察到的gtest内部实现介绍给大家。本文算是抛砖引玉吧,只能是对gtest的整体结构的一些介绍,想要了解更多细节最好的办法还是看gtest源码,如果你看过gtest源码,你会发现里面的注释...

2009-09-18 20:37:00 72

【转】玩转Google开源C++单元测试框架Google Test系列(gtest)之六 - 运行参数

原文地址http://www.cnblogs.com/coderzh/archive/2009/04/10/1432789.html一、前言使用gtest编写的测试案例通常本身就是一个可执行文件,因此运行起来非常方便。同时,gtest也为我们提供了一系列的运行参数(环境变量、命令行参数或代码里指定),使得我们可以对案例的执行进行一些有效的控制。二、基本介绍前面提到,对于运行参数...

2009-09-18 20:36:00 61

【转】玩转Google开源C++单元测试框架Google Test系列(gtest)之五 - 死亡测试

原文地址:http://www.cnblogs.com/coderzh/archive/2009/04/08/1432043.html一、前言“死亡测试”名字比较恐怖,这里的“死亡”指的的是程序的崩溃。通常在测试过程中,我们需要考虑各种各样的输入,有的输入可能直接导致程序崩溃,这时我们就需要检查程序是否按照预期的方式挂掉,这也就是所谓的“死亡测试”。gtest的死亡测试能做到在一个安全...

2009-09-18 20:34:00 81

【转】玩转Google开源C++单元测试框架Google Test系列(gtest)之四 - 参数化

原文地址http://www.cnblogs.com/coderzh/archive/2009/04/08/1431297.html一、前言在设计测试案例时,经常需要考虑给被测函数传入不同的值的情况。我们之前的做法通常是写一个通用方法,然后编写在测试案例调用它。即使使用了通用方法,这样的工作也是有很多重复性的,程序员都懒,都希望能够少写代码,多复用代码。Google的程序员也一样,他们...

2009-09-18 20:32:00 73

【转】玩转Google开源C++单元测试框架Google Test系列(gtest)之三 - 事件机制

原文地址:http://www.cnblogs.com/coderzh/archive/2009/04/06/1430396.html一、前言gtest提供了多种事件机制,非常方便我们在案例之前或之后做一些操作。总结一下gtest的事件一共有3种:1. 全局的,所有案例执行前后。2. TestSuite级别的,在某一批案例中第一个案例前,最后一个案例执行后。3. TestCae...

2009-09-18 20:30:00 50

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除