上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 26 下一页

2007年9月11日

ACCESS大批量数据写入之性能提升方案

摘要: ACCESS数据库中批量写入大数据量时,最让人头疼的就是效率问题了。我一直也被这个问题困扰着。最近突然想起一个方案。利用ACCESS自身的导入功能,实现大数据的迅速导入功能。整体方案是这样的:数据—>文本文件—>MDB 适用范围:大批量数据转换 下面是实现方案,请注意后面的注释。第一、将数据写入到文本文件中。每一行一条记录,第一行是标题行。这里注意文本文件的格式:列之间使用逗号分开,数据符合CommaText特性。第二、在ACCESS中使用SQL导入。语法如:select*intotableName1from[Text;DATABASE=path].[filename.txt]pa 阅读全文

posted @ 2007-09-11 22:54 ohmyjava 阅读(1332) 评论(0) 推荐(0) 编辑

2007年9月10日

自动化测试框架: 与FinalBuilder结合

摘要: 当自动化测试的脚本编辑器完成之后,根据使用者反馈,这样确实大大提高了工作效率。并且代码的管理确实变得有效和可控。现在此项目已经开始向另一个管理系统尝试应用。可以预计,会有一些新的功能加入。不过,我们回过头来思考一个问题——自动化的问题。这是我们最终的目的。虽然说自动化测试框架能够解决软件本身的执行问题,但是一次完整的测试,必然是要覆盖全过程的。很显然,我们的框架不能解决这个问题。我做过很多项目的每日版本构造,所以对FinalBuilder比较熟悉。我也同时意识到FinalBuilder可以弥补我们框架在这方面的缺陷。很自然的,我将这个软件引入到我们系统中来。这个软件在业界是非常有名的,很多人都 阅读全文

posted @ 2007-09-10 22:26 ohmyjava 阅读(455) 评论(1) 推荐(0) 编辑

工具开发:勿以善小而不为

摘要: 这可能是一个被大家忽略的话题。工具的开发,往往是软件开发过程中不可或缺的关键因素。它们往往涉及到程序数据的制作,而这又是一个复杂系统完成的必要前提。谈起这个话题,其实更是一种倡议,希望我们能重视软件开发过程中的工具开发。在项目开发过程中,做得好的项目,往往会在项目初期就设计好需要开发哪些工具,并且会组织开发这些工具。这本身并没有什么可说的。可是我们先来看看实际情况吧。最近一段时间,我接触了这些工具的一些使用者。有几种典型情况,可能是我们设计者当初没有意识到的: 软件数据的生成完全依赖于这些工具,而这些工具却是工作的效率瓶颈。 工具使用者和工具开发者几乎隔离,因此针对工具的反馈和需求很难第一时间 阅读全文

posted @ 2007-09-10 00:37 ohmyjava 阅读(116) 评论(0) 推荐(0) 编辑

2007年9月8日

利用权限禁止QQ的自动升级(QQUpdateCenter)

摘要: 我很少写一些软件技巧性的文章,不过有时候不得以,有了这些需求,但是从网上又找不到非常满意的解决方案。所以在自己找到后,非常愿意写出来和大家分享。最近在Vista下使用最新版本的QQ(兼容Vista),发现那个QQUpdateCenter非常烦人。因为这个程序需要管理员权限,而我的Vista的UAC又是启动着的,所以每次启动QQ都会弹出权限确认框,非常讨厌。经过实践,我发现QQ中有自动升级的选项,但是关闭后发现完全无效!腾讯做软件确实做得不怎么样,专业性还是有点欠缺的。至少针对这点的客户体验,就不敢恭维。后来想到删除QQUpdateCenter这个文件,发现QQ确实不自动升级了,但却弹出修复窗体 阅读全文

posted @ 2007-09-08 18:35 ohmyjava 阅读(847) 评论(0) 推荐(0) 编辑

2007年8月30日

剪贴板中的观察者(Observer)模式

摘要: 最近因为工作需要,使用到了剪贴板的特殊功能。也翻阅了一些网上介绍的资料,发现要实现类似FlashGet那样下载工具中监视剪贴板的实现方式,对我们程序设计有点借鉴的意义。在Windows提供的剪贴板API中,针对监视这块,提供的是注册机制。主要函数是SetClipboardViewer这个API函数。这个函数的声明是这样的(Delphi):function SetClipboardViewer(hWndNewViewer: HWND): HWND; stdcall;通过这个函数,将一个窗口句柄,注册到系统剪贴板中。可以称注册后的窗体为一个Clipboard Viewer,众多的Viewer形成一 阅读全文

posted @ 2007-08-30 23:18 ohmyjava 阅读(136) 评论(0) 推荐(0) 编辑

2007年8月26日

程序员的处世哲学:好酒不怕巷子深

