- 博客(86)
- 收藏
- 关注
原创 Requests模块详解 接口自动化测试和爬虫必备
前言试着用postman做完接口测试后,觉得工具做接口测试是非常便捷的。但是也存在着一定的不足和弊端。比如:1. 敏捷开发,接口一般数量很大,团队实现接口测试,版本控制2. 功能太死板,有些接口完全无法实现(复杂的加密接口,签名接口等)3. 接口项目当中有多种不同协议的接口4. 排错,定位接口问题不方便,结合抓包实现5. 没有办法生成美观的报告6. 多接口串联,数据库验...
2022-05-10 16:24:42
711
原创 Postman~做接口测试
在工作中,接口测试势必是最有效的测试途径。因此,学习接口测试的基础和工具是很有必要的,从Postman开始吧~1. 接口测试简介接口测试就是测试系统组件接口之间的一种测试。分类:测试外部接口:测试被测系统和外部系统之间的接口。这种接口只需要保证被测系统可以调通外部系统,因此,只需要测试正例就足够了测试内部接口:1.内部接口只提供给内部系统使用。这种情况下,调用关系都很明确,像公司内部的预算系统,承保系统等,只需要测试正例即可2....
2022-04-11 15:34:24
4241
1
原创 关于css样式隔离
一.为什么需要样式隔离?css一旦生效,就会应用于全局,所以很容易出现冲突。所以需要进行样式隔离。二.如何进行样式隔离?1. 命名空间: 给每个不同模块使用的css规划好命名,这样所有的css就都不会出现冲突,这种方法虽然很好理解和简单,但是编写起来很繁琐,维护成本会很高。2. css Modules: 这其实跟命名空间有点类似,vue应该就是使用类似的方法,给选择器加上特殊的字符串,达到css隔离的效果。3. css-in-js4. Shadow DOMShadow DOM是指
2021-10-11 15:03:13
2634
原创 论Java中的深浅拷贝
目录深浅拷贝简介1.浅拷贝2.深拷贝3.总结深浅拷贝举例总结深浅拷贝简介浅拷贝和深拷贝都是对一个已有对象的操作,编译系统会自动调用一种构造函数——拷贝构造函数,如果用户未定义拷贝构造函数,则会调用默认拷贝构造函。1.浅拷贝1. 对于数据类型是基本数据类型的成员变量,浅拷贝会直接进行值传递,也就是将该属性值复制一份给新的对象。因为是两份不同的数据,所以对其中一个对象的该成员变量值进行修改,不会影响另一个对象拷贝得到的数据。2.对于数据类型是引用数据类型的成员变.
2020-08-06 15:57:29
180
原创 浅谈HTTPS
目录HTTP的缺点1.通信使用明文可能会被窃听2.不验证通信方的身份就可能遭遇伪装3.无法证明报文完整性,可能已遭篡改HTTPS的引入1. HTTP+加密+认证+完整性保护 = HTTPS2. 相互交换秘钥的公开秘钥加密技术HTTPS的使用HTTP的缺点HTTP用户客户端和服务器进行通信,可以说是相当优秀。不过还存在着一定的问题通信使用明文(不加密),内容可能会被窃听 不验证通信方的身份,因此有可能遭遇伪装 无法验证报文的完整性,所有有可能已遭篡改.
2020-08-03 17:39:01
393
原创 浅谈TCP和UDP
目录概念UDPTCP相关socket编程总结概念TCP 传输协议:TCP 协议是一TCP (Transmission Control Protocol)和UDP(User Datagram Protocol)协议属于传输层协议。首先这里涉及到两个问题:1.什么是协议?网络协议是指通信双方就通信如何进行所必须共同遵守的约定和通信规则的集合。在网络上通信的双方只有遵守相同的协议,才能正确地交流信息,就像人们交谈时要使用同一种语言一样,如果谈话里使用不同的语言,就会造成双.
2020-07-09 10:08:24
230
原创 浅谈注解
何为注解?标注解释。是 JDK5.0 引入的一种注释机制。在Java中类、方法、变量、参数和包等都可以被标注。并且Java 标注可以通过反射获取标注内容。在编译器生成类文件时,标注可以被嵌入到字节码中。Java 虚拟机可以保留标注内容,在运行时可以获取到标注内容 。 当然它也支持自定义 Java 标注。内置的注解Java 定义了一套注解,共有 7 个,3 个在 java.lang 中,剩下 4 个在 java.lang.annotation 中。作用在代码的注解是@Override - 检查
2020-06-24 10:39:11
192
转载 在 Linux 终端中实现回收站功能
本文仿照 Windows 回收站的功能,运用 Bash 脚本在 Linux 上实现。创建 delete 脚本代替 rm 命令对文件或目录进行删除操作。该脚本实现了以下功能:目录1. Delete 脚本2. logTrashDir 脚本3. restoreTrash 脚本4. 自动定期清理 trash 目录5. 实际应用6. 总结删除是危险系数很高的操作,一旦误删可能会造成难以估计的损失。在 Linux 系统中这种危险尤为明显,一条简单的语句:rm –rf /* 就会.
2020-06-23 11:58:48
660
原创 Linux操作系统基本指令简介
Linux是一种类似于Unix的操作系统。是开源的面向服务器端的操作系统。操作系统其实是一个搞管理的软件,对下管理好所有的硬软件资源,对上为用户提供良好的运行环境。在我们日常的使用中,主要进行进程管理、内存管理、文件管理、驱动管理、网络管理等。因为Linux是面向服务器端的操作系统,在Linux上进行操作,需要用指令进行操作。因此了解它的基本操作是非常关键的。因此我把比较常用的命令进行了总结:目录基本命令01. ls 指令02. pwd命令03. cd 指令04. touch指令.
2020-06-03 12:41:31
406
原创 调整数组顺序使奇数位于偶数前面
1. 题目概述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。示例:输入:nums =[1,2,3,4]输出:[1,3,2,4]注:[3,1,2,4] 也是正确的答案之一。提示:1 <= nums.length <= 500001 <= nums[i] <= 100002. 题目分析我首先想到了重新申请一个和原数组大小相同的数组。遍历原来的数组,如果是奇数从新数组的前面开始放,如..
2020-05-27 23:37:44
115
原创 数值的整数次方
1. 题目概述实现函数double Power(double base, int exponent),求base的exponent次方。不得使用库函数,同时不需要考虑大数问题。示例 1:输入: 2.00000, 10输出: 1024.00000示例2:输入: 2.10000, 3输出: 9.26100示例3:输入: 2.00000, -2输出: 0.25000解释: 2-2 = 1/22 = 1/4 = 0.252. 题目分析因为不用考虑大数问题,所以只需要循环地..
2020-05-10 22:59:24
137
原创 打印从1到最大的n位数
1. 题目概述输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。示例 1:输入: n = 1输出: [1,2,3,4,5,6,7,8,9]说明:用返回一个整数列表来代替打印n 为正整数2. 题目分析这道题我刚看到的时候,思路是这样的,可以先求出n位数的最大值,再逐一放入数组,最后进行返...
2020-05-08 10:24:46
263
原创 机器人的运动范围
1. 题目概述地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格 [35, 37] ,因为3+5+3+7=18。但它不能进入方格 [35, 38],因为3+5+3+8=19。请问该...
2020-05-05 22:14:49
120
原创 删除链表的节点
1. 题目概述给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。注意:此题对比原题有改动示例 1:输入: head = [4,5,1,9], val = 5输出: [4,1,9]解释: 给定你链表中值为5的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.示例 2:输入: head ...
2020-05-04 22:45:48
160
原创 二进制中1的个数
1. 题目概述请实现一个函数,输入一个整数,输出该数二进制表示中 1 的个数。例如,把 9表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。示例 1:输入:00000000000000000000000000001011输出:3解释:输入的二进制串 00000000000000000000000000001011中,共有三位为 '1'。示例 ...
2020-05-03 22:49:57
212
原创 矩阵中的路径
1. 题目概述请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格,那么该路径不能再次进入该格子。例如,在下面的3×4的矩阵中包含一条字符串“bfce”的路径(路径中的字母用加粗标出)。[["a","b","c","e"],["s","f","c","s"],...
2020-05-02 17:05:29
136
原创 旋转数组的最小数字
1. 题目概述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组[3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转,该数组的最小值为1。示例 1:输入:[3,4,5,1,2]输出:1示例 2:输入:[2,2,2,0,1]输出:02. 题目分析看到这道题,有序数组中的查...
2020-05-02 14:23:45
113
原创 斐波那契数列
1. 题目概述写一个函数,输入n,求斐波那契(Fibonacci)数列的第n项。斐波那契数列的定义如下:F(0) = 0, F(1)= 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。答案需要取模 1e9+7(1000000007),如计算初始结果为:1...
2020-05-01 16:03:30
787
原创 用两个栈实现队列
1. 题目概述用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead操作返回 -1 )示例 1:输入:["CQueue","appendTail","deleteHead","deleteHead"][[],[3],[],[]]输出...
2020-04-30 23:31:28
160
原创 曲线绘制CPU 占有率和统计目录下子目录文件大小
前言在我学习了JavaSE 和 基本的数据结构以及多线程的知识后,我想着做些什么东西来巩固我所写的知识。于是我就做了实际中我们用电脑可以使用到的功能,实时统计CPU的占有率并绘制曲线,统计磁盘某个文件目录下子目录、子文件所占空间的大小 。项目所用技术与平台所用技术:JavaSE/javafx 平台与环境:Windows 10/jdk1.8/idea 项目功能显示 C...
2020-04-27 10:42:41
319
原创 重建二叉树
1. 题目概述输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如,给出前序遍历 preorder =[3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7限制:0 <= 节点个数 &...
2020-04-27 00:06:22
97
原创 从尾到头打印链表
1. 题目概述输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2]输出:[2,3,1]限制:0 <= 链表长度 <= 100002. 题目分析这道题是考察链表的,要实现从尾到头打印链表,是一种逆向思维,我首先想到了栈。先让链表中的数据入栈,再出栈打印就实现了逆序打印。而递归在本质上就是一个栈结...
2020-04-16 17:18:41
122
原创 替换空格
1. 题目概述请实现一个函数,把字符串 s 中的每个空格替换成"%20"。示例 1:输入:s = "We are happy."输出:"We%20are%20happy."限制:0 <= s 的长度 <= 100002. 题目分析考察的是字符串的不可变性,可以用StringBuffer或StringBuilder来解决3. 解题代码 pub...
2020-04-16 16:13:31
85
原创 二维数组中的查找
1. 题目概述在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例:现有矩阵 matrix 如下:[ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], ...
2020-04-16 16:06:16
179
原创 数组中重复的数字
1. 题目概述找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3 限制:2 <= n <= 1000002. 题目分析...
2020-04-16 13:41:32
406
原创 剑指offer练习
怎么说呢,一个好的算法可以培养思维。我们通过刷题可以学习到更多的算法和数据结构,并不是一味的for while if else,并且渐渐的更熟悉他们的使用方法以及应用场景。完成逻辑代码并不意味着可以通过系统所有的评测,不断的评审自己编写的代码,进一步达到完善。通过之后还有必要借鉴一下他人的题解,学习别人好的解题思路和实现方法,无形中提升了自身编码水平和代码评审水平。当然,这也是拿到一个好的offe...
2020-04-16 13:12:49
138
原创 浅谈基础IO
IO 简介在冯诺依曼体系结构我见到了各种各样的输入设备(鼠标、键盘、硬盘、网卡等等)和输出设备(音响、屏幕、硬盘、、网卡等等)。其实,IO(Input/Output)其实解决的就是一个输入输出的问题。 Input:数据从各种输入设备以二进制流输入到内存中 Output:数据从各种输出设备以了解File类字节流字符流序列化与反序列化...
2020-03-25 15:30:24
309
原创 关于线程安全
目录线程安全的定义线程不安全的原因1. 原子性2. 内存可见性3. 代码顺序性解决线程不安全的一些机制机制1 加锁机制机制2volatile机制机制3通信对象的等待集线程安全的定义关于线程安全,首先我们要理解什么是线程不安全。看这样一段代码:public class Tset { static long n = 0; stati...
2020-03-18 17:30:17
223
原创 初识多线程
线程定义要谈及线程,必须要理解进程这个概念。百度百科是这样描述的:确实是有点抽象,但是当我们打开任务管理器时,每一个在操作系统中运行的exe程序都是一个进程,进程是受操作系统管理的基本运行单元。那么什么是线程呢?线程可以理解为在进程中独立运行的子任务。比如上面的360.exe运行时就有很多子任务在同时运行。清理垃圾、病毒查杀、电脑瘦身等等,这些不同的任务都可以“同时”运行,其中...
2020-03-17 19:44:34
103
原创 浅谈操作系统
冯诺依曼体系结构在了解操作系统前,我们要明白计算机的体系结构---冯诺依曼体系结构。任何计算机都是由这四部分组成的: 输入设备(Input)、存储器(Storage)、处理器(Processor)、输出设备(Output)组成。并且体系结构规定:处理器只能和内存打交道。也就是说嗷,输入设备输入的数据要通过内存才能到达CPU进行处理,CPU处理完的数据只能通过内存到达输出设备进行输出。那...
2020-03-14 23:27:35
264
原创 初识JDBC编程
我发现要学习一个新的知识,首先要搞懂它是什么?能做什么?怎么去做?学习了数据库的DDL、DML了的基本操作,备操作的数据库要和java代码产生连接,我们就必须学会JDBC编程。目录java中JDBC的定义JDBC使用步骤创建数据库连接Connection创建操作命令Statement使用操作命令来执行SQL处理结果集ResultSet释放资源完整代码JDBC...
2020-02-10 20:19:15
291
4
原创 javascript简介及基本语法
这两天了解到一门新的脚本语言----javascript,貌似能干的事情好多呀哈哈哈哈,言归正传啧。目录javascript简介js的简介js的特点javascript和java的区别javascript的组成js与html结合方式js原始类型和声明变量原始类型定义变量js的语句js的运算符js数组js的函数(动态函数和匿名函数)...
2020-02-07 20:08:20
4155
5
原创 CSS的简介
目录CSS的基本介绍CSS和HTML的结合方式(4种)css的基本选择器(三种)css的扩展选择器(三种)css的盒子模型css的布局的漂浮css的布局的定位CSS的基本介绍css是层叠样式表。层叠说明页面显示是一层一层的;样式表说明有很多的属性和属性值。css的出现就是使页面显示效果更加好。css可以将网页内容和显示样式进行分离,提高了显示功能。...
2020-02-04 20:28:31
514
原创 HTML常用标签介绍
目录HTML简介文字标签和注释标签标题标签、水平线标签和特殊字符列表标签图像标签关于路径超链接标签表格标签表单标签其他的常用标签的使用框架标签HTML简介1.HTML(HyperText Markup Language):超文本标记语言,又称为网页语言。 超文本:超出文本的范畴,使用html可以轻松实现这样操作 ...
2020-02-03 11:16:40
689
原创 MySQL表的增删查改
目录新增数据查询数据全列查询指定列查询查询字段为表达式别名去重排序条件查询:WHERE分页查询:LIMIT修改数据删除数据重点总结围绕一张表,最重要的四个操作就是增删查改。即CRUD,代表增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)四个单词的首字母缩写。新增数据首先,先建一张...
2020-01-26 19:52:35
444
原创 面试常考的排序算法
目录预备知识冒泡排序算法冒泡排序的分析冒泡排序的优化选择排序算法选择排序分析堆排序算法堆排序的分析直接插入排序算法插入排序的分析希尔排序算法希尔排序的分析快速排序算法快速排序的分析快速排序的优化快速排序非递归预备知识被排序的对象属于Comparable类型,因此可以使用ComparaTo方...
2020-01-24 23:33:01
457
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人