自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MySQL数据库-数据的条件查询(where) 命令演示

条件查询 elect … from 表名 where … 比较运算符 > 查询大于18岁的信息 select * from students where age>18; select id,name,gender from students where age>18; < 查询小于18岁的信息 select * from students where age<1...

2019-05-08 10:56:36 3976

原创 MySQL数据库-数据的查询操作大全

查询 基本查询 查询所有字段 select * from 表名; select * from students; select * from classes; select id, name from classes; 查询指定字段 select 列1,列2,… from 表名; select name, age from classes; select 表名.字段 … from 表...

2019-05-08 10:04:33 4164

原创 python的守护线程(简介、作用及代码实例)

python守护线程简介 守护线程的理解: 如果当前python线程是守护线程,那么意味着这个线程是“不重要”的,“不重要”意味着如果他的主进程结束了但该守护线程没有运行完,守护进程就会被强制结束。如果线程是非守护线程,那么父进程只有等到守护线程运行完毕后才能结束。 在python中,线程通过threadName.setDaemon(True|False)来设置是否为守护线程。 守护线程的作用: ...

2019-04-09 23:16:05 13256

原创 如何使用postman做接口测试笔记

如何使用postman做接口测试笔记一 、postman 界面功能介绍1、工具栏2、接口管理区3、环境管理区4、接口设计区5、Collection请求集(测试集):6、环境变量和全局变量7、请求设计7.1 Postman发送各种格式请求数据的请求方法(注意:选择不同的请求可是,会自动在Header中添加Content-Type信息 ):7.2 tests断言示例二、postman接口测试实例1、发送一个get请求的方法:2、发送一个post请求实例:3、使用postman批量发送请求 常用的接口测试工具主要

2020-12-25 16:43:42 1077

原创 持续集成是什么?

互联网软件的开发和发布,已经形成了一套标准流程,最重要的组成部分就是持续集成(Continuous integration,简称CI)。 本文简要介绍持续集成的概念和做法。 一、概念 持续集成指的是,频繁地(一天多次)将代码集成到主干。 它的好处主要有两个。 (1)快速发现错误。每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容易。 (2)防止分支大幅偏离主干。如果不是经常集成,主干又在不断更新,会导致以后集成的难度变大,甚至难以集成。 持续集成的目的,就是让产品可以快速迭代,同时还能保

2020-07-09 16:35:16 707

原创 Jmeter连接Mysql

1、将mysql-connector-java-5.1.7-bin.jar放入Jmeter安装目录的lib文件夹中 2、在顶层目录<测试计划>中加载驱动 3、添加JDBC Connection Configuration 4、配置数据库信息 1)Variable Name不能为空 2)DataBase URL 格式为:jdbc:mysql://服务器ip:端口号/数据库 在数据库后加参数?allowMultiQueries=true,可同时执行多条mysql语句;否则报错 3)JDBC D.

2020-06-30 10:48:30 371

原创 Jmeter启动报错:Not able to find Java executable or version. Please check your Java installation

安装的Jmeter后,点击jmeter.bat弹框报错提示: Not able to find Java executable or version. Please check your Java installation . errorlevel=2 请按任意键继续. . . 解决方法 jmeter.bat文件前面加上以上两句: SET JAVA_HOME=C:\Program Files\Java\jdk1.7.0_51 (jdk路径) SET PATH=%SystemRoot%/system32;%S

2020-06-28 16:31:27 2700 7

原创 测试人员可以怎样定位BUG

作为测试人员,和我们最常打交道的,莫属bug。当你发现bug后,会采取什么样的行动?是直接报出来,亦或找找问题原因? 不管是我们自己找到的,亦或是开发修复后告诉我们的,知道问题之所在总是好的。在本篇文章中,笔者试图带领大家一起梳理下,为什么测试人员定位问题很重要,以及我们可以使用什么样的定位方法。 一、定位问题的重要性 很多测试人员可能会说,我的职责就是找到bug,至于找原因并修复,那是开发的事情...

2019-12-27 17:04:54 1032

原创 Python--如何利用元类实现ORM

元类实现ORM ORM是Django的核心思想,“Object Relational Mapping”,即对象-关系映射,用于简化SQL操作,把数据库的操作封装到类里面,把表名映射成类,把字段映射为属性,把行(数据)映射为实例。 class ModelMetaclass(type): def __new__(cls, name, bases, attrs): mapping...

2019-05-24 11:05:19 354

原创 Python--元类的简单应用 创建特定类

元类 在Python中元类就是用来创建类的“东西”,Python中的类也是对象。 元类就是用来创建这些类(对象)的,元类就是类的类,你可以这样理解为: MyClass = MetaClass() # 使用元类创建出一个对象,这个对象称为“类” my_object = MyClass() # 使用“类”来创建出实例对象 元类的应用 创建特定类型的类时可用元类(例如.默认实例属性为大写) #-*- c...

