基于JSP动漫论坛的设计与实现(四)

news2024/11/18 7:50:01

目录

功能模块测试

6.1  测试概述及所用方案

6.1.1软件测试概述

6.1.3 测试的步骤

6.1.4 测试的主要内容

6.1.5 测试方案

6.1.6测试设计

6.2 前端功能测试

6.2.1  登录功能测试

6.2.2  注册功能测试

6.2.3  发帖功能测试

6.2.4  回复帖子测试

6.3 后台功能测试

6.3.1  管理员登录测试

6.3.2  分区管理测试

分区添加

分区编辑

分区删除

6.3.3  版块管理测试

A、添加版块:

B、编辑版块:

C、删除版块:

6.3.4  子版块管理测试

A、添加子版块:

B、编辑子版块:

C、删除子版块:

6.3.5  主题管理测试

6.3.6  用户管理测试

6.4 测试结果及总结

测试总结

参考文献


前面内容请移步

基于JSP动漫论坛的设计与实现(三)

免费源代码+毕业设计+论文

基于JSP的动漫论坛的设计与实现.rar

  1. 功能模块测试

        在软件开发的一系列活动中,为了保证软件的可靠性,人们研究并使用了很多方法进行分析、设计及编码实现。但是由于软件产品本身是无形的、复杂的、知识密集的逻辑产品,其中难免有各种各样的错误,因此需要通过测试查找错误,保证软件的质量。软件测试是保证软件质量的关键,它是对需求分析、设计和编码的最终复审。

        软件测试在软件开发的生命周期中也扮演着重要的角色,通过测试,我们可以找出系统现在存在的漏洞,并对其进行修改,只有通过完整的测试才能将产品放心的交付给客户。在投入使用之前尽可能多的发现系统的不足,并且完善,是保障系统质量的一个重要手段。本章进行的软件测试将对注册会员,会员登录,管理员登录,浏览帖子,发帖回帖,管理员具有删除用户,管理板块,能够增加、删除、修改板块信息这些功能进行测试。

6.1  测试概述及所用方案

6.1.1软件测试概述

        软件测试是以发现软件的缺陷为目的,使软件运行,并将软件不运行所产生的危险性降低到允许的范围

  (1)软件测试是为了发现错误而执行程序的过程;

  (2)测试是为了证明程序有错,而不是证明程序无错误;

  (3)一个好的测试用例是在于它能发现至今未发现的错误;

  (4)一个成功的测试是发现了至今未发现的错误的测试。

        测试的主要目的并不仅仅是为了找出错误,而是通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。6.1.2 测试的重要性及目的

