自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MySQL 表的增删改查

大家肯定跟我一样,看到CRUD这四个字母一头雾水,什么是CRUD呀?这里我就为大家一一讲解:CRUD 即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)四个单词的首字母缩写是数据库操作最基本的操作也是未来我们进入公司实习,最开始的最日常的工作由此可见,对我们未来涞水非常的重要所以,接下来就让我们来看看具体什么是CRUD吧。

2024-04-01 16:56:12 839 1

原创 软件测试教程 性能测试概论

系统的第一个版本,研发团队团队也不清楚系统的性能能达到怎样的水平,这时进行的性能测试,其目标是获得系统标准配置下,有关的性能指标数据,作为将来性能改善的基准,这种测试称之为"性能基准测试"。比如,一笔电子支付操作,后台处理的时候可能需要经过会员系统,账务系统,支付系统,银行系统等,这就是是一个关于支付事务里面包含的操作。指模拟正式用户在实际操作时的停顿间隔时间,从业务的角度来讲,思考时间指的是用户在进行操作时,每个请求之间的间隔时间。只有一大群的人迈着相同的步伐,往前走的时候,声音是非常响亮的。

2024-03-24 09:34:27 743

原创 【算法刷题】Day34

count[i] 表示:以i位置元素为结尾的所有的子序列中,最长递增子序列的 “个数”len[i] 表示:以ì位置元素为结尾的所有的子序列中,最长递增子序列的 “长度”dp[i] 表示:以i位置元素为结尾的所有数对链中最长的数对链的长度。给定一个未排序的整数数组 nums , 返回最长递增子序列的个数。if(root == 叶子节点)使用两个全局变量 + 中序遍历。预处理,按第一个元素排序即可。注意 这个数列必须是。两个表都初始化为 1。

2024-03-22 10:28:50 831

原创 【算法刷题】Day33

f[i] 表⽰:以 i 位置元素为结尾的所有的⼦序列中,最后⼀个位置呈现「上升趋势」的最⻓摆动序列的⻓度。g[i] 表⽰:以 i 位置元素为结尾的所有的⼦序列中,最后⼀个位置呈现「下降趋势」的最⻓摆动序列的⻓度。f[i] 表示:以 i 位置元素为结尾的所有子数组中,最后呈现「上升状态」下的最长湍流数组的长度。g[i] 表示:以 i 位置元素为结尾的所有子数组中,最后呈现「下降状态」下的最长湍流数组的长度。如果状态表⽰这样定义的话,以 i 位置为结尾的最⻓摆动序列的⻓度我们没法从之前的状态推导出来。

2024-03-21 08:35:47 815

原创 软件测试 自动化测试之Junit框架

Junit 是 Java 的单元测试框架在 Java 项目中加入 Junit 依赖。

2024-03-19 08:11:21 564

原创 软件测试 自动化测试selenium API

隐式地等待并非一个固定的等待时间,当脚本执行到某个元素定位时,如果元素可以定位,则继续执行;如果元素定位不到,则它以轮询的方式不断的判断元素是否被定位到。implicitly_wait(30)的用法比time.sleep()更智能,后者只能选择一个固定的时间的等待,前者可以在一个时间范围内智能的等待。添加休眠非常简单,我们需要引入time 包,就可以在脚本中自由的添加休眠时间了,这里的休眠指固定休眠。绝对路径:通过/开头(/html/body/div/div/div)css 选择器定位元素的效率更高。

2024-03-18 19:32:28 953

原创 【算法刷题】Day32

叶子节点 要么值为 0 要么值为 1 ,其中 0 表示 False ,1 表示 True。dp[i] 表示:以 i 位置的元素为结尾的所有子串里面,有多少个在 base 中出现过。给一个二叉树的根节点 root ,树中每个节点都存放有一个 0 到 9 之间的数字。dp[i] 表示: [0, i] 区间内的字符串,能否被字典中的单词拼接而成。例如,从根节点到叶节点的路径 1 -> 2 -> 3 表示数字 123。这⾥不能直接返回 dp 表里面的和,因为会有重复的结果。最后返回「数组中所有元素的和」即可。

