自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (1)
  • 收藏
  • 关注

原创 Oracle体系结构总结

1、单实例体系结构:Oracle服务器是连接到数据库的实例实例包括共享内存区以及一组后台进程数据库是磁盘上的一组文件用户会话是连接到服务器进程的用户进程2、内存结构:实例共享内存区是系统全局区(SGA)会话的专用区域是程序全局区(PGA)SGA由一组子结构组成:其中一些是必需的(数据库高速缓存区、日志缓冲区和共享池);而另外一些是可选的(大池、java池

2009-09-30 21:07:00 743 1

原创 oracle物理存储结构

      Oracle从物理结构中完全抽象出逻辑存储。Oracle的物理结构主要包括三种数据文件:控制文件(controlfile)、联机重做日志文件(online redo log files)和数据文件(datafiles)。还有一些外部文件:初始化参数文件、口令文件、归档重做日志文件以及日志和跟踪文件。控制文件:控制文件也称:“多重控制文件”,即控制文件有多个副本。控制文件意义重大

2009-09-30 21:03:00 1362

原创 ORACLE实例的后台进程

      Oralce实例由内存和后台进程构成。实例后台进程在启动实例时启动,在终止实例时终止运行。      下面就来介绍一下这些在后台辛勤工作的进程们。系统检测器(System Monitor,SMON)、进程监视器(Process Monitor,PMON)、数据库写入器(Database Writer,DBWn)、日志写入器(Log Writer,LGWR)、检查点进程(Checkp

2009-09-29 10:49:00 814

原创 oracle内存结构

       Oracle服务器由两部分实体组成:实例和数据库。实例是内存结构和进程,数据库是磁盘文件。本文主要介绍Oracle实例的内存结构。      Oracle实例的组成包括被称为系统全局区(SGA)的共享内存块,以及大量的后台线程。      SGA的组成分为两部分,一类是必选的,一类是可选的。     必选部分:数据库高速缓存区日志缓冲区共享池 

2009-09-28 17:15:00 719

原创 Python3在ubuntu环境下的安装

       首先下载最新版本的Python,在这里我的版本是Python3.1.1。然后就是安装,切换到Python的文件目录下:./configuremakemake testsudo make install      在这里可能会遇到几个问题,第一个是在./configure时,可能会出现C compiler cannot create ex

2009-09-27 11:12:00 2880 1

原创 ubuntu下解决 C compiler cannot create executables

       今天,在Ubuntu上安装Python遇到了问题: C compiler cannot create executables。这应该是编译环境出现了问题。在网上搜索了一下,解决方法如下:       sudo apt-get install build-essential即可。

2009-09-27 10:51:00 6133 2

原创 Python数据结构之——set

      Set是简单对象的无需集合。在set中,没有重复元素。通常在对集合中元素的顺序和出现的次数没有什么要求时使用。对于set,有一些函数可以帮助求解set之间的关系,例如:包含关系,交集关系等。      定义一个set:s = set([1,2,3,4])。使用set函数来定义一个set。注意,set中没有充分元素,如果定义set时其中包含重复元素,那该元素也仅会出现一次。   

2009-09-26 10:06:00 3373

原创 Python数据结构之——tuple

      Tuple和List的功能相近,主要目的是用来存放一组对象。但是,它们有一个最大的不同点:Tuple是不可变的!      对于元组的定义,可以使用小括号“()”来完成。对于其中的元素,需要使用逗号分隔。需要注意的一点是:定义元组时,小括号是可选的!但是为了防止产生歧义,强烈推荐在定义元组时使用小括号。定义元组的示例如下:      tup = (one,two,th

2009-09-26 09:34:00 964

原创 Python数据结构之——list

     Python中有四种内建的数据结构:List,Tuple,Dictionary,Set。本文主要介绍List。     List是用来存放一组对象序列。可以像list中添加元素、删除元素,同时也可以像访问数组一样访问list。List是可变的数据类型。    下面,给出一组list的使用实例:     shoplist = [rice,apple,banana,

2009-09-25 22:20:00 1125

原创 Python中的代码重用——Modules

      在Python中,可以使用Function来实现代码重用。如果需要重用一组function,则需要使用Modules。      对于Modules,可以使用两种方法编写。第一、也是最简单的方法,就是使用Python编写。可以创建一个后缀名为.py的文件,在其中编写函数和变量。另外一种方法是直接使用本机语言,例如c。在python中可以直接使用。      对于代码重用,存在的

2009-09-25 20:50:00 2053

原创 Python中的Function

     Python中,函数是可被重用的程序段。对于函数的定义,可以使用def关键字。下面就先定义一个函数:      def foo(): print(function)foo()      在上述代码中,定义了一个名为foo的函数,这个函数没有参数。最后一行代码的功能是调用这个函数。这是一个函数的最简单形式。下面来介绍一下有参数的函数:      def foo

2009-09-25 09:36:00 3868

原创 Python中的流程控制

        Python是一门简单的语言。对于一个问题,应该只有一个解决方法。在Python中,有三种流程控制方法:if-else、while和for。        首先,介绍if-else条件语句。if语句是用来根据表达式的真假来有选择的执行特定的程序块,控制程序的流程。用法同java等语言。对于else if,有一个elif的简写方式。        例如:        i

2009-09-25 09:07:00 825

原创 Python中的字符串

       字符串是程序中最常见的数据类型。在Python中,可以使用三种方式定义字符串。单引号、双引号和三引号。例如:string、"string"、"""string"""或者是string。       在使用上,单引号和双引号没有什么区别。三引号的主要功能是在字符串中可以包含换行。也就是说,在三引号中的字符串,如果其中的内容在程序中是分行的,那么,在使用中也是分行的。

2009-09-24 20:47:00 634

原创 Python第一步

      首先下载最新版本的python。www.python.org,目前版本为3.1。      接下来是安装,在windows下python的安装与其他应用程序一样,不多复述。      在windows下,即可以使用命令行的方式,也可以使用IDLE来开发python。首先介绍命令行的方式:设置PATH,将python的安装路径添加至PATH环境变量中即可。在命令行中输入pytho

2009-09-24 20:09:00 595

原创 cvsnt添加用户

cvsnt添加用户过程:首先确保可以系统授权。在cvsnt control panel中,选择server setting选项,在run as属性中,将原来的client改为Administratorcmd首先设置cvsroot:set cvsroot=:pserver:administrator@127.0.0.1:/cvsroot(cvsroot为自己的cvsroot名称)登陆

2009-09-24 09:47:00 761

原创 EasyMock深入学习

      使用EasyMock,首先要从EasyMock类入手。关于EasyMock类,其中有很多的静态方法。这里就介绍几个重要的常用的方法。static T createMock(java.lang.Class toMock)用于创建被模拟的对象static IMockControl createControl() 创建一个IMockControl对象,使用这个对象可以创建多个mo

2009-09-14 19:52:00 1042

原创 使用EasyMock辅助单元测试

      在单元测试中,经常会遇到一些很难获取测试环境的问题。也就是说,测试程序在特定环境中运行。而产生这些环境有诸多不方便的因素,如:需要Servlet容器,需要连接数据库。或者是某些环境很难获取,如:网络异常等。这些因素在各个方面都限制了单元测试,要么使单元测试变得困难,要么使单元测试变得缓慢。      为了解决上述问题,可以使用Mock解决方案,也就是模拟真实环境。在java中,比较

2009-09-13 20:15:00 1487 2

原创 用类替换类型码

      在实际编程中,经常会遇到一些这样的问题:对于一类事物,经过会有一些不变的常量。例如:季节有春夏秋冬,方向有东西南北,状态有一二三四等等。通常的解决办法是使用类型码:也就是通常所说的类常量。      对于这种解决方法,存在者许多问题。例如:类型不安全、错误的赋值等。可以使用【用类代替类型码】重构来解决这类问题。      先简单介绍一下【用类代替类型码】重构:使用场合:

2009-09-10 22:21:00 1311

原创 用State替换状态改变条件语句

      State模式定义:不同的状态,不同的行为;或者说每一个状态都有不同的行为。      State模式使用场合:State模式在实际使用中用的比较多,主要用于“状态的切换”。如果针对状态的if-else切换反复出现,应该考虑使用State模式。不只是根据状态,也有根据属性。如果对象属性不同,行为也就不同了。      下面,给出一个小的例题来说明问题:      十字路口红

2009-09-10 21:16:00 1845 1

原创 敏捷软件开发——里氏替换原则LSP

       OCP背后的主要机制是抽象和多态。在静态语言中,支持抽象和多态的关键机制是继承。正是使用了继承,才可以创建实现其基类中抽象方法的抽象类。        那么我们在使用继承的过程中,应该需要注意哪些问题呢?这就正是本文中要介绍的一个敏捷原则——[里氏替换原则]        首先,简单的说明一下什么是LSP。 LSP:子类型必须能够替换掉它们的基类型 。         下

2009-09-07 15:10:00 1040

原创 ubuntu下的java的安装与配置

        首先,需要下载linux版本的jdk。在这里我使用了jdk1.6,可以直接去sun的官方网站下载。        接下来就所安装jdk,下载得到的所.bin文件。直接在命令行中键入“./ jdk.bin”即可安装。        最后就是环境边量的配置。在命令行中键入“sudo gedit /etc/profile”,将如下命令添加至文件末尾。       

2009-09-06 09:17:00 445

原创 解决Firefox占用系统资源过多的问题

      使用Firefox打开网站时,经常会出现cpu使用率为100%的情况。要解决这一问题需要NoScript扩展。它为Firefox提供保护功能,能阻止或允许插件的运行等。      NoScript的安装:打开Firefox的“工具“——“附加软件“——”获取扩展“出现一个网站,然后搜索NoScript,找到后单击“安装”       NoScri

2009-09-05 21:43:00 1180

原创 重构组合方法之——用查询方法代替临时变量

        通常情况下,在进行程序设计的过程中,使用临时变量来存储一些表达式计算的值。这其中存在着一些问题:代码可读性差。因为代码阅读者需要理解表达式的含义和目的,这样注意力就深入至表达式内部,从而降低了阅读效率和对程序整体的把握。不利于其他重构。因为这样做程序中会出现很多临时变量,不利于【提取方法】等其他重构。       现在,就提出了【用查询方法代替临时变量】的重

2009-09-05 11:40:00 724

原创 使用Groovy简化单元测试

       单元测试的重要性怎么强调都不为过。在进入正题之前,还是先罗嗦一下单元测试的重要性。       首先,单元测试能够解耦合。这一点不是单元测试的目的,但却是单元测试的结果。为什么呢?因为为了能够使代码能够测试、便于测试,需要将被测试代码与其它代码分离。这样,就必须就导致了被测试代码与其它代码的解耦合。无形中也提高了代码的可测试性。       其次,单元测试是重构的基础。没有单

2009-09-04 21:07:00 1206

原创 重构组合方法之——内联临时变量

       本文将主要介绍【内联临时变量】重构(Inline Temp)。这个重构的主要目的是为了辅助其他重构,用于删除程序中那些仅被赋值一次的临时变量。适用场合:临时变量仅被简单的表达式赋值一次,通常用于辅助其他重构解决方法:用表达式替换所有临时变量的引用动机 :通常情况下,本重构是作为【用查询方法替换临时变量】重构的一个组成部分,这是它的主要动机。如果一个变量由一个方法调用来

2009-09-04 14:41:00 1476 2

原创 重构组合方法之——内联方法

     上一篇文章中介绍的是提取方法,主要目的是将过长方法拆分为若干个小方法以提高程序的可读性。本文的主要目的和提取方法的目的正好相反。如果程序中的方法过短,而且方法体本身的意图也非常明确。这就需要删除该方法,将方法体并入方法调用者当中,这就是【内联方法】——Inline Method适用场合:方法体和方法名一样意图明确。例如:       //修改前int getRatin

2009-09-01 16:12:00 2247 1

GMock——groovy下的mock工具

groovy环境的mock工具,用于辅助单元测试.

2009-08-31

空空如也

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

TA关注的人

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