(1)测试的重要性

        在软件生命周期中,软件的测试占据着一个重要的位置,在传统的瀑布模式中,软件测试学只是处于在运行维护阶段之前,是软件产品交付给大众用户使用之前用以保证软件质量重要的一个方法。近来,软件工程界中更加趋向于一种新观点,即认为软件每一阶段中的生命周期都理应包含测试,因此使检查本阶段的成果能不能接近预期的结果目标,进而尽可能早一点发现到错误并加以改正,如果测试不是在早期阶段进行的,那么错误将延时扩散,最后常常会导致成品测试面临巨大的困难。 

        对于软件来讲,事实上,无论采用任何方法或者任何技术,系统中仍然会出现错误。采用新的开发方式、先进的语言、完善的开发过程,可以最大限度的降低错误的引进,但还是不能完全的杜绝软件中有可能出现的错误,这些引入的错误需要通过测试找出来,系统中错误的密度也需要通过测试来进行估量。测试是所有学科的工程的最基本的组成单元,是软件开发的一个很重要的部分。自有设计程序的那天起测试就一直跟随着。统计表明,在典型的软件开发项目中,系统测试工作量通常占开发系统总工作量的45%以上。在开发系统总的成本中,用在测试上的开销要占30%到50%。如果把维护阶段也考虑在内,讨论整个系统生存期时,测试的成本比例也许能降低,但实际上维护程序的工作相当于二次开发,甚至是多次开发,其中一定又包含了很多测试的工作。 

        在实践中,测试软件非常困难,从而常常使我们敷衍了事或望而却步,这是因为对测试还是存在了一些错误的看法和不正确的态度,这包括:

  • 难以给测试的工作人员某种成就感; 认为测试工作并不像编码和设计那样容易进行发展
  • 在测试的过程中发现错位其实是一种对责任者工作的否定; 测试是以发现软件的错误为目标的,这是非建设性的,甚至还是具有破坏性的,
  • 测试的工作过程非常枯燥无味,因此不足以引起我们的兴趣和爱好;
  •  测试工作需要是细致而艰苦的进行;
  •  一般来说,我们都对自己编写出来的程序比较盲目的自信,在发现到错误的时候,可能会顾虑别人对我们自己开发的能力的看法。 

        以上这几个观点对测试系统的工作进行是尤为不利的,我们必须要端正态度、澄清认识,才可能将系统产品的质量加以提高。 

  1. 测试的目的 

        如果测试程序的目的是为了尽可能全面地找出系统中的错误,那么测试就必须直观的针对软件较为复杂的部分或者是前期出现错误比较多的位置。 

  • 系统的测试是为了检查出错误而执行程序的运行过程;
  • 测试则是为了证明程序中有错误,而不是用来证明程序没有错误;
  • 每一个好的测试的用例是因为它能检查到至今未出现的错误;
  • 一个很成功的测试就是检查出了至今未能发现的错误的测试。 

        这种观点可以提醒人们测试要以查找错误为中心,而不是为了演示软件的正确功能。但是仅凭字面意思理解这一观点可能会产生误导,认为发现错误是软件测试的唯一目,查找不出错误的测试就是没有价值的,事实并非如此。 

首先,测试并不仅仅是为了要找出错误。通过分析错误的分布特征和错误产生的原因,可以使项目管理者发现当前所应用系统的缺陷,以便改进。此外,这种分析还可以使我们设计出有针对性地检测方法,改善测试的有效性。其次,没有检查出错误的测试也有它的价值,完整的测试是测试质量评定的一种方式。

6.1.3 测试的步骤

        类似系统开发的过程,测试工作的过程也需要分步骤来进行,每个步骤在逻辑上是前一个步骤的继续。大型系统软件一般是由若干个子系统而组成的,每以个子系统又是由若干个小的模块组成的。因此,大型系统软件的测试功过基本上由下面的几个步骤组成:

(1)模块测试 在对模块进行的测试工作步骤中所发现的经常是详细设计和编码的错误。

(2)系统测试 在对系统进行的测试工作步骤中发现的经常是软件设计时出现的错误,也有可能会发现需求说明中的出现错误。

(3)验收测试 在对验收进行的测试工作步骤中发现的经常是系统需求说明书中出现的错误。

6.1.4 测试的主要内容

        我们在进行测试工作的时候为了保证系统的质量,可以将测试工作的内容分成以下所说的几个部分,即: 审查代码、集成测试、单元测试、系统测试和确认测试。 

(1)单元测试 

        检查系统设计最小的单位(—个模块)就是单元测试,通过测试检查出用来定义该模块的功能说明不符合与实现该模块的实际功能的情况,以及编码时的错误。 

(2)集成测试 

        我们可以将每个小的模块按照设计的需求组装起来后同时进行集成测试,集成测试的主要目的是检查与接口有关联的某些问题。假设一个模块和另一个模块可能会出现由于疏忽的问题而引起有危害的影响;把子功能模块组合起来后可能不能产生预期的主功能;有个别的看起来视乎能接受的误差却很有可能积累到不能接受的程度;全程数据结构可能有错误等。 

(3)确认测试 

        确认测试的目的是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,基本排除了接口的错误,接下来我们就应该进一步的检验系统软件的有效性,就是确认测试工作的任务,是将系统软件的性能和功能发挥到如用户们合理期待的一样。 