2024-03-18 10:33:54 555

原创 软件测试 自动化测试selenium 基础篇

将人工要做的测试工作进行转换,让代码去执行测试工作这样是为了提高测试效率,提高测试产品的质量做 UI 自动化测试的一个工具。

2024-03-17 11:14:30 535

原创 软件测试的划分

软件只是一种工具,软件与人的信息交流是通过界面来进行的,界面是软件与用户交流的最直接的一层,界面的设计决定了用户对我们设计的软件的第一印象;安全性测试的方法有代码评审,渗透测试,安全运维等,常用的静态安全测试工具有,Coverity,IBMAppscan Source,HPFortify,常用的动态安全测试有OWASP的ZAP,HP WebInspect等。要进行软件产品的性能问题,要对产品的性能需求进行分析,然后基于系统的性能需求和系统架构,完成性能测试的设计和执行,最后要进行持续的性能调优。

2024-03-15 19:07:38 770

原创 软件测试 用例

测试用例(Test Case)是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素。好的测试用例是一个不熟悉业务的人也能依据用例来很快的进行测试评价测试用例的标准:对比好坏用例的评价标准基于需求设计的测试用例只是一个大概的测试用例如果拿着这个用例去进行测试,测试的软件不完善这个测试方法只是针对软件进行了大概的测试我们举个例子:在我们品尝美食的时候,只需要吃一口就知道这道菜是否好吃此例子就是等价类思想依据需求将输入(特殊情况下会考虑输出)划分为若干个

2024-03-14 14:00:05 570

原创 【算法刷题】Day31

f[i] 表示:以 i 结尾的所有子数组中,乘积为「正数」的最长子数组的长度。g[i] 表示:以 i 结尾的所有子数组中,乘积为「负数」的最长子数组的长度。dp[i] 表示:「以 i 位置的元素为结尾」的等差数列有多少种。返回数组 nums 中所有为等差数组的 子数组 个数。f[i] 表示:以 i 结尾的所有⼦数组的最大乘积。g[i] 表示:以 i 结尾的所有⼦数组的最小乘积。在 f 表中,要求 f[i - 1] 不影响 +1。求出乘积为正数的最长子数组的长度。一个是暴力循环,一个是快速幂。

2024-03-14 11:26:23 813

原创 软件测试 基础(2)

Blocker(崩溃)系统崩溃、死机、死循环,导致数据库数据丢失,与数据库连接错误,主要功能丧失,基本模块缺失等问题Critical(严重)系统主要功能部分丧失、数据库保存调用错误、用户数据丢失,一级功能菜单不能使用但是不影响其他功能的测试。功能设计与需求严重不符,模块无法启动或调用,程序重启、自动退出,关联程序间调用冲突,安全问题、稳定性等Major(一般)功能没有完全实现但是不影响使用,功能菜单存在缺陷但不会影响系统稳定性Minor(次要)

2024-03-11 15:02:02 795

原创 软件测试 需求

需求:我想要做什么事情用户需求:可以简单理解为甲方提出的需求,如果没有甲方,那么就是终端用户使用产品时必须要完成的任务。该需求一般比较简略。软件需求:或者叫功能需求,该需求会详细描述开发人员必须实现的软件功能。测试用例(Test Case)是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素。测试用例解决了两大问题:测什么,怎么测。

2024-03-10 19:49:24 945

原创 【算法刷题】Day30

选择两个头结点中较小的结点作为最终合并后的头结点,然后将剩下的链表交给递归函数去处理。dp[i] 表示:以 i 位置为结尾的所有子数组中的最大和。单链表的头节点 head ,反转链表,并返回反转后的链表。将x柱子上的一堆盘子,借助 y柱子,转移到z 柱子上面。新链表是通过拼接给定的两个链表的所有节点组成的。返回 nums 的非空 子数组 的最大可能和。只关心一个子问题咋做什么(函数体的设计)长度为 n 的环形整数数组 nums。找出一个具有最大和的连续子数组。重复子问题(函数头的设计)

