测试基础第二次总结

1  知识总结

一.第一章 软件工程要点

1. 软件的组成:程序、文档、数据。

2. 软件危机:落后的软件生产方式无法满足迅速增长的计算机软件要求,从而导  致软件开发与维护过程中出现的问题。

3. 软件工程:方法 工具 过程。

4.软件生命周期:

 瀑布模型:

 

     V模型:

  

二.软件测试基础

1.软件测试是对软件需求分析、设计、编码的最终复查的一系列过程,是软件质量保证的关键步骤

目的:发现缺陷,提高质量

验证是否满足需求

建立软件质量的信心

 

 2.软件测试7大原则:1)测试显示缺陷的存在;

     2)穷尽测试是不可能的;

     3)测试尽早介入;

     4)缺陷集群性(80-20原则);

     5)杀虫剂悖论;

     6)测试活动依赖于测试背景;

     7)不存在缺陷(就是有用系统)的谬论。

三.基于生命周期的软件测试

1. 软件测试过程包括:测试计划、测试方案、测试要点、开发用例、执行用例、测试报告评估。

2. 软件测试的生命周期流程:计划测试-需求分析-设计用例-开发用例-执行用例-缺陷追踪-测试报告评估

3. 生命周期基本概念:

 

4. 基于开发生命周期的测试特点:

1)在软件开发过程中持续的进行测试; 

2)在尽可能早的阶段点去介入; 

3)需要正式的开发流程来支持; 

4)组建专门的测试团队; 

5)当软件整体开发活动开始的时候,测试活动就可以开始

四.软件测试分类与分级

   1.对于软件测试,可从不同角度进行分类:

     是否关心内部结构: 白盒测试;黑盒测试;灰盒测试;

     开发过程级别:单元测试;集成测试;系统测试;验       

                   收测试。

     是否执行程序:静态测试;动态测试。

     执行是否需要人工干预:手工测试;自动化测试;

     测试实施组织:开发测试;用户测试;第三方测试。

   2.软件测试分级:单元(组件)测试、集成测试、系统测

                  试、验收测试。

   3. 非功能测试包括:负载测试、压力测试、文档测试、性能测试、稳定性测试、容量测试、兼容性测试

 

五.软件缺陷管理

 1. 软件缺陷管理定义:

软件未实现产品说明书要求的功能。

软件出现了产品说明书指明不应该出现的错误。

软件实现了产品说明书未提到的功能。

软件未实现产品说明书虽未明确提及但应该实现的目标。

软件难以理解,不易运行或运行缓慢。

 2. 软件缺陷产生的原因:

   

   3. 软件缺陷描述  :

     1)可追踪信息——缺陷ID

       (唯一的缺陷ID,可以根据该ID追踪缺陷)

     2)缺陷基本信息

       1.缺陷标题; 2.标识; 3.报告人; 4.报告日期;

      5.程序的名称; 6.版本号; 7.配置; 8.缺陷的类型;

      9.严重性; 10.先级; 11.关键词; 12.缺陷描述;

      13.重新步骤; 14.结果对比。

  4. 缺陷管理基本流程:

  

5. 缺陷管理一般流程:

 

6. 缺陷状态定义

缺陷状态

描述

已关闭

缺陷确认者(一般为问题生成人)验证后认为问题已解决属实

已拒绝

被拒绝的缺陷经缺陷确认者确认,确实不需要修复或不是缺陷

被拒绝

测试人员认为是系统缺陷或者是需要对系统进行优化,开发人员认为不是缺陷或者不需要优化的问题

延迟

问题的分析者认为是缺陷,但是不影响业务办理的进行延迟处理。

    6. 缺陷严重程度定义

严重等级

描述

严重

缺陷对进度的影响可能是非常致命的,或者可能是一个停止器——即终止用户继续使用系统;或者影响测试工作继续进行的缺陷。

较严重

系统基本能正常工作但同一错误现象频繁出现或者问题不解决时会给后续工作带来较大风险(如需求描述不正确导致系统设计错误)。

一般

不属于“严重”、“较严重”、“微小”之外的缺陷。

微小

不影响系统功能,但影响系统的易用性(如界面美观问题、操作建议等)或产出物的一些非技术性质量问题(如文档版本、错别字等)。 

 

六.软件测试过程及测试过程

1.软件开发和测试模型

 

2.W模型:

      

   3.W 模型特点:

      1)增加了软件各开发阶段中应同步进行的验证(verification)和确认(validation)活动。

      2)基于“尽早地和不断地进行软件测试”的原则。

   4.H 模型

 

5.H 模型特点:

  1)软件测试是一个独立的流程

  2)贯穿产品的整个生命周期,与其他流程并发的进

     行

  3)软件测试要尽早准备、尽早执行

  4)软件测试分层次进行的,不同层次的测试按照某

     个次序先后进行,也可以重复进行

七.软件静态测试

1. 静态测试:通常是指不执行程序代码而寻找代码中可能存在的错误或评估程序代码的过程。

2. 静态测试对象:各种与软件相关的有必要进行测试的产物,比如各类文档、源代码等。

3. 静态测试的特点:不必动态的运行程序;

可以人工进行,充分发挥人的思维优势;

不需要特别的条件,容易展开;

对测试人员要求比较高。

4.评审:对软件元素或项目状态进行评估的活动,用以

  确定与预期结果之间的偏差和相应的改进意见。

5.评审包括:培训评审、预备评审、同行评审。

6.同行评审:由开发软件产品作者以外的其他人检查工

      作产品,以发现缺陷并寻找改进的机会。           

      1) 方法:评审者通过采用一行一行仔细阅读。

      2) 时间:在工作产品到达了一个完成的里程碑并即                       将进入下一个开发阶段时。

      3)包括:审查、小组评审、走查、桌面评审、临时评审。 

 

7.同行评审的规格:

8.代码检查:定义:是以组为单位阅读代码,是一系列规程

   和错误检查技术的集合。

代码评审开展时间:代码全部或部分完成后。

测试目的:及早发现缺陷。

具体方法:一般采用静态白盒”测试的方法。

代码检查输出的信息:度量标准、易产生错误的代码、代码规则的执行、流图和调用图的分析。

9.代码检查方法:

 

八.动态测试

 1.动态测试:指通过运行被测程序来检查运行结果与预期结果的差异,并分析运行效率和健壮性等指标;这种方法由三部分组成:构造测试实例、执行程序、分析程序的输出结果。

  

 2.白盒测试:是一种按照程序内部逻辑结构和编码结构设计测试数据并完成测试的测试方法,因此又称为结构测试或逻辑驱动测试。一般分为静态测试和动态测试。

   1)静态测试:1.代码检查;2.编码标准和规范等等;

   2)动态测试:(1)逻辑覆盖(包括语句覆盖、判定覆盖、条件覆盖、判定\条件覆盖、条件组合覆盖、路径覆盖);

   (2)路径测试;

   (3)数据流测试;

   (4)信息流分析;

   (5)覆盖率分析;

 

   1)语句覆盖:a.语句覆盖是最起码的测试要求,要求设计足够多的测试用例,使得每条语句至少被执行一次;

b.另外语句覆盖对程序的逻辑覆盖很少,只关心判定表达式的值,是很弱的逻辑覆盖标准。

  2)判定覆盖:要求设计足够多的测试用例,使得程序中的每一个分支至少通过一次,即每一条分支语句的“真”值和“假”值都至少执行一次。

 

3)条件覆盖:a.不仅每一个语句至少执行一次,使得判定中的每一个条件获得各种可能的结果。

   b.判定覆盖只关心整个判定表达式的结果,条件覆盖关心的则是每个条件各种取值的结果。

 

  

  4)判定/条件覆盖:是设计足够的测试用例,使得判定中每个条件的所有可能取值至少能够执行一次,同时每个判断的所有可能的判定结果至少执行一次.

 

  5)条件组合覆盖:要求设计足够多的测试用例,使得每个判定中条件的各种组合至少出现一次。

 

   6)路径覆盖:要求设计足够多的测试用例,使得程序中所有的路径都至少执行一次。

 

3.逻辑覆盖度:

 

4.黑盒测试:把测试对象当作看不见内部的黑盒、在完全不考虑程序内部结构和处理过程的情况下,测试者仅依据程序功能的需求规范考虑,确定测试用例和推断测试结果的正确性

5.黑盒测试方法:

等价类划分法:它是把所有可能的输入数据,即程序的输入域划分成若干部分,再从每一部分中选取少数有代表性的数据做为测试用例

边界值分析法:是一种补充等价类划分法的测试用例设计方法,它不是选择等价类的任意元素,而是选择等价类边界的测试用例

因果图法 :是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,该方法充分考虑了输入情况的各种组合及输入条件之间的相互制约关系

随机数法:能够获得大量的测试数据,测试人员只需规定输入变量的取值区间、在需要的时候提供必要的变换机制,使产生的随机数服从预期的概率分布 

猜错法:是基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性地设计测试用例的方法

6.划分等价类的原则:

(1)在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。如:输入值是学生成绩,范围是0100

(2)在输入条件规定了输入值的集合或者规定了"必须如何"的条件的情况下,可确立一个有效等价类和一个无效等价类;

(3)在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。

(4)在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。

(5)在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则);

(6)在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。

7.基于边界值分析方法选择测试用例的原则

(1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。
(2)如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据。
(3)将规则(1)(2)应用于输出条件,即设计测试用例使输出值达到边界值。 
(4)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。
(5)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。
(6)分析规格说明,找出其它可能的边界条件。

8.采用因果图法设计测试用例的步骤:

(1)分析软件规格说明描述中那些是原因(即输入条件或输入条件的等价类),那些是结果(即输出条件), 并给每个原因和结果赋予一个标识符。

(2)分析软件规格说明描述中的语义,找出原因与结果之间原因与原因之间对应的关系,根据这些关系,画出因果图。(3)由于语法或环境限制有些原因与原因之间,原因与结果之间的组合情况不可能出现,为表明这些特殊情况在因果图上用一些记号表明约束或限制条件。

(4)把因果图转换为判定表。

(5)把判定表的每一列拿出来作为依据,设计测试用例。

9.理解猜错法、场景法

(1)错误猜测法的定义:有经验的测试人员往往可以根据自己的工作经验和直觉推测出程序可能存在的错误,从而有针对性的进行测试。它的要素共有三点,分别为:经验、知识、直觉。

(2)场景法定义

场景法是通过运用场景来对系统的功能点或业务流程的描述,从而提高测试效果的一种方法。

场景法一般包含基本流和备用流,从一个流程开始,通过描述经过的路径来确定的过程,经过遍历所有的基本流和备用流来完成整个场景。场景主要包括4种主要的类型:正常的用例场景,备选的用例场景,异常的用例场景,假定推测的场景。

10.采用等价类划分方法列出的测试点充分,不冗余,覆盖所有的需求;

划分等价类的标准:
  1)完备测试、避免冗余;
  2)划分等价类重要的是:集合的划分,划分为互不相交的一组子集,而子集的并是整个集合;
  3)并是整个集合:完备性;
  4)子集互不相交:保证一种形式的无冗余性;
  5)同一类中标识(选择)一个测试用例,同一等价类中,往往处理相同,相同处理映射到"相同的执行路径"

