自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 收藏
  • 关注

原创 基于SSM前后端分离版本的论坛系统-自动化测试

个人论坛系统是一种在线社交平台,为用户提供了丰富的功能,让他们能够轻松地创建帖子、分享信息、讨论话题以及互动交流。在开发阶段,实时进行了单元测试,所以本文章主要进行自动化测试(功能、界面),分为设计测试用例和进行测试两方面。

2024-05-31 14:09:09 1063

原创 基于SSM前后端分离版本的论坛系统

个人论坛系统是一种在线社交平台,为用户提供了丰富的功能,让他们能够轻松地创建帖子、分享信息、讨论话题以及互动交流。整个项目在开发过程中直接进行了单元测试,具体的自动化测试(功能、界面)在此处进行。在执行业务处理逻辑的过程中,会涉及到各种不同的状态,包括成功和失败。为了更好地管理和处理这些状态,可以使用枚举来定义状态码。这些状态码可以根据具体业务需求进行扩展和调整。当业务中遇到新的问题时,可以根据需要添加新的状态码,并为其提供适当的描述,以便更好地反映业务逻辑和处理状态。/*** 系统状态码*/

2024-05-27 20:08:55 819

原创 网页版五子棋的自动化测试

在五子棋对战项目的基础上进行自动化测试,已知此项目由用户模块、匹配模块、对战模块构成。用户模块包含用户的注册和登录,管理用户的天梯分数、比赛场数、获胜场数等信息;匹配模块包含依据用户的天梯积分,实现匹配机制;对战模块包含把两个匹配到的玩家放到一个游戏房间中,对方通过网页的形式来进行对战比赛。整体对项目进行自动化测试分为设计测试用例和进行测试两方面。

2024-05-13 16:07:45 892 1

原创 五子棋对战(网页版)

首先需要在数据库中创建一个新的表, 用来表示每个玩家的游戏房间编号,服务器把每一局对局, 玩家轮流落子的位置都记录下来(比如保存到一个文本文件中),然后玩家可以选定某个曾经的比赛, 在页面上回放出对局的过程.在游戏大厅除了显示匹配按钮之外, 还能显示当前所有的对局房间,玩家可以选中某个房间, 以观众的形式加入到房间中. 同时能实时的看到选手的对局情况.在处理落子响应中要处理胜负手.在 Matcher 的构造方法中, 创建一个线程, 使用该线程扫描每个队列, 把每个队列的头两个元素取出来, 匹配到一组中.

2024-05-13 16:07:00 1891

原创 深入Redis过程-持久化

结合了rdb和aof的特点,按照aof的方式,每一个请求/操作,都记录入文件,在触发aof重写后,就会把当前内存的状态按照rdb的二进制格式写入到新的aof文件中,后续再进行的操作,仍然是按照aof文本的方式追加到文件后面。本质上是在服务器上搞了一个“事务队列”,每次客户端在事务中进行了一个操作,都会把命令先发给服务器,放到“事务队列”中(但是并不会立即执行),而是会在真正收到EXEC命令之后,才真正执行队列中的所有操作。当redis重新启动的时候,就会读取这个aof文件中的内容,用来恢复数据。

2023-12-11 16:22:09 1025

原创 深入学习redis-基于Jedis通过客户端操作Redis

Jedis的。

2023-11-30 17:26:45 1134

原创 Docker自定义镜像

基于XXX作为基础镜像将 app.jar 拷贝到镜像中暴露端口编写入口 ENTRYPOINT#基础镜像#设置时区#拷贝jar包#暴露端口#入口。

2023-11-30 17:25:52 682

原创 深入redis过程-命令

Redis是一个Key-value的数据库,Key一般是String类型,value的类型多种多样。

2023-11-28 11:59:26 990

原创 Docker-简介、基本操作

其中 -v 后面的 html 是我们刚刚创建的数据卷(如果没创建会自动创建),而后面的 /user/share/nginx/html 是对应容器中的目录地址。

2023-11-27 09:28:36 1502

原创 初识Redis