2024-03-08 11:02:21 800

原创 【算法刷题】Day29

当处于第 0 天的时候,只能处于「买⼊过⼀次」的状态,此时的收益为 -prices[0] ,因此 f[0][0] = - prices[0]f[i][j] 表示:第 i 天结束后,完成了 j 笔交易,此时处于「有股票」状态的最大收益;g[i][j] 表示:第 i 天结束后,完成了 j 笔交易,此时处于「无股票」状态的最大收益。为了取 max 的时候,⼀些不存在的状态「起不到⼲扰」的作⽤,我们统统将它们初始化为 -INF。r,o,a,k 去查找前驱字符,是否在哈希表中。如果存在,最后一个字符–,当前字符++

2024-03-06 15:05:07 357

原创 软件测试 基础(1)

在挑选衣服,挑选手机的过程中我们会考虑这个衣服是否适合我,质量,性价比挑选手机也是如此这个时候,我们就是在对衣服和手机进行测试最常见的解释就是:验证软件是否符合用户需求,这个过程就叫做软件测试软件测试一个过程,测试对象是软件软件测试的特点:软件测试只是一个样本测试,具有不可穷尽性软件测试是一个过程测试人员针对软件全方面进行验证验证软件是不是符合用户需求(预期)

2024-01-17 12:48:42 405

原创 Spring IoC 和 DI

Spring:是一个开源框架SpringBoot:可以添加各种依赖,简化开发SpringMVC:是一种进行web开发的框架(模块)Spring相当于一个火车,SpringBoot相当于1230,SpringMVC 相当于里面的功能(买票、改签)Spring 是包含众多工具的 IoC 容器(比如 tomcat 就是一个 web 容器,list/map 是数据容器)Spring 容器,装的是对象IoC 是控制反转就是把对象的控制权交给了 Spring 进行控制。

2024-01-17 10:00:00 1814

原创 Spring MVC

在鉴权的时候会使用 自定义 header。

2024-01-13 13:22:01 952

原创 Linux 简述

有的系统上(centos)输入 rm 删除,会有一个提示,是否确认要删除,输入 y 就是删除,n 就是不删除。在Linux 的命令中,但凡涉及到 目录 相关的操作,都是可以支持 绝对路径 和 相对路径的。拷贝目录的时候,和 rm 类似,都是要加上 -r 选项,表示要递归的拷贝目录里的内容。(/ 称为“根目录”,就是 Windows 上的此电脑,Linux 是没有盘符的)如果是删除目录的话,递归过程比较麻烦,每个目录都会提示你要进行确认。有的时候,服务器打印的日志太快了,滚动太快看不清,就可以冻结屏幕。

2024-01-10 21:36:26 1013 1

原创 Java EE 博客系统(Servlet版)

这个方法的效果,就是把 blog.content 这里的 md 的原始数据,渲染成 html,放到 id 为 content 的 div 中。后续在博客详情页中,就可以给服务器发起 ajzx 请求,根据这里的 blogId ,查询数据库中,博客的具体内容再返回。(2)针对每个元素(Blog 对象),通过反射的方式,获取到都是哪些属性,属性的名字,属性的值。写完代码之后,再点击某个博客,就可以看到,有的博客里面的详情页,还是之前的旧的内容。

2024-01-10 09:00:00 1106

原创 【算法刷题】Day28