(4)系统测试 

        完成软件设计开发以后,最后还要将它与系统中其他的部分整合运行,从性能测试、安全测试、强度测试和恢复测试等四个方面来进行系统测试。

此外对系统的单独测试主要从以下三个方面入手:

  • 功能测试:测试能否满足开发的要求,能否实现了设计所描述的功能,能否让用户的需求得到满足。系统测试必须和最常用的测试是功能测试。一般来说还会以对软件正式的说明书为标准进行测试。
  • 性能及强度的测试:最高实际限度的测试系统能力,即软件在某些超负荷环境下功能是否还实现的情况。
  • 安全测试:对安装在系统内的安全保护机构确实能能不能保护系统进行验证,使系统不会受到各种不正常的干扰。因此针对本次开发的系统主要是测试错误的数据、无效的数据,测试权限系统和对抗非法数据干扰的能力。

6.1.5 测试方案

        测试方法一般分为动态测试和静态测试。动态方法中又根据测试用例的设计方法不同,分为黑盒测试和白盒测试。

        黑盒测试,也称功能测试或数据驱动测试。他不考虑程序内部结构和处理过程。把被测试程序看成一个黑盒子,只在软件接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求。每个功能是否都能正常使用,是否满足用户的要求。程序能否适当的接受输入数据并产生正确的输出信息,并且保持外部信息(如数据库或者文件等)的完整性。

通过黑盒测试束腰发现以下错误:

  • 是否有不正确或者遗漏的功能;
  • 在接口上能否正确的接受输入数据,能否产生正确的输出信息;
  • 访问外部信息是否有错;
  • 性能上是否满足要求;
  • 界面是否有错,是否美观、友好。

        白盒测试,也称结构测试或逻辑驱动测试。白盒测试法与黑盒测试法不同,测试人员将程序视为一个透明的白盒子,测试人员需要了解程序的内部结构和处理过程,以检查处理过程的细节为基础,要求对程序的结构特性做到一定程度的覆盖,对程序中的所有逻辑路径进行检测,并检验内部控制结构是否有错,确定实际的运行状态与预期的状态是否一致。

        在对动漫论坛系统的功能测试中,我们选用的是黑盒测试。将对前端功能:注册会员,会员登录,管理员登录,浏览帖子,发帖回帖,后台功能:删除用户,管理板块:能够增加、删除、修改板块信息,管理分区:添加、修改、删除分区,管理子版块:添加、删除、修改子版块,管理主体:浏览和删除主题这些功能进行测试。

6.1.6测试设计

(1)单一功能模块测试要求

表5  单元测试用例表

测试编号

测试项目

输入条件

预期结果

1

用户注册

  1. 用户名、密码等数据项全部符合要求
  2. 两次输入密码不一致
  3. 两次密码一致,但未输入邮箱
  4. 没有输入真实姓名
  5. 什么都不输入,直接点击“提交”
  1. 注册成功
  2. 弹出“两次密码不一致”,注册失败
  3. 弹出“请输入邮箱”,注册失败
  4. 弹出“请输入真实姓名”,注册失败
  5. 弹出“请输入用户名”,注册失败

2

用户登录

  1. 用户名、密码正确
  2. 用户名错误、密码正确
  3. 用户名存在、密码错误
  4. 用户名、密码均错误
  1. 登录成功

B、C、D.弹出“用户名或密码错误”,登录失败

3

管理员登录

  1. 用户名、密码正确
  2. 用户名错误、密码正确
  3. 用户名正确、密码错误
  4. 用户名、密码均错误
  1. 登录成功

B、C、D.弹出“用户名或密码错误”,登录失败

4

发帖测试

    用户或者管理员都可以进行发布帖子的操作。点击“新帖”,发表内容进行测试。

发布帖子成功

5

回帖测试

    用户或者管理员在相应的帖子下面进行回复操作,点击“发表回复”进行提交。

