自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 资源 (10)
  • 问答 (3)
  • 收藏
  • 关注

原创 详细解析反爬手段以及处理方案

详细解析反爬手段以及处理方案前言​ 互联网时代,无论在工作上,还是生活上都离不开网络,而网络能给我们带来什么?​ 新闻,小说,资料,各行业的数据或者报表等等;​ 比如:快毕业了为了论文,在各种网站上爬取需要的数据进行分析;还有一些为了兴趣爱好,爬取各种类型的图片,视频,文章,数据等。​ 各网站的开发人员为了约束这种行为,开始绞尽脑汁,采取各种手段去约束爬虫,于是,有了反爬机制!反爬方案1,通过对 User-Agent 过滤来控制访问无论是浏览器,程序,还是爬虫,在向服务器发起网

2020-12-23 11:31:46 1772

原创 Linux内核又躺枪 之《docker挂载volume的权限问题》

我对docker不太成熟的认知!写的不好望指出!互相学习、交流!对docker的认知为什么说Linux内核又躺枪了,本人不想背锅,只能把锅甩给Linux 内核了,哈哈哈…docker依赖于Linux的两个内核特性:Namespaces - 命名空间Control groups(cgroups)- 控制组Namespaces命名空间提供了一种系统资源的隔离,包括了文件系统、网络、进程等。docker有以下5种命名空间:PID:进程隔离NET:网络管理接口IPC:管理跨进程通信访问MN

2020-12-01 00:46:56 578

原创 MacOS M1命令行安装homebrew、node、git、docker

在MacOS M1芯片安装Homebrew、Git、Node、Docker

2024-01-16 22:28:59 1120

原创 win10 - Snipaste截图工具的使用

snipaste截图工具

2024-01-10 12:56:39 782

原创 Xmind - win10安装破解Xmind2023

Xmind - win10安装破解Xmind2023

2024-01-10 12:39:43 63265 45

原创 【java基础系列】16- Java中怎么处理异常?

- 异常的概念 - 程序在运行过程中出现的特殊情况- 异常的分类 - `RuntimeException`:运行时异常,可处理,可不处理。 - `CheckedException`:检查时异常,必须处理。- 异常的产生 - 程序遇到错误,或手动抛出异常。- 异常的传递 - 按照方法的调用链反向传递,如始终没有处理异常,最终会由`JVM`进行默认异常处理(打印堆栈跟踪信息并且中断程序)。- 异常的处理 - `try {} catch {} finally {}`- 带有异常声

2022-12-02 19:25:07 527

原创 【java基础系列】15- Java的集合框架

对象的容器,定义了对多个对象进行操作的常用方法。可实现数组的功能(实现了对对象的操作)。

2022-12-01 18:29:43 165

原创 【java基础系列】14- Java的内部类与常用类

在类的内部定义,与实例变量、实例方法同级别的类。外部类的一个实例部分,创建内部类对象时,必须依赖外部类对象。当外部类、内部类存在重名属性时,会优先访问内部类属性。成员内部类不能定义静态成员,但是可以定义静态常量。

2022-11-29 22:32:50 415

原创 【java基础系列】13- java的面向对象

面向对象就是把构成问题的事物分解成一个个对象,建立对象不是为了实现一个步骤,而是为了描述某个事物在解决问题中的行为。类是面向对象中的一个很重要的概念,因为类是很多个具有相同属性和行为特征的对象所抽象出来的,对象是类的一个实例。类具有三个特性:封装、继承和多态。

2022-11-12 00:34:56 496

原创 【java基础系列】12- java的数组(二)

java基础系列 - java的数组(二)

2022-11-05 16:03:01 626

原创 【java基础系列】11- java的数组(一)

- 数组的概念 - 一组连续的存储空间,存储多个相同数据类型的值- 数组的声明 - 数据类型[] 数组名 = new 数据类型[长度]- 数组的访问 - 赋值:数组名[下标] = 值; - 取值:数组名[下标];- 数组的遍历 - 从头至尾,注意对数组的每个元素进行访问- 数组的应用 - 统计数组元素、查找数组元素,JDK排序、元素倒置

2022-06-01 14:44:06 227

原创 【Java基础系列】10- java中的方法或者函数