f[i][j] 表示:第 i 天结束之后,完成了 j 次交易,此时处于“买入”状态下的,最大利润。g[i][j] 表示:第 i 天结束之后,完成了 j 次交易,此时处于“卖出”状态下的,最大利润。第 k 行:(k, d-k) 到 (k+d, d-k+d) 到 (k+2d, d-k+2d)第 n-1 行:n-1 到 n-1+d 到 n-1+2d…dp[i] 表示:第 i 天结束之后,所能获得的最大利润。第 i 个元素是一支给定的股票在第 i 天的价格。第一行:0 到 0+d 到 0+2d…

2024-01-09 19:48:40 1221

原创 【算法刷题】Day27

在时间区间 [t, t + duration - 1](含 t 和 t + duration - 1)处于中毒状态。f[i] 表示:第 i 天结束之后,处于”买入“状态,此时的最大利润。g[i] 表示:第 i 天结束之后,处于”卖出“状态,此时的最大利润。dp[i] 表示:第 i 天结束的之后,所能获得的最大利润。在中毒影响结束 前 再次攻击,中毒状态计时器将会 重置。prices[i]表示第 i 天的股票价格。这个时候可以直接返回,g[n - 1]在买入状态的时候,肯定不会是最大利润。

2024-01-02 09:45:09 799 1

原创 Java EE Servlet之Cookie 和 Session

cookie 和 session浏览器首次访问到登录操作的时候,就会在服务器这边验证身份,验证通过,就会创建会话服务器就会保存会话消息(hash)客户端也会保存身份标识(sessionId)后续浏览器在访问这个网站(网站的其他界面)都会带上 cookie(sessionId)服务器不需要让浏览器重新登陆,也能识别出浏览器的用户身份信息。

2024-01-01 11:40:57 1115

原创 Java EE Servlet之服务器版表白墙

此处 success 回调函数,不是立即执行的,而是在浏览器收到服务器返回的,成功,这样的响应的时候,才会执行到 function。后端处理 ajax 请求,url 路径,写作“/message”,前面带 / ,此时是 Servlet 要求的写法。建库建表,需要用到 sql,都可以写到 文件 中,后续如果需要把表啥的往其他的机器上迁移,建表操作就会比较方便。前端 ajax 请求,url 路径,写作“message”,前面不带 / ,此时这是一个相对路径的写法。

2023-12-31 09:00:00 922

原创 Java EE Servlet之Servlet API详解

接下来我们来学习 Servlet API 里面的详细情况。

2023-12-30 12:28:49 1277

原创 Java EE Servlet之第一个Servlet代码

(Tomcat 专属的压缩包,war 里面不光有 .class还有一些 tomcat 要求的配置文件(web.xml 等) 还有前端的一些代码(html, css,js))Servlet 是一种实现动态页面的技术.,是一组 Tomcat 提供给程序员的 API,帮助程序猿简单高效的开发一个 web app。后面的代码会放到 tomcat 中,所以必须要遵循 tomcat 的要求,否则识别不了,就无法执行。Maven 项目在首次创建的时候,会自动的从 Maven 的网站上下载一些依赖的组件。

2023-12-29 17:37:58 993

原创 Java EE 网络原理之HTTPS

上述 对称加密 + 非对称加密,这样的过程中还存在一个严重的漏洞,黑客如果利用好这个漏洞,仍然可以获取到原始的明文数据。当黑客收到证书之后,如果直接修改里面的公钥,替换成自己的,客户端在进行证书校验的时候,就会发现校验和不一致了。此时,客户端拿到了数字签名,就可以通过系统内置的公正机构的公钥,进行解密了,就得到了最初的校验和。(这是计算机 的证书,也就是一段结构化的数据,这段数据就会包含一些重要的信息,比如数字签名)黑客没有这个私钥,如果黑客拿自己的私钥加密,客户端也就无法使用公证机构的公钥解密了。

2023-12-29 09:54:40 1478

原创 【算法刷题】Day26