回复帖子成功

6

模块管理测试

    管理员可以对分区模块进行添加、编辑、删除的功能。

添加模块成功

编辑模块成功

删除模块成功

7

用户管理测试

    管理员对用户进行删除操作,打开用户管理界面,选定要删除的用户进行删除操作。

删除用户成功

  1. 多功能模块组合测试要求

表6  多功能模块组合测试表

编号

测试项目

预期结果

1

登录完成后跳转至用户主界面

可以回到用户主界面

2

注册完成后自动跳转至改注册用户的主界面

跳转成功

3

通过主界面可以选择浏览的专区或者帖子进行浏览

可以浏览

4

发帖后可以显示在该所属分区下

可以显示

5

在一个帖子中回复,回复内容显示在帖子下评论区

可以显示

6

点击“退出”回到最开始的主界面

可以回到最开始界面

7

点击“管理员登录”跳转至后台登录界面

可以跳转至该界面

8

进行模块的添加、修改和删除操作并在后台管理和用户界面显示出来操作之后的模块

可以显示

9

管理员选定用户,对其进行删除操作

用户被删除

  1. 系统整体测试要求

表7  系统整体测试表

编号

测试项目

预期测试评价

1

各功能均实现

可以实现

2

运行和响应时间较快

响应较快

3

界面美观、友好、易于操作

6.2 前端功能测试

6.2.1  登录功能测试

在用户登录模块测试中,涉及到用户名和密码两项数据,我们用以下的数据来测试

  1. (已经注册成功的数据,用户名、密码正确)用户名:owee  密码:123456
  2. (已经注册成功的数据,密码不正确)用户名:owee 密码:123
  3. (没有注册的数据)用户名:kochan 密码:244

进入登录界面,输入第一组数据,登录成功,如下图6.2.1所示:

 

        进入登录界面,输入第二组数据和第三组数据,登录均不成功,并弹出错误提示,具体情况如下图6.2.2所示: 

 

6.2.2  注册功能测试

        在用户注册测试模块中,涉及以下几项数据:用户名、密码、邮箱以及真实姓名,且均为必填项,其中密码两次输入须保持一致,针对用户名、密码、确认密码、email、真实姓名这几项内容,我们选用以下数据来进行测试:

  1. kochan  244  244  kochan@qq.com  D本K一
  2. Onno    12345  123  onno@163.com 面包
  3. Onno    12345  12345  (null)   面包
  4. Onno    12345  12345  onno@163.com  (null)

        进入注册界面,将第一组数据填入,第一组数据信息完整且两次密码相同,符合注册所需条件,因此注册成功,如下图6.2.1所示:

 

        进入注册界面,将第二组数据填入,第二组数据中密码,与确认密码框内填入的密码不相同,注册失败,弹出下列窗口,如下图6.2.2所示: 

 

        进入注册界面,将第三组数据填入,第三组数据中两次密码相同但没有填入邮箱,注册失败,弹出下列窗口,如下图6.2.3所示: 

 

        进入注册界面,将第四组数据填入,第四组数据中密码,两次密码相同且邮箱正确但没有填入真实姓名,注册失败,弹出下列窗口,如下图6.2.4所示: 

 

6.2.3  发帖功能测试

        进入主页,依次进入发帖所在的分区、版块、和版块下的子版块中,点击“新帖”发表新帖子,依次写入标题与正文内容,之后点击“发新话题”即完成新帖的发表,所发表的帖子就是该子版块中的帖子,如下图6.2.5所示:

 

        点击“发新话题”发表新帖子,新帖子将出现在刚刚所处于的子版块中,如下图6.2.6所示: 

 

6.2.4  回复帖子测试

        在浏览的帖子下方“快速回复主题”中输入自己要回复的内容,点击“发表回复”即可完成回复帖子的功能,该回复的帖子将在主题帖下方显示出来,如下图6.2.7所示:

 

6.3 后台功能测试

