- 博客(102)
- 收藏
- 关注
原创 五子棋对战简单介绍
这里我们要将客户端和服务器建立WebSocket连接,这里的WebSocket连接和匹配模块是两个不同的连接,这样就可以做到解藕的效果。通过验证之后我们发现,进行一局对战游戏之后,界面上玩家双方的天梯分,游戏总场数和胜率场数并没有改变 ,那么我们来分析一下。当玩家双方都已经加入游戏房间之后,并且棋盘也已经初始化完毕,那么我们就应该来处理落子的请求和响应。接下来我们就要修改Spring的配置文件,让我们的MyBatis连接上数据库。实现匹配模块,就是把实力相近的两个玩家凑成一桌,放进一个房间中,进行对战。..
2022-08-08 10:52:02
1109
1
原创 软件测试(三)之自动化测试selenium
1.写一个简单脚本2.Webdriver api对象的定位应该是自动化测试的核心,要想操作一个对象,首先应该识别这个对象。一个对象就是一个人一样,他 会有各种的特征(属性),如比我们可以通过一个人的身份证号,姓名,或者他住在哪个街道、楼层、门牌找到这 个人。 那么一个对象也有类似的属性,我们可以通过这个属性找到这对象。2.1 id定位元素当我们打开百度搜索框,我们可以看见是这么定位的 2.2name定位2.3 classname定位2.4 link text(常用于点击链接)2
2022-07-10 10:27:55
1226
2
原创 Spring MVC程序开发基础
Spring Web MVC 是基于 Servlet API 构建的原始 Web 框架,从⼀开始就包含在 Spring 框架中。它 的正式名称“Spring Web MVC”来⾃其源模块的名称(Spring-webmvc),但它通常被称为“Spring MVC”。因此我们可以得出结论:1)Spring MVC是一个Web框架 2)Spring MVC是基于Servlet API构建的MVC 是 Model View Control
2022-06-29 14:21:27
417
1
原创 Spring Boot基础
目录1.什么是Spring Boot?1.1Spring Boot优点1.2第一个Spring Boot项目2.Spring Boot配置文件2.1配置文件的作用2.2配置文件的格式2.3properties 基本语法3.读取配置文件3.1读取配置文件方法1 3.2properties缺点3.3读取配置文件方法2 3.4读取配置文件方法3编辑3.5 properties VS yml 总结4.Spring Boot日志文件4.1日志文件的作用4.2日志的使用 4.3自定义打印日志4.3.1在程序中获取日志
2022-06-25 12:46:16
197
原创 Spring之拿取Bean对象即Bean生命周期
接上文我们写道将Bean对象放入Spring中,本文我们来学习如何获取Bean对象目录1.获取Bean对象1.1属性注入1.2Setter注入1.3构造方法注入1.4对象注入的另一种方式@Resource1.4.1属性注入1.4.2 Setter方式注入小结:@Autowired和@Resource有什么区别呢?三种注入方法的优缺点是啥?2.@Autowired和@Resource关于注入对象名称的问题 3.Bean的生命周期3.1Bean的作用域3.1.1singleton单例作用域3.1.2protot
2022-06-21 16:49:56
299
原创 JavaEE之Spring核心设计与思想
前言:我们通常所说的Spring指的是Spring Framework,也就是我们常说的Spring框架,他是一个开源框架。有着活跃而庞大的社区,这就是它之所以经久不衰的原因。并且Spring也支持广泛的应用场景。目录1.我们先来看一个例子2.控制反转IoC的实现假设我们要造一辆车,我们就要先有车身,但是车身还要依赖底盘,底盘还要依赖轮胎。我们将这一系列过程想象成一个待实现的程序,程序如下: 这里我们首先开始创建一个车,但是车又需要依赖车身,我们就创建一个车身。然后车身又需要依赖底盘,我
2022-06-09 17:43:51
175
原创 软件测试(二)
目录1.按照测试对象划分1.1界面1.2 可靠性1.3容错性编辑 1.4文档测试1.5兼容性测试1.6易用性测试1.7安装卸载 2.按照是否查看代码划分 2.1黑盒测试2.2白盒测试2.3灰盒测试3.按照开发阶段划分3.1单元测试编辑 3.2集成测试3.3系统测试3.4 回归测试编辑 3.5冒烟测试3.6验收测试4.按照实施组织划分5.按照代码是否运行划分6.按照是否手工划分7.按照地域划分前言:前面我们讲解了一些测试的基本内容和测试方法。接下来我们就按照一般测试的分类来进行划分。用户是通界面和软件进
2022-06-08 21:51:43
131
原创 JavaEE之JVM简述
目录1.JVM简介2.Java的类加载编辑 2.1类加载的基本流程编辑 2.2类加载过程中的双亲委派模型 编辑 3.JVM之垃圾回收前言: 3.2垃圾回收的定义3.3 java的垃圾回收要回收的内存是哪些3.4 回收堆上的内存,主要是回收什么 ?3.5 垃圾回收到底是咋回收的?编辑3.6如何来判断或者找垃圾3.6.1引用计数3.6.2 可达性分析3.7在知道哪些对象是垃圾的基础上,怎么回收?3.7.1垃圾回收之经典算法a)标记-清除b)复制算法c)标记整理 看个例子: 我们使用GC垃圾回
2022-06-08 00:06:20
209
原创 Linux简单指令练习
目录1.ll2.pwd3.cd 目录名4.相对路径和绝对路径5.使用tab键补全命令6.Linux中的复制和粘贴7.1touch创建一个空文件 7.2 echo打印内容到控制台,也可以用于写文件 7.3cat打开刚才创建的文件8. mkdir创建目录9.tree命令 10.rm删除文件11.mane+命令12.less查看文件13.vim14.ps linux中的任务管理器,查看当前系统中的进程15.netstat查看网络状态16.Linux权限对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将
2022-06-04 14:38:47
1646
原创 常见IP地址及子网掩码类选择题
1.下列哪个IP地址可以分配给一台计算机(D)A.256.1.3.4B.197.3.11.0C.199.5.89D.11.25.33.235这里的A类地址,网络号占据1个字节,即前8位。低24位表示主机号B类地址,网络号占据2个字节,即前16位。低16位表示主机号2.以下哪个ip不和10.11.12.91/28处于同一个子网(D)A.10.11.12.85/28B.10.11.12.88/28C.10.11.12.94/28D.10.11.12.97/28
2022-06-01 20:27:37
3446
原创 查找兄弟单词和乒乓球框
1.链接:查找兄弟单词__牛客网来源:牛客网定义一个单词的“兄弟单词”为:交换该单词字母顺序(注:可以交换任意次),而不添加、删除、修改原有的字母就能生成的单词。兄弟单词要求和原来的单词不同。例如: ab 和 ba 是兄弟单词。 ab 和 ab 则不是兄弟单词。现在给定你 n 个单词,另外再给你一个单词 x ,让你寻找 x 的兄弟单词里,按字典序排列后的第 k 个单词是什么?注意:字典中可能有重复单词。数据范围:1≤n≤10001 \le n \le 1000 \ 1≤n≤100..
2022-05-28 23:56:36
127
原创 软件测试(一)
1.什么是软件测试?软件测试软件测试人员验证软件是符合用户的需求。2.软件测试和开发的区别(1)本身开发:光度小,专业度高。测试:所需技能广泛,但是专业度低。(2)目的不同软件开发是开发人员要确保程序做了他想让程序实现的功能软件测试是测试人员确保程序实现了它该实现的功能,即用户需求(3)角色不同开发是开发人员完成,而测试是测试人员和开发人员共同完成(4)阶段不同软件测试是贯穿整个软件开发的生命周期而开发只是在软件开发阶段3.什么是需求用户的期望和满
2022-05-25 23:09:53
371
原创 动态规划之最长子序列和五子棋
1.最长子序列链接:最长上升子序列__牛客网来源:牛客网广场上站着一支队伍,她们是来自全国各地的扭秧歌代表队,现在有她们的身高数据,请你帮忙找出身高依次递增的子序列。 例如队伍的身高数据是(1、7、3、5、9、4、8),其中依次递增的子序列有(1、7),(1、3、5、9),(1、3、4、8)等,其中最长的长度为4。输入描述:输入包含多组数据,每组数据第一行包含一个正整数n(1≤n≤1000)。紧接着第二行包含n个正整数m(1≤n≤10000),代表队伍中每位队员的身高。输出描.
2022-05-21 23:25:27
195
原创 广度优先遍历之红与黑
1.红与黑链接:红与黑__牛客网来源:牛客网有一间长方形的房子,地上铺了红色、黑色两种颜色的正方形瓷砖。你站在其中一块黑色的瓷砖上,只能向相邻的(上下左右四个方向)黑色瓷砖移动。请写一个程序,计算你总共能够到达多少块黑色的瓷砖。输入描述:输入包含多组数据。每组数据第一行是两个整数 m 和 n(1≤m, n≤20)。紧接着 m 行,每行包括 n 个字符。每个字符表示一块瓷砖的颜色,规则如下:1. “.”:黑色的瓷砖;2. “#”:白色的瓷砖;3. “@”:黑色的瓷砖,并且你站.
2022-05-19 17:31:37
192
原创 二进制中1的个数和不使用加法计算两数和
1.求二进制中1的个数编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 '1' 的个数(也被称为汉明重量).)。提示:请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。在 Java 中,编译器使用 二进制补码 记法来表示有符号整数。因此,在上面的示例 3中,输入表示有符号整数 -3。示例 1:...
2022-05-16 17:41:49
134
原创 HTTPS协议的简单学习
上一章节我们学习了HTTP协议,而HTTPS协议就是HTTP的孪生兄弟。就是在HTTP的基础上,引入了一个加密层。目录1.引入加密层的原因2.HTTPS加密过程2.1对称加密2.2非对称加密1.引入加密层的原因因此我们引入HTTPS协议就能很好的保护数据安全。2.HTTPS加密过程在HTTPS中引入的加密层,称为SSL(旧的叫法)或者TLS(新的叫法).在SSL中有对称加密和非对称加密。2.1对称加密通过上述方法可以看出,密钥...
2022-05-16 10:39:07
137
原创 javaEE之HTTP协议
1. 之前学习了TCP协议、UDP协议、IP协议,这些是传输层协议,主要关注的是端对端之间的协议。而我们今天学习的HTTP协议是应用层之间的协议,即站在程序应用的角度,要对数据的传输,来进行具体的使用。而应用层协议本来是程序员根据实际的应用场景自己制定的,但是程序员的水平都参差不齐,因此有一些牛逼的大佬就制定了一些应用层协议,来供大家使用,而这就是我们要学习的HTTP协议。前面我们学习的TCP协议和UDP协议都是二进制协议,要理解到具体的BIT位。而HTTP协议则是一个文本格式的协议。只是理解具体的文本
2022-05-15 21:41:30
463
原创 分解因数和求因子个数
1.分解因数链接:分解因数__牛客网来源:牛客网所谓因子分解,就是把给定的正整数a,分解成若干个素数的乘积,即 a = a1 × a2 × a3 × ... × an,并且 1 < a1 ≤ a2 ≤ a3 ≤ ... ≤ an。其中a1、a2、...、an均为素数。 先给出一个整数a,请输出分解后的因子。输入描述:输入包含多组数据,每组数据包含一个正整数a(2≤a≤1000000)。输出描述:对应每组数据,以“a = a1 * a2 * a3...”的形式输出因式分.
2022-05-13 09:31:24
288
原创 设计一个博客页面
1.设计博客列表页总代码:这里面的link标签是CSS修改颜色样式的文件<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device..
2022-05-10 13:57:46
1060
原创 搜索与回溯算法
1.矩阵中的路径给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。例如,在下面的 3×4 的矩阵中包含单词 "ABCCED"(单词中的字母已标出)。示例 1:输入:board = [["A","B","C","E"],["S","F
2022-05-10 10:01:01
91
原创 前端知识之简单项目
1.写一个猜数字的游戏代码展示:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0.
2022-05-05 14:17:49
1166
原创 前端之JavaScript基本语法
目录1.书写方法1.1内嵌式1.2行内式2.JavaScript基本语法2.1定义变量2.2js中的数据类型2.3js中的比较相等2.4 && 和 ||的用法2.5js中整数和小数2.5.2删除数组中的元素3.js中的函数(function)4.js中创建对象5.DOM API5.1获取元素5.2 事件5.3 innerText5.4 innerHTML5.5获取/修改表单元素属性5.6计数:5.7全...
2022-05-04 23:39:40
1905
原创 前端之CSS
前言:前面的HTML描述了一个人的“骨架”,即页面的结构和内容,那这里的CSS代码就是对这个人的“皮”的描述。即页面的样式,这个人长啥样。1.CSS的基本语法CSS的语法规则非常简单,即每一个CSS语句分为两个部分,即选择器和应用的属性<style> p { /*设置字体大小*/ font-size : 10px; /*设置字体颜色*/ color : red; }</style><p>hello</p&...
2022-05-03 23:28:55
358
原创 前端之HTML
目录1.编写一个HTML代码2.HTML常见语法2.1注释标签2.2标题标签2.3段落标签2.4换行标签2.5格式化标签2.6图片标签2.6.1img标签的其他属性2.7超链接标签2.7.1空连接2.8列表标签2.9表单标签2.10 slect标签2.11 textarea标签2.12 无语义标签3.案例展示案例2:1.编写一个HTML代码2.HTML常见语法2.1注释标签2.2标题标签...
2022-05-02 10:31:36
512
原创 Day23
1.跳台阶扩展问题一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶(n为正整数)总共有多少种跳法。数据范围:1≤n≤201 \le n \le 201≤n≤20进阶:空间复杂度 O(1)O(1) O(1) , 时间复杂度 O(1)O(1)O(1)示例1输入3输出4示例2输入1输出1public class Solution { public int jumpFloorII(int ta.
2022-04-27 22:01:07
147
原创 Day22
1.星际密码星际战争开展了100年之后,NowCoder终于破译了外星人的密码!他们的密码是一串整数,通过一张表里的信息映射成最终4位密码。表的规则是:n对应的值是矩阵X的n次方的左上角,如果这个数不足4位则用0填充,如果大于4位的则只输出最后4位。|1 1|^n => |Xn ..||1 0| |.. ..|例如n=2时,|1 1|^2 => |1 1| * |1 1| => |2 1||1 0| |1 0| |1 0| |1 1|即2对应...
2022-04-26 17:08:44
204
原创 Day21
1.年终奖 小东所在公司要发年终奖,而小东恰好获得了最高福利,他要在公司年会上参与一个抽奖游戏,游戏在一个6*6的棋盘上进行,上面放着36个价值不等的礼物,每个小的棋盘上面放置着一个礼物,他需要从左上角开始游戏,每次只能向下或者向右移动一步,到达右下角停止,一路上的格子里的礼物小东都能拿到,请设计一个算法使小东拿到价值最高的礼物。给定一个6*6的矩阵board,其中每个元素为对应格子的礼物价值,左上角为[0,0],请返回能获得的最大价值,保证每个礼物价值大于100小于1000。impo...
2022-04-25 01:23:25
95
原创 Day20
1.计算字符串的编辑距离Levenshtein 距离,又称编辑距离,指的是两个字符串之间,由一个转换成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。编辑距离的算法是首先由俄国科学家 Levenshtein 提出的,故又叫 Levenshtein Distance 。例如:字符串A: abcdefg字符串B: abcdef通过增加或是删掉字符 ”g” 的方式达到目的。这两种方案都需要一次操作。把这个操作所需要的次数定义为两个字符串.
2022-04-24 16:42:04
103
原创 Day18
1.洗牌在生活中十分常见,现在需要写一个程序模拟洗牌的过程。 现在需要洗2n张牌,从上到下依次是第1张,第2张,第3张一直到第2n张。首先,我们把这2n张牌分成两堆,左手拿着第1张到第n张(上半堆),右手拿着第n+1张到第2n张(下半堆)。接着就开始洗牌的过程,先放下右手的最后一张牌,再放下左手的最后一张牌,接着放下右手的倒数第二张牌,再放下左手的倒数第二张牌,直到最后放下左手的第一张牌。接着把牌合并起来就可以了。 例如有6张牌,最开始牌的序列是1,2,3,4,5,6。首先分成两组,左手拿着1,2,3;右.
2022-04-24 16:18:20
82
原创 Day19
1.小易经常沉迷于网络游戏.有一次,他在玩一个打怪升级的游戏,他的角色的初始能力值为 a.在接下来的一段时间内,他将会依次遇见n个怪物,每个怪物的防御力为b1,b2,b3...bn. 如果遇到的怪物防御力bi小于等于小易的当前能力值c,那么他就能轻松打败怪物,并 且使得自己的能力值增加bi;如果bi大于c,那他也能打败怪物,但他的能力值只能增加bi 与c的最大公约数.那么问题来了,在一系列的锻炼后,小易的最终能力值为多少?输入描述:对于每组数据,第一行是两个整数n(1≤n<100000)表示怪
2022-04-24 11:49:28
101
原创 JavaEE之网络编程(TCP协议和UDP协议)
1.TCP和UDP的区别1.1有连接和无连接1.2可靠传输和不可靠传输可靠传输意为发送方可以感知到接受方有没有接收到数据。不可靠传输意为发送方不知道接收方有没有接收到数据。1.3面向字节流和面向数据报面向字节流:数据是以字节为单位,进行传输的。这个就非常类似于 文件操作中的文件内容相关的操作中的字节流。网络传输也是一样!假设,现有100个字节的数据。我们可以一直发完。也可以 一次发 10个字节,发送十次。也可以 一次发 2 个字节,发送50次。…面向数据.
2022-04-22 11:07:14
2426
原创 JavaEE之文件操作
目录1.认识文件1.1文件的分类1.2.目录的结构2.Java中操作文件操作文件File类的方法:创建文件 createNewFile()delete删除文件mkdir创建目录mkdirs创建多级目录list、listFiles3.文件内容相关操作3.1打开文件3.2利用字节流读取文件3.3写文件操作4.针对字符流进行4.1读操作:4.2写操作5.利用Scanner进行字符读取6.文件操作案例6.1案例16...
2022-04-20 23:51:27
874
1
原创 喝汽水问题
1.某商店规定:三个空汽水瓶可以换一瓶汽水,允许向老板借空汽水瓶(但是必须要归还)。小张手上有n个空汽水瓶,她想知道自己最多可以喝到多少瓶汽水。数据范围:输入的正整数满足1 \le n \le 100 \1≤n≤100注意:本题存在多组输入。输入的 0 表示输入结束,并不用输出结果。输入描述:输入文件最多包含 10 组测试数据,每个数据占一行,仅包含一个正整数 n( 1<=n<=100 ),表示小张手上的空汽水瓶数。n=0 表示输入结束,你的程序不应当处理这一行。..
2022-04-19 23:09:18
444
原创 最长公共子串
1.查找两个字符串a,b中的最长公共子串查找两个字符串a,b中的最长公共子串。若有多个,输出在较短串中最先出现的那个。注:子串的定义:将一个字符串删去前缀和后缀(也可以不删)形成的字符串。请和“子序列”的概念分开!数据范围:字符串长度1\le length \le300 \1≤length≤300进阶:时间复杂度:O(n^3)\O(n3),空间复杂度:O(n)\O(n)输入描述:输入两个字符串输出描述:返回重复出现的字符示例1输入:abcdefghi...
2022-04-19 20:18:30
632
1
原创 Day17
1.二叉树的镜像链接:二叉树的镜像__牛客网来源:牛客网操作给定的二叉树,将其变换为源二叉树的镜像。数据范围:二叉树的节点数 0≤n≤10000 \le n \le 10000≤n≤1000 , 二叉树每个节点的值 0≤val≤10000\le val \le 1000 0≤val≤1000要求: 空间复杂度 O(n)O(n)O(n) 。本题也有原地操作,即空间复杂度 O(1)O(1)O(1) 的解法,时间复杂度 O(n)O(n)O(n)public class Solu..
2022-04-17 15:47:03
583
原创 Day16
1.扑克牌大小描述扑克牌游戏大家应该都比较熟悉了,一副牌由54张组成,含3~A,2各4张,小王1张,大王1张。牌面从小到大用如下字符和字符串表示(其中,小写joker表示小王,大写JOKER表示大王):)3 4 5 6 7 8 9 10 J Q K A 2 joker JOKER输入两手牌,两手牌之间用“-”连接,每手牌的每张牌以空格分隔,“-”两边没有空格,如:4 4 4 4-joker JOKER请比较两手牌大小,输出较大的牌,如果不存在比较关系则输出ERROR基本规则:(1)输...
2022-04-16 13:40:31
83
原创 Day15
1.手套的个数在地下室里放着n种颜色的手套,手套分左右手,但是每种颜色的左右手手套个数不一定相同。A先生现在要出门,所以他要去地下室选手套。但是昏暗的灯光让他无法分辨手套的颜色,只能分辨出左右手。所以他会多拿一些手套,然后选出一双颜色相同的左右手手套。现在的问题是,他至少要拿多少只手套(左手加右手),才能保证一定能选出一双颜色相同的手套。给定颜色种数n(1≤n≤13),同时给定两个长度为n的数组left,right,分别代表每种颜色左右手手套的数量。数据保证左右的手套总数均不超过26,且一定存在至少
2022-04-14 23:42:47
67
原创 Day14
1.计算日期到天数转换根据输入的日期,计算是这一年的第几天。保证年份为4位数且日期合法。进阶:时间复杂度:O(n)\O(n) ,空间复杂度:O(1)\O(1)输入描述:输入一行,每行空格分割,分别是年,月,日输出描述:输出是这一年的第几天示例1输入:2012 12 31输出:366示例2输入:1982 3 4输出:63import java.util.*;public class Main{ public stat
2022-04-14 10:30:45
99
原创 Date13
1.参数解析在命令行输入如下命令:xcopy /s c:\\ d:\\e,各个参数如下:参数1:命令字xcopy参数2:字符串/s参数3:字符串c:\\参数4: 字符串d:\\e请编写一个参数解析程序,实现将命令行各个参数解析出来。解析规则:1.参数分隔符为空格2.对于用""包含起来的参数,如果中间有空格,不能解析为多个参数。比如在命令行输入xcopy/s "C:\\programfiles" "d:\"时,参数仍然是4个,第3个参数应该是字符串C:\\pro...
2022-04-12 13:31:18
82
原创 Date12
1.二进制插入给定两个32位整数n和m,同时给定i和j,将m的二进制数位插入到n的二进制的第j到第i位,保证n的第j到第i位均为零,且m的二进制位数小于等于i-j+1,其中二进制的位数从0开始由低到高。测试样例:1024,19,2,6返回:1100import java.util.*;public class BinInsert { public int binInsert(int n, int m, int j, int i) { //首先将m左移j位
2022-04-10 20:02:04
83
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人