2019-05-24 11:03:01 265

原创 Python log日志功能的使用演示

log日志 log日志的等级: debug:详细的信息,通常只出现在诊断问题上 info:确认一切按预期运行 warning:一个迹象表明,一些意想不到的事情发生了,或表明一些问题在不久的将来发生(例如.磁盘空间低)。这个软件还能按预期工作。 error:更严重的问题,软件没能执行一些功能。 critical:一个严重的错误,这表明程序本身无法继续运行。 log日志的使用 显示在终端: imp...

2019-05-13 09:40:37 1399

原创 Python mini框架-给框架添加数据库操作

框架添加MySQL的增删改查 添加操作数据库的功能 添加数据库的操作-查: ->Python操作数据库 ->创建连接对象 conn = connect() ->创建游标对象 cs = conn.cursor() ->执行SQL语句 cs.execute() ->得到查询结果 cs.fetchall() ->关闭游标对象 cs.close() ->关闭连接...

2019-05-13 09:38:42 639 1

原创 Python mini框架-给框架添加路由功能

mini框架加路由 框架的回顾 URL-统一资源定位符 www.baidu.a/b/c.html application函数的作用 解耦 框架的入口 字典-客户端解析出的资源路径 函数引用-传递回header内容 路由器回顾 数据发给路由器,路由器转发给其他网络,实现连接不同网络 请求数据发给框架,框架根据请求类型调用不同的处理函数 框架添加路由 添加路由的用途:根据请求不同,自动调用不同的功能 ...

2019-05-13 09:22:27 341

原创 Python 类的装饰器的原理实现

装饰器 装饰器的出现: 由于开放封闭原则的存在,已实现功能的代码不允许修改,于是装饰器的重要性就被凸现出来。 注: 开放封闭原则即规定已经实现的功能代码不允许被修改,但可以被扩展,也就是说可拓展但不可在源码中修改,封闭即封闭已实现功能代码块,开放即开放对外扩展开发 函数的装饰器: 在不修改源码的情况下,对原函数增添新功能 类的装饰器: Python中类同样有装饰器的用法,其中最常用的装饰器是面向对...

2019-05-12 20:46:04 383

原创 Python的通用装饰器 实现过程

装饰器 装饰器: 在不修改源码的情况下,对原函数增添新功能 开放封闭原则: 规定已经实现的功能代码不允许被修改,但可以被扩展,即可拓展但不可在源码中修改,封闭即封闭已实现功能代码块,开放即开放对外扩展开发 通用装饰器的实现 def set_func(func): print("---开始进行装饰---") def call_func(*args,**kwargs): ...

2019-05-12 20:29:28 307

原创 Python装饰器的实现 及 多种装饰器的应用