6.3.1  管理员登录测试

        管理员为了进入后台进行操作,管理员首先要进行登录,管理员的登录入口与普通用户相同,在进入到主界面后,点击“管理员登录”即可进行到后台管理的登录操作,在该功能测试中涉及到两个内容,分别是用户名、密码,我们将采用以下三组数据来进行测试。

  1. 用户名:admin  密码:1
  2. 用户名:admin  密码:2
  3. 用户名:owee   密码:123456

        首先利用管理员的用户名和密码进行常规登录,在主页面中点击“管理员登录”进入管理员登录界面,输入第一组数据,登录后台成功,如下图6.3.1所示:

 

        首先利用管理员的用户名和密码进行常规登录,在主页面中点击“管理员登录”进入管理员登录界面,输入第二组数据,由于密码错误,登录失败,如下图6.3.2所示: 

 

        首先利用管理员的用户名和密码进行常规登录,在主页面中点击“管理员登录”进入管理员登录界面,输入第三组数据,由于用户名不是admin,即用户权限不支持进行后台管理登录,登录失败。(如上图6.3.2所示)

6.3.2  分区管理测试

  1. 分区添加

        点击“分区管理”框内的“分区添加”,管理员在“添加分区”的框内写入要新增的分区,点击“提交”即可完成分区的添加,我们在“添加分区”内添加“同好专区”,单击“提交”,如下图6.3.3所示,分区中多了“同好专区”这一分区。

 

  1. 分区编辑

        单击“分区管理”,在右侧显示框内,点击“编辑”跳转至编辑分区,管理员在“编辑分区”内填入重新编辑好的分区名称,点击“提交”即完成编辑分区的功能操作。本次我们选择对“同好专区”进行编辑,点击“同好专区”右侧的“编辑”将“同好专区”修改为“吐槽专区”,点击提交,如下图6.3.4所示,“同好专区”已经被修改为“吐槽专区”。

 

  1. 分区删除

        想要删除现有的分区测试,单击“分区管理”在右侧显示框内,点击“删除”,弹出窗口询问“确认删除”点击“确定”即完成删除操作,本次我们点击“吐槽专区”右侧的“删除按钮”,确定删除后如下图6.3.5所示,“吐槽专区”已经被删除。

 

6.3.3  版块管理测试

A、添加版块:

        点击“版块管理”框内的“版块添加”,管理员在“添加版块”的框内写入要新增的版块,在“上级分区”内选择该板块所属的分区,完成之后点击“提交”即可完成在指定分区下版块的添加,对应数据库内新增一条信息。我们选择在“九重天动漫”分区下添加版块“活动专区”提交后发现在该分区下新增了“活动专区”版块,如下图6.3.6所示:

 

B、编辑版块:

        若想对现存的分区进行重命名等重新编辑的操作,单击“版块管理”,在右侧显示框内,点击“编辑”跳转至编辑版块,管理员在“编辑版块”内填入重新编辑好的版块名称,并选择其上级分区,上级分区默认是未修改版块前所属的分区,点击“提交”即完成编辑版块的功能操作,我们将之前添加“活动专区”版块进行编辑,改为“近期活动”编辑版块如下图6.3.7所示:

 

C、删除版块:

        想要删除现有的版块,单击“版块管理”在右侧显示框内,选定需要删除的版块,点击“删除”,弹出窗口询问“确认删除”点击“确定”即完成删除操作,我们将刚刚修改过的“近期活动”删除,执行操作之后,版块版块如下图6.3.8所示:

 

6.3.4  子版块管理测试

A、添加子版块:

        点击“子版块管理”框内的“子版块添加”,管理员在“添加子版块”的框内写入要新增的版块,在“上级版块”内选择该子板块所属的版块,完成之后点击“提交”即可完成在指定版块下子版块的添加,我们在“动漫公社”版块下选择添加子版块“银魂”造作完成之后如下图6.3.9所示:。

   