SQL数据库,指关系型数据库。主要有:SQL Server,Oracle,MySQL,PostgreSQL。NoSQL泛指非关系型数据库。主要有:MongoDB,Redis,CouchDB。

2023-11-24 12:52:03 1095

原创 Centos上安装Docker和DockerCompose

Docker可以运行在MAC,Windows,CtenOS,UBUNTU等操作系统上。目前主流的版本有Docker CE和Docker EE,CE是免费的开源Docker版本,适用于开发人员和小型团队,EE是适用于企业的容器化解决方案。它基于Docker CE,但具有增强的安全,管理和支持功能。官方网站上有各种环境下的,以下我们主要介绍如何在CentOS下安装Docker。

2023-11-23 10:12:42 722

原创 Docker上部署mysql(超简单!!!)

运行如下命令拉取成功查看镜像。

2023-11-21 10:19:09 223 1

原创 八大技术架构-演进之路

应用服务和数据库服务使用不同的服务器在应用数据分离架构的基础上以集群的方式运作,引入决策层(负载均衡),应用以集群方式运作把读操作和写操作分开,将数据库读写操作分散到不同的节点上,数据库服务器搭建主从集群,一主一从、一主多从都可以,数据库主机负责写操作,从机只负责读操作引入缓存,实行冷热分离,将热点数据放到缓存中快速响应。数据库的数据被拆分,数据库数据分布式存储,分布式处理,分布式查询,也可以理解为分布式数据库架构。

2023-11-13 13:37:17 228

原创 Redis

5.使用命令“redis-cli shutdown”先关闭redis 服务,再使用“redis-server /etc/redis.conf &”启动redis服务;3.将redis.conf中的“protected-mode yes”改为“protected-mode no”;1.将redis配置文件下载到本地: redis 配置文件是linux下的/etc/redis.conf;4.将修改后的redis.conf 上传至liunx下的/etc目录;将redis 中对应的缓存删除。

2023-03-29 17:43:08 701 1

原创 Spring事务和事务传播机制

2、在方法执行前自动开启事务,在方法执行完(没有任何异常)自动提交事务,但是如果在方法执行期间出现异常,那么将自动回滚事务。3. Isolation.READ. COMMITTED:读已提交,只能读取到已经提交的事务,解决了脏读,存在不可重复读。2、如果事务执行到一半失败了,那么加入事务整个事务会全部回滚;2. Isolation.READ. _UNCOMMITTED:读未提交,可以读取到未提交的事务,存在脏读。默认传播机制,如果调用链存在事务,则加入事务,如果不存在则创建事务。2、使用代码手动回滚事务。

2023-03-16 21:11:54 3194

原创 SpringBoot统一功能处理

b.重写preHandle(执行具体方法之前的预处理)方法。4.2、在application.properies配置。a.实现HandlerInterceptor接口。2、在切面类中拿到HttpSession难。1、定义拦截的规则(表达式)难;解决方法:使用Spring拦截器。4.1、在系统的配置文件中设置。

2023-03-14 10:41:06 390

原创 Spring AOP

Aspect //告诉框架我是一个切面类@Component //随着框架的启动而启动@Aspect //告诉框架我是一个切面类@Component //随着框架的启动而启动/*切点(配置拦截规则)*//*前置通知*/System.out.println("执行了前置通知");/*后置通知*/System.out.println("执行了后置通知");@Aspect //告诉框架我是一个切面类@Component //随着框架的启动而启动/*切点(配置拦截规则)

2023-03-14 10:15:10 687 1

原创 MyBatis操作数据库

if>标签。

2023-03-11 16:37:10 3822

原创 SpringBoot热部署

idea热部署本质是重启Spring Boot项目,但是idea热部署有3s的延迟。要想今后的项目不再重复此工作。

2023-03-11 16:23:21 119

原创 SpringMVC程序开发

MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。M即model模型是指模型表示业务规则。在MVC的三个部件中,模型拥有最多的处理任务。被模型返回的数据是中立的,模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。V即View视图是指用户看到并与之交互的界面。比如由html元素组成的网页界面,或者软件的客户端界面。

2023-03-10 11:15:33 1167

原创 SpringBoot创建和使用

