- 博客(123)
- 资源 (2)
- 收藏
- 关注
原创 递归的比较两个目录 输出md5不相同的文件
TODO function实现的功能递归的比较两个目录 输出md5不相同的文件若文件值不是MD5进行MD5值的转换目录对比工具(包含子目录 ),并列出A比B多了哪些文件B比A多了哪些文件二者相同的文件: md5比较```python# =====================================================================...
2020-04-30 11:22:21 763 1
原创 python垃圾回收机制
python中垃圾回收机制:引用计数为主,分代回收和标记清除为辅的策略引用计数: 1、对象引用计数增加和减少的清空 2、数据池和缓存机制标记清除:对引用计数做补充的,用来解决对象直接循环引用而造成内存泄露的清空分代回收(用来控制垃圾回收的频率)...
2022-01-23 22:34:23 735
原创 python引用计数的原理
垃圾回收机制:python的垃圾回收采用的是 引用计数机制为主和 分代回收机制为辅的 结合机制,当对象的引用计数变为0时,对象将被销毁,除了解释器默认创建的对象外(默认对象的引用计数永远不会变成0)python关于对象的管理:最关键的是引用计数这个机制一、引用计数增加的情况:1) 创建对象,用变量接收 : name = '123'2) 对象被其他的变量引用 : name2 = name3) 对象被其他的对象引用(放入其他容器类型的数据中)li = [11,22,name]4) 当成函数传入函数
2022-01-21 10:14:25 1235
原创 python的单例模式详解
一、什么是单例模式单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个 AppConfig 的类来读取配置文件的信息。如果在程序运行期间,有很多地方都需要使用配置文件的内容,也就是说,很多地方都需要创建 AppConfig 对象的实例,这就导致系统中存在多个 AppConfig 的实例对象,而这样会严重浪费内
2022-01-05 08:14:34 764
原创 python什么是鸭子类型
一、鸭子类型鸭子类型(英语:duck typing)是动态类型的一种风格。在这种风格中,一个对象有效的语义,不是由继承自特定的类或实现特定的接口,而是由当前方法和属性的集合决定“当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子。”我们并不关心对象是什么类型,到底是不是鸭子,只关心行为鸭子类型在动态语言中经常使用,非常灵活,使得python不想java那样专门去弄一大堆的设计模式二、代码实现1.鸭子类型1class Duck: def quack(se
2022-01-04 23:17:25 5621 2
原创 测试开发面试题总结
测试开发面试题1. 通过列表推导式完成下面数据类型转换。将 ["{‘a’:11,‘b’:2}", “[11,22,33,44]”] 转换为以下格式: li1 = [{‘a’: 11, ‘b’: 2}, [11, 22, 33, 44]]2. Names=['python','java','php','c','c++','django','unittest','pytest','pymysql'],请通过列表推导式,获取names中字符串长度大于4的元素3.通过字典推导式,颠倒字典的键名和值:将{'py':
2021-12-26 23:31:35 1070
原创 python装饰器
一、装饰器的介绍在Python中,装饰器是在不改变已有函数的代码的前提下,给函数增加新的功能的一种函数。装饰器接收一个函数作为参数,返回值也是一个函数。装饰器的作用: 在不更改原功能函数内部代码,并且不改变调用方法的情况下为原代码添加新的功能。二、装饰器的应用1.简单的装饰器def decorator(func): def wrapper(): print("---开机,打开软件--") func() print("---关闭,底薪到手--
2021-12-26 22:08:03 452
原创 python闭包函数
一、闭包函数的概念闭包 = 一个函数 + 外部封闭的作用域闭包函数的特征:函数中嵌套一个函数外层函数rertun返回 内层函数内层函数有引用 外部作用域 的非全局变量def funcB1(): x = 100 def funcB2(): c = x * 2 print(c) return funcB2# 调用闭包函数 返回的结果就是一个闭包# 闭包 = 一个函数 + 外部封闭作用域# 封闭作用域的值在外面是没有办法进行修
2021-12-25 21:59:12 420
原创 python常用的内置函数filter、map、eval、exec、all、all
python常用的内置函数目录一、filter 过滤函数二、map函数三、eval函数四、exec函数五、all函数六、 any函数一、filter 过滤函数filter()函数用于过滤序列,过滤掉不符合条件的元素,返回符合条件的元素组成新列表# 实例1 取出列表中大于10的数li = [11, 33, 34, 55, 7, 2, 7, 66, 899, 7, 5]new_list = [i for i in li if i > 10]print(new_list)"""# 过滤器
2021-12-25 21:19:07 971
原创 python匿名函数lambda
一、匿名函数的介绍和使用在Python中,不通过def来声明函数名字,而是通过lambda关键字来定义的函数称为匿名函数1.需要将一个函数对象作为参数来传递时,可以直接定义一个lambda函数(作为函数的参数或返回值)2.要处理的业务符合lambda函数的情况(任意多个参数和一个返回值),并且只有一个地方会使用这个函数,不会在其他地方重用,可以使用lambda函数二、常规函数和匿名函数的对比# 常规的语法def add(a, b): return a + b res = add
2021-12-25 16:03:14 293
原创 python偏函数的使用
什么是偏函数实际上,偏函数主要辅助原函数,作用其实和原函数差不多,不同的是,我们要多次调用原函数的时候,有些参数,我们需要多次手动的去提供值。而偏函数便可简化这些操作,减少函数调用,主要是将一个或多个参数预先赋值,以便函数能用更少的参数进行调用。当函数的参数个数太多,需要简化时,使用 functools.partial 可以创建一个新的函数,这个新函数可以固定住原函数的部分参数,从而在调用时更简单偏函数:固定函数的参数,简化函数调用时的参数传递from functools import part
2021-12-25 13:39:44 211
原创 python列表推导式练习
python列表推导式练习总结:问题一如何快速生成一个列表[“data0”,“data1”,“data2”,“data3”,…,“data99”,]问题二如何快速生成一个列表[“data0”,“gy1”,“data2”,“gy3”,…,“data98”,“gy99”]列表以下方法总结如代码:"""需求一:如何快速生成一个["data0","data1","data2","data3",...,"data99",]"""# 简单li = []for i in range(100):
2021-12-19 21:58:48 2827
原创 python搭建图书管理系统
一、项目介绍:图书管理系统:1.功能模块:2.图书信息二、环境准备1.数据库的存储方式:mysql2.通过云服务器安装一个mysql数据库,可参考博客安装mysql数据库3.登录数据库,创建一个表create table books( id int unsigned primary key auto_increment not null, name varchar(20) default '', position varchar(40) default '', status e
2021-12-19 19:24:11 6974 1
原创 httprunner3.0学习1-框架介绍及环境安装
一、介绍HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份YAML/JSON脚本,即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求。HttpRunner 支持 Python 3.5 及以上的所有版本,虽然 HttpRunner 暂时保留了对 Python 2.7 的兼容支持,但强烈建议使用 Python 3.6 及以上版本。httprunner 3.x最大的改变是执行用例用的是 python 的 pytest 框架,支持3种格式的用例:YAML/JSO
2021-11-03 00:07:58 980
原创 Python中第三方库-Faker应用
简介:学会使用这个库,再也不用为制造假数据发愁了。。。。。。为了测试方便,我们总要造不少假数据到系统中,尽量模拟真实环境。比如要创建一批用户名,创建一段文本,电话号码,街道地址、IP地址等等。平时我们基本是键盘一顿乱敲,随便造个什么字符串出来,当然谁也不认识谁使用faker可以获取很多模拟数据,如:姓名、电话、地址、银行、汽车、条形码、公司、信用卡、email、user_agen等等1.安装pip install Faker2.常用实战2.1 地理信息类city_suffix():市,
2021-07-16 00:24:19 982
原创 搭建YAPI接口管理平台
一、引言:YApi 是高效、易用、功能强大的API管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务官网:https://yapi.ymfe.org/因公司日常开发中需要管理接口,并测试,经对比后发现YAPI更合适。YAPI可以建立独立的项目空间,适配环境,mock参数。适用于前后端分离场景下的接口管理和测试。API接口在设计时往往需要编写大量的文档,而且编写完成后往往需要根据实际情况经常改动文档,这使得文档编写维护工作量相对较大,让很多的开发者都很头疼。此外,伴随着接口版本的迭代开发,接
2021-05-19 16:49:14 582 1
原创 python面试题总结
1.Python中你常用的内置函数有哪些官方文档上列出了69个,常用的有print()、range()、enumerate()、len()、reversed()、open()、sorted()、max()、min()、list()、tuple()、set()、str()、int()、sum()、input()、type()、abs()、bool()2. 你是如何用代码实现数据库连接并执行SQL的pip下载第三方库,pymysql,python操作mysql的数据库的基本步骤如下:建立连接, con
2021-05-11 19:48:52 228 1
原创 如何测试一个网页登录界面?
具体需求: 有一个登陆页面, (假如上面有2个textbox, 一个提交按钮。 请针对这个页面设计30个以上的test case.)此题的考察目的: 面试者是否熟悉各种测试方法,是否有丰富的Web测试经验, 是否了解Web开发,以及设计Test case的能力这个题目还是相当有难度的, 一般的人很难把这个题目回答好。首先,你要了解用户的需求,比如这个登录界面应该是弹出窗口式的,还是直接在网页里面。对用户名的长度,和密码的强度(就是是不是必须多少位,大小写,特殊字符混搭)等。还有比如用户对界面的美观是不
2021-05-11 09:29:21 430
原创 mysql的当前时间和系统时间不一致问题解决
1、命令修改# 查看数据库当前时间SELECT NOW();#查看时区show variables like '%zone%';select @@time_zone;#修改mysql全局时区为北京时间set global time_zone = '+8:00';#修改当前会话时区set time_zone = '+8:00';#立即生效flush privileges;2、配置文件修改编辑配置文件vim /etc/my.cnf,找到[mysqld],然后加入default-t
2021-04-26 20:29:15 4492
原创 解决 Docker 容器时间与本地时间不一致的问题
Linux 通过 Date 命令查看系统时间,得到如下结果:docker 容器时间可以发现,他们相隔了8小时。CST应该是指(China Shanghai Time,东八区时间)UTC应该是指(Coordinated Universal Time,标准时间)所以,这2个时间实际上应该相差8个小时解决办法进入容器:docker exec -it 容器id /bin/bash 在 /usr/share/zoneinfo 目录下找上海时区cd /usr/share/zone
2021-04-25 21:07:30 1189
原创 docker搭建grafana+prometheus 监控平台监控mysql数据库
引言:数据库作为数据存储软件,在现在企业项目中,得到普遍应用,而 MySQL 作为免费的开源版本,更是得到大量企业的青睐,成为主流存储数据库。而数据库的性能,很大程度上,会影响项目应用服务的性能,所以,企业对 MySQL 数据库的性能是非常关注的一、安装mysql1.创建一个docker网络docker network create monitor-network2.创建一个mysql服务器docker run -itd --name mysql_575 \--network=monitor
2021-04-23 11:41:51 997 3
原创 redis缓存数据库的安装和jmeter操作redis数据库
1.安装redis数据库docker pull redisdocker run -itd --name jmeter-redis -p 6379:6379 redis redis-server --appendonly yes进入容器docker exec -it jmeter-redis /bin/sh命令模式:redis-cli插入列数据:lpush course jmeter,loadrunerlpush course wrk,ablpush course locust,
2021-04-22 17:48:05 342
原创 docker搭建MySQL5.7主从架构集群
主从同步:一台服务器上安装,docker 安装多个数据库进行实现1.拉取mysql5.7的镜像docker pull mysql:5.72.启动两个mysql容器,一个作为master,一个作为slavemaster节点,将本地的 3347端口映射到容器的3306端口,密码为123456docker run -itd --name mysql-master -p 3347:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7slave节点,将本地的 33
2021-04-21 16:39:50 313
原创 linux安装mysql57-community版本
1.下载包:rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm2.安装:yum install mysql-community-server -y3.启动mysql systemctl start mysqld.service4.加入开机启动 systemctl enable mysqld5.修改配置文件:修改密码策略为低级#添加validate_password_poli
2021-04-18 11:15:44 2109
原创 grafana+prometheus+nginx监控负载均衡
一、安装java项目安装jdk,安装tomcat,请参看文章一台linux服务器上配置多台tomcat二、安装nginx请参考文章Linux安装nginx步骤三、安装nginx-vts-export1.安装gityum install git -y2.安装nginx-vts-exportgit clone https://gitee.com/mirrors/nginx-module-vts.git在编译nginx的时候,增加了–add-module参数,这个地方的路径要和哪里一致
2021-04-17 17:42:03 1222
原创 Linux安装nginx步骤
1.安装依赖包:yum install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel pcre-devel -y2.在官网下载nginx包:官网地址:https://nginx.org/download/这里用的是:nginx-1.19.9.tar.gz把 nginx-1.19.9.tar.gz 放在/opt下,然后解压tar zxvf nginx-1.19.9.tar.gz进入目录下:cd nginx-1
2021-04-13 17:25:15 330 1
原创 一台linux服务器上配置多台tomcat
1.linux上搭建tomcat,请参考文章在linux上搭建web服务器(tomcat)2.安装两个tomcat把tomcat的目录复制两份出来,分别改名为 tomcat1-8080,tomcat2-8081,为了避免两个tomcat的端口冲突,需要修改,端口现在tomcat1-8080的端口我们默认的保持不变,只修改tomcat2-8081进入到vim tomcat2-8081/conf/server.xml下修改端口,没改之前默认的是如下截图:修改端口:修改完进行保存,3
2021-04-12 11:54:35 207
原创 linux中top命令参数详解
top命令经常用来监控linux的系统状况,是常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况top各输出参数含义?一、top前5行统计信息第1行:top - 00:02:38 up 7 days, 4:48, 4 users, load average: 0.30, 0.31, 0.27第1行是任务队列信息,其参数如下内容含义00:02:38表示当前时间up 7 days, 4:48系统运行时间4 users当前登录用户数load
2021-03-10 00:22:06 3567
原创 zabbix详解
zabbix概念zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。zabbix能够支持哪些通讯方式:agent:通过专用的代理程序进行监控,与常见的master/agent模型类似,如果被监控对象支持对应的agent,推荐首选这种方式。ssh/telnet:通过远程控制协议进行通讯,比如ssh或者telnet。SNMP:通过SNMP
2021-03-04 17:19:07 1071 1
原创 职场晋升需要具备哪些能力?
1.独立解决问题的能力工作中,我们总会遇到这样那样的问题,发现问题能够迅速找到解决的办法并立即解决,这是一个人成功的根本。也会让你在职场中的身价得到提升。2、人际交往能力职场中,我们不可避免的要与同事、上司、客户交往,能够妥善处理好与他们的关系,从而获得他们的认可与信赖,这是新时代员工所必须要具备的能力。3、计算机能力如今的办公基本上都是计算机办公,因此,对于计算机操作以及各种办公软件要能够熟练运用,对于网络要有深入的了解,能够知道如何快速通过网络来寻找到自己想要的东西。4、信息分析能力信息化
2021-03-04 10:21:27 675 2
原创 jmeter生成测试报告
一、介绍jmeter生成测试报告cli模式生成报告无图形界面 NON-GUI CLI模式注意:在真正做性能测试时,1.一般不会用gui界面模式,而是用cli模式就是说,在真正做性能测试时,不回去打开jmeter图形界面运行性能测试2.真正在做性能测试时,脚本中,能不用监听器,就不用了,禁用所有的监听器cli命令:进入到jmeter的bin文件下,在路径下输入cmd进入到命令行下有如下命令:-n 使用non-gui 无图形界面模式 cli模式生成报告-t 测试计划-l 输出结果到
2021-03-03 00:00:06 2640
原创 性能监测-grafana +prometheus+node_exporter监控硬件资源
一、环境搭建1.grafana环境搭建在前边的博客已经写过grafana环境搭建2.prometheus环境搭建下载地址https://github.com/prometheus/prometheus/releasesprometheus 只是一个时序数据库,它本身不具有数据收集功能,它需要有扩展\插件 来收集数据启动prometheus 进入文件夹 ./prometheus看控制台信息输出,如果没有错误信息,说明服务已经启动启动成功后也可以通过界面进行访问ip + 90903.
2021-03-02 20:08:19 724
原创 性能监控工具-ServerAgent
一、监听器之服务器性能指标监控(PerfMon Metrics Collector)我们做性能测试的时候,不仅要关注jmter上的测出来的TPS值和响应时间等指标,还得关注服务器的性能指标。服务器上性能指标如何监控呢,可以安装PerfMon服务器代理来监控PerfMon服务器代理安装PerfMon服务器代理的github地址https://github.com/undera/perfmon-agent,可以下载到安装包也可以直接下载到要测试的服务器上wget https://github.com/
2021-02-28 16:53:40 1091
原创 性能监测-grafana + influxdb 收集jmeter性能测试结果
一、介绍grafana介绍grafana是一款用go编写的开源应用,用于大规模指标数据的可视化展示,是网络架构和应用分析中最流行的时序数据展示工具支持的数据库:graphite、influxdb、prometheus、mysql、oracle、…组成:dashboard:仪表盘row :行panel :面板influxdb介绍influxDB是一个时序数据库,使用go语言编写,无需外部依赖,适合构建大部分分布式监控系统特色:基于时间序列,支持时间相关函数(max、min
2021-02-28 15:36:12 513
原创 性能监控工具-nmon
一、nmon的介绍Nmon是一款计算机性能系统监控工具,因为它免费,体积小,安装简单,耗费资源低,广泛应用于AIX和Linux系统工具本身消耗的资源比较少,监控的数据类型比较齐全,使用非常简单,(nmon一个独立工具,没有和jmeter直接结合)二、nmon的安装1.需要确定你的服务器的发行版本centos: cat /etc/redhat-release其他系统:cat /etc/**-releasecat /etc/redhat-release2.下载对应版本和架构的nmon文件h
2021-02-27 17:47:52 1963
原创 性能测试基础知识总结
1.概念性能测试、负载测试、压力测试?1)性能测试:是广义上的概念。通过工具,获得系统在不同工况(状态)下的性能指标值----需要不断尝试如:你跑100米多长时间?注意:不同测试阶段,关注点不同:1)产品刚出来,初次做时—不断尝试和验证;2)项目包更新了之后,再次验证性能之后,观察性能指标是优化了还是变差了呢?指标有哪些?后面讲工具有哪些?Jmeter、loadrunner等2)负载测试:属于性能测试前期阶段做的事情。通过逐步加压,观察服务器的运行情况----不断尝试的过程如:看你有几
2021-02-24 17:31:47 744
原创 jmeter监听器之用表格察看结果(View Results in Table)
jmeter查看每个请求的结果可以通过结果树查看,也可以通过 用表格察看结果用表格察看结果(View Results in Table)添加-监听器-用表格察看结果(View Results in Table)所有的数据写入 一个文件,文件命名register.jtl运行用例可以查看到表格结果相关参数说明Sample#:每个请求的序号。Start Time:每个请求开始时间。(时:分:秒.毫秒)Thread Name:每个线程的名称(线程序号-第N次循环次数)。Label:每个请求的
2021-02-20 15:28:15 2548
原创 jmeter-监听器之简单数据写入( Simple Data Writer)
引言介绍jmeter做性能压测的时候,我们希望把每次的结果保存下来,方便写测试总结报告。可以用的监听器 Simple Data Writer,保存测试的结果简单数据写入器Simple Data Writer1.添加-监听器-简单数据写入器2.点浏览按钮可以查看到文件可以保存的类型为 .xml/.jtl/.csv 三种类型3.一般我们保存为 .jtl 的后缀文件,我这里保存为 register.jtl。4.运行完成后,在jmeter下的bin目录会生成一个register.jtl文件,也可以
2021-02-20 15:09:27 1114 1
python的第三方库html测试报告
2020-10-22
ViewWizard-v3.5.1.zip
2020-09-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人