摘要: 笔者按:好酒不怕巷子深,这是张之洞对泸州老窖的评价。时至今日,很多人都对这句话产生了怀疑,但这反而促使了我对这句话的反思。又是一年秋来到,刚过秋伏天,太阳热情却又不过火,风儿识趣地给身体维持最舒服的温度。这一切都很容易让人陷入回忆、陷入沉思。工作已经六年多了,每每想起这些,总有一些感慨。程序员的生活就是在一间装有空调和暖气的屋子里,度过最热的夏天,度过最冷的冬天。可是春天和秋天呢,却也同样只是隔着窗户看风景。程序员就是这样将青春都关在了屋子里,转而整日面对着电脑,敲打着键盘。有些人还因为鼠标磨出老茧,还有人因为酸痛,换成左手。当太阳照到屁股的时候,程序员才起床。当太阳已经落下的时候,程序员才回 阅读全文

posted @ 2007-08-26 19:37 ohmyjava 阅读(167) 评论(0) 推荐(0) 编辑

2007年8月20日

自动化测试框架: 设计的重构

摘要: 最近对测试框架进行了重构,也对其中原有的一些设计进行了反思。其中不免有一些自我感觉得意之处,因此写出来和大家分享。这是一个重构的过程,所以将以重构的思路来讲述。重构对于一个系统来说,往往是必要的。他的必要性往往不在于重构的好处,而在于系统的成长的趋势。一个好的系统在初步阶段,在很多方面都会存在成长的空间,就如人在小时候长身体一样,如果补充的营养跟不上,一生都可能会受到影响。对于我们这个系统来讲,目前也正是初步使用验证阶段,所以重构的可能性非常大。当然了,如果从成本角度来看,在系统重构的时候,必须对系统的使用做严格的管理。幸好我们在早期对这方面比较谨慎,使用范围没有盲目扩展。因此重构所带来的影响 阅读全文

posted @ 2007-08-20 00:12 ohmyjava 阅读(266) 评论(0) 推荐(0) 编辑

2007年8月12日

自动化测试框架: Delphi中"包"的妙用

摘要: 自动化测试框架的基础是钩子,也就是常说的HOOK机制。但这在实际的应用过程中可能会遇到一些问题。一旦要做钩子,那么就必须获取函数地址。由于我原先设计的钩子的目标函数,都是Delphi的内部函数,也就是说,这些函数在编译之后,很难找到。当然了,也是有几种方式可以找到的: 将代码植入到系统中,编译的时候可以直接找到。 编译的时候,带上Map文件,可以通过Map找到函数地址。测试框架以Dll的方式远程注入。 Delphi中的包,可以公布这些函数的地址 前两种方式,有一个最大的缺点,在于必须为自动化测试,特别编译一个版本。虽然说可以接受,但显然不是最好的方案。第三种方案虽然好,但是前提是系统必须构建在 阅读全文

posted @ 2007-08-12 11:00 ohmyjava 阅读(190) 评论(0) 推荐(0) 编辑

2007年8月11日

让你工作变得更加有趣

摘要: 今日去打球的途中,同事聊起最近工作感觉无聊,问问我们感觉如何。我随口说我们没有啊,我和小J同学经常争争吵吵,感觉非常有意思。听者无心,说者有意。我回家后感觉这件事,说小是小,说大是大。工作如何才能有趣,应该也是一门学问啊。我倒没有什么方法能指导所有人都能将自己的工作变得有趣。但可以肯定的是,我就有这种感觉。于是我并开始反思自己过程中的感受,看看是否可以发现一些有规律的东东来。在此之前,我刚巧经历了一段低迷期。工作整天打着哈欠,整天过着猫一样的生活。感觉自己的工作都是围绕着别人的思路在走,完全找不到兴奋的感觉。上班也可能迟到。不过,后来我基本不迟到了。一位领导问其中的原因,我说很简单,闹钟提前了 阅读全文

posted @ 2007-08-11 02:48 ohmyjava 阅读(139) 评论(0) 推荐(0) 编辑

自动化测试框架: 所见即所寻

摘要: 经过一段时期的框架准备和测试方案编写,实际的冒烟测试已经开始进行。目前还算比较顺利。当然了,工作忙了一点,所以博客的更新速度也降低了。在编写的过程中,发现对于独立的子窗体的处理还是比较方便和简单的。这些窗体的普遍特点就是结构简单,功能单一,所以对应的处理过程也比较方便。但是对于主窗体来讲,就非常不一样了。可以说,一个系统中的绝大多数窗体,都包含在主窗体中,那么,对于主窗体上的控件的定位问题,就没有我们刚开始设想得那么简单了。最大的问题,在于重复的问题。我们一般通过控件的一些特征描述,来描述一个控件。但是,在主窗体中,往往拥有相同特征描述的控件不止一个。这是非常有可能存在的事实。并且,由于很多控 阅读全文

posted @ 2007-08-11 00:34 ohmyjava 阅读(122) 评论(0) 推荐(0) 编辑

上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 26 下一页

导航