11.设计测试用例
  在确立了等价类后,可建立等价类表,列出所有划分出的等价类输入条件:有效等价类、无效等价类,然后从划分出的等价类中按以下三个原则设计测试用例:
  1)为每一个等价类规定一个唯一的编号;
  2)设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止;
  3)设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。

12.采用边界值方法完成对等价类的补充,结果无缺漏无冗余

由于等价类和边界值经常配合使用,因此两者可以合并为一个用例设计方法,下面总结一下使用等价类边界值设计测试用例的思路和方法。

  1)分析需求,挖掘隐式条件,确认边界值,划分等价类

  2)将划分出的等价类填入表格,进行编号

  3)对有效等价类,用一条用例尽量多的覆盖

    4)对于无效等价类,一对一的覆盖,最终得到测试用例

13.心得:在设计测试用例时,首先要把测试需求点整理清楚,划分好类别,不明白不清楚的地方一定要及时跟项目经理、客户沟通,解决问题。千万不要置之不理,否则后续会陷入不断修改测试用例的恶性循环。另外,在整理需求的时候,不要嫌麻烦,将测试点一条一条罗列清楚,这样在后面写测试用例的时候条理也更加清楚明确。俗话说的好,好的开始是成功的一半!加油!

14.mantisTestlink集成

1.C:\xampp\htdocs\testlink下找到config.inc,php文件把文件中interface_bugs=NO’把其中的NO改成MANTIS

2C:\xampp\htdocs\testlink\cfg文件下找到文件mantisincphp,把里面的文件全部替换成下图所示

                            文件替换

这样就能完成testlinkmantis的集成,然后只需要登录到testlink找到为通过的项目,通过点击虫子,进入问题编号输入框就能与mantis进行连接了。

15.Testlink简化步骤:

创建项目(产品)

创建需求

创建测试用例

创建计划

给计划添加测试用例

分配测试任务

执行测试/报告bug

1)创建项目(产品)

① 单击“测试项目管理”来创建新项目,输入项目名称、前缀以及项目描述。

② 单击“用户管理”选择编辑用户,单击“创建”创建一个新的用户,并将语言设为中文。

2)创建测试需求

① 单击主页上的“产品需求”,新建一个需求规约,输入文档ID、标题。若仍要继续创建需求规约,则依据此方法

② 选择你要编辑的需求规格,点击该页面上的“创建新产品需求”按钮,开始新建测试需求。

3)创建测试用例

   (1)创建测试用例集

    点击主页上的“测试用例”菜单下的“编辑测试用例”,填写好相关的内容后,单击“创建测试用例集”按钮,创建该用例集

2)创建测试用例

选择创建好的测试用例集,点击页面右侧的“创建测试用例”按钮,输入标题后单击“创建”按钮

 (3)删除测试用例

经过主管许可后,通过“删除”按钮可以将测试用例集和测试用例从一个测试计划中删除。 当第一次创建一个测试计划时,由于其中还没有包含任何结论,删除数据也许是有益的。但是在 大部分情况下,删除测试用例会导致与它们相关联的所有结果都丢失。因此,使用这项功能时一定要十分谨慎。

4)添加测试用例

选择创建好的测试用例集,点击该页面右侧的“创建测试用例”按钮,新建一个测试用例,测试用例创建成功后,点击“创建步骤”按钮,输入数据,点击“保存”。

5)制定测试计划

1)创建测试计划

点击主页“测试计划管理”模块下的“测试计划管理”菜单。在出现的页面点击“创建” 按钮,进入测试计划创建页面。

2)创建里程碑

单击主页面“测试计划管理”模块下的“编辑/删除里程碑”菜单,创建一个新的测试里程碑。测试里程碑的内容包括:名称、日期、优先级。

3)版本管理

    点击主页“测试计划管理”模块下的“版本管理”菜单,创建一个新的测试版本。

4)指派用户角色

单击主页面“测试计划管理”模块下的“指派用户角色”菜单,为测试计划指派用户。

在为测试计划指派用户页面,可以选择测试计划,选择好需要指派权限的测试角色后, 点击更改按钮,则可以更改测试计划。选择好测试计划后,可以将该测试计划以不同的角色 分配给不同的用户,通过角色列表,可以选择用户对该测试计划的操作角色,选择结束后, 点击更新按钮,可以保存结果。

6)添加测试用例到测试计划

在主页上选择测试计划单机“测试用例集” 下的“添加/删除测试用例到测试计划” 按钮进入测试计划添加到测试用例。

7)给测试人员分配测试任务

单击主页面“测试用例集”模块下的“指派执行测试用例”菜单,进入指派测试用例页面,可以为当前测试计划中所包含的每个测试用例指定一个具体的执行人员。

8)执行测试并导出报告

1)执行测试用例

在菜单栏中单机“执行”按钮进入“测试用例执行”界面 ,执行测试用例,观察测试结果。

2)导出报告 

在主菜单上单击“结果”这一选项进入测试结果报告页面,报告格式选择“HTML”选择要导出的测试报告,单击“导出报告”按钮将报告导出。

16.Testlink中默认的角色包括:

admin--管理员:最高级别,拥有所有的权限

leader--项目责任人:除了产品权限、自定义字段权限、用户权限(用户管理和角色管理)外,其他均有权限

senior tester--高级测试人员:拥有测试用例管理、测试计划管理权限和需求和关键字查看权限

tester--测试人员:仅用户测试计划执行和查看权限

guest--匿名用户:只有查看权限

test disnger--测试设计人员:编辑和查看测试用例的权限,关键字管理权限。

testlink的默认角色基本按照职能进行划分,首先是拥有最高权限的管理员。 然后是项目负责人,拥有对整个项目所有测试相关的权限;接着是高级测试人员,可以管理测试用例,编写测试计划等; 下一个普通的测试人员,按照测试计划,执行测试用例; 还有一个测试设置人员,可以创建和编辑测试用例。

这样的角色和权限基本与实际工作中的情况一致,但个人觉得测试用例设计的角色不太实用,接触的公司基本都没有单独设计这样的人员。 一般情况下,测试用例编写者也是测试执行者,同时也是测试计划编写者。

当然,testlink的各个角色的权限可以自定义设置,用户可以按照公司实际的情况设置角色和权限。

17.使用管理员权限创建项目

创建项目:点击测试项目管理—点击新建项目

系统为TestLink  创建了一个默认的管理员账号,用户名/密码为admin/admin。可以使用这个账号访问TestLink,如果是第一次访问,访问后TestLink会要求您创建一个新的测试项目,只有在创建了测试项目之后,页面上才会出现功能栏。

18.掌握软件缺陷管理基本流程

1.一种抽象的模型,用于定义软件测试的流程和方法。

2. 测试过程的质量,将直接影响测试结果的准确性和有效性。

3. 遵循基本原理,测试过程遵循软件工程原理,遵循管理学原理。

 

19.熟练使用mantis,录入缺陷并设置缺陷的问题等级、优先级等要素,清晰填写问题描述及重现步骤

1.创建项目

2可以添加分类,设置、修改版本信息、自定义字段

3.创建个用户账号和密码,测试人员(即报告员)和开发人员

a.创建好这两个用户之后,使用测试人员登陆mantis,发现了stock 的缺陷问题,进行提交

b.使用开发人员登陆mantis,将缺陷状态修改为已确认(不用进行缺陷复现)

c.使用administrator 登录mantis,将缺陷分配给卡发人员

d.使用开发人员登陆mantis,将缺陷状态修改为已解决

e.使用测试人员登陆mantis,对bug 进行验证

f.使用administrator 登录mantis,查看缺陷状态,关闭该缺陷

4.admin 登录mantis,导出缺陷报告。

20.掌握mantis中各角色职责

测试人员:发现,提出问题;

开发人员:确认,修改问题;

