摘要: 要点:绝对不应该在构造函数和析构函数中调用虚函数。
阅读全文
摘要: 有两个相同的栈,一个里面放着自大到小排列的数,栈顶的数最小,另一个栈是空的.
不允许利用其它的数据结构,只能利用这两个栈,要求把第一个栈里的数字反过来,从
小到大排列,结果还放在原来的那个栈里面。
阅读全文
摘要: 单元测试(模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。例如,你可能把一个很大的值放入一个有序list 中去,然后确认该值出现在list 的尾部。或者,你可能会从字符串中删除匹配某种模式的字符,然后确认字符串确实不再包含这些字符了。
单元测试是由程序员自己来完成,最终受益的也是程序员自己。可以这么说,程序员有责任编写功能代码,同时也就有责任为自己的代码编写单元测试。执行单元测试,就是为了证明这段代码的行为和我们期望的一致。
要进行充分的单元测试,应专门编写测试代码,并与产品代码隔离。个人认为,比较简单的办法是为产品工程建立对应的测试工程,为每个类建立对应的测试类,为每个函数(很简单的除外)建立测试函数。
阅读全文
摘要: 测试用例就是测试数据及与之相关的功能的一个特定集合,它是为验证被测试程序(为测试程序路径或验证是否符合特定功能等方面的需求)而设计的。在单元测试过程中,测试用例的设计应与复审工作相结合,根据设计的测试用例选取不同的测试数据,将增加发现各类错误的可能性;另外,根据项目的具体情况确定测试用例项。如:测试用例编号、用例输入、用例预期输出、被测单元的版本号、实际输出等。单元测试用例的设计既可以使用白盒测试也可以使用黑盒测试,但以白盒测试为主,黑盒测试侧重于功能,白盒测试侧重于逻辑。
白盒测试进入的前提条件是测试人员已经对被测试对象有了一定的了解,基本上明确了被测试软件的逻辑结构。具体过程就是针对程序逻辑结构设计和加载测试用例,驱动程序执行,检查在不同点程序的状态,以确定实际的状态是否与预期的状态一致。
一般来说,为了度量测试的完整性,测试工作中通常要求达到一定的覆盖率要求。因为通过覆盖率的统计可以知道测试是否充分,对软件的哪个部分所做的测试不够,指导我们如何设计增加覆盖率的测试用例。这样就能够提高测试质量,尽量避免设计无效的用例。
在白盒测
阅读全文
摘要: 最常见的通配符是?和*。其中,?可以代表一个字符(不能没有),*可以代表任意多个字符(可以为空)。
首先是?,根据?的功能,?表示任意字符,也就是说在匹配过程中,?永远匹配成功。本质上,?并没有修改算法,而仅仅修改了匹配规则——遇到?则一定匹配。
然而*与此不同,*的作用是匹配任意多个字符,显然我们不能简单的修改匹配过程而满足要求。如果我们重新思考*的作用,我们会发现*的另一个作用就是分割P串,即如果P=P1*P2,那么与其说*代表匹配任意多个字符,不如说P的匹配条件是在匹配P1子串后再匹配P2子串。
因此,可以写出带通配符的字符串匹配算法
阅读全文
摘要: 数据库范式是数据库设计中必不可少的知识,没有对范式的理解,就无法设计出高效率、优雅的数据库。甚至设计出错误的数据库。而想要理解并掌握范式却并不是那 么容易。教科书中一般以关系代数的方法来解释数据库范式。这样做虽然能够十分准确的表达数据库范式,但比较抽象,不太直观,不便于理解,更难以记忆。
阅读全文
摘要:
关系数据库设计之时是要遵守一定的规则的。尤其是数据库设计范式 现简单介绍1NF(第一范式),2NF(第二范式),3NF(第三范式)和BCNF,另有第四范式和第五范式留到以后再介绍。 在你设计数据库之时,若能符合这几个范式,你就是数据库设计的高手。j
阅读全文
摘要: 摘要:一,一个大容量的页面文件容器;二、一个高效的HTTP下载器;三、一个完善的URL提取器;四、一个便利的结构化数据提取器
阅读全文
摘要: 转自javaeye。一个高性能的Web爬虫,必须有一个合适的网页容器。该容量最大的特点是要能够通过URL直接存取网页内容,并且要求有很高的性能,在一个千万级别的容器中存取一万次的时间应在1分钟左右(普通PC上)。采用拆衷的办法,在文件系统的基础上建立一组大文件和一组辅助文件,辅助文件实现通过URL定位该URL代表的网页在大文件中的位置,从页实现不随文件数量增长而性能变化的快速存取。以下将描述一个简洁的实现。
阅读全文
摘要: 在网上搜集并整理了一些常用中文分词包,后面慢慢补全: 庖丁解牛分词包;LingPipe,开源自然语言处理的Java开源工具包;JE分词包;LibMMSeg;IKAnalyzer;PHPCWS
阅读全文
摘要: 从网上总结的比较好的生成随机序列的算法:)
阅读全文
摘要: 在做VC项目时,用到的关于动态链接库的一些知识。
链接动态链接库的一些方法
阅读全文
摘要: 这是甲骨文公司总裁Larry Ellison (Oracle CEO) 在耶鲁大学Yale University 给2000级毕业生the graduating class of 2000所作的演讲全文,由于他句句惊人,很冷,最后被耶鲁大学保安请下讲台。该演讲号称历史最牛之演讲,但是否classic则不得而知,美国出版的一本大学经典演讲集未将其收入其中。
历史上最牛的演讲———甲骨文总裁拉里埃里森在耶鲁大学的演讲
耶鲁的毕业生们,我很抱歉---如果你们不喜欢这样的开场白。我想请你们为我做一件 事。请你---好好看一看周围,看一看站在你左边的同学,看一看站在你右边的同学。 请你设想这样的情况:从现在起5年之后,10年之后,或30年之后,今天站在你左边的 这个人会是一个失败者;右边的这个人,同样,也是个失败者。而你,站在中间的家伙, 你以为会怎样? 一样是失败者。失败的经历。失败的优等生。
阅读全文
摘要: Bill Joy MIT BBS上说微软电话面试的一道题就是“Who do you think is the best coder, and why?”。我觉得挺有意思的,也来凑个热闹。排名不分先后。
传奇编程高手:
Bill Joy
John Carmack
David Cutler
Donald E. Knuth
Ken Thompson
Rob Pike
Dennis M. Ritchie
Edsger Wybe Dijkstra
Anders Hejlsberg
阅读全文