dp[i][1] 表示:第 i 天结束之后,处于“可交易”状态,此时最大利润。dp[i][2] 表示:第 i 天结束之后,处于“冷冻期”状态,此时最大利润。dp[i][0] 表示:第 i 天结束之后,处于“买入”状态,此时最大利润。卖出股票后,你无法在第二天买入股票 (即冷冻期为 1 天)不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)prices[i] 表示第 i 天的股票价格。’ 字符的字符串 s。最终的字符串不包含任何 连续重复 的字符。’ 转换为若干小写字母。箭头所指的是当前的状态。

2023-12-28 21:52:53 326

原创 【算法刷题】Day25

每⼀个「比特位」代表⼀个「字符」,⼀个 int 类型的变量的 32 位足够表示所有的小写字⺟。dp[i][0] 表示:粉刷到 i 位置的时候,最后⼀个位置粉刷上「红色」,此时的最小花费。dp[i][1] 表示:粉刷到 i 位置的时候,最后⼀个位置粉刷上「蓝色」,此时的最小花费。dp[i][0] 表示:粉刷到 i 位置的时候,最后⼀个位置粉刷上「绿色」,此时的最小花费。我们通过 ret 的每⼀个比特位上的值,就可以将 ret 给还原出来。costs[0][0] 表示第 0 号房子粉刷成红色的成本花费。

2023-12-28 21:39:45 911

原创 Java EE 网络原理之HTTP 响应详解

(query string 还键值对,其中 key 就是 input 输入框的 name 属性,value 就是输入框用户输入的内容)ajax,通过 js 提供的 api 来构造 http 请求,同样可以使用 js 灵活处理,想要怎么处理都行,或者想跳转不跳转也都行。由于,form 有一些缺陷,只支持 GET 和 POST,不支持其他方法,而且 form 会触发页面跳转(有的时候不想跳转)即使给出了一个错误的(不规范)的 html 代码,也是可以进行解析并显示的(浏览器会尽可能的进行显示)

2023-12-27 21:25:27 1432

原创 Java EE 网络原理之HTTP 协议格式

后续再请求这个服务器的时候,就会把 Cookie 的内容自动带入到请求中,发送给服务器,服务器通过 Cookie 的内容做一些逻辑上的处理。这些 内容 就是浏览器本地存储的 cookie,会再后续请求服务器的时候,把这些内容给代入到请求中,传给服务器。但是程序运行过程中,也会有一些数据,需要再浏览器这边存储的,并且在后续请求的时候数据可能需要再发给服务器。query string 中的键值对,都是程序员自定义的,不像 header 中的键值对是标准规定的。

2023-12-27 09:15:00 602

原创 【笔试强化】Day 9

(1)二进制位 与 后 左移一位 的结果,是两个数相加进位后的结果(只考虑进位)如果n或者m为1,则只有一行或者一列,从左上角走到右下角的路径数为n + m。(1)二进制位 异或 的结果,是两个数对应位相加的结果(不考虑进位)如果n,m都大于1,那么走到[n][m]格子的右下角只有两条路径。<1>: 从[n - 1][m]格子的右下角向下走,到达。<2>: 从[n][m - 1]格子的右下角向右走,到达。这就需要再初始化的时候,最外边的一行和一列都是 1。这里我们可以分为两种情况。

2023-12-26 20:31:13 62

原创 【算法刷题】Day24

所以dp[i][j] = dp[i-1][j] +dp[i][j-1] - dp[i-1][j-1] +arr[i+1][j+1]删除 所有 等于 nums[i] - 1 和 nums[i] + 1 的元素。g[i] 表示:选到 i 位置时,不选 nums[i],此时能获得的最大点数。f[i] 表示:选到 i 位置时,选 nums[i],此时能获得的最大点数。在 [0,i-1] 区间内,有多少个前缀和 等于 sum[i] - k。选择任意一个 nums[i] ,删除它并获得 nums[i] 的点数。

2023-12-26 16:27:41 91

原创 【笔试强化】Day 8