装饰器 装饰器的实现 装饰器:在不修改源码的情况下,对原函数增添新功能 开放封闭原则: 规定已经实现的功能代码不允许被修改,但可以被扩展,即可拓展但不可在源码中修改 封闭:封闭已实现功能代码块 开放:开放对外扩展开发 def set_func(func): def call_func(): print("---权限验证1---") print("---权...

2019-05-12 20:19:02 313

原创 web服务器的WSGI接口 及WSGI的实现流程

WSGI WSGI允许开发者将选择web框架和web服务器分开。可以混合匹配web服务器和web框架,选择一个适合的配对。 web服务器必须具备WSGI接口,所有的现代Python Web框架都已具备WSGI接口,它让你不对代码作修改就能使服务器和特点的web框架协同工作。 wsgl的实现流程 1.浏览器发送请求 2.服务器->框架(字典, 函数引用) 3.框架调用函数引用(引用服务器的函...

2019-05-11 12:35:55 585

原创 Python中闭包的实现及闭包内参数的修改

闭包 什么是闭包 闭包:外层参数(形参与实参)与内层函数组成的一个整体 形式:函数套函数 作用: 变量和函数组成一个整体,方便多次调用 可以往闭包内传递一部分代码(如函数引用)或数据进去,方便使用 可以给调用传递代码(运算)和数据(参数),调用格式: 闭包的简单模板: def line(k,b): def create_y(x): print(k * x + b) ...

2019-05-11 12:35:08 1419

原创 MySQL主从同步 设置详细步骤 照着做就行了

MySQL主从同步详细步骤 前情提要: 1.本文档以Ubuntu作为主服务器,Win7作为从服务器进行测试。要保证主从服务器之间能够互相通信(即能相互ping通)。 主服务器ip地址:192.168.13.81 2.从服务器ip地址:192.168.13.82 3.测试通信状况: 主可以ping通从: 4.从可以ping通主: 主服务器配置: 1.备份主服务器的数据 在终端执行如下命令:m...

2019-05-10 12:38:18 547

原创 MySQL数据库-数据库的账户管理及权限设定

账户管理 权限类型 账户权限等级: 服务实例级账号:启动了一个mysqld,即为一个数据库实例;如果某用户如root,拥有服务实例级分配的权限,那么该账号就可以删除所有的数据库、连同这些库中的表 数据库级别账号:对特定数据库执行增删改查的所有操作 数据表级别账号:对特定表执行增删改查等所有操作 字段级别的权限:对某些表的特定字段进行操作 存储程序级别的账号:对存储程序进行增删改查的操作 用户权...

2019-05-10 12:37:17 1240

原创 MySQL数据库-数据库的索引

索引 一种特殊文件的数据结构,保存数据表里所有记录的引用指针。 目的:提高查询效率 原理:分段查找 注:通过主键、外键创建的数据表,都已自动创建索引,即主键索引 索引的指令: 查看表索引: show index from 表名; 创建索引: create index 索引名称 on 表名(字段名称(长度)); alter table 表名 add index 索引名称(字段名称(长度)); 注: ...

2019-05-10 12:36:21 196

原创 MySQL数据库-数据库的事务(ACID)

事务 类比 锁 保证要么完成,要么不进行 事务:操作序列,一个不可分割的工作单位,是数据库 维护数据一致性的单位. 多个操作要么一起执行要么都不执行,任何一个步骤失败,则回滚所有步骤。 ACID 原子性(Atomicity): 数个步骤不可分割 要么做完,要么不做 一致性(Consistency): 数据一致性状态到另一个一致性状态,操作全部完成才会提交,数据保持一致,过程中不会修改或丢失(不提交...

2019-05-10 12:35:41 206

原创 MySQL数据库-数据库的视图

视图 解决数据库于SQL语句耦合度高的问题,解决若数据库改变则SQL语句就需要修改的问题 可仅为对象提供查询,限制对方权限 解决方法: SQL语句与数据库之间抽象出一张虚拟的表对应于数据库,是隔离数据库的体现,间接操作 查询,同时操作多张表的虚拟表 视图的指令: 创建: 类比链接查询 as create view 表名 as 查询SQL语句; 查看: show tables; 重命名: renam...

2019-05-10 12:34:55 247

原创 MySQL数据库-数据 基础查询操作命令演示

查询全部的班级 select * from classes; 查询全部的学生的“姓名”“年龄”“身高”“性别” select name as “姓名”,age as “年龄”,height as “身高”,gender as"性别"from students; 查询身高为null的学生信息 select * from students where height is null; 查...

2019-05-10 12:34:10 336

原创 MySQL数据库-数据的分页操作(limit) 命令演示

分页 limit start,count 限制查询出来的数据格式 select * from students where gender=1 limit 2; 查询前5个数据 select * from students limit 0,5; 查询id6-10(包含)的书序 select * from students limit 5,5; 每页显示2个,第1个页面 select ...

2019-05-09 12:59:14 825

原创 MySQL数据库-数据的分组操作(group by)命令演示

分组 group by group by # 对原始数据筛选 分组 在聚合函数的基础上分组,否则没有意义 按照性别分组, 查询所有的性别 select gender from students group by gender; 失败select * from students group by gender; 失败 select name from students group by gen...

2019-05-09 12:57:38 1978

原创 MySQL数据库-数据的聚合函数 命令演示

聚合函数 总数 count 查询男性有多少人,女性有多少人 select * from students where gender=1; select count(*) from students where gender=1; select count(*) as 男性人数 from students where gender=1; select count(*) as 女性人数 from...

2019-05-09 12:56:47 319

原创 MySQL数据库-数据的链接查询(inner/left/right join on ) 命令演示

链接查询(多表查询) inner join … on select * from 表A inner join 表B on 条件; 注: inner join 两个表同时存在才显示;inner join on 条件 显示相同条件的信息 查询 有能够对应班级的学生以及班级信息 select * from students inner join classes on students.cls_id=...

2019-05-09 12:56:09 264

原创 MySQL数据库-数据的排序操作(order by) 命令演示

排序 order by 字段 ** asc从小到大排列,即升序** desc从大到小排序,即降序 查询年龄在18到34岁之间的男性,按照年龄从小到到排序 select * from students where (age between 18 and 34) and gender=1; select * from students where (age between 18 and 34) a...

2019-05-08 10:06:53 4905

原创 MySQL数据库-对数据的基本操作-增删改查(curd)

数据的增删改查(curd) 增加 全列插入 insert [into] 表名 values(全部列的值) 注: 主键字段(values内的值) 可以用 0 null default 来占位 向classes表中插入 一个班级: insert into classes values(0, “菜鸟班”); 注:0为主键,value()中为全部数量的值。 向students表插入 一个学生信息...

2019-05-07 10:50:57 554

原创 MySQL数据库-对数据表的基本操作

数据表的操作 创建数据表 查看当前数据库中所有表 show tables; 创建表 create table 数据表名字(字段 类型 约束[,字段 类型 约束]) create table xxxx(id int, name varchar(30)); create table yyyy(id int primary key not null auto_increment, name var...

2019-05-07 10:49:42 315

原创 MySQL数据库-对数据库的基本操作

数据库的操作 数据库的基本操作 创建新数据库 create database 数据库名 charset=utf8; create database python12; create database python12new charset=utf8; 注: 查看表的语言版本,show creat table areas; 查看创建数据库的语句 show create database 数据库名...

2019-05-06 19:46:48 228

原创 MySQL中数据的完整性(什么是数据类型和约束)

数据完整性 数据类型 整数:int , bit(1) 小数:decimal 字符串:varchar,char 日期时间:date,time,detetime 枚举类型(enum):enum(‘男’,‘女’,‘中性’) default’男’ 浮点数(decimal):decimal(5,2)表示共存5位数,小数占两位,例如123.33 固定长度字符串(char):char(3),如果填充’ab’时...

2019-05-06 09:03:53 1516

原创 什么是MySQL数据库及MySQL数据库的安装

MySQL 什么是数据库 MySQL是关系型数据库 数据库的名词: 列-字段 行-记录 主键-唯一能够标记一个字段 外键-标记另一数据表的主键 数据表-数据行的集合 数据库-数据表的集合 关系型数据库: 存储中 永久保存 非关系型数据库: 内存中 高并发时使用 不需建表建库 RDBMS关系型数据库管理系统,利用SQL指令间接操作数据库 MySQL的安装及图形化操作 MySQL的安装 安装服...

2019-05-06 09:01:01 400

原创 Python中的with及上下文管理器

with、上下文管理器 with with 一种上下文管理器 def m3(): with open("output.txt","r") as f: f.write("python") 上下文管理器 任何实现了__enter__() 和__exit__()的对象都是上下文管理器 上文:正常进行的代码;下文:出现异常或结束/关闭的代码 上下文管理器可以用with关键字来保...

2019-05-04 14:54:43 578

原创 Python的常用魔法属性大全

魔法属性 __doc__ 查看类的描述信息 格式:类.__doc __ __class__ 显示当前对象的类是谁 格式:对象.__class __ __module__ 显示当前操作的对象所在的模块 格式:对象.__module __ __new__ 创建对象时为对象分配空间,在初始化方法__init__之前被调用 格式:def __new __ (): __init__ 初始...

2019-05-04 14:51:58 994

原创 Python的property属性的使用方法

property property 属性 class 类名: @property def 方法名(silf): return 返回值 对象 = 类() 变量 = 对象.方法名 print(变量) 注: 只能有一个参数self。注:两个参数则需要传值,但property的调用方法-对象.方法名默认不传值 方法当做属性调。注:若使用对象名.方法名()...

2019-05-04 14:48:36 731

原创 Python中的菱形继承问题及MRO顺序的应用

多继承的MRO顺序 多继承的菱形继承问题 格式:父类名.方法名() 子类:父类名.父类方法() 父类:父类名.父类方法() 会导致多继承的菱形继承问题:父类可能被调用两次 图示菱形继承问题: 菱形继承问题的解决方案: super().父类方法() 保证每个类只调用一次 按子类名.__mro __ 的顺序调用继承关系/super方法(mro得到顺序)(C3算法) super(指定类名,self...

2019-05-04 14:45:59 493

原创 python中的GIL(全局解释器锁)

GIL GIL全称Global Interpreter Lock,是一把全局排他锁,即全局解释器锁。每个线程在执行的过程都需要先获取GIL,保证同一时刻只有一个线程可以执行代码。 Python中有关GIL的特性: 多进程才能真的发挥多并发,而多线程是假并发,若想实现并发推荐使用进程; 多线程同时仅有一个在执行,是假并发/假多任务,实际是单任务,这是python解释器的本身原因。 GIL遗留原因:...

2019-05-03 14:15:25 215

原创 精品面试题_07--SQL语句的应用

1、数据库查询题 要求: 1) 查出“计算机系”的所有学生信息; 2) 查出“孙悟空”所在的院系信息; 3) 查出在“行政楼”办公的院系信息; 4) 查出男生女生各多少人; 5) 查出人数最多的院系信息(注意会有相同人数的情况出现); 6) 查出人数最多的院系的男女生各多少人(注意会有相同人数的情况出现); 7) 查出跟“孙悟空”同籍贯的所有人; 8) 查出有“河北”人就读的院系信息; 9) 查...

2019-05-02 14:18:30 913

空空如也

空空如也

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

TA关注的人

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