B、编辑子版块:

        若想对现存的分区进行重命名等重新编辑的操作,单击“子版块管理”,在右侧显示框内,点击“编辑”跳转至编辑子版块,管理员在“编辑子版块”内填入重新编辑好的子版块名称,并选择其上级版块,上级版块默认是未修改子版块前所属的分区,点击“提交”即完成编辑子版块的功能操作,我们将刚刚添加的子版块“银魂”修改为“鬼灯的冷彻”如下图6.3.10所示:。

   

C、删除子版块:

        想要删除现有的版块,单击“子版块管理”在右侧显示框内,选定需要删除的子版块,点击“删除”,弹出窗口询问“确认删除”点击“确定”即完成删除操作,我们将刚刚修改过的子版块“鬼灯的冷彻”删除,子版块如下图6.3.11所示:

6.3.5  主题管理测试

        后台帖子管理的功能主要包括帖子的查询和删除,在前台发布过的帖子,这里都有显示其具体内容,为了论坛的内容健康和谐,需要对不良信息的帖子进行删除操作,单击“主题管理”在右侧显示框内选定需要删除的主题,点击“删除”即可完成删除帖子的操作,我们选择刚刚发表的新帖子“九重天十周年社庆宣传第一弹”进行删除操作,完成之后帖子如下图6.3.12所示

6.3.6  用户管理测试

        测试方法后台用户管理的功能主要包括查询系统用户的相关信息和删除用户,在前台注册成功的用户,在这里都有显示出来,为了论坛的秩序井井有条,对于散布不良信息或者蓄意发布无用帖子等不良行为的用户,管理员可以对用户进行删除操作。点击“用户管理”在右侧显示框内找到所删除用户的信息,点击“删除”即可删除该用户的信息,我们对刚刚注册的用户kochan进行删除操作,操作完成后用户如下图6.3.13所示:

 

6.4 测试结果及总结

(1)上述测试用例及结果总结

  1. 前台测试总结

表8  登录功能测试表

测试序号

用户名

密码

测试结果

1

owee

123456

成功

2

owee

123

失败

3

kochan

244

失败

表9  注册功能测试

序号

用户名

密码

确认密码

email

真实姓名

测试结果

1

Kochan

244

244

kochan@qq.com

D本K一

成功

2

onno

12345

123

onno@163.com

面包

密码不一致

3

onno

12345

12345

面包

邮箱为空

4

onno

12345

12345

onno@163.com

真名为空

  1. 后台测试总结

表10  管理员登录功能测试表

测试序号

用户名

密码

测试结果

1

admin

1

成功

2

admin

admin

用户名或密码错误

3

owee

123456

用户名或密码错误

  1. 测试总结

        经过上述的测试阶段之后,软件项目的功能大体上满足了用户的对项目的需求,测试工作宣告结束,在整个测试过程中,发现了软件项目中存在很多错误,并及时得到改正,减少了很多不必要的麻烦,使软件项目可以尽可能的完善。通过这次软件测试的经验,我深刻体会到软件测试的重要性,在以后的工作中,我 一定要重视并积极的完成测试,让自己的项目更加可靠、安全。

 

参考文献

  1. 耿乡义. JSP基础教程[M]. 北京:清华大学出版社,2004:101-103.
  2. 孙卫琴、李洪成.Tomat与Java Web开发技术详解[M]. 北京:电子工业出版社,2004:73-78.
  3. 赛奎春.JSP信息系统开发实例精选[M]. 北京:机械工业出版社,2006:66-72.
  4. 张金霞.HTML网页设计参考手册[M]. 北京:清华大学出版社,2006.
  5. 曹淑琴.基于JSP的网站建设[J]. 华北科技学院报,2007(2).
  6. 李振捷.JSP网站开发经典模块与实例精讲[M]. 北京:电子业出版社,2006.
  7. 王艳霞,陈长生.基于JSP的BBS论坛设计[J].才智,2010(25):90-91

  [8] JH Goto,ML Puterman. Coffee, Tea, or ...?: A Markov Decision Process Model for Airline Meal Provisioning ;《Transportation Science》, 2004, 38(1):107-118

  [9] XD Li,CS Poon,SC Lee,SS Chung,F Luk. Waste reduction and recycling strategies for the in-flight services in the airline industry; 《Resources Conservation & Recycling》, 2003, 37(2):87-99

  [10] L Wang,B Liu,LU Minyan. A Modeling Language Based on UML for Modeling Simulation Testing System of Avionic Software; 《Chinese Journal of Aeronautics》, 2011, 24(2):181-194

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1664991.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ETL工具中JSON格式的转换方式