利用string的compareTo方法来按ascii比较字符串字典序排序。所以对于输入的两个数进行连续求余,直到余数为0,求余的分母即为结果。利用string的length方法来比较字符串的长度排序。a、b之间的余数为两者之间最小的数之间的公约数。数组不是原生类,是根据基本数据类型来定义的。最小公倍数 = 两数之积除以最大公约数。将接收的字符串都放到String数组中。

2023-12-24 21:36:34 49

原创 Jave EE 网络原理之网络层与数据链路层

地图软件能够做出这样的路径规划,主要是因为,开了全图的整个地图的信息,路径信息,都是在地图的服务器上全都存储的,可以给出“最优解"MTU 可以考虑成一辆汽车的载重量,路是土路,汽车太重了,就容易压坏,路是沥青的路,载重量就更大,路是高速公路级别的,载重量就更大。我的电脑会把报头发给运营商,此时,运营商路由器,也是一个 NAT 设备,也就能够对当前这里的源 IP 进程替换。(IP 协议,路由器,走哪个网络接口,其实是抽象的概念,最终还是要在数据链路层才能觉得是走哪个网口)

2023-12-24 13:38:24 131

原创 Jave EE 网络原理之应用层与传输层

自定义协议,具体的方式非常灵活,只需要客户端和服务器能够对应上述这种 通过文本方式构造的协议,属于比较粗糙的方式,在实际开发中比较少见几种开发中更常见的格式。

2023-12-23 09:00:00 71

原创 【算法刷题】Day23

在 [0,i-1] 区间内,找到有多少个前缀和的余数等于 (sum % k + k) % k。g[i] 表示:偷到 i 位置时,不偷 nums[i],此时的最大金额。在 [0,i-1] 区间内,有多少个前缀和 等于 sum[i] - k。f[i] 表示:偷到 i 位置时,偷 nums[i],此时的最大金额。因为有负数的原因,中间的可能会出现相加为 0 的情况。并且 (a + p*k) % p = a % p。为了正负统一:(a % p + p) % p。在不偷的情况下,后面的就跟昨天的按摩师一样。

2023-12-22 18:44:34 86

原创 【笔试强化】Day 7

栈中存放左括号,当遇到右括号之后,检查栈中是否有左括号,如果有则出栈,如果没有,则说明不匹配。这两个数分别取自距离N的最近的左边一个数L和右边一个数R。然后通过min(N - L, R - N)找到最小步数。先找到距离N最近的两个Fibonacci数。对比,如果两个的数量相同,就是合法括号。统计左括号的数量,再统计右括号的数量。这里先用一种很简单的做法。

2023-12-22 10:51:39 42

原创 【算法刷题】Day22

f[i] 表示:选择到 i 位置时, nums[i] 必选,此时的最⻓预约时长。g[i] 表示:选择到 i 位置时, nums[i] 不选,此时的最长预约时长。因此 g[i] = max(f[i - 1], g[i- 1])因此 f[i] = g[i - 1] + nums[i]g[i] 表示:[i+1,n-1] 区间,所有元素的乘积。g[i] 表示:[i+1,n-1] 区间,所有元素的和。f[i] 表示:[0,i-1] 区间,所有元素的乘积。f[i] 表示:[0,i-1] 区间,所有元素的和。

2023-12-21 21:39:02 105

原创 【笔试强化】Day 6

化简之后: ( (x1-x2) * (x1-x2) + (y1-y2) * (y1-y2) ) == 4。满足x 1== x2,y1-y2 == 2 或者 x1-x2 == 2,y1 == y2。假设放蛋糕的位置是(x1,y1),则不能放蛋糕的位置(x2,y2)则可以标记 a[i][j+2]和a[i+1][j]位置不能放蛋糕。所以(x1,y1)的右边两个位置 和 下边的两个位置不能放蛋糕。每个位置初始化为 0,表示当蛋糕a[i][j] 位置放蛋糕,正确答案:A,B,C。正确答案:A,B,D。

2023-12-21 09:43:28 54

空空如也

空空如也

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

TA关注的人

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