自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

weixin_40322020的博客

术业有专攻,不断精进,踽踽而行

  • 博客(49)
  • 收藏
  • 关注

原创 百度AI识别图片文字

判断图片格式,转换为Jpg格式,为图片文字识别做准备# !/usr/bin/env python# -*- coding: utf-8 -*-# 转换图片格式为jpg格式,在识别图片文字import osfrom PIL import Imageclass PictureChange: def single_format_change(self, file): """ 转换单个图片的文件格式 :param file:图片的.

2021-03-18 14:54:39 761

原创 性能测试基础--JMeter运行内存设置

在进行大数据、高并发压测的过程性,有时会遇上JMeter卡死现象,使得测试无法进行,查看日志显示:java.lang.OutOfMemoryError: Java heap space原因:运行jmeter机器的内存,占用较高,超过了jmeter设置的内存上限,内存溢出。解决方案:1、优化脚本,去除占用内存较大的组组件,通常包括: 1.1、避免单次压测过程中使用过多的线程,官网建议1000-2000。具体看机器的配置和启动应用的情况。 (官网:http:...

2020-12-13 11:16:32 7811

原创 性能测试基础--JMeter 主要组件介绍

1.测试计划是使用 JMeter 进行测试的起点,它是其它 JMeter 测试元件的容器。2.线程组:代表一定数量的并发用户,它可以用来模拟并发用户发送请求。实际的请求内容在Sampler中定义,它被线程组包含。可以在“测试计划->添加->线程组”来建立它,然后在线程组面板里有几个输入栏:线程数、Ramp-Up Period(in seconds)、循环次数,其中Ramp-Up Period(in seconds)表示在这时间内创建完所有的线程。如有8个线程,Ramp-Up = 200秒,那

2020-12-07 09:45:17 1365

原创 性能测试基础--Jmeter工具栏简介

在介绍Jmeter之前,很有必要先讲下它的工具栏,磨刀不误砍柴工,开始吧。1、1.测试计划(Test Plan)是使用 JMeter 进行测试的起点,它是其它 JMeter 测试元件的容器。2.线程组(Thread Group)代表一定数量的并发用户,它可以用来模拟并发用户发送请求。3.取样器(sampler)定义实际的请求内容,被线程组包含,我们主要用HTTP请求。4.监听器(Listener)5.逻辑控制器(Logic Controller)6....

2020-12-03 13:57:33 841

原创 性能测试基础--Jmeter命令行执行脚本和动态参数设置

随着性能测试普及,大家开始更多的接触性能测试以及性能测试工具。jmeter是初学者绕不开的一个工具,简单易上手,覆盖面广,且开源支持脚本开发。 在实际使用当中,初期的脚本录入、接口调试、参数配置等我们都是基于GUI模式来进行,清晰明了,效果直观;但是脚本确定后我们会批量的去执行这些脚本,并生成对应的测试报告,此时GUI模式就无法满足我们的要求,这里jmeter的脚本建议用命令行来执行(同时降低GUI模式带来的性能损耗,不过拿jmeter来做接口测试的无所谓)。 ...

2020-11-14 22:42:57 1111

原创 性能测试基础--Jmeter入门安装

一、Jmeter相关介绍(摘自网络)Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本...

2020-11-05 11:39:08 207

原创 Fiddler弱网测试事件始末

Fiddle抓包时间始末最近接到一个测试任务:测试Android系统下的APP的弱网场景。接到任务考虑怎么模拟弱网场景,自然的弱网场景有电梯间、卫生间、楼道等犄角旮旯;但是这种场景无法量化弱网的等级,比如是4G、3G、还是2G等。这个不行那我们自然考虑通过工具来实现,上网查一下资料很丰富,...

2020-11-01 10:52:25 322

原创 业界软件测试工程师认证(ISTQB)

官网:https://www.cstqb.cn/

2020-07-28 14:28:27 5014

原创 初学者redis-cluster集群搭建

目录为什么要用redis-cluster客户端分片数据分布理论搭建redis cluster1、准备6套redis数据库,6套对应的启动配置文件,3主3从2、分别启动6套redis数据库3、安装ruby,一句命令分配redis集群的槽位4、此时槽位已经分配好了,可以写入集群数据了为什么要用redis-cluster1.并发问题redis官方生成可以达到 10万/每秒,每秒执行10万条命令,假如业务需要每秒100万的命令执行呢?2.数据量太大一台..

2020-07-28 09:54:48 363

原创 Prometheus+Grafana搭建主机/容器监控

目录监控逻辑图镜像准备运行镜像文件启动node-exporter启动cadvisor启动prometheus容器启动grafana容器监控逻辑图镜像准备docker pull prom/node-exporter # 监控主机基础信息的镜像docker pull google/cadvisor # 监控主机容器信息的镜像docker pull prom/prometheus # 收集主机信息的镜像docker pull grafana...

2020-07-28 09:35:56 973

原创 数据爬取——超级鹰验证码识别

#!/usr/bin/env python# coding:utf-8import requestsfrom hashlib import md5class Chaojiying_Client(object): def __init__(self, username, password, soft_id): self.username = username...

2019-11-28 20:49:46 1831 3

原创 数据爬取——12306获取验证码图片并识别

import time import ssl import urllib.request import urllib.errordef get_code_picture(filepath): #目的为了通过未认证的12306证书 ssl._create_default_https_context = ssl._create_unverified_context ...

2019-11-28 20:43:31 979

原创 数据爬取——http://pic.netbian.com 美女图片采集

import requestsfrom lxml import etreeheaders = { "User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.108 Safari/537.36"}url = 'ht...

2019-11-28 20:40:00 5096

原创 数据爬取——拍信网美女图片

仅作练习使用,并无商业用途import requestsimport jsonheaders = { "User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.108 Safari/537.36"}data...

2019-11-28 20:35:26 922

原创 数据爬取——电影天堂

import requestsfrom lxml import etreeurl = "https://www.dy2018.com/14/"headers = { "User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0....

2019-11-28 20:27:27 2862

原创 数据爬取——北京肯德基门店信息

import requests, jsonurl = "http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=cname"headers = { "User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gec...

2019-11-28 20:22:57 833 1

原创 Django——前后端连接流程

2019-11-21 21:52:19 1444

原创 Django初识——入门

一、web框架的本质:Socket服务端二、浏览器访问服务器的请求规程在浏览器地址栏键入URL,按下回车之后会经历以下流程:浏览器向 DNS 服务器请求解析该 URL 中的域名所对应的 IP 地址; 解析出 IP 地址后,根据该 IP 地址和默认端口 80,和服务器建立TCP连接; 浏览器发出读取文件(URL 中域名后面部分对应的文件)的HTTP 请求,该请求报文作为 TCP...

2019-11-21 20:44:01 153

原创 数据库之非关系型型数据库MongoDB

安装1、Windos解压包安装2、配置环境变量验证安装结果3、终端环境启动服务端启动:mongod启动后,界面显示MongoDB图标,并吭住等待客户端的连接修改配置:mongod --dbpath = "数据库存放路径"# 也可以不修改路径配置,直接在默认的c盘下创建data文件夹客户端启动:mongo启动后显示服务端信息,和链接的url和端口MongoDB...

2019-11-17 20:11:07 203

原创 python3 迭代器

定义:遵守迭代协议(标准)只要有__iter__方法的就是可迭代对象可以被for循环的就是可迭代对象可迭代对象:print(dir(str)) # 查看这个类型中有什么功能 可迭代__iter__print(dir(str))'__iter__',包含该方法print(range.__iter__(range(0,7)))<range_it...

2019-11-17 20:08:07 108

原创 python3 递归函数

定义:1、在一个函数里再调用这个函数本身、2、有明确的结束条件递归函数的最大深度1、理论上,官方文档说明是10002、实际测试是998检测方法:def foo(n): print(n) n += 1 foo(n)foo(1)3、最大深度可以修改,修改命令:import syssys.setrecursionlimit(100...

2019-11-17 19:56:16 128

原创 python3 推导式

定义:推导式comprehensions(又称解析式),是Python的一种独有特性。推导式是可以从一个数据序列构建另一个新的数据序列的结构体。共有三种:列表推导式,字典推导式, 集合推导式,没有元组推导式,还有生成器表达式。列表推导式列表推导式的写法:[结果for变量in可迭代对象]li = []for i in range(10): li.append...

2019-11-17 19:50:32 242

原创 Python中的文件操作相关

文件打开文件操作就是使用open()函数来打开一个文件,获取到文件句柄,然后通过文件句柄就可以对文件内的文本进行各种读、写、删除、追加的操作f = open('t2',mode='r',encoding='utf-8')打开 第一个内容是文件的名字(必须是字符串),包含存放路径,可以是相对路径,也可以是绝对路径mode 第二个内容是咱们对这个文件的操作方式:读、写、追加e...

2019-09-07 10:32:23 146

原创 数据库之关系型型数据库mysql

数据库数据库应用的必要性: 第一,将文件和程序存在一台机器上是很不合理的。 第二,操作文件是一件很麻烦的事数据库的优势:1、程序稳定性 :任意一台服务所在的机器崩溃了都不会影响数据和另外的服务。2、数据一致性 :所有的数据都存储在一起,所有的程序操作的数据都是统一的,就不会出现数据不一致的现象3、并发 :数据库...

2019-03-05 16:54:03 229

原创 网络编程——进程和线程

程序和进程程序和进程的区别就在于: 程序是指令的集合,它是进程运行的静态描述文本;进程是程序的一次执行活动,属于动态概念。 在多道编程中,我们允许多个程序同时加载到内存中,在操作系统的调度下,可以实现并发地执行。就是这样的设计,大大提高了CPU的利用率。进程的出现让每个用户感觉到自己独享CPU,因此,进程就是为了在CPU上实现多道编程而提出的。...

2019-03-04 22:04:30 240

原创 网络编程——协程

协程的引入 在操作系统中进程是资源分配的最小单位,线程是CPU调度的最小单位。按道理来说我们已经算是把cpu的利用率提高很多了。但是我们知道无论是创建多进程还是创建多线程来解决问题,都要消耗一定的时间来创建进程、创建线程、以及管理他们之间的切换。  随着我们对于效率的追求不断提高,基于单线程来实现并发又成为一个新的课题,即只用一个主线程(很明显可利用的cpu...

2019-03-04 18:10:56 184

原创 网路编程——线程

进程的引入操作系统中,程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,而这种执行的程序就称之为进程。程序和进程的区别就在于: 程序是指令的集合,它是进程运行的静态描述文本;进程是程序的一次执行活动,属于动态概念。 在多道编程中,我们允许多个程序同时加载到内存中,在操作系统的调度下,可以实现并发地执行。就是这样的设计,大大提高了C...

2019-03-03 14:14:27 120

原创 Python实现网络通信中的套接字(Socket)

Socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过"套接字"向网络发出请求或者应答网络请求。 套接字用(IP地址:端口号)表示。 它是网络通信过程中端点的抽象表示,包含进行网络通信必需的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。...

2019-03-01 22:17:07 506

原创 网络编程——TCP和UDP协议

什么是TCP协议一、TCP协议报头TCP指传输控制协议,其报头格式如下:TCP协议中的六个标志分别是,URG、ACK、PSH、RST、SYN、FIN。1)UGR(紧急):UGR=1表示紧急指针字段有效。它告诉系统此报文段有紧急数据,应当尽快传送。从报文段的开头,到紧急指针指向的地方就是紧急数据。2)ACK(确认):ACK=1时,确认号字段才有效。3)PSH(推送):...

2019-03-01 21:51:44 260

原创 网络编程——进程

进程 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。程序和进程的区别就在于: 程序是指令的集合,它是...

2019-03-01 20:25:14 224

原创 软件通信原理

相关名词解释:网卡: 与外网连接的装置mac地址:计算机的唯一标识,每个计算机的mac地址都不同,12位16进制组成:40-8D-5C-93-F1-DE交换机: 连接计算机中转,拓展网口mac地址对照表:mac地址自主学习能力: 网口1: 40-8D-5C-93-F1-DE 网口2: 40-3D-5C-23-F1-DE ...

2019-02-28 23:09:58 1506

原创 软件通信协议

一、操作系统(了解)操作系统是一个软件,是操作连接计算机硬件与计算机软件的纽带.现存的操作系统:windows,linux,macOS.二、 C/S B/S架构C: client 客户端B: browser 浏览器S: server 服务器C/S: 基于客户端与服务端的架构.硬件CS架构: 打印机软件CS架构: QQ,微信,暴风影音, 快播,等等....

2019-02-28 23:08:53 1894

原创 Python3 的面向对象编程

面向过程 vs 函数面向过程编程1、重复代码多2、可读性差函数式编程 vs 面向对象编程面向对象第一个优点:类是一组相似功能的集合,让我代码的组织结构更加清晰规范化面向对象的第二优点:上帝的思维,用面向对象设计程序,类是一个公共模板,对象去操作使用这个公共模板类和对象类是具似相同功能和属性的一类实物对象是类的具体体现,具体到一个...

2019-01-23 23:00:08 117

原创 Python3 shutil、collections模块

shutil 高级文件功能,可以拷贝文件以及属性(用户、权限、属组等),递归的拷贝、删除、移动等,且可以压缩文件。import shutilshutil.copyfile(原文件,要拷贝到哪) shutil.copyfile(r'C:\Users\Administrator\PycharmProjects\S19\day12\day12.py', r'C:\Use...

2019-01-21 17:03:45 273

转载 Python3 configparser模块

python configparser模块 ConfigParser模块在python中用来读取配置文件,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节(section), 每个节可以有多个参数(键=值)。使用的配置文件的好处就是不用在程序员写死,可以使程序更灵活。注意:文件的操作前先要读文件,修改后要重新写入 # 配置文件# 文件 + 字典...

2019-01-21 16:47:12 1019

原创 Python3 序列化json、pickle、shelve

序列化 将原本的字典、列表等内容转换成一个字符串的过程就叫做序列化。序列化就是将字典列表等转化成字符串存到文档中,反序列化就是把字符串读出来,在还原成列表、字典等属性。 序列化的目的1、以某种存储形式使自定义对象持久化;2、将对象从一个地方传递到另一个地方。3、使程序更具维护性。json Json模块提供了四个功能:dumps、dump、loads、...

2019-01-21 16:39:12 178

原创 Python3 random模块

random模块 import randomprint(random.random()) # 0-1之间的小数print(random.uniform(1,5)) # 1-5之间的小数print(random.randint(1,36)) # 随机整数print(random.randrange(1,10,2)) # randrange()指...

2019-01-21 16:34:05 264

转载 Python3 logging模块

logging模块 logging 参考博客http://www.cnblogs.com/Eva-J/articles/7228075.html#_label14 logging模块的主要功能是记录软件调试、操作过程中的各种日志。默认情况下Python的logging模块将日志打印到了标准输出中,且只显示了大于等于WARNING级别的日志,这说明默认的日志级别设置为WARNIN...

2019-01-21 16:28:52 114

原创 Python3 time、datetime模块

time、datetime模块 time模块 import time时间戳,当前时间是基于1970年01月01日00时00分00秒开始计算print(time.time()) 结构化时间print(time.gmtime())#伦敦国际时间print(time.localtime())#北京时间,计算机时间 结构化时间转换到字符串时间print(...

2019-01-21 16:24:15 142

原创 Python3 模块os、sys、hashlib

os os模块是与操作系统交互的一个接口# 和文件夹相关os.makedirs('a/b/c') 递归创建文件夹(一层层创建)os.removedirs('a/b/c') 若目录为空则删除,并递归到上一级,回收站也找不到os.mkdir('a') 生成单个文件夹;相当于shell中mkdir dirnameos.rmdir('a') 直...

2019-01-17 22:20:25 103

空空如也

空空如也

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

TA关注的人

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