java中的方法概念:实现特定功能的一段代码,可反复使用。1、定义语法:public static void 方法名称(){ // 方法主体}方法名称:遵循标识符命名规范方法主体:功能代码应用:将需要在多个位置重复使用的一组代码,定义在方法内部;2、定义的位置方法定义在类的内部,与main方法并列// 位置1public class TestDefinitionFunction{ // 位置2 public static void main(Strin

2022-04-05 22:19:54 280

原创 【Java基础系列】9- 嵌套循环

嵌套循环概念:在一个完整的循环结构中,嵌套另一个完整的循环结构;举个例子需求:打印3行5颗星public class TestNestedFor{ public static void main(String[] args){ for (int i = 1; i <= 3; i++){ for (int j = 1; j <=5; j++){ System.out.print("*")

2022-04-05 15:54:19 780

原创 【Java基础系列】8- 流程控制关键字break与continue的使用

流程控制关键字 break与continue的使用1、break:终止、跳出switch、循环结构举个例子public class TestBreak{ public static void main(String[] args){ for (int i = 1; i <= 10; i++){ if (i == 5){ break; } System.out.print

2022-04-05 15:52:15 792

原创 【Java基础系列】7- 循环结构

循环结构1、概念:通过某个条件,重复的执行一段逻辑代码2、while 循环语法:while(布尔表达式){ // 逻辑代码(循环操作)}执行流程先对布尔表达式进行判断,结果为true,则执行逻辑代码本次执行完毕后,再次进行判断,结果仍旧为true,则再次执行逻辑代码直至布尔表达式的结果为false,才会退出循环结构,执行后续代码举个例子:public class TestWhile{ public static void main(String[] args)

2022-04-03 16:41:31 713

原创 【Java基础系列】6- 选择结构与分支结构

选择结构与分支结构选择结构概念:根据已知条件进行逻辑判断,满足条件后执行响应操作;1、基本if选择结构语法:if(布尔表达式) { // 代码块:表达式为真时执行}执行流程:对布尔表达式进行判断结果为true,则先执行代码块,再执行后续代码;举个例子:public class TestBaisclf{ public static void main(String[] args){ double score = 100.0; if(score

2022-01-01 23:23:07 573

原创 【Java基础系列】5- 扫描仪控制台录入

1、扫描仪控制台录入1.1 控制台输入程序运行中,可在控制台(终端)手动录入数据,再让程序继续运行;导包语法:import 包名.类名; //将外部class文件的功能引入到自身文件中。找到本地jdk的安装目录右键使用压缩工具将其打开进入java目录的util目录下找到Scanner.class文件使用顺序:导入:java.util.Scanner声明 Scanner类型的变量使用Scanner类中对应的方法(区分类型):.nextInt(

2021-12-26 21:24:22 654

原创 【Java基础系列】4- Java的类型转换与提升

1、自动类型提升类型转换:自动类型转换、强制类型转换类型提升:数字间的常规类型提升,字符串的特殊类型提升进行算数运算时:两个操作数有一个为 double ,计算结果提升为 double;如果操作数中没有 double,有一个为 float ,计算结果提升为 float;如果操作数中没有 float,有一个为 long,计算结果提升为 long;如果操作数中没有 long,有一个为 int,计算结果提升为 int;如果操作数中没有 int,均为 short 或 byt

2021-12-26 21:21:12 205

原创 【代码管理】1- 上传代码到 github

代码管理1.1 安装git使用win10系统开发,先安装 Git for windows,请移步1.2 创建Github仓库登录你的Github账户,创建个人项目/仓库,命名为flask-server。并在你的Github账户中添加该电脑的SSHKeys,请移步1.3 git clone克隆到本地,打开Git Bash:$ cd /d/CodeBase/auto$ git clone git@github.com:lewyuejian/flask-server.git1.4 init

2021-10-24 13:06:00 5334 1

原创 【Java基础系列】3- Java的运算符与表达式

1. 运算符1.1 算数运算符算数运算符:两个操作数进行计算操作符描述+加、求和-减、求差*乘、求积/除、求商%模、求余算数运算符:一元运算符(只有一个操作数)操作符描述++递增,变量值+1–递减,变量值-1举个例子:public class TestOperation1{ public static void main(String[] args){ int a = 10; in

2021-09-11 18:47:15 333 1

原创 【Java基础系列】2- Java的变量与数据类型

1. 内存存储器的种类很多,按其用途可分为主存储器和辅助存储器,主存储器又称内存储器(简称内存),辅助存储器又称外存储器(简称外存)。1.1 什么是内存内存指的就是主板上的存储部件,CPU直接与之沟通,并用其存储数据的部件,存放当前正在使用的(即执行中的)数据和程序,它的物理实质就是一组或多组具备数据输入输出和数据存储功能的集成电路,内存只用于暂时存放程序和数据,一旦关闭电源或发生断电,其中的程序和数据就会丢失。言而总之,内存即是一块瞬时状态的存储空间,有一定的容量;特点:内存处理速度快、存储容量

2021-09-06 00:16:42 286 1

原创 【Java基础系列】1- 如何定义程序

1. 什么是程序为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合。比如:微信app、QQ等2. Java 的历史与特点2.1 Java 的历史Sun Microsystems 于1995年推出的面向对象的程序设计语言,共同创始人的詹姆斯.高斯林(James Gosling)被誉为“Java之父”。1996年发布JDK 1.01998年发布JDK 1.2平台名称:J2SE(Stadard Edition)、J2EE(Enterprise Edition)、J2ME(Jic

2021-09-04 13:11:52 457

原创 【HttpRunner学习笔记】8- HttpRunner debugtalk 自定义钩子函数的应用

引言在我们对实际业务进行接口自动化的落地当中,难免会遇到特殊场景的处理,比如:获取token前置处理函数setup_hooks和后置处理函数teardown_hooks常见的加解密sign等一系列签名认证操作数据库编写随机函数读取图片、或者其他格式文件等函数构造参数化数据对返回数据类型进行转换参数化csv里面数据类型的转换以及封装一些常用的函数1. 简单的引用自定义函数我们还是用之前的例子,获取指定的author请求;首先需要向request传进一个我们指定的author_

2021-08-28 18:02:11 812

原创 【HttpRunner学习笔记】7- HttpRunner 关联参数&引用CSV文件

引言我们在上一篇文章介绍如何在测试用例的响应数据的某个参数值,然后传递到依赖下一个测试步骤;在实际项目中的测试用例难免会遇到传入多组数据,也可以看做一个业务场景就会有一组测试数据的应用,那么对于这种场景我们在应用HttpRunner构建脚本的时候,要如何去设计数据格式以及引用呢?接下来本篇内容主要介绍了如何使用关联参数以及引用过CSV文件进行参数化;1. 源码解析使用httprunner改造过的pytest参数化,通过parameters这个字段去引用import pytestfrom htt

2021-08-21 17:28:46 2119

原创 【HttpRunner学习笔记】6- HttpRunner 提取变量

引言在我们在做接口测试的时候,经常会遇到一个一些动态变化的参数,或者是有依赖性的测试用例。也就是一个请求需要的参数是由上一个请求响应返回的值;介绍本章节前先抛出几个场景:如果访问获取指定作者的数据,但是这个作者ID如果写死的话,就会造成后续对测试用例的维护难度,那么能否根据去获取到所有的作者列表,然后提取到这个作者ID,然后将这个ID传递到我要获取指定作者的API呢?在httprunner中测试用例依赖也可以看做是step的响应导出参数由另一个step调用;有些场景在校验的时候会使用一个reque

2021-08-08 20:33:32 1322 1

原创 【HttpRunner学习笔记】5- HttpRunner 抽离变量

https://www.jianshu.com/p/bd7d4359c664引言前面的章节介绍了,如何去抽离base_url做一个全局变量,那么我们在实际应用中,不仅只有url是变动不频繁,还有一些不需要改动的变量。比如:当只有一个用户场景操作的业务,此时只需要一个用户即可,那么我们就可以选择将账号以及密码抽离出来放在config属性里面作为一个全局变量,或者声明变量名之后存储在.env文件中。1. py测试用例抽离变量参数首先在Step中需要引用变量的地方使用${变量名} 进行引用,然后在conf

2021-08-08 19:37:42 234

原创 【HttpRunner学习笔记】4- HttpRunner 抽离 base_url

引言在实际项目中,有测试环境、生成环境以及还有预发布环境,所以我们在设计业务场景的过程中,将网站的base_url或者是域名抽离出来,作为全局变量,又或者存放一个配置文件来管理也是必须要做的一项。这对后续切换环境的维护会节省一定的时间成本。不然的话,我们如果要切换环境的,要一个个替换url也是相当麻烦的工作。1. 源码解析在每一个测试用例的main中都调用了一个test_start()方法,我们可以暂时将这个方法看作是一个入口然后我们 ctrl+ 鼠标单击 看到test_start()的源码:

2021-08-08 03:58:29 704

原创 【HttpRunner学习笔记】3- HttpRunner 解析测试用例组织

引言在前面一篇文章介绍了怎么生成测试用例,而在生成的测试用例文件中,我们可以看到很多的属性,那么这些属性代表什么呢?都有什么作用呢?以及怎么用呢?每个HttpRunner测试用例是HttpRunner的子类,并且必须包含config和teststeps两个属性。1. config 属性配置testcase级别的config属性,它包含base_url、name、verify、variables、export;每一个测试用例(testcase)都有一个config属性,可以是testcase级别的配

2021-08-08 01:01:11 827

原创 【HttpRunner学习笔记】2- HttpRunner生成测试用例

引言前面介绍了如何去录制脚本(http请求数据),也是har格式的文件,我们要将测试用例跑起来的话,就必须要将har文件转换成yaml文件、json文件、或者是py文件才行,那么本文将会介绍har如何使用httprunner转换yaml、json、py文件,也就是测试用例;1. 生成测试用例生成测试用例文件的命令:har转换成yamlhar2case har\woshipm_login.har -2y或者har2case har\woshipm_login.har --to-yml将会

2021-08-05 22:37:01 562

原创 【HttpRunner学习笔记】1-HttpRunner的安装、录制以及创建项目

引言HttpRunner 是一款基于 Python 开发面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求;可以运行在macOS、Linux、Windows 系统平台上。1. 安装安装最新版本pip install httprunner安装指定版本pip install httprunner==2.5.72. 验证查询版本号hrun -V查询帮助httprun

2021-08-05 21:42:59 1062

原创 【python基础】2- python工程将依赖导出requirements

引言在上一篇文章介绍了,如何创建python工程的虚拟环境,那么我们在迁移的过程中,迁移使用的依赖也是必须要做的一件事情,那么我们是怎么迁移依赖的呢?安装依赖首先需要激活python工程的虚拟环境;(venv) D:\CodeBase\auto\python-server>pip install flask导出依赖使用requirements.txt记录所有依赖包及其精确的版本号(venv) D:\CodeBase\auto\python-server>pip freeze &g

2021-08-05 20:23:53 379 1

原创 【python基础】1- 创建python工程虚拟环境

引言在创建python工程的虚拟环境之前,我们先来介绍一下:我们为什么要创建虚拟环境呢?在进行工程开发的过程中,我们需要引用很多的依赖包来进行相关应用的实现,而依赖包每个版本的使用的兼容性并不是固定,也许历史版本可以使用,但是在使用最新的版本的时候,突然发现之前的使用方式已经过时了(或者是版本更新导致用法变了),那么我们在进行项目的迁移要怎么办?如果有虚拟环境的话,我们只要将虚拟环境安装到我们迁移的路径就可以直接使用了,虚拟环境还有一个好处就是,每一个虚拟环境都是相互独立隔离的,并不会影响到本地以及其他

2021-08-05 20:13:48 240 1

原创 【面试编程题】8- 统计字符串在文本出现的次数

问题:统计字符串在一个txt文件出现的次数?思路分析:题意是要统计字符串出现的次数,而不是每行是否存在该字符串,因为每一行可能会出现多个相同的字符串,这里需要注意一下;我这里首先读取txt文件的所有的内容,lines是一个列表数组,定义一个计时器,开始为0,然后判断字符串key是否在每一行当中,如果在的话,则使用count统计字符串key在该行出现的次数,然后赋值给我声明的计时器count=0(此时的count==num),如此进行累加;解题:def count_func(txt_file, k

2021-08-02 23:19:20 819

原创 【面试编程题】7- 斐波那契数列

引言波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)也可以这样说:第一项和第二项是1,之后的每一项为之前

2021-08-01 21:47:24 479

原创 【MySQL基础】5- SQL语句大全

1、基础登录数据库系统mysql -h localhost -u root -p#“-h”参数指连接的主机名#“-u”参数表示用户名#“-p”参数表示用户的密码创建数据库create database <db-name>;查看数据库show databases;切换数据库USE 数据库名;删除数据库drop database <db-name>;创建新表create table tabname(col1 type1 [

2021-08-01 01:29:10 631

原创 【MySQL基础】4- MySQL配置文件 my.cnf

引言在windows系统上安装MySQL,其配置文件:my.ini;而在Linux操作系统上的MySQL,它的配置文件为:my.cnf,一般它的路径为/etc/my.cnf 或者/etc/mysql/my.cnf ;配置文件文件内容如下:[client]port = 3306socket = /tmp/mysql.sockdefault-character-set = utf8mb4[mysqldump]quickmax_allowed_packet = 16M[mysqld]

2021-08-01 01:22:04 777

原创 【MySQL基础】3- docker安装MySQL

引言接下来我们来介绍一下如何使用docker来安装MySQL;安装MySQL在安装之前,我们需要选取MySQL的版本,在这里我们选择的是MySQL 5.7的版本;1. 下载/拉取 MySQL5.7 的 docker 镜像docker pull mysql:5.72. 创建数据目录我们需要创建log、data、conf,用来存放mysql的日志、数据、以及配置文件mkdir -p /root/mall/mysql57[root@pophas mysql57]# mkdir -p data

2021-08-01 01:17:27 165

原创 【MySQL基础】2- Linux安装MySQL

下载安装1.0 下载地址下载MySQL历史版本地址:https://downloads.mysql.com/archives/community/我这里下载的版本是5.7.24https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz或者http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x

2021-08-01 01:12:26 156

原创 【MySQL基础】1- windows安装MySQL

下载1.0 下载地址​ https://dev.mysql.com/1.1 点击 DOWNLOAD,进入下载页面,然后点击 MySQL Community (GPL) Downloads1.2 点击 MySQL Installer for Windows1.3 点击Archives,进入 MySQL Product Archives 页面1.4 下载指定版本安装1.0 双击运行下载好的 mysql-installer-community-5.6.19.0.msi这里程序运行需要一些

2021-07-31 11:05:51 1423

原创 【面试编程题】6- 给定一个数组,统计出重复的元素

问题:给定一个数组,统计出重复的元素?思路分析:统计一般使用字典来表现,这样不仅能体现出重复的元素,还能统计出现的次数;统计次数,要么自己定义一个计数器,要么使用内置的方法count,或者通过第三方库Counter来实现;最开始我是使用过计数器的方式,首先定义一个空字典,然后循环遍历数组,如果说元素不在字典里面则计数为1,如果说元素在字典里面则计数累加,然后再删除只出现一次的元素;但是问题来了,删除又要遍历字典,而使用遍历字典又不能对字典进行修改,否则的话会报错,如果只是对第一个出现还可以使用b

2021-07-26 02:48:07 661

010EditorWin64Installer12.0.1.exe

二进制编辑器 010 Editor

2022-01-11

result-39-ask-doctor.zip

39问医生网站数据资源,源数据,没有经过处理

2021-02-02

【39问医生】爬取数据

爬取的数据,已经去重,39问医生问诊的标题,描述已经第一个医生回答

2021-02-01

ask_crawler.py

39问医生爬虫实践项目源码,刚开始学习爬虫的同学可以参考一下

2021-02-01

提取网页颜色插件ColorPick Eyedropper

谷歌插件,提取网页颜色插件ColorPick Eyedropper,安装完成后,要让这个插件能够访问本地文件需要一个设置: 点击Chrome菜单 &gt; More tools &gt; Extensions &gt; ColorPick Eyedropper &gt; 勾选Allow access to file URLs.

2020-09-26

maven安装包.zip

基于jdk 环境下,需要配置环境变量: export MAVEN_HOME=/root/maven/apache-maven-3.6.3 # 为maven路径 export MAVEN_HOME export PATH=$PATH:$MAVEN_HOME/bin

2020-01-14

RocketMQ控制台.zip

server.port,rocketmq.config.namesrvAddr都设置为空,启动时自动加上即可,启动方式解压后可获取。

2020-01-14

linux基础.pdf

参考黑马程序员视频课件,整理的一份关于linux基础的文档,

2019-08-29

破解charles30天的使用权限破解jar包

破解30天的使用权限,替换掉原文件夹里的charles.jar即可,路径如下 Mac: /Applications/Charles.app/Contents/Java/charles.jar Windows: C:\Program Files\Charles\lib\charles.jar

2019-04-19

charles抓包工具

Charles是一款很实用,界面很友好(至少跟fiddler比起来),功能强大的抓包神器,因为它是基于 java 开发的,所以跨平台,Mac、Linux、Windows下都是可以使用的,并且在Android和iOS设备上通用。它的原理是通过成为电脑或者移动设备的代理截取请求和请求结果达到分析抓包的目的。

2019-04-19

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

TA关注的人

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