自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 python各种类型相互转换&常用方法

1、字符串转换成其他类型转换成列表: list(str)2、列表转换成其他类型列表转换成字符串:strs = list(str)3、字符串相关方法strip():去掉两端的字符串;rstrip():去掉最右端字符串;lstrip():去掉最左端的字符串;join():字符串切片:str [ ]str [: ] : 截取全部字符串str[0:3]:截取第一位到第三位str[2] :截取第三个字符str[::-1] :创造一个与原字符串顺序相反的字符串4、列表相关方法append(

2021-01-11 11:10:38 1045

原创 python字符串、列表、字典删除总结

字符串:replace():替换strip():删除两端字符rstrip():删除最右边字符lstrip() :删除最左边字符列表:1.pop(index)2.remove(元素)3.del 切片4.clear()清空列表字典:1.pop(ke) #有返回值2.del dic[key]3.popitem() #随机删除4.clear()

2021-01-09 17:45:28 220

原创 浏览器输入一个URL页面发生了什么

1、DNS解析;2、TCP连接(三次握手);3、http发送请求传输数据;4、服务器处理请求;5、浏览器渲染页面;6、关闭连接(四次挥手);1、DNS解析:DNS:DNS是一位翻译官,将主机和域名解析成IP地址;先检查浏览器缓存中是否有域名对应的IP地址;如果没有的话,继续查本机是否缓存过IP;向 本地域名解析服务器 发起 域名解析 请求向 根域名解析服务器 发起 域名解析 请求根域名服务器 返回gTLD(通用顶级域)域名解析服务器地址;向gTLD服务器发起解析请求;gTLD服务

2020-12-23 17:05:17 152

原创 git学习

WorkSpace:工作区;Index/Stage:暂存区/缓存区Repository:本地仓库Remote:远程仓库提交代码步骤:常用命令(提交代码):1、git clone 仓库地址 新建本地git仓库,2、git status 查看当前工作区状态3、git add . 提交代码到暂存区 4、git commit -m "修复XXbug" 提交代码到本地仓库5、git push 提交代码到远程仓库...

2020-12-21 21:54:25 67

原创 cookie与session区别

Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份1、数据存放位置不同:cookie:存放在客户端session:存放在服务器2、安全程度不同:session要比cookie更安全,别人可以分析存放在本地的cookie,并进行cookie欺骗;3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie。...

2020-12-21 17:26:45 72

原创 面试-HTTP和TCP的区别与联系

TCP 是单纯的建立连接,不涉及任何实际的数据;HTTP是应用层协议,用来实际收发数据;TCPHTTP传输层协议,定义的是数据传输和连接方式的规范应用层协议,定义的是传输内容的规范需要经过三次握手:请求、确认,建立连接TCP建立连接后,需要HTTP进行传输数据了––TCP的三次握手:HTTP协议中的数据是利用TCP协议进行传输的,所以支持HTTP,一定支持TCP;HTTP常用的请求方法有四种,put,delete,post 和 get ,增删改查,

2020-12-21 16:00:55 287

原创 python 深拷贝和浅拷贝

b=a #赋值,传对象的引用c=copy.copy(a) #对象拷贝,浅拷贝d=copy.deepcopy(a) #对象拷贝,深拷贝深拷贝:深拷贝是地址的拷贝,深拷贝就是完全跟以前就没有任何关系了,原来的对象怎么改都不会影响当前对象,浅拷贝:浅拷贝是值的拷贝,原对象的list元素改变的话会改变当前对象,如果当前对象中list元素改变了,也同样会影响原对象通常复制的时候要用深拷贝,因为浅拷贝后,两个对象中不可变对象指向不同地址,相互不会改变,但是两个对象

2020-12-15 15:56:39 65

原创 sed命令查找或替换字符串命令总结

面试题:sed字符串替换sed执行基本的文本操作,例如:修改、查找、替换、搜索、删除文件。替换修改文件时:sed -i:在源文件上修改不加i,打印结果到标准输出sed -e :不在源文件上修改,只是输出到终端,可以借用cat 命令,输出到文件里,最终达到和 -i 一样的效果。sed -i 's/Search_String/Replacement_String/g' Filenamei:在源文件上修改,添加后缀如 -i.txt ,则会创建原始文件的备份s:替换的命令Search_Stri

2020-12-15 15:54:20 1098

原创 面试-数组和链表的区别

数组链表随机访问速度比较快,增删慢随机访问比较慢,增删比较快(静态)数组从栈中分配空间, 对于程序员方便快速,但是自由度小链表从堆中分配空间, 自由度大数组必须事先定义固定的长度(元素个数),不能适应数据动态地增减的情况链表动态地进行存储分配,可以适应数据动态地增减的情况在内存中必须连续在内存中不需要连续,可以存在任何地方读取O(1)读取O(n)插入、删除O(n)插入、删除O(1)链表:堆:栈:堆与栈的区别很明显: ...

2020-12-04 16:49:52 340 1

原创 python+request+unitest 框架搭建

1、remove BOM:https://blog.csdn.net/mighty13/article/details/780778672、ConfigParser :读取配置文件的包https://www.cnblogs.com/zhou2019/p/10599953.html3、os:操作文件相关的包os.path.split(os.path.realpath(file)):按照路径将文件名和路径分隔开,获取当前执行脚本的绝对路径os.path.join:路径拼接函数4、使用Element

2020-10-15 14:33:57 358

原创 Linux文件操作相关命令

创建文件夹:mkdir a.txt创建文件:touch a.txt 复制文件:cp a.txt .. 将a.log复制到上级目录中cp a.txt ../b.txt 将a.log复制到上级目录中,并重命名为b.log删除文件:rm -r a.txt 递归删除rm -rf a.txt 强制删除查看文件:cat a.log // 查看a.log文件内容head a.log // 查看a.log的前10行, -n 20 查看20行t

2020-09-21 18:28:18 70

原创 pip 安装超时问题

问题现象:安装 flask 第三方模块会出现超时,具体报错:ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.原因分析:需要指定下载源解决方案:pip install -i https://pypi.douban.com/simple (安装的模块)pip install -i https://pypi.douban.com/simple flask.

2020-09-10 15:37:28 120 1

原创 乐观锁和悲观锁

乐观锁: 一般根据版本控制很乐观,认为别人都不会更新他的数据,所以每次更新前先查询,等到更新的时候再拿这个数据做比对,如果没问题就更新,有问题将错误返回;高并发场景会导致更新失败的几率增大悲观锁: 要注意预防死锁的发生;很悲观,认为别人每次都想要更新他的数据,所以每次更新前都要上锁,别人想要更新数据必须等到其他锁释放了才能更新。悲观锁依赖数据库锁,效率低。更新失败的概率比较低...

2020-09-09 17:09:25 152

原创 http状态码

3XX:重定向300:301:3024XX:客户端错误400: 通用的客户端错误,服务器收到客户端通过PUT或者POST请求提交的表示,表示的格式正确,但服务器不懂它什么意思401:客户端试图对一个受保护的资源进行操作,却又没有提供正确的认证证书402:403: Forbidden,服务器不想处理它404:服务器无法把客户端请求的URI转换为一个资源。5XX:服务端错误500:通用的服务器错误响应501:502:表明代理方面出现问题503:服务器突然收到太多请求,以至于无法全部处

2020-09-09 17:08:01 81

原创 TCP和UDP区别

形象解释:https://blog.csdn.net/qq_32523587/article/details/80523781TCP:面向连接的传输协议 更可靠 能够保证顺序性每次发送数据前需要建立连接(三次握手)UDP:不面向连接的协议 UDP可能丢包 不能保证顺序性对实时应用很有用,如IP电话,实时视频会议等短连接的操作步骤是: 建立连接——数据传输——关闭连接…建立连接——数据传输——关闭连接长连接的操作步骤是:建立连接——数据传输…(保持连接)…数据传输——关闭连接长连接与短

2020-09-09 17:07:13 133

原创 代码时间复杂度计算

时间复杂度公示:下面分析一段代码:2、3、4行每一行都需要1个单位的执行时间,5、6行循环了N边,需要2N个单位时间,7、8行执行了n^2遍,所以一共需要执行时间:(2N ^2 + 2N + 3 )*单位时间。我们用T(n) 表示,O表示T(n)与f(n)成正比(单位时间),所以表达式可以写成:T(n) = O(2N ^2 + 2N + 3 ) ,这就是大O时间复杂度表示法,由于N无穷大,所以只需要表示最大量级即可,即:T(n) = O(N ^2 )时间复杂度分析:1、只关注循环执行次数最多

2020-08-26 21:42:28 9173

原创 MySql数据库学习(五)如何提高数据库查询性能

一、影响数据库查询的因素二、提高数据库查询性能的方法

2020-08-26 15:10:56 250

原创 力扣刷题总结-字符串翻转

1、给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。...

2020-08-25 16:11:32 316

原创 MySql数据库学习(四)group by、limit、函数

一、group by 用法

2020-08-21 15:06:49 364

原创 python

strip()方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列str.strip([chars]);注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符str = "00000003210Runoob01230000000"; print str.strip( '0' ); # 去除首尾字符 0 str2 = " Runoob "; # 去除首尾空格print str2.strip();split()通过指定分隔符对字符串进行切片,如果

2020-08-19 14:55:43 76

原创 unitest框架学习(二)参数传递

1、ddt数据驱动,使用ddt进行参数传递;首先安装ddt pip install ddt然后导入from ddt import data,ddt,unpack使用时在类的前面进行参数传递的两种方式:一、二、文件传入def readFile(): params = [] file = open('params.txt','r') for line in file.readlines(): params.append(line.split('\

2020-08-19 11:47:19 186

原创 测试人员软素质--软件测试的艺术读书心得

软件测试是为了发现错误而执行程序的过程。测试不是为了证明程序能够正确运行而去测试程序,而是应该从一开始就假设程序中有错误,然后测试程序,从而发现更多的错误。通过测试提高程序的价值,是指通过测试提高了程序的可靠性和质量。...

2020-08-12 22:31:35 289 2

原创 Charles(二)模拟弱网测试

模拟弱网的场景: 端的测试有时需要模拟弱网测试,比如用户领取红包页面,每个红包对应唯一的红包码,如果用户网络不好,点了领取按钮,后端响应比较慢,此时用户会多次点击领取按钮,假如前端没有做处理,用户点击一次领取,前端就会用这个红包码向后端请求一次,后端接受第二次请求时,就会返回无效的红包码,导致一些不必要的报警。此时就需要模拟弱网场景,点击领取,模拟后端没有立即给前端返回,然后多次点击前端button,看前端会不会请求多次。模拟弱网步骤:1、Proxy–>Throttle Settings --&

2020-08-11 16:42:14 228

原创 写unitest遇到的问题

一、编码问题SyntaxError: Non-ASCII character ‘\xe4’ in file /Users/muxiaomiao/PycharmProjects/testUnit/Test1/testfile1.py on line 25, but no encoding declared;python的默认编码文件是用的ASCII码,将文件存成UTF-8,编译就可以通过。解决办法:在程序的第一行(必须是第一行)加上如下代码即可解决#coding=utf-8 ...

2020-08-11 11:58:16 148

原创 性能测试(一)

基准测试: 模拟但用户运行,产生基准性能测试数据。并发测试: 通过模拟多个用户并发访问,测试用户同时访问统一应用、模块或者数据观察系统是否存在问题;负载测试: 通过对被测系统上不断加压,直到超过预定的指标或者资源达到了一种饱和状态不能加压为止。压力测试: 系统达到了一定的饱和程度,例如CPU,磁盘处于饱和状态下,此时系统能够处理业务的能力,系统是否会出现错误。稳定性测试: 又称可靠性测试,给系统加载一定业务压力的情况下,使系统运行7*24,检测系统是否稳定。性能测试指标:系统指标:响应时间 :

2020-08-10 17:14:55 80

原创 幂等相关

一、为什么要做幂等案例:618刚到零点,小明就在淘宝购物车选择好商品,点击提交订单按钮,选择好支付方式,点了在支付宝收银台页面点击立即付款,因为人数众多,网络反应较慢,小明担心自己的商品被抢购一空,于是不断的点击立即付款按钮,此时支付宝应该只扣一次款,如果点击一次扣一次款,支付宝早就炸了。。。二、幂等概念1、幂等是指在多个同样的交易指令或请求同时或者先后到达后台,即使重复执行,系统也必须始终提供一致的状态,而不能有其他的副作用2、幂等特点:幂等不仅仅只是一次(或多次)请求对资源没有副作用(比如查询

2020-08-07 17:20:18 219

原创 unitest自动化框架学习(一)

一、unitest环境搭建unitest是python自带的包,只需要 import unitest 即可完成安装。二、unitest四大组件1.testfuture:可以初始化以及清理内存;setup:前置条件,可以初始化 def setUp(self) -> None:tearDown:后置条件2.TestCase:通过集成实现测试用例的继承;class MyTestCase(unittest.TestCase):3.TestSuite:测试套件,测试用例集注意:

2020-07-29 23:01:57 853

原创 MySql数据库学习(三)索引

一、索引的种类二、索引的实现原理三、使用索引的好处四、如何创建索引

2020-07-29 15:35:44 108

原创 Linux常用命令

内存相关top:可以实时动态地查看系统的整体运行情况,包括进程 ID、内存占用率、CPU 占用率,使用截图:free可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区dudu会显示指定的目录或文件所占用的磁盘空间df在Linux系统上的文件系统的磁盘使用情况统计du与df区别:df可以看见已经删除的文件;文件操作相关mkdir 新建文件rmdir 删除文件cp 拷贝chmod 访问权限权限范围:u :目录或者文件的当前的用户g

2020-07-22 10:47:31 56

原创 MySql数据库学习(二)JOINS

一、SQL JOINS图解学生表a:学生ID 姓名1 张三2 李四3 赵五成绩表b:成绩ID 学生ID 成绩为1 2 602 3 853 5 90二、left join 左联left join: 查找左表(主表)为查找全集,右表(子表)存在的关联出来,不存在的为NULLselect * from a left join b on a.学生ID=b.学生ID

2020-07-20 16:20:02 144

原创 MySql数据库学习(一)主键

一、什么是主键指一个列或者是多个列的组合,它的值能唯一地标识表中的每一行。主键是一种特殊的索引,并且是唯一性索引的一种,定义为:PRIMARY KEY在两个表的关系中,主键用来在一个表中引用来自于另一个表中的特定记录。例如:人事资料中有一个身份征号的字段﹐这个就可设为主键(因为身份征号不会重复)﹐但姓名就不可以﹐因为姓名可以重复。二、主键有那些特点1、一个表中只能有一个主键;2、主键可以是一个字段,也可以是多个字段组成主键;3、设置为主键的字段不能重复;4、设置为主键的字段不能为空;三

2020-07-15 15:55:57 2554

原创 安全测试之XSS攻击

一、XSS攻击的概念XSS的攻击方式就是想办法“教唆”用户的浏览器去执行一些这个网页中原本不存在的前端代码二、XSS攻击的现象2011年新浪就曾爆出过严重的xss漏洞,导致大量用户自动关注某个微博号并自动转发某条微博。三、XSS攻击的防范1、首先是过滤。对诸如< img> < script> < a>等标签进行过滤。2、其次是编码。像一些常见的符号,如<>在输入的时候要对其进行转换编码,这样做浏览器是不会对该标签进行解释执行的,同时也不影响显示效果

2020-07-14 22:26:02 365

原创 安全测试之SQL注入

一、SQL注入的概念SQL注入其实是恶意攻击者,将SQL或者字符作为参数输入,服务器在验证这个字段的时候,读取攻击者输入的数据,将其作为正常的值参与SQL语句的查询,从而达到删表或者获取数据库信息等目的。二、SQL注入的条件参数中含有SQL语句,并可以带入数据库正常执行;WEB应用和数据库交互时,必须携带参数传递至数据库;例如:POST请求体中的参数GET请求头URL中的参数Cookie三、SQL注入的几种场景1、字符串型注入场景1:假设登陆后台的校验逻辑为:从数据库查询对应用户名和

2020-07-14 18:28:47 3052

原创 测试支付后端接口关注点

2020-07-14 16:48:40 359

原创 代码CR关注点

2020-07-14 16:47:55 686

原创 技术方案评审关注点

2020-07-14 16:47:08 960

原创 Charles(一)抓包常见问题

一、抓http包乱码测试的时候发现抓http请求也会乱码,排查了好久,后来发现是测试包本身控制的,需要进行网络降级。android:进入到自测模式,将LazyPlugin改成未加密,再次进行抓包,即可。IOS测试包,进入到关于,将网络降级打开,然后再次进行抓包,抓包请求就是明文了。二、抓包时如何过滤无用的请求抓包时,经常会发现抓包工具有很多请求,但只有少部分是我们自己请求并且想要的,为了更方便的找到自己的请求,可以加一层过滤,只抓指定网段下的请求,步骤如下:Proxy->Recordi

2020-07-14 10:17:41 1056

原创 写testng遇到过的问题以及解决方法

一、java.util.IllegalFormatConversionException: d != java.lang.String定位到报错代码:trade_order传入的不是int类型,而是string类型,将%d换成%s就可以解决。二、 java.lang.IndexOutOfBoundsException: Index: 0, Size: 0这是越界异常,但不是数组越界异常,数组越界异常报错:java.lang.ArrayIndexOutOfBoundsException查阅相关资

2020-07-08 10:50:48 628

原创 关于MQ的小结

什么是MQMQ是一种消息队列,数据结构是先进先出模式二、消息中间件的组成2.1 Broker消息服务器,作为server提供消息核心服务。2.2 Consumer消息消费者,业务的处理方,负责从broker获取消息并进行业务逻辑处理2.3 Producer消息生产者,业务的发起方,负责生产消息传输给broker2.4 topic主题,发布订阅模式下的消息统一汇集地,不同生产者向topic发送消息,由MQ服务器分发到不同的订阅者,实现消息的广播2.5 Queue队列,PTP模式下,特

2020-07-06 17:41:15 186

原创 支付场景下异步通知和同步返回

一、异步通知的概念1.1异步通知指发出一个请求后,不需要等待返回,随时可以触发下一个请求,不需要等待。1.2同步返回指发出一个请求后,需要等待返回结果,才可以触发下一个请求。二、什么场景下会用到异步通知一些对安全和稳定性要求比较高的场景会用到异步通知,例如支付场景。防止同步通知的时候出现意外,异步通知与同步通知参数本质没有区别,但支付完成时,用户如果关闭浏览器或者服务网络异常,就会收不到同步返回的结果,此时需要异步通知来保证支付结果的准确性。三、支付系统中的异步通知我们调用渠道方,渠道方会很

2020-07-06 16:53:59 1568 1

空空如也

空空如也

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

TA关注的人

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