Spring Boot是一种全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。Spring Boot目录介绍@Controller //控制器@ResponseBody //返回的是数据,而非页面@RequestMapping("/hi") //url路由注册//为空为null,默认值处理if (!return "你好:"+name;

2023-03-10 11:10:00 2574

原创 Spring基础与创建

Spring框架是一个开放源代码的J2EE应用程序框架,由发起,是针对bean的生命周期进行管理的轻量级容器(lightweight container)。Spring解决了开发者在J2EE开发中遇到的许多常见的问题,提供了功能强大IOC、AOP及Web MVC等功能。Spring可以单独应用于构筑应用程序,也可以和Struts、Webwork、Tapestry等众多Web框架组合使用,并且可以与 Swing等桌面应用程序AP组合。容器是用来容纳某种物品的(基本)装置。

2023-03-09 08:50:57 710

原创 自动化测试

本篇博客我们将学习自动化测试以及如何使用工具编写自动化测试自动化测试指软件测试的自动化,在预设状态下运行应用程序或者系统,预设条件包括正常和异常,最后评估运行结果。将人为驱动的测试行为转化为机器执行的过程。

2023-03-06 18:24:07 1033

原创 自动化实战以及自动化性能测试

性能测试的好坏最终都需要通过数据来展示,通过性能指标对应的数据来判定性能的好坏主要用来生成性能测试脚本。

2023-03-06 18:23:21 648 1

原创 Bug篇和用例篇

依据需求将输入(特殊情况下会考虑输出)划分为若干个等价类,从等价类中选出一个测试用例,如果这个测试用例测试通过,则认为所代表的等价类测试通过,这样就可以用较少的测试用例达到尽可能多的功能覆盖,解决了不能穷举测试的问题。是对被测试软件设计的理解,过往经验以及个人直觉,推测出软件可能存在的缺陷,从而针对性的设计测试用例的方法。正交试验设计法是指从大量的实验中挑选出适量的、有代表性的点,依据“正交表”从而合理的设计出测试用例。创建Bug的要素:发现问题的版本、问题出现的环境、错误重现的步骤、预期结果、实际结果。

2023-03-04 09:46:26 340

原创 软件测试的基本概念

软件的生命周期可以分为6个阶段,即需求分析、计划、设计、编码、测试、运行维护。当需求规格说明书没有提到的功能,判断标准以最终用户为准:当程序没有实现其最终用户合理预期的功能要求时,就是软件错误。是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素。软件测试的生命周期:需求分析、测试计划、测试设计与开发、测试执行、测试评估。当且仅当规格说明是存在的并且正确,程序与规格说明之间的不匹配才是错误。2、需要人员、时间和资金的增加和投入,可能会导致项目的成本太高。

2023-02-28 08:37:06 174

原创 项目-博客系统(基于云服务器)

目前为止,已经学完了前端知识和部分的后端知识,现在,基于所学知识,实现一个简易的个人博客系统,技术栈后端为Tomcat+Servlet+Mysql,前端为css+html+js。

2023-02-22 19:14:13 1174

原创 JVM虚拟机(面试重点)

JVM是JavaVirtualMachine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。我们为什么要学习JVM?Java霸占企业级开发是因为内存管理,我们只需要考虑业务实现就可以,不用考虑资源释放问题,JVM就会做完这些操作,但是如果某一天出现内存溢出,那该怎么办。

2023-02-22 17:50:29 501

原创 Linux的基本使用和web项目在云服务器上的部署

Windows是我们熟知的操作系统,而对于程序员,经常打交道的是Linux操作系统,目前,Linux是世界第一大操作系统,服务器领域、嵌入式设备绝大多数是Linux,甚至在移动端Android系统,本质上也是Linux,本篇博客,我们将学习Linux的基本使用和程序在云服务器上的部署。Linux 有一个强大的服务器软件生态系统:Docker、Redis、MySQL、Nginx、Hadoop 等等。

2022-12-13 20:08:09 2260

原创 Cookie和Session