管理员(经理):确认,指派,关闭问题

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python核心编程第二版(ok) 第1部分 Python核心  第1章 欢迎来到Python世界    1.1 什么是Python    1.2 起源    1.3 特点     1.3.1 高级     1.3.2 面向对象     1.3.3 可升级     1.3.4 可扩展     1.3.5 可移植性     1.3.6 易学     1.3.7 易读     1.3.8 易维护     1.3.9 健壮性     1.3.10 高效的快速原型开发工具     1.3.11 内存管理器     1.3.12 解释性和(字节)编译性    1.4 下载和安装Python    1.5 运行Python     1.5.1 命令行上的交互式解释器     1.5.2 从命令行启动脚本     1.5.3 集成开发环境     1.5.4 其他的集成开发环境和执行环境    1.6 Python文档    1.7 比较Python(Python与其他语言的比较)    1.8 其他实现    1.9 练习   第2章 快速入门    2.1 程序输出,1print语句及“HellocWorld!”    2.2 程序输入和raw_input()内建函数    2.3 注释    2.4 操作符    2.5 变量和赋值    2.6 数字    2.7 字符串    2.8 列表和元组    2.9 字典    2.10 代码块及缩进对齐    2.11 if语句    2.12 while循环    2.13 for循环和range()内建函数    2.14 列表解析    2.15 文件和内建函数open().cfile()    2.16 错误和异常    2.17 函数     2.17.1 如何定义函数     2.17.2 如何调用函数     2.17.3 默认参数    2.18 类    2.19 模块     2.19.1 如何导入模块     2.19.2 如何访问一个模块函数或访问一个模块变量    2.20 实用的函数    2.21 练习   第3章 Python基础    3.1 语句和语法     3.1.1 注释(#)     3.1.2 继续()     3.1.3 多个语句构成代码组()     3.1.4 代码组由不同的缩进分隔     3.1.5 同一行书写多个语句(;)     3.1.6 模块    3.2 变量赋值     3.2.1 赋值操作符     3.2.2 增量赋值     3.2.3 多重赋值     3.2.4 “多元”赋值    3.3 标识符     3.3.1 合法的Python标识符     3.3.2 关键字     3.3.3 内建     3.3.4 专用下划线标识符    3.4 基本风格指南     3.4.1 模块结构和布局     3.4.2 在主程序中书写测试代码    3.5 内存管理     3.5.1 变量定义     3.5.2 动态类型     3.5.3 内存分配     3.5.4 引用计数     3.5.5 垃圾收集    3.6 第一个Python程序    3.7 相关模块和开发工具    3.8 练习   第4章 Python对象    4.1 Pythonc对象    4.2 标准类型    4.3 其他内建类型     4.3.1 类型对象和type类型对象     4.3.2 None--Python的Null对象    4.4 内部类型     4.4.1 代码对象     4.4.2 帧对象     4.4.3 跟踪记录对象     4.4.4 切片对象     4.4.5 省略对象     4.4.6 XRangec对象    4.5 标准类型操作符     4.5.1 对象值的比较     4.5.2 对象身份比较     4.5.3 布尔类型    4.6 标准类型内建函数     4.6.1 type()     4.6.2 cmp()     4.6.3 str()和repr()(及``操作符)     4.6.4 type()和isinstance()     4.6.5 Python类型操作符和内建函数总结    4.7 类型工厂函数    4.8 标准类型的分类     4.8.1 存储模型     4.8.2 更新模型     4.8.3 访问模型    4.9 不支持的类型    4.10 练习   第5章 数字    5.1 数字简介     5.1.1 如何创建数值对象并用其赋值(数字对象)     5.1.2 如何更新数字对象     5.1.3 如何删除数字对象    5.2 整型     5.2.1 布尔型     5.2.2 标准整型     5.2.3 长整型     5.2.4 整型和长整型的统一    5.3 双精度浮点型    5.4 复数    5.5 操作符     5.5.1 混合模式操作符     5.5.2 标准类型操作符     5.5.3 算术操作符     5.5.4 位操作符(只适用于整型)    5.6 内建函数与工厂函数     5.6.1 标准类型函数     5.6.2 数字类型函数     5.6.3 仅用于整型的函数    5.7 其他数字类型     5.7.1 布尔“数”     5.7.2 十进制浮点型    5.8 相关模块    5.9 练习   第6章 序列:字符串.c列表和元组    6.1 序列     6.1.1 标准类型操作符     6.1.2 序列类型操作符     6.1.3 内建函数(BIF)    6.2 字符串    6.3 字符串和操作符     6.3.1 标准类型操作符     6.3.2 序列操作符切片([]和[])    6.4 只适用于字符串的操作符     6.4.1 格式化操作符(%)     6.4.2 字符串模板c更简单的替代品     6.4.3 原始字符串操作符(rR)     6.4.4 Unicode字符串操作符(uU)    6.5 内建函数     6.5.1 标准类型函数     6.5.2 序列类型函数     6.5.3 字符串类型函数    6.6 字符串内建函数     6.7 字符串的独特特性     6.7.1 特殊字符串和控制字符     6.7.2 三引号     6.7.3 字符串不变性    6.8 Unicode     6.8.1 术语     6.8.2 什么是Unicode     6.8.3 怎样使用Unicode     6.8.4 Codec是什么     6.8.5 编码解码     6.8.6 把Unicode应用到实际应用中     6.8.7 从现实中得来的教训     6.8.8 Python的Unicode支持    6.9 相关模块    6.10 字符串关键点总结   6.11 列表    6.12 操作符     6.12.1 标准类型操作符     6.12.2 序列类型操作符     6.12.3 列表类型操作符和列表解析    6.13 内建函数     6.13.1 标准类型函数     6.13.2 序列类型函数     6.13.3 列表类型内建函数    6.14 列表类型的内建函数    6.15 列表的特殊特性    6.16 元组    6.17 元组操作符和内建函数     6.17.1 标准类型操作符.c序列类型操作符和内建函数     6.17.2 元组类型操作符和内建函数.c内建方法    6.18 元组的特殊特性     6.18.1 不可变性给元组带来了什么影响     6.18.2 元组也不是那么“不可变”     6.18.3 默认集合类型     6.18.4 单元素元组     6.18.5 字典的关键字    6.19 相关模块    6.20 拷贝Python对象.c浅拷贝和深拷贝    6.21 序列类型小结    6.22 练习   第7章 映像和集合类型    7.1 映射类型:字典     7.1.1 如何创建字典和给字典赋值     7.1.2 如何访问字典中的值     7.1.3 如何更新字典     7.1.4 如何删除字典元素和字典    7.2 映射类型操作符     7.2.1 标准类型操作符     7.2.2 映射类型操作符    7.3 映射类型的内建函数和工厂函数     7.3.1 标准类型函数[type().cstr()和cmp()]     7.3.2 映射类型相关的函数    7.4 映射类型内建方法    7.5 字典的键     7.5.1 不允许一个键对应多个值     7.5.2 键必须是可哈希的    7.6 集合类型     7.6.1 如何创建集合类型和给集合赋值     7.6.2 如何访问集合中的值     7.6.3 如何更新集合     7.6.4 如何删除集合中的成员和集合    7.7 集合类型操作符     7.7.1 标准类型操作符(所有的集合类型)     7.7.2 集合类型操作符(所有的集合类型)     7.7.3 集合类型操作符(仅适用于可变集合)    7.8 内建函数     7.8.1 标准类型函数     7.8.2 集合类型工厂函数    7.9 集合类型内建方法     7.9.1 方法(所有的集合方法)     7.9.2 方法(仅适用于可变集合)     7.9.3 操作符和内建方法比较    7.10 集合类型总结表    7.11 相关模块    7.12 练习   第8章 条件和循环    8.1 if语句     8.1.1 多重条件表达式     8.1.2 单一语句的代码块    8.2 else语句    8.3 elif(即else-if)语句    8.4 条件表达式(即“三元操作符”)    8.5 while语句     8.5.1 一般语法     8.5.2 计数循环     8.5.3 无限循环    8.6 for语句     8.6.1 一般语法     8.6.2 用于序列类型     8.6.3 用于迭代器类型     8.6.4 range()内建函数     8.6.5 xrange()c内建函数     8.6.6 与序列相关的内建函数    8.7 break语句    8.8 continue语句    8.9 pass语句    8.10 再谈else语句    8.11 迭代器和iter()函数     8.11.1 什么是迭代器     8.11.2 为什么要迭代器     8.11.3 如何迭代     8.11.4 使用迭代器     8.11.5 可变对象和迭代器     8.11.6 如何创建迭代器    8.12 列表解析    8.13 生成器表达式    8.14 相关模块    8.15 练习   第9章 文件和输入输出    9.1 文件对象    9.2 文件内建函数(open()和file())     9.2.1 工厂函数file()     9.2.2 通用换行符支持(UNS)    9.3 文件内建方法     9.3.1 输入     9.3.2 输出     9.3.3 文件内移动     9.3.4 文件迭代     9.3.5 其他     9.3.6 文件方法杂项    9.4 文件内建属性    9.5 标准文件    9.6 命令行参数    9.7 文件系统    9.8 文件执行    9.9 永久存储模块     9.9.1 pickle和marshal模块     9.9.2 DBM风格的模块     9.9.3 shelve模块    9.10 相关模块    9.11 练习   第10章 错误和异常    10.1 什么是异常     10.1.1 错误     10.1.2 异常    10.2 Pythonc中的异常    10.3 检测和处理异常     10.3.1 try-except语句     10.3.2 包装内建函数     10.3.3 带有多个except的try语句     10.3.4 处理多个异常的except语句     10.3.5 捕获所有异常     10.3.6 “异常参数”     10.3.7 在应用使用我们封装的函数     10.3.8 else子句     10.3.9 finally子句     10.3.10 try-finally语句     10.3.11 try-except-else-finally:厨房一锅端  cccc10.4 上下文管理     10.4.1 with语句     10.4.2 上下文管理协议    10.5 字符串作为异常    10.6 触发异常    10.7 断言    10.8 标准异常    10.9 创建异常    10.10 (现在)为什么用异常    10.11 到底为什么要异常    10.12 异常和sys模块    10.13 相关模块    10.14 练习   第11章 函数和函数式编程    11.1 什么是函数?     11.1.1 函数vs过程     11.1.2 返回值与函数类型    11.2 调用函数     11.2.1 函数操作符     11.2.2 关键字参数    11.2.3 默认参数     11.2.4 参数组    11.3 创建函数     11.3.1 def语句     11.3.2 声明与定义比较     11.3.3 前向引用     11.3.4 函数属性     11.3.5 内部内嵌函数     11.3.6 函数(与方法)装饰器    11.4 传递函数    11.5 FormalcArguments     11.5.1 位置参数     11.5.2 默认参数    11.6 可变长度的参数     11.6.1 非关键字可变长参数(元组)     11.6.2 关键字变量参数(字典)     11.6.3 调用带有可变长参数对象函数    11.7 函数式编程     11.7.1 匿名函数与lambda     11.7.2 内建函数apply().cfilter().cmap().creduce()     11.7.3 偏函数应用    11.8 变量作用域     11.8.1 全局变量与局部变量     11.8.2 globa语句     11.8.3 作用域的数字     11.8.4 闭包     11.8.5 作用域和lambda     11.8.6 变量作用域和名称空间    11.9 递归     11.10 生成器     11.10.1 简单的生成器特性        11.10.2 加强的生成器特性    11.11 练习   第12章 模块    12.1 什么是模块    12.2 模块和文件     12.2.1 模块名称空间     12.2.2 搜索路径和路径搜索    12.3 名称空间     12.3.1 名称空间与变量作用域比较     12.3.2 名称查找.c确定作用域.c覆盖     12.3.3 无限制的名称空间    12.4 导入模块     12.4.1 import语句     12.4.2 from-import语句     12.4.3 多行导入     12.4.4 扩展的import语句(as)    12.5 模块导入的特性     12.5.1 载入时执行模块     12.5.2 导入(import)和加载(load)     12.5.3 导入到当前名称空间的名称     12.5.4 被导入到导入者作用域的名字     12.5.5 关于__future__     12.5.6 警告框架     12.5.7 从ZIP文件中导入模块     12.5.8 “新的”导入钩子    12.6 模块内建函数     12.6.1 __import__()     12.6.2 globals()和locals()        12.6.3 reload()    12.7 包     12.7.1 目录结构     12.7.2 使用from-import导入包    12.8 模块的其他特性     12.8.1 自动载入的模块     12.8.2 阻止属性导入     12.8.3 不区分大小的导入     12.8.4 源代码编码     12.8.5 导入循环     12.8.6 模块执行    12.9 相关模块    12.10 练习   第13章 面向对象编程    13.1 引言    13.2 面向对象编程     13.2.1 面向对象设计与面向对象编程的关系     13.2.2 现实中的问题     13.2.3 常用术语    13.3 类     13.3.1 创建类     13.3.2 声明与定义    13.4 类属性     13.4.1 类的数据属性     13.4.2 Methods     13.4.3 决定类的属性     13.4.4 特殊的类属性    13.5 实例     13.5.1 初始化:通过调用类对象来创建实例     13.5.2 __init__()“构造器”方法     13.5.3 __new__()“构造器”方法     13.5.4 __del__()“解构器”方法    13.6 实例属性     13.6.1 “实例化”实例属性(或创建一个更好的构造器)     13.6.2 查看实例属性     13.6.3 特殊的实例属性     13.6.4 建类型属性     13.6.5 实例属性vs类属性    13.7 绑定和方法调用     13.7.1 调用绑定方法     13.7.2 调用非绑定方法    13.8 静态方法和类方法     13.8.1 staticmethod()和classmethod()内建函数     13.8.2 使用函数修饰符    13.9 组合    13.10 子类和派生    13.11 继承     13.11.1 __bases__类属性     13.11.2 通过继承覆盖方法     13.11.3 从标准类型派生     13.11.4 多重继承    13.12 类.c实例和其他对象的内建函数     13.12.1 issubclass()     13.12.2 isinstance()     13.12.3 hasattr().cgetattr().csetattr().cdelattr()     13.12.4 dir()     13.12.5 super()     13.12.6 vars()    13.13 用特殊方法定制类     13.13.1 简单定制(RoundFloat2)     13.13.2 数值定制(Time60)     13.13.3 迭代器(RandSeq和AnyIter)     13.13.4 多类型定制(NumStr)    13.14 私有化    13.15 授权     13.15.1 包装     13.15.2 实现授权    13.16 新式类的高级特性(Pythonc2.2+)     13.16.1 新式类的通用特性     13.16.2 __slots__类属性     13.16.3 __getattribute__()特殊方法     13.16.4 描述符     13.16.5 元类和__metaclass__    13.17 相关模块和文档    13.18 练习   第14章 执行环境    14.1 可调用对象     14.1.1 函数     14.1.2 方法     14.1.3 类     14.1.4 类的实例    14.2 代码对象    14.3 可执行的对象声明和内建函数     14.3.1 callable()     14.3.2 compile()     14.3.3 eval()     14.3.4 exec     14.3.5 input()     14.3.6 使用Python在运行时生成和执行Python代码    14.4 执行其他(Python)程序     14.4.1 导入     14.4.2 execfile()     14.4.3 将模块作为脚本执行    14.5 执行其他(非Python)程序     14.5.1 os.system()     14.5.2 os.popen()     14.5.3 os.fork().cos.exec().cos.wait()     14.5.4 os.spawn()     14.5.5 subprocessc模块     14.5.6 相关函数    14.6 受限执行    14.7 结束执行     14.7.1 sys.exit()candcSystemExit     14.7.2 sys.exitfunc()     14.7.3 os._exit()c函数     14.7.4 os.kill()cFunction    14.8 各种操作系统接口    14.9 相关模块    14.10 练习  第2部分 高级主题  第15章 正则表达式    15.1 引言动机    15.2 正则表达式使用的特殊符号和字符     15.2.1 用管道符号()匹配多个正则表达式模式     15.2.2 匹配任意一个单个的字符(.)     15.2.3 从字符串的开头或结尾或单词边界开始匹配(^$cbcBc)     15.2.4 创建字符类([])     15.2.5 指定范围(-)和否定(^)     15.2.6 使用闭包操作符(,1+,1,1{})实现多次出现重复匹配     15.2.7 特殊字符表示.c字符集     15.2.8 用圆括号(())组建组    15.3 正则表达式和Python语言     15.3.1 re模块:核心函数和方法     15.3.2 使用compile()编译正则表达式     15.3.3 匹配对象和group().cgroups()方法    15.3.4 用match()匹配字符串     15.3.5 search()在一个字符串中查找一个模式(搜索与匹配的比较)     15.3.6 匹配多个字符串()     15.3.7 匹配任意单个字符(.)     15.3.8 创建字符集合([])     15.3.9 重复.c特殊字符和子组     15.3.10 从字符串的开头或结尾匹配及在单词边界上的匹配     15.3.11 用findall()找到每个出现的匹配部分     15.3.12 用sub()(和subn())进行搜索和替换     15.3.13 用split()分割(分隔模式)    15.4 正则表达式示例     15.4.1 匹配一个字符串     15.4.2 搜索与匹配的比较,1“贪婪”匹配    15.5 练习   第16章 网络编程    16.1 引言     16.1.1 什么是客户端服务器架构     16.1.2 客户端服务器网络编程    16.2 套接字:通信端点     16.2.1 什么是套接字     16.2.2 套接字地址:主机与端口     16.2.3 面向连接与无连接    16.3 Python中的网络编程     16.3.1 socket()模块函数     16.3.2 套接字对象(内建)方法     16.3.3 创建一个TCP服务器     16.3.4 创建TCP客户端     16.3.5 运行我们的客户端与TCP服务器     16.3.6 创建一个UDP服务器     16.3.7 创建一个UDP客户端     16.3.8 执行UDP服务器和客户端     16.3.9 Socket模块属性    16.4 SocketServer模块     16.4.1 创建一个SocketServerTCP服务器     16.4.2 创建SocketServerTCP客户端     16.4.3 执行TCP服务器和客户端    16.5 Twisted框架介绍     16.5.1 创建一个TwistedcReactorcTCP服务器     16.5.2 创建一个TwistedcReactorcTCP客户端     16.5.3 执行TCP服务器和客户端    16.6 相关模块    16.7 练习   第17章 网络客户端编程    17.1 什么是因特网客户端    17.2 文件传输     17.2.1 文件传输网际协议     17.2.2 文件传输协议(FTP)     17.2.3 Python和FTP     17.2.4 ftplib.FTP类方法     17.2.5 交互式FTP示例     17.2.6 客户端FTP程序举例     17.2.7 FTP的其他方面    17.3 网络新闻     17.3.1 Usenet与新闻组     17.3.2 网络新闻传输协议(NNTP)     17.3.3 Python和NNTP     17.3.4 nntplib.NNTP类方法     17.3.5 交互式NNTP举例     17.3.6 客户端程序NNTP举例     17.3.7 NNTP的其他方面    17.4 电子邮件     17.4.1 电子邮件系统组件和协议     17.4.2 发送电子邮件     17.4.3 Python和SMTP     17.4.4 smtplib.SMTP类方法     17.4.5 交互式SMTP示例     17.4.6 SMTP的其他方面     17.4.7 接收电子邮件     17.4.8 POP和IMAP     17.4.9 Python和POP3     17.4.10 交互式POP3举例     17.4.11 poplib.POP3类方法     17.4.12 客户端程序SMTP和POP3举例    17.5 相关模块     17.5.1 电子邮件     17.5.2 其他网络协议    17.6 练习   第18章 多线程编程    18.1 引言动机    18.2 线程和进程     18.2.1 什么是进程     18.2.2 什么是线程    18.3 Python.c线程和全局解释器锁     18.3.1 全局解释器锁(GIL)     18.3.2 退出线程     18.3.3 在Python中使用线程     18.3.4 没有线程支持的情况     18.3.5 Python的threading模块    18.4 thread模块    18.5 threading模块     18.5.1 Thread类     18.5.2 斐波那契.c阶乘和累加和     18.5.3 threading模块中的其他函数        18.5.4 生产者-消费者问题和Queue模块    18.6 相关模块    18.7 练习   第19章 图形用户界面编程    19.1 简介     19.1.1 什么是Tcl.cTk和Tkinter     19.1.2 安装和使用Tkinter 533    19.1.3 客户端服务器架构 534   19.2 Tkinter与Python编程 534    19.2.1 Tkinter模块:把Tk引入你的程序     19.2.2 GUI程序开发简介     19.2.3 顶层窗口:Tkinter.Tk()     19.2.4 Tk组件    19.3 Tkinter举例     19.3.1 标签组件     19.3.2 按钮组件     19.3.3 标签和按钮组件     19.3.4 标签.c按钮和进度条组件     19.3.5 偏函数应用举例     19.3.6 中级Tkinter范例    19.4 其他GUI简介     19.4.1 TkcInterfaceceXtensionsc(Tix)     19.4.2 PythoncMegaWidgetsc(PMW)     19.4.3 wxWidgets和wxPython     19.4.4 GTK+和PyGTK    19.5 相关模块和其他GUI    19.6 练习   第20章 Web编程    20.1 介绍     20.1.1 Web应用:客户端服务器计算     20.1.2 因特网    20.2 使用Python进行Web应用:创建一个简单的Web客户端     20.2.1 统一资源定位符     20.2.2 urlparse模块     20.2.3 urllib模块     20.2.4 urllib2模块    20.3 高级Web客户端    20.4 CGI:帮助Web服务器处理客户端数据     20.4.1 CGI介绍     20.4.2 CGI应用程序     20.4.3 cgi模块  cccc20.5 建立CGI应用程序     20.5.1 建立Web服务器     20.5.2 建立表单页     20.5.3 生成结果页     20.5.4 生成表单和结果页面     20.5.5 全面交互的Web站点  cccc20.6 在CGI中使用Unicode编码    20.7 高级CGI     20.7.1 Mulitipart表单提交和文件的上传     20.7.2 多值字段     20.7.3 cookie     20.7.4 使用高级CGI    20.8 Web(HTTP)服务器    20.9 相关模块    20.10 练习   第21章 数据库编程    21.1 介绍     21.1.1 持久存储     21.1.2 基本的数据库操作和SQL语言     21.1.3 数据库和Python    21.2 Python数据库应用程序程序员接口(DB-API)     21.2.1 模块属性     21.2.2 连接对象     21.2.3 游标对象     21.2.4 类型对象和构造器     21.2.5 关系数据库     21.2.6 数据库和Python:接口程序     21.2.7 使用数据库接口程序举例    21.3 对象-关系管理器(ORM)     21.3.1 考虑对象,1而不是SQL     21.3.2 Python和ORM     21.3.3 雇员数据库举例     21.3.4 总结    21.4 相关模块    21.5 练习   第22章 扩展Python 623   22.1 引言动机     22.1.1 什么是扩展     22.1.2 为什么要扩展Python    22.2 创建Python扩展     22.2.1 创建您的应用程序代码     22.2.2 用样板来包装你的代码     22.2.3 编译     22.2.4 导入和测试     22.2.5 引用计数     22.2.6 线程和全局解释器锁(GIL)  cccc22.3 相关话题    22.4 练习  第23章 其他话题    23.1 Web服务    23.2 用Win32的COM来操作微软Office     23.2.1 客户端COM编程     23.2.2c微软Excel     23.2.3 微软Word 第1部分 Python核心    23.2.4 微软PowerPoint     23.2.5 微软Outlook     23.2.6 中等规模的例子  cccc23.3 用Jython写Python和Java的程序     23.3.1 什么是Jython     23.3.2 SwingcGUI开发(Java或者Python!)    23.4 练习     23.2.4 微软PowerPoint     23.2.5 微软Outlook     23.2.6 中等规模的例子    23.3 用Jython写Python和Java的程序     23.3.1 什么是Jython     23.3.2 SwingcGUI开发(Java或者Python!)    23.4 练习1a1c1ac111c111a1a1
MySQL入门学习(1)。   MySQL入门学习(1) · 安装篇 PHP+MySQL+Linux目前已逐渐成为小型web服务器的一种经典组合。在indows环境下构筑和调试MySQL数据库是许多网站开发者的一种首选。本人在Windows98环境下初学MySQL,现将学习过程与经验总结出来供大家参考。 1、下载mysql-3.23.35-win.zip并解压; 2、运行setup.exe;选择d:\mysql,"tyical install" 3、启动mysql,有如下方法: · 方法一:使用winmysqladmin 1)、进入d::\mysql\bin目录,运行winmysqladmin.exe,在屏幕右下角的任务栏内会有一个带红色的图符 2)、鼠标左键点击该图符,选择“show me”,出现“WinMySQLAdmin”操作界面;首次运行时会中间会出现一个对话框要求输入并设置你的用户名和口令 3)、选择“My.INI setup” 4)、在“mysqld file”中选择“mysqld-opt”(win9x)或“mysqld-nt”(winNT) 5)、选择“Pick-up or Edit my.ini values”可以在右边窗口内对你的my.ini文件进行编辑 6)、选择“Save Modification”保存你的my.ini文件 7)、如果你想快速使用winmysqladmin(开机时自动运行),选择“Create ShortCut on Start Menu” 8)、测试: 进入DOS界面; 在d:\mysql\bin目录下运行mysql,进入mysql交互操作界面 输入show databases并回车,屏幕显示出当前已有的两个数据库mysql和test · 方法二:不使用winmysqladmin 1)、在DOS窗口下,进入d:/mysql/bin目录 2)、win9X下)运行: mysqld 在NT下运行: mysqld-nt --standalone 3)、此后,mysql在后台运行 4)、测试mysql:(在d:/mysql/bin目录下) a)、mysqlshow 正常时显示已有的两个数据库mysql和test b)、mysqlshow -u root mysql 正常时显示数据库mysql里的五个表: columns_priv db host tables_priv user c)、mysqladmin version status proc 显示版本号、状态、进程信息等 d)、mysql test 进入mysql操作界面,当前数据库为test 5)、mysql关闭方法: mysqladmin -u root shutdown 4、至此,MySQL已成功安装,接着可以熟悉MySQL的常用命令并创建自己的数据库了。 上篇讲了如何安装并测试MySQL,环境建好后就可以继续我们的学习了。本篇主要熟悉一写常用命令。 · 1、启动MySQL服务器 实际上上篇已讲到如何启动MySQL。两种方法: 一是用winmysqladmin,如果机器启动时已自动运行,则可直接进入下一步操作。 二是在DOS方式下运行 d:mysqlbinmysqld · 2、进入mysql交互操作界面 在DOS方式下,运行: d:mysqlbinmysql 出现: mysql 的提示符,此时已进入mysql的交互操作方式。 如果出现 "ERROR 2003: Can´t connect to MySQL server on ´localhost´ (10061)“, 说明你的MySQL还没有启动。 · 3、退出MySQL操作界面 在mysql>提示符下输入quit可以随时退出交互操作界面: mysql> quit Bye 你也可以用control-D退出。 · 4、第一条命令 mysql> select version(),current_date(); +----------------+-----------------+ | version() | current_date() | +----------------+-----------------+ | 3.23.25a-debug | 2001-05-17 | +----------------+-----------------+ 1 row in set (0.01 sec) mysql> 此命令要求mysql服务器告诉你它的版本号和当前日期。尝试用不同大小写操作上述命令,看结果如何。 结果说明mysql命令的大
JAVA相关基础知识 1、面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。 3.封装: 封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。 4. 多态性: 多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。 2、String是最基本的数据类型吗? 基本数据类型包括byte、int、char、long、float、double、boolean和short。 java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类 3、int 和 Integer 有什么区别 Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。 原始类型封装类 booleanBoolean charCharacter byteByte shortShort intInteger longLong floatFloat doubleDouble 引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关。 4、String 和StringBuffer的区别 JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用StringBuffers来动态构造字符数据。 5、运行时异常与一般异常有何异同? 异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。 6、说出Servlet的生命周期,并说出Servlet和CGI的区别。 Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。 与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。 7、说出ArrayList,Vector, LinkedList的存储性能和特性 ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。 8、EJB是基于哪些技术实现的?并说出SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别。 EJB包括Session Bean、Entity Bean、Message Driven Bea
今年9月份参加计算机二级考试的同学请转载 作者:天使~之戀 已被分享1次 评论(0) 复制链接 分享 转载 删除 下面的138道题目,在二级考试中命中率极高。 一、选择题 (1) 下面叙述正确的是(C) A. 算法的执行效率与数据的存储结构无关 B. 算法的空间复杂度是指算法程序中指令(或语句)的条数 C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止 D. 以上三种描述都不对 (2) 以下数据结构中不属于线性数据结构的是(C) A. 队列 B. 线性表 C. 二叉树 D. 栈 (3) 在一棵二叉树上第5层的结点数最多是(B) 注:由公式2k-1得 A. 8 B. 16 C. 32 D. 15 (4) 下面描述中,符合结构化程序设计风格的是(A) A. 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑 B. 模块只有一个入口,可以有多个出口 C. 注重提高程序的执行效率 D. 不使用goto语句 (5) 下面概念中,不属于面向对象方法的是 (D) 注:P55-58 A. 对象 B. 继承 C. 类 D. 过程调用 (6) 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是(B) A. 可行性分析 B. 需求分析 C. 详细设计 D. 程序编码 (7) 在软件开发中,下面任务不属于设计阶段的是(D) A. 数据结构设计 B. 给出系统模块结构 C. 定义模块算法 D. 定义需求并建立系统模型 (8) 数据库系统的核心是(B) A. 数据模型 B. 数据库管理系统 C. 软件工具 D. 数据库 (9) 下列叙述中正确的是(C) A.数据库是一个独立的系统,不需要操作系统的支持 B.数据库设计是指设计数据库管理系统C.数据库技术的根本目标是要解决数据共享的问题 D.数据库系统中,数据的物理结构必须与逻辑结构一致 (10) 下列模式中,能够给出数据库物理存储结构与物理存取方法的是(A) 注:P108 A. 内模式 B. 外模式 C. 概念模式 D. 逻辑模式 (11) 算法的时间复杂度是指(C) A. 执行算法程序所需要的时间 B. 算法程序的长度 C. 算法执行过程中所需要的基本运算次数 D. 算法程序中的指令条数 (12) 算法的空间复杂度是指(D) A. 算法程序的长度 B. 算法程序中的指令条数 C. 算法程序所占的存储空间 D. 算法执行过程中所需要的存储空间 (13) 设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为(B) 注:利用公式n=n0+n1+n2、n0=n2+1和完全二叉数的特点可求出 A. 349 B. 350 C. 255 D. 351 (14) 结构化程序设计主要强调的是(B) A.程序的规模 B.程序的易读性 C.程序的执行效率 D.程序的可移植性 (15) 在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是(D) 注:即第一个阶段 A. 概要设计 B. 详细设计 C. 可行性分析 D. 需求分析 (16) 数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是(A) 注:P67 A. 控制流 B. 加工 C. 数据存储 D. 源和潭 (17) 软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书以及(B) 注:P66 A. 阶段性报告 B. 需求评审 C. 总结 D. 都不正确 (18) 下述关于数据库系统的叙述中正确的是(A) A. 数据库系统减少了数据冗余 B. 数据库系统避免了一切冗余 C. 数据库系统中数据的一致性是指数据类型的一致 D. 数据库系统比文件系统能管理更多的数据 (19) 关系表中的每一横行称为一个(A) A. 元组 B. 字段 C. 属性 D. 码 (20) 数据库设计包括两个方面的设计内容,它们是(A) A. 概念设计和逻辑设计 B. 模式设计和内模式设计 C. 内模式设计和物理设计 D. 结构特性设计和行为特性设计 (21) 下列叙述中正确的是(A) A. 线性表是线性结构 B. 栈与队列是非线性结构 C. 线性链表是非线性结构 D. 二叉树是线性结构 (22) 下列关于栈的叙述中正确的是(D) A. 在栈中只能插入数据 B. 在栈中只能删除数据 C. 栈是先进先出的线性表 D. 栈是先进后出的线性表 (23) 下列关于队列的叙述中正确的是(C) A. 在队列中只能插入数据 B. 在队列中只能删除数据 C. 队列是先进先出的线性表 D. 队列是先进后出的线性表 (24) 对建立良好的程序设计风格,下面描述正确的是(A) 注:P48 A. 程序应简单、清晰、可读性好 B. 符号名的命名要符合语法 C. 充
python入门到高级全栈工程师培训视频学习资料;本资料仅用于学习,请查看后24小时之内删除。 【课程内容】 第1章 01 计算机发展史 02 计算机系统 03 小结 04 数据的概念 05 进制转换 06 原码补码反码 07 物理层和数据链路层 08 网络层和arp协议 09 传输层和应用层 第2章 01 上节课复习 02 arp协议复习 03 字符编码 第3章 01 网络基础和dos命令 02 为何学习linux 03 课程内容介绍 04 操作系统内核与系统调用 05 操作系统安装原理 06 linux操作系统安装 07 初识linux命令 08 linux操作系统目录结构 09 目录及文件操作 第4章 01 上节课复习 02 创建用户相关的文件 03 用户增删该查及组相关操作 04 对文件的权限管理 05 对目录的权限管理 06 权限管理补充 07 属主属组及基于数字的权限管理 第5章 01 上节课复习 02 文件合并与文件归档 03 文件归档与两种压缩方式 04 vim编辑器 05 系统启动流程 06 grub加密 07 bios加密 08 top命令 09 free命令 10 进程管理 第6章 01 上节课复习 02 磁盘分区 03 文件系统与挂载 04 挂载信息讲解 05 磁盘用满的两种情况 06 软连接和硬链接 07 软连接和硬链接补充 第7章 01 ip地址与子网划分 02 ip地址配置 03 虚拟机网络模式 04 三层隔离验证试验 第8章 01 上节课复习 02 软件包介绍 03 rpm软件包管理 04 yum软件包管理 05 源码安装python3.5 06 ssh服务 07 apache服务 08 samba服务 第9章 01 Python开发系列课程概要 02 Python作业要求以及博客 03 编程语言介绍 04 Python种类介绍 05 Python安装以及环境变量的操作 06 Python初识以及变量 07 Python条件语句和基本数据类型 08 Python while循环语句以及练习题 09 练习题讲解 第10章 01 上节内容回顾以及补充 02 上周作业实现 03 Pycharm的安装和使用 04 Python 运算符 05 Python 运算符以及总结 06 Python 基本数据类型介绍 07 Python 整形的魔法 08 Python 字符串的魔法 第11章 01 Python 字符串的魔法 02 Python range的用法以及练习 03 Python 课上练习解释 04 Python 基础知识练习题试题 第12章 01 今日内容介绍以及基础测试题答案讲解 02 Python 列表的魔法 03 Python 元组的魔法 04 Python 字典的魔法 05 Python 错误更正:布尔值可以作为字典的key 06 Python 今日内容整理 第13章 第13章共1课 第14章 01 数据类型和变量总结 02 集合定义和基本操作方法 03 集合关系运算交,差,并集 04 集合的其他内置方法 05 集合补充 06 百分号字符串拼接 07 format字符串格式化 08 数学意义的函数与python中的函数 09 为何要有函数 10 函数返回值 11 可变长参数 第15章 01 上节课复习 02 全局变量与局部变量 03 风湿理论之函数即变量 04 函数递归 05 函数递归补充 第16章 01 上节课回顾 02 函数作用域 03 函数作用域补充 04 匿名函数 05 函数式编程介绍 06 函数式编程尾递归调用优化 07 map函数 08 map函数filter函数 09 reduce函数 10 map reduce filter总结 11 内置函数part1 第17章 01 课前吹牛 02 zip方法 03 max和min高级使用 04 其他内置函数 05 文件操作的其他模式 第18章 01 上节课复习 02 文件处理b模式 03 文件操作的其他方法 04 文件seek方法补充 05 迭代器协议和for循环工作机制 06 迭代器补充 07 三元运算,列表解析,生成器表达式 第19章 01 生成器函数 02 生成器函数的好处 03 母鸡下蛋的传说 04 生成器特性阐释 05 生产者消费者模型 06 第三次作业讲解 第20章 01 上节课回顾 02 装饰器基本理论 03 高阶函数使用 04 函数闭包 05 函数闭包装饰器基本实现 06 函数闭包加上返回值 07 函数闭包加上参数 08 函数闭包补充:解压序列 09 函数闭包为函数加上认证功能 10 函数闭包模拟session 11 函数闭包装饰器运行流程 12 函数闭包带参数装饰器 第21章 01 查询功能 02 修改功能 03 程序的解耦 04 module模块和包的介绍 05 模块的执行以及__name__ 06 关于模块的介绍 07 time时间模块 08 random模块 第22章 01 模块的补充 02 sys修改环境变量 03 BASEDIR的介绍 04 os模块的介绍 05 sys模块的介绍 06 json模块 07 pickle模块 08 shelve模块 09 XML模块 10 re模块简介 11 re模块之元字符 第23章 01 re模块之转义字符 02 re模块之分组 03 re模块之方法 04 re模块总结 05 logging模块 06 re模块补充 07 configparse模块 08 hashlib模块 09 计算器作业以及思路 10 模块导入补充 第24章 01 面向对象设计 02 类相关知识 03 对象相关知识 04 类属性增删改查 05 实例属性的增删改查 06 对象与实例属性 07 对象与实例属性补充 08 面向对象作业 第25章 01 上节课回顾 02 静态属性 03 类方法 04 静态方法 05 小结 06 组合 07 继承 08 接口继承与归一化设计 09 继承顺序之mro线性顺序列表 10 在python2中的继承顺序是什么 11 在子类中调用父类方法 12 super调用父类的方法 13 选择系统作业讲解 第26章 01 学生自主复习 02 分享列表 03 多态 04 封装 05 面向对象概念总结 06 反射 07 反射及动态导入模块 08 类的内置attr属性 09 类内置attr属性补充 10 继承的方式完成包装 11 组合的方式完成授权 第27章 01 os模块复习 02 上节课复习 03 内置函数补充及getattribute 04 getattribue补充 05 item系列 06 str与repr 07 自定制format 08 slots属性 09 doc属性 10 module和class 11 析构方法 12 call方法 13 迭代器协议 14 迭代器协议实现斐波那契数列 16 描述符答疑 17 描述符优先级 18 软件开发规范 19 pycharm干的好事 第28章 01 上节课复习 02 上下文管理协议 04 异常的构成简单了解 05 描述符应用 08 类的装饰器的基本原理 09 类的装饰器增强版 10 类的装饰器的应用 11 自定制property 12 自定制property流程分析 13 自定制property实现延迟计算功能 14 property补充 15 元类介绍 16 自定义元类 17 函数复习 18 文件操作复习 第29章 01 上节课复习 02 什么是异常处理及异常处理的两种方式对比 03 多分支与万能异常 04 异常处理的其他内容 05 什么时候用异常处理 06 什么是socket 07 套接字发展及分类 08 基于tcp协议的套接字编程 09 socket底层工作原理解释 10 tcp三次握手与四次挥手 第30章 01 上节课复习 02 客户端服务端循环收发消息 03 socket收发消息原理剖析 04 服务端循环链接请求来收发消息 05 补充 06 udp套接字 07 recv与recvfrom的区别及基于udp实现ntp服务 08 基于tcp实现远程执行命令 09 基于tcp实现远程执行命令测试结果 10 粘包现象 11 粘包解决方法 第31章 01 上节课复习 02 socketserver实现并发 03 socketserver模块介绍 04 socketserver源码分析tcp版本 05 socketserver源码分析udp版 06 ftp作业要求讲解 07 补充:认证客户端链接合法性 第32章 01 FTP之参数解析与命令分发 02 FTP之逻辑梳理 03 FTP之验证功能 05 FTP之文件上传 06 FTP之断点续传 08 FTP之进度条 09 FTP之cd切换 11 FTP之创建文件夹及MD5校验思路 第33章 01 操作系统历史 02 进程的概念 03 线程的概念 04 线程的调用以及join方法 05 setDaemon方法和继承式调用.baiduyun.downloading 05 setDaemon方法和继承式调用 第34章 01 上节知识回顾 02 并发并行与同步异步的概念 03 GIL的概念 04 同步锁 05 递归锁 06 同步对象event 07 信号量 08 线程队列 09 生产者消费者模型 10 多进程的调用 第35章 01 进程通信 02 进程池 03 协程 04 事件驱动模型 05 IO模型前戏 06 阻塞IO与非阻塞IO 07 select及触发方式 08 select监听多连接 09 select与epoll的实现区别 第36章 01 异步IO 02 selectors模块介绍 03 selectors模块应用 04 作业介绍 第37章 01 selctors实现文件上传与下载 02 html的介绍 03 html文档树的概念 04 meta标签以及一些基本标签 05 img标签和列表标签 06 form表单之input标签 07 通过form向server端发送数据 08 form表单之select标签 09 table标签 第38章 01 css的四种引入方式 02 css的四种基本选择器 03 css的组合选择器 04 css的属性选择器 05 css的伪类 06 css的选择器优先级 07 css的背景属性 第39章 01 css的文本属性与边框属性 02 css的列表属性与display属性 03 css的内外边距 04 css的内外边距补充 05 css的float属性 06 css的清除浮动 07 css的定位 08 css的margin定位 第40章 01 抽屉作业之head区域(导航条) 02 抽屉作业之置顶区域 03 抽屉作业之content部分 05 抽屉作业之页码部分 06 抽屉作业之footer部分 第41章 01 JS的历史以及引入方式 02 JS的基础规范 03 JS的基本数据类型 04 JS的运算符 05 JS的控制语句与循环 06 JS的循环与异常 07 JS的字符串对象 08 JS的数组对象 09 JS的函数对象 第42章 01 JS的函数作用域 02 JS的window对象之定时器 03 JS的history对象和location对象 04 JS的DOM节点 05 JS的DOM节点 第43章 01 上节知识回顾 02 js之onsubmit事件与组织事件外延 03 DOM节点的增删改查与属性设值 04 正反选练习 05 js练习之二级联动 06 jquery以及jquery对象介绍 07 jquery选择器 08 jquery的查找筛选器 09 jquery练习之左侧菜单 第44章 01 jquery属性操作之html,text,val方法 02 jquery循环方法和attr,prop方法 03 jquery模态对话框与clone的应用 04 jqueryCSS操作之offsets,position以及scrolltop 05 jquery事件绑定与事件委托 06 jquery动画效果 07 jquery扩展与插件 08 jquery扩展补充 09 本周作业轮播图以及思路 第45章 轮播图片css部分 轮播图片js部分 第46章 01 数据库与dbms的概念 02 sql规范 03 数据库操作DDL 04 python s3 day46 mysql的数据类型 05 数据表操作 06 表记录之增删改操作 07 表记录查询之查询 第47章 01 多表查询之连接查询 02 级联删除与set null 03 多表查询之连接查询 04 多表查询之复合查询与子查询 05 mysql之索引 第48章 01 python操作数据库pymysql 02 数据库之事务 03 mysql事务之savepoint 第49章 01 http协议之请求协议 02 http协议之响应协议 03 web框架的概念 04 做一个最简答web框架 05 MVC模式和MTV模式 06 django的一个简单应用 07 django静态文件之static 08 django的url控制系统 09 django的urlConf补充 第50章 01 django之视图函数的介绍 02 django视图之redirec 03 django模板之变量 04 django模板之过滤器 05 django模板之控制语句if和for循环 06 django模板之标签tag补充 07 django模板之自定义filter和simple_tag 08 django模板之继承标签extend和添加标签include 第51章 01 数据库表与表之间的一对多多对多的关系 02 Django的ORM的概念 03 ORM对单表的增删改操作 04 ORM查询API 05 模糊查询之万能的双下换线 第52章 01 上节知识回顾 02 ORM多表操作之一对多增加记录 03 ORM多表操作之一对多查询之对象查询 04 ORM多表操作之一对多查询之双下划线查询 05 ORM多表操作之多对多添加记录 06 ORM多表操作之多对多查询 07 ORM多表操作之F查询与Q查询 08 ORM的querySet集合对象的特性 第53章 01 admin介绍 02 alex首秀失败 03 自定义admin样式 04 admin补充 05 COOKIE介绍 06 COOKIE和SESSION配合使用 第54章 01 今日内容概要 02 Django内容回顾 03 Django请求生命周期之Http请求 04 Django请求生命周期之FBV和CBV 05 Django请求生命周期之CBV扩展 06 瞎扯淡 07 Django请求生命周期之响应内容 08 学员管理示例:数据库设计 09 学员管理示例:班级管理 10 学员管理示例:学员管理 第55章 01 Django的ORM基本操作补充之概要 02 Django的ORM基本操作补充之一对多 03 学员管理示例:编辑学生 04 Django的ORM基本操作补充之多对多 05 学员管理示例:为班级分配老师 06 初识Ajax以及简单应用 07 学员管理示例:Ajax删除学生 08 本节作业以及内容补充 第56章 01 上节内容回顾 02 创建Project以及表结构 03 基于BootStrap和FontAwesome制作页面 04 创建学生信息 05 删除学生信息 第57章 01 上节内容回顾 02 上节bug修复 03 编辑学生信息之前端功能 04 编辑学生信息之后台处理 05 以上内容总结 06 Ajax功能之dataType和traditional 第58章 01 今日内容概要 02 Ajax补充之serialize 03 分页功能介绍 04 分页基础知识 05 Django内置分页 06 扩展Django内置分页 07 自定义分页组件 08 DjangoForm组件初识 第59章 01 Form组件之生成HTML标签 02 Form组件之详解字段 03 Form组件之常用标签示例 04 Form组件之动态绑定数据 第60章 Django序列化共6课 第61章 01 上节内容回顾 02 上传文件 03 制作上传按钮 04 Form组件上传文件 05 上传相关内容梳理 06 Model操作知识提问 07 Model操作概述 08 Model字段 09 Model连表字段参数详解 10 Model自定义多对多第三张表 11 强插一道面试题 12 Model连表操作梳理 13 多对多自关联 14 Model操作补充 15 再插两道JavaScript面试题 16 Model操作之select_related以及prefetch_related 17 Model操作知识梳理以及补充 18 JavaScript两道面试题讲解 第62章 01 今日内容概要 02 创建基本项目 03 XMLHttpRequest对象发送请求 04 XMLHttpRequest对象发送POST请求 05 Iframe伪造Ajax请求 06 Iframe伪造回调函数 07 上述内容整理 08 FormData对象以及Ajax文件上传 09 Iframe文件上传 10 Iframe上传文件 11 JSONP实现AJax跨域 12 内容整理以及CORS简单介绍 第63章 01 项目以及学习介绍 02 企业官网示例功能介绍 03 企业官网示例以及数据库表结构 04 企业官网示例作业要求 05 Toando源码基本基本介绍 第64章 01 组合搜索 02 瀑布流 03 瀑布流作业 第65章 01 今日内容概要 02 瀑布流作业讲解 03 保障系统需求分析 04 保障系统数据库设计 05 保障系统目录结构规定 06 阶段任务安排 第66章 01 保障系统主页功能讲解 02 保障系统主页分类和分页的实现 03 阶段作业:保障系统登录注册 第67章 01 保障系统之登录注册功能讲解 02 保障系统之网站验证码 03 保障系统之一个月免登陆 04 任务安排 第68章 01 保障系统之个人知识库主页 02 保障系统之个人知识库内容筛选 03 保障系统之文章最终页 04 保障系统之KindEditor基本使用 05 保障系统之下节预告 06 今日作业以及下节预告 第69章 01 后台管理功能介绍 02 后台管理页面布局 03 今日作业以及下节预告 第70章 01 后台管理之创建报障单 02 后台管理之处理报障单 03 后台管理之画图流程 04 后台管理之Highchart统计保障单 第71章 01 权限管理要求 02 权限管理数据库表设计 03 填充权限数据 04 作业:获取权限以及菜单信息 05 作业思路讲解 06 权限管理之获取用户权限信息 07 权限管理之获取用户菜单信息 08 权限管理之用户权限挂靠到菜单上 09 权限管理之处理菜单等级关系 第72章 01 上节内容概要以及标记应该显示的菜单 02 权限管理之递归生成多级菜单 03 权限管理之标记当前以及激活菜单 04 权限管理之基本使用 05 权限管理之封装权限组件 06 下节预告 第73章 01 CMDB项目介绍 02 CMDB开发背景 03 CMDB开发目的 04 CMDB资产采集方式之agent 05 CMDB资产采集方式之ssh 06 CMDB资产采集方式之saltstack 07 CMDB资产采集方式之puppet 08 CMDB资产采集方式比较 09 CMDB资产采集内容梳理 10 CMDB资产采集功能实现之agent 11 CMDB资产采集功能实现之ssh 12 CMDB资产采集功能实现之saltstack 13 CMDB资产采集插件开发 14 内容回顾之面向对象继承 15 作业:基于配置文件加载插件 第74章 01 CMDB项目上节作业讲解 02 CMDB项目采集资产数据 03 知识拾遗之线程进程池 04 CMDB项目采集资产之日志记录 05 自定义JSON序列化类型 06 本节作业 第75章 01 基于requests模块汇报资产数据 02 基于requests模块汇报API验证 03 CMDB项目示例之API验证流程 04 CMDB项目之数据库表结构 05 CMDB项目之资产汇报并持久化 06 CMDB项目之持久化资产流程 07 本周作业 第76章 01 CMDB项目CURD组件之配置文件构造 02 CMDB项目CURD组件之神奇的单@符号 03 CMDB项目CURD组件之神奇的双@符号 04 CMDB项目CURD组件之自定义td属性 05 下节内容预习 第77章 01 CMDB项目CURD组件之进入编辑模式 02 CMDB项目CURD组件之全选取消反选和编辑模式 03 CMDB项目CURD组件之内容截图 04 CMDB项目CURD组件之进入编辑模式详细 05 CMDB项目CURD组件之属性中应用神奇的单@符号 06 CMDB项目CURD组件之退出编辑模式 07 CMDB项目CURD组件之更新数据 08 CMDB项目CURD组件之基于jQuery扩展封装组件 09 CMDB项目CURD组件之10分钟搞定页面基本操作 10 CMDB项目CURD组件之分页功能 11 CMDB项目CURD组件之搜索功能介绍 12 CMDB项目总结 第78章 01 剩余项目概览 02 CRM项目需求分析 04 CRM项目需求分析及架构设计 05 CRM项目表结构设计 第79章 01 CRM项目实战-前端页面布局 02 CRM项目实战-登录页面开发 04 CRM项目实战-动态菜单设计 05 CRM项目实战-kingadmin开发设计 06 CRM项目实战-kingadmin自动发现及注册功能开发 07 CRM项目实战-kingadmin model obj list页面开发 08 CRM项目实战-kingadmin 根据list_display配置生成数据列表 09 CRM项目实战-kingadmin 多条件过滤功能开发 第80章 01 课前鸡汤 02 分页功能开发 03 分页功能优化 04 排序功能开发 05 分页 排序 筛选组合使用 06 搜索功能开发 第81章 01 CRM项目实战 - 动态modelform的实现 02 CRM项目实战 - 动态modelform 增加自定义样式 03 CRM项目实战 - 实现任意表的增删改查 04 CRM项目实战 - 只读字段的处理 05 CRM项目实战 - filter_horizontal的实现 第82章 01 CRM项目实战 - kingadmin m2m filter_horizontal优化 02 CRM项目实战 - kingadmin 对象删除功能开发 03 CRM项目实战 - kingadmin+admin+action功能开发 04 CRM项目实战 - csrf+token验证原理 第83章 01 CRM项目-kingadmin批量删除 02 CRM项目-学员报名流程开发 03 CRM项目-本次作业需求 第84章 01 SSO介绍 02 用户自定义认证 03 万能通用权限框架设计 04 万能通用权限框架设计-自定义权限钩子实现 第85章 01 堡垒机项目实战-需求讨论 02 堡垒机项目实战-表结构设计 第86章 01 堡垒机项目实战-用户交互程序开发 02 堡垒机项目实战-通过paramiko记录ssh会话记录 03 堡垒机项目实战-把parmaiko代码嵌入用户交互程序 04 堡垒机项目实战-在数据库里记录用户会话数据 第87章 01 堡垒机项目实战-前端模板的选择 02 堡垒机项目实战-web ssh的使用 03 堡垒机项目实战-批量任务的思路 04 堡垒机项目实战-批量任务的前端页面开发 第88章 01 堡垒机实战-批量命令后端开发 02 堡垒机实战-批量命令前端获取执行结果 03 堡垒机实战-批量文件分发 第89章 01 版本管理工具介绍 02 git基本使用 03 github使用 04 git 分支开发流程 05 restful规范介绍 06 restful api设计指南 第90章 01 rabbitmq 消息安全接收 02 rabbitmq 消息持久化 03 rabbitmq 消息订阅发布 04 rabbitmq 消息组播 05 rabbitmq 消息RPC 第91章 01 阶段课程安排介绍 02 爬虫介绍 03 初识爬虫之采集汽车资讯信息 04 requests和beautfulsoup模块基本使用 05 示例:自动登录抽屉新热榜 06 requests模块详细介绍 第92章 01 BeautifulSoup模块详细介绍 02 示例:自动登录知乎 03 示例:自动登录博客园 04 作业之开发Web微信 第93章 01 开发Web微信前戏 02 Web微信流程介绍 03 Web微信之用户扫码 04 Web微信之用户信息初始化 05 Web微信开发总结 第94章 01 Web微信之获取用户初始化信息并展示 02 Web微信之发送微信消息 03 Web微信之获取用户消息 04 Web微信开发总结 第95章 01 多线程实现并发请求 02 多进程实现并发请求 03 异步IO模块的使用 04 自定义异步IO模块前戏 05 自定义异步IO模块开发 06 自定义异步IO模块开发 第96章 01 Scrapy爬虫介绍 02 抽屉示例:初识Scrapy并获取新闻标题 03 抽屉示例:递归获取所有页码 04 抽屉示例:基于pipeline实现标题和URL持久化 第97章 01 Scrapy上节回顾 02 去除重复URL 03 pipeline补充 04 自动登录抽屉并点赞 05 scrapy框架扩展 06 配置文件 第98章 01 Scrapy配置之自动限速以及缓存 02 Scrapy之默认代理以及扩展代理 03 Scrapy之自定义Https证书 04 Scrapy配置之下载中间件 05 Scrapy配置之爬虫中间件 06 Scrapy配置之自定义scrapy命令 07 Scrapy源码流程简述 第99章 01 今日内容概要 02 Scrapy源码剖析前戏之Twisted使用 03 Scrapy源码剖析之自定义Low版框架 04 Scrapy源码剖析之自定义TinyScrapy框架 05 Scrapy源码剖析流程解析 第100章 01 Tornado学习概要 02 Tornado基本操作 03 Tornado自定义Session知识前戏 04 Tornado自定义Session 第101章 01 WebSocket介绍 02 WebSocket握手过程分析 03 基于Python实现WebSocket握手过程 04 位运算补充 05 WebSocket数据解析过程 06 基于Tornado的WebSocket实现聊天室 第102章 01 今日内容复习目标 02 异步非阻塞框架介绍 03 Tornado异步非阻塞功能使用 04 自定义Web框架(同步) 05 自定义Web框架支持同步和异步非阻塞 06 复习计划 第103章 01 缓存数据库介绍 02 redis string操作 03 redis hash 操作 04 redis list操作 05 redis 集合操作 06 redis 其他常用命令 07 redis 发布订阅 08 celery介绍和基本使用 09 celery在项目中使用 10 celery定时任务 11 celery在项目中使用 12 celery 在django中实现定时任务 第104章 就业指导 01 简历制作 02 如何面试 03 最后的鸡汤 04 Nginx+uWSGI+Django部署
目录 第1章 软件性能测试 1 1.1 什么是软件的性能 1 1.1.1 软件 1 1.1.2 软件性能的产生 4 1.1.3 功能与性能的关系 4 1.1.4 用户眼里的软件性能 6 1.1.5 软件人员眼里的软件性能 12 1.2 软件性能测试 16 1.2.1 性能测试在软件测试的周期位置 16 1.2.2 性能测试策略揭秘 20 1.3 如何做性能测试 23 1.3.1 Goal(定义目标) 26 1.3.2 Analysis(分析) 28 1.3.3 Metrics(度量) 29 1.3.4 Execution(执行) 30 1.3.5 Adjust(调整) 31 1.4 性能测试工具的评估和选择 32 1.4.1 测试预算VS工具价格 33 1.4.2 协议、开发技术、平台、中间件VS工具的支持 33 1.4.3 工具可使用的复杂程度VS项目计划的影响 34 第2章 第一次亲密接触LoadRunner 35 2.1 从性能测试到LoadRunner的映射 35 2.2 LoadRunner工作原理 38 2.3 安装LoadRunner 41 2.4 揭开License的神秘面纱 42 第3章 走近LoadRunner 44 3.1 LoadRunner的运行原理 45 3.1.1 LoadRunner三大高手 45 3.1.2 三大高手联手的一场性能测试盛大演出 48 3.2 LoadRunner的录制原理 50 3.2.1 网络协议与LoadRunner的Vuser 50 3.2.2 选择LoadRunner Protocol的两大定律 55 3.2.3 LoadRunner录制技术 56 第4章 LoadRunner脚本语言基础 62 4.1 C语言与LoadRunner脚本 66 4.1.1 看不见的main 67 4.1.2 全局变量与局部变量 71 4.1.3 在LoadRunner脚本里灵活使用C语言 74 4.1.4 高级--用户自定义函数 78 4.2 通用VU函数 81 4.2.1 事务和事务控制函数 82 4.2.2 命令行分析函数 83 4.2.3 系统信息函数 83 4.2.4 字符串函数 83 4.2.5 消息函数 84 4.2.6 运行时(run-time)函数 84 4.3 协议相关函数 85 4.3.1 HTTP协议原理 85 4.3.2 HTTP在LoadRunner的实现 86 第5章 VU--用户行为的模拟器 89 5.1 图灵试验与LoadRunner VU模拟奥秘 90 5.1.1 图灵试验场景 90 5.1.2 LoadRunner模拟揭秘 91 5.2 录制脚本 94 5.2.1 选择协议 94 5.2.2 规划脚本结构 96 5.2.3 HTTP Vuser中的URL mode和HTML mode 96 5.2.4 查看日志 99 5.3 回放脚本 101 5.4 关联 102 5.4.1 录制前Correlation(关联) 103 5.4.2 录制后关联 106 5.4.3 手动关联 109 5.5 脚本视图和树视图 113 5.5.1 树视图(Tree View) 113 5.5.2 脚本视图(Script View) 114 5.5.3 理解Snapshot 115 5.6 事务、同步点和思考时间 115 5.6.1 Transaction(事务) 115 5.6.2 Rendezvous Point(同步点) 118 5.6.3 注释 119 5.6.4 Think Time(思考时间) 119 5.7 数据驱动--参数化(Parameters) 121 5.7.1 为什么需要参数化 121 5.7.2 参数的创建 123 5.7.3 定义参数的属性 130 5.7.4 高级--从已存在的数据库中导入参数数据 136 5.8 检查点(Check point) 142 5.8.1 为什么需要检查点 142 5.8.2 检查点实施之一:ContentCheck定义 144 5.8.3 检查点实施之二:检查函数 144 5.8.4 检查点设置技巧 147 5.9 高级--多Action 147 5.10 高级--脚本错误处理机制 150 5.11 高级--脚本调试技巧 152 5.11.1 动态运行(Animated run)与非动态运行(Non-Animated run) 152 5.11.2 日志设置 153 5.12 高级--编写脚本的最佳实践 156 5.13 VU脚本运行成功后 157 第6章 Controller--性能测试的指挥中心 158 6.1 得到细化后的性能需求 159 6.2 设计性能测试场景 162 6.2.1 创建手工场景 164 6.2.2 百分比模式创建手工场景 173 6.2.3 创建面向目标场景 174 6.2.4 多IP的实现原理以及模拟 180 6.3 运行场景 183 6.3.1 场景控制 183 6.3.2 执行期间查看场景 191 6.3.3 监视场景 196 6.3.4 高级--用户自定义数据采集点 201 6.3.5 主要的计数器 203 6.3.6 实例--分析实时监视图表 211 6.4 场景运行后 213 6.5 高级--如何合理规划性能测试拓扑 213 6.5.1 选择最优的测试机配置 215 6.5.2 客户端CPU瓶颈估算 216 6.5.3 客户端网络瓶颈估算 217 6.5.4 客户端内存瓶颈估算 219 6.5.5 总评估 221 第7章 Analysis--寻找系统瓶颈的得力助手 222 7.1 Analysis报告概要(Summary) 223 7.1.1 概要部分 223 7.1.2 统计部分 224 7.1.3 事务统计 225 7.1.4 HTTP响应统计 227 7.2 Analysis标准图 227 7.2.1 Vuser图 227 7.2.2 事务图 228 7.2.3 网页细分图 230 7.3 交叉结果和合并图 233 7.3.1 叠加 235 7.3.2 平铺 236 7.3.3 关联 236 7.4 生成测试报告 237 7.4.1 创建HTML格式报告 237 7.4.2 创建Word格式报告 238 7.4.3 高级--数据点报告 239 第8章 欲善其事先利其器--VU脚本开发实战 240 8.1 邮件服务SMTP/IMAP协议介绍 241 8.1.1 电子邮件的工作原理 241 8.1.2 SMTP协议介绍 241 8.1.3 POP3协议介绍 243 8.1.4 IMAP协议介绍 244 8.2 VU的SMTP Vuser对SMTP协议的封装及实现 244 8.2.1 使用SMTP Vuser录制Outlook 2003发送邮件 247 8.2.2 对SMTP Vuser录制生成的脚本进行分析 251 8.2.3 回放SMTP Vuser脚本并分析网络日志 253 8.3 VU Java Vuser自开发SMTP程序 255 8.3.1 VU创建Java模板虚拟用户 255 8.3.2 设置Java环境 257 8.3.3 在Java Vuser中开发SMTP发送mail脚本 258 8.3.4 参数化增强脚本 260 第9章 学以致用--一步一步做Web系统性能测试 264 9.1 软件系统背景及架构设计介绍 264 9.2 性能要求和性能指标分析(Goal阶段) 267 9.2.1 性能指标 267 9.2.2 业务模型分析和需求细化 268 9.3 性能测试方案和用例设计(Analysis阶段) 268 9.4 性能测试各种度量的建立(Metrics阶段) 273 9.4.1 性能脚本的生成 273 9.4.2 定义用户行为 274 9.4.3 场景的设置与运行 274 9.4.4 计数器的设置与性能数据收集 276 9.5 运行场景,得到测试结果和相关数据(Execution阶段) 277 9.5.1 脚本的开发 277 9.5.2 数据的生成 278 9.5.3 并发登录测试 279 9.5.4 负载测试 279 9.6 分析测试瓶颈(Adjust阶段) 280 9.6.1 并发测试结果分析 280 9.6.2 交易流程测试结果分析及性能评价 281 9.6.3 查询流程测试结果分析 281 第10章 循序渐进--进阶LoadRunner高手 282 10.1 性能测试用例的设计策略 282 10.1.1 "普遍撒网,重点查看"的原则 282 10.1.2 保证数据的有效性 284 10.2 LoadRunner高级功能的使用--Web Click Vuser 286 10.2.1 Web Click Vuser的产生背景 286 10.2.2 Web Click Vuser与传统Vuser的差别 286 10.2.3 使用Web Click Vuser 286 第11章 定量分析及诊断--建立性能度量模型 291 11.1 实现性能度量的准备工作 292 11.1.1 性能度量 292 11.1.2 度量方式 294 11.2 案例实践--性能测试第一阶段Ajax页面基准性能分析 298 11.2.1 页面基准分析目标 298 11.2.2 分析所使用的工具 299 11.2.3 术语揭示 299 11.2.4 基准测试案例设计及运行 300 11.2.5 结果分析 305 11.2.6 优化建议 306 11.2.7 预测 306 11.3 案例实践:性能测试第二阶段Ajax系统负载测试 307 11.3.1 本轮测试目的 307 11.3.2 测试场景规划 307 11.3.3 负载测试案例分析 309 11.3.4 性能结果量化分析 312 11.4 总结 315 第12章 测试开发--自开发性能测试框架 316 12.1 性能测试框架架构设计 317 12.1.1 技术考虑的准备 317 12.1.2 Automation Center性能测试框架设计实例 319 12.1.3 定义XML格式的性能测试任务文件 325 12.1.4 Automation Center性能测试调度运行 329 12.1.5 性能测试报告诊断系统 330 12.2 核心技术及具体实现方法 332 12.2.1 性能测试数据源格式定义 332 12.2.2 测试程序与性能测试框架的接口实现 336 12.2.3 测试任务克隆技术 339 12.2.4 多任务通信技术 340 12.2.5 Observer性能监控技术 341 12.2.6 基于XSL技术的性能测试报告构建 344 12.3 总结 346 附录A 有关LoadRunner的常见问题解答 347
【优质项目推荐】 1、项目代码均经过严格本地测试,运行OK,确保功能稳定后才上传平台。可放心下载并立即投入使用,若遇到任何使用问题,随时欢迎私信反馈与沟通,博主会第一时间回复。 2、项目适用于计算机相关专业(如计科、信息安全、数据科学、人工智能、通信、物联网、自动化、电子信息等)的在校学生、专业教师,或企业员工,小白入门等都适用。 3、该项目不仅具有很高的学习借鉴价值,对于初学者来说,也是入门进阶的绝佳选择;当然也可以直接用于 毕设、课设、期末大作业或项目初期立项演示等。 3、开放创新:如果您有一定基础,且热爱探索钻研,可以在此代码基础上二次开发,进行修改、扩展,创造出属于自己的独特应用。 欢迎下载使用优质资源!欢迎借鉴使用,并欢迎学习交流,共同探索编程的无穷魅力! 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值