JSON的用处 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,其设计初衷是为了提升网络应用中数据的传输效率及简化数据结构的解析过程。自其诞生以来,JSON 已成为Web开发乃至众多软件开发领域中不可或缺的一部分&a…

C++:类与对象—继承

类与对象—继承 一、继承是什么?二、继承定义三、基类和派生类对象赋值转换四、继承中的作用域五、派生类的默认成员函数六、继承与友元七、继承与静态成员八、复杂的菱形继承及菱形虚拟继承九、继承的总结和反思十、考察重点 一、继承是什么? 继承(inh…

基于 LlaMA 3 + LangGraph 在windows本地部署大模型 (三)

基于 LlaMA 3 LangGraph 在windows本地部署大模型 (三) 大家继续看 https://lilianweng.github.io/posts/2023-06-23-agent/的文档内容 第二部分:内存 记忆的类型 记忆可以定义为用于获取、存储、保留以及随后检索信息的过程。人脑中有多…

【qt】设计器实现界面

设计器实现界面 一.总体思路二.具体操作1.创建项目2.粗略拖放3.水平布局4.垂直布局5.修改名字6.转到槽7.实现槽函数 一.总体思路 二.具体操作 1.创建项目 这次咱们一定要勾选Generate form哦。 因为我们要使用设计器进行拖放。 2.粗略拖放 这里用到了复选框:C…

dos命令改3389端口,通过dos命令更改3389端口的操作

要使用DOS命令更改3389端口,通常涉及修改Windows注册表中的相关键值。请注意,直接操作注册表具有一定的风险,因此在进行任何更改之前,请确保您了解正在进行的操作,并已经采取了适当的备份措施。 以下是一个基本的操作步…

Apache Sqoop:高效数据传输工具搭建与使用教程

目录 引言一、环境准备二、安装sqoop下载sqoop包解压文件 三、配置Sqoop下载mysql驱动拷贝hive的归档文件配置环境变量修改sqoop-env.sh配置文件替换版本的commons-lang的jar包 验证Sqoop安装查看Sqoop版本测试Sqoop连接MySQL数据库是否成功查看数据库查看数据表去除警告信息 四…

matlab的imclose()详解

J imclose(I,SE) J imclose(I,nhood) 说明 J imclose(I,SE) 使用结构元素 SE 对灰度或二值图像 I 执行形态学闭运算。形态学闭运算是先膨胀后腐蚀,这两种运算使用相同的结构元素。 J imclose(I,nhood) 对图像 I 执行闭运算,其中 nhood 是由指定结…

开启异步线程的方法

1,开启异步线程,在启动类上加注解: 2,自定义线程池: Configuration public class PromotionConfig {Beanpublic Executor generateExchangeCodeExecutor() {ThreadPoolTaskExecutor executor new ThreadPoolTaskExec…

大模型面试常考知识点1

文章目录 1. 写出Multi-Head Attention2. Pre-Norm vs Post-Norm3. Layer NormRMS NormBatch Norm 4. SwiGLU从ReLU到SwishSwiGLU 5. AdamW6. 位置编码Transformer位置编码RoPEALibi 7. LoRA初始化 参考文献 1. 写出Multi-Head Attention import torch import torch.nn as nn …

【.NET Core】你认识Attribute之CallerMemberName、CallerFilePath、CallerLineNumber三兄弟

你认识Attribute之CallerMemberName、CallerFilePath、CallerLineNumber三兄弟 文章目录 你认识Attribute之CallerMemberName、CallerFilePath、CallerLineNumber三兄弟一、概述二、CallerMemberNameAttribute类三、CallerFilePathAttribute 类四、CallerLineNumberAttribute 类…

Java面试题:ReentrantLock

ReentrantLock 可重入锁 可中断 可以设置超时时间 可以让线程在超时后放弃获取锁 可以设置公平锁 可以实现公平锁或非公平锁 支持多个条件变量 让线程在某些条件下进入等待 和synchronized一样都支持重入 //创建锁对象 ReentrantLock Lock new ReentrantLock(); try…

oracle 9i 行头带有scn的表

oracle 9i 行头带有scn的表 conn scott/tiger drop table t1; drop table t2; create table t1(c varchar2(5)); create table t2(c varchar2(6)) ROWDEPENDENCIES; --t2表每行都有scn,会增加六个字节的开销 alter table t1 pctfree 0; alter table t2 pctfree 0; insert in…

Transformer模型详解03-Self-Attention(自注意力机制)

文章目录 简介基础知识什么是AttentionSelf Attention原理通俗易懂理解矩阵计算Q,K,V计算Self-Attention 的输出 优势 Multi-head self-attention原理通俗易懂理解矩阵计算代码实现 简介 下图是论文中 Transformer 的内部结构图,左侧为 Enco…

十、Redis内存回收策略和机制

1、Redis的内存回收 在Redis中可以设置key的过期时间,以期可以让Redis回收内存,循环使用。在Redis中有4个命令可以设置Key的过期时间。分别为 expire、pexpire、expireat、pexpireat。 1.1、expire expire key ttl:将key的过期时间设置为tt…

SpringBoot自定义初始化sql文件 支持多类型数据库

我在resources目录下有init.sql初始化sql语句 指定sql文件的地址 sql内容如下: /*角色表*/ INSERT INTO #{schema}ccc_base_role (id, create_time, create_user_id, is_delete, role_name, status, update_time, update_user_id) VALUES(b89e30d81acb88448d412…

谷粒商城实战(023 业务-订单模块-页面和幂等性等校验)

Java项目《谷粒商城》架构师级Java项目实战,对标阿里P6-P7,全网最强 总时长 104:45:00 共408P 此文章包含第270p-第p283的内容 简介 远程调用的服务已经注册到了注册中心 校验 幂等性校验 拿令牌 读令牌 删令牌 要实现 原子性 在一个事务中 添加令牌…

小红书·电商运营课:小红书开店流程,小红书电商如何运营(18节视频课)

课程目录 第1节课:学习流程以及后续实操流程注意事项 第2节课:小红书店铺类型解析以及开店细节 第3节课:小红书电商运营两种玩法之多品店铺解析 第4节课:小红书电商运营两种玩法之单品店铺解析 第5节课:选品课(多品类类目推荐) 第6节课:选品课(多品类类目推荐) 第7节课:…

以C++为核心语言的高频交易系统是如何做到低延迟的?

在开始前我有一些资料,是我根据网友给的问题精心整理了一份「 c的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!! 问题中限定语言是C,可…

自动驾驶中的神经辐射场:综述

24年4月清华大学论文“Neural Radiance Field in Autonomous Driving: A Survey”。 神经辐射场(NeRF)由于其固有的优势,特别是其隐式表示和新视图合成能力,引起了学术界和工业界的广泛关注。 随着深度学习的快速发展&#xff0c…

最少数量线段覆盖-华为OD

系列文章目录 文章目录 系列文章目录前言一、题目描述二、输入描述三、输出描述四、java代码五、测试用例 前言 本人最近再练习算法,所以会发布一些解题思路,希望大家多指教 一、题目描述 给定坐标轴上的一组线段,线段的起点和终点均为整数…