服务器同一时刻收到的请求是很多的,服务器需要清楚地区分每个请求是属于哪个用户的,就需要在服务器这边记录每个用户令牌以及用户的信息的对应关系。cookie是浏览器在本地持久化保存数据的一种方案,具体使用在前边博客有过讲解。3、使用另一个Servlet来生成主页内容(登陆成功后,跳转到的页面)会自动把Cookie 中的格式解析成键值对。该方法使用指定的名称绑定一个对象到该。会话中具有指定名称的对象,如果没。把提交的文件数据写入磁盘文件。包含客户端发送该请求的所有的。有指定名称的对象,则返回。

2022-12-05 17:17:38 281

原创 Tomcat、Servlet的部署与使用

Tomcat是一个HTTP服务器1、选择Tomcat8即可2、直接解压缩 3、解压后的文件夹,找到bin目录下的startup.bat,双击点击启动 看到这个信息,就证明启动成功了4、Tomcat默认端口是8080,当出现这个欢迎页面时,就证明tomcat跑起来了1、将html代码拷贝至webapps目录下2、在浏览器输入127.0.0.1:8080/代码名称

2022-12-05 14:07:43 2158

原创 HTTP和HTTPS

上篇博客我们结束了前端的学习,接下来就要进行后端的学习,后端是最复杂也最难理解的一块部分!

2022-12-03 00:11:07 374

原创 html,css和js

访问某个变量。没有被定义创建函数/函数声明/函数定义function 函数名(形参列表){函数体return 返回值;}

2022-11-30 10:54:53 5811

原创 计算机网络原理

协议就是一种约定,发送方和接收方约定好,按照特定的格式来进行传输。

2022-11-29 12:10:30 458

原创 文件操作-IO

存储在硬盘上的数据,以“文件”为单位,进行组织,常见的就是普通文件(文本文件、图片、视频、音频等)硬盘的特点:1、硬盘存储空间大,内存存储空间小;2、硬盘访问速度慢,内存访问速度快;3、硬盘的成本比较低,内存成本比较高;4、硬盘上的数据断电不会丢失,内存数据断电会丢失。

2022-11-27 14:32:04 456

原创 java多线程

线程是被包含在进程中的,一个进程会默认有一个线程,也可以有多个线程每个线程都是一个“执行流”,可以单独的在CPU上进行调度。同一个进程中的这些线程,共用同一份系统资源(内存+文件)线程是轻量级的进程,创建线程的开销比创建进程小,销毁线程的开销比销毁进程小。

2022-11-26 14:48:13 1225

原创 操作系统中的进程管理

进程是操作系统对一个正在运行的程序的一种抽象,进程可以看作是程序的一次运行过程;同时,在操作系统内部,进程是操作系统进行资源分配的基本单位创建一个进程,本质上就是创建PCB,并且加入到链表中;销毁一个进程,本质上就是从链表上删除对应的PCB节点;查看任务管理器的进程列表,本质上就是在遍历这个列表。

2022-11-22 23:02:49 456

原创 数据结构结尾部分

二叉搜索树可以是一个空树,或者就是具备以下性质的树:若其左子树不为空时,则左子树上所有节点的值都小于根节点的值;若其右子树不为空时,则右子树上所有节点的值都小于根节点的值;而且它的左右子树也满足这种性质。查找key是否在二叉搜索树中。删除关键字为key的节点。

2022-11-22 13:08:49 443

原创 排序Sort

第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。从第一位开始进行相邻的两个数的比较,将较大的数放后面,比较完毕之后向后挪一位继续比较下面两个相邻的两个数大小关系,重复此步骤,直到最后一个还没归位的数。当插入到第i个元素时,前边i-1个元素已经排好了序,只需要将i元素依次与前i-1个元素进行比较,找到合适位置插入进去,原来位置上的元素后移即可。针对优化后的代码,时间复杂度在有序的情况下: O(n)

2022-11-21 09:12:56 85

原创 优先级队列(堆)

堆分为大根堆和小根堆其性质:堆中某个节点的值总是不大于或者不小于其父节点的值;堆总是一颗完全二叉树。

2022-11-19 13:38:31 91

空空如也

空空如也

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

TA关注的人

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