自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 冒泡排序与选择排序

冒泡排序与选择排序冒泡排序原理比较相邻的元素。如果第一个比第二个大,就交换他们两个如 1 3 5 4 2排序完第一趟为 1 3 4 2 5第二趟为 1 3 2 4 5第三趟为 1 2 3 4 5第四躺为 1 2 3 4 5先确定外层循环,一共要排序 n-1 次 (n为排序的元素个数),也就是列表的长度内层循环为n-i-1 (i为第几趟)python代码实现def m(li): for i in range(len(li) - 1): exchange = Fa

2021-06-23 23:01:41 157

原创 顺序查找和二分查找

顺序查找和二分查找顺序查找对于任意一个序列以及一个给定的元素,将给定元素与序列中元素依次比较,直到找出与给定关键字相同的元素,或者将序列中的元素与其都比较完为止。python代码实现def sequence(li, val): for index, v in enumerate(li): if val == v: return index else: return Noneprint(sequence([1, 2, 3,

2021-06-22 21:37:26 423

原创 汉诺塔问题

汉诺塔问题汉诺塔(Tower of Hanoi),又称河内塔,是一个源于印度古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。经典题目有三根相邻的柱子,标号为A,B,C,A柱子上从下到上按金字塔状叠放着n个不同大小的圆盘,要把所有盘子一个一个移动到柱子C上,并且每次移动同一根柱子上都不能出现大盘子在小盘子上

2021-06-22 20:34:46 325

原创 Django 配置CSRF(跨站点请求伪造)保护

Django 配置CSRF(跨站点请求伪造)保护配置在项目的setings.py文件中 添加如下。MIDDLEWARE = [ 'django.middleware.csrf.CsrfViewMiddleware',]跨域请求伪造保护实现主要分为两步第一步:Django 的 CSRF 保护要求请求的Referer 标头与标头中存在的来源相匹配Host。例如,这可以防止针对 的POST请求subdomain.example.com成功api.example.com。如果您需要

2021-06-16 16:19:40 2618

原创 Django 配置跨域访问

Django 配置跨域访问django-cors-headers 是一个 Django 应用程序,用于处理跨域资源共享 (CORS) 所需的服务器标头。安装python -m pip install django-cors-headers然后在项目的seting.py 文件下添加如下信息INSTALLED_APPS = [ ... 'corsheaders' , ... ]确保添加尾随逗号,否则可能会收到ModuleNotFoundError 错误提示还

2021-06-10 15:40:18 1039 2

原创 创建一个Django项目并配置mysql数据库

创建一个Django项目并配置mysql数据库前提:已安装python和Django创建项目django-admin startproject mysite此命令会在当前项目下创建一个名为 mysite的项目结构如下:mysite/ manage.py mysite/ __init__.py settings.py urls.py asgi.py wsgi.py最外层的 mysite/ 根目

2021-04-29 11:25:23 2580

原创 idea 配置使用python虚拟环境 及Django启动配置

前提:当我们打开一个已经开发好的项目进行开发时,往往需要配置虚拟环境及idea Django的启动配置 详细步骤如下:用idea 打开已经创建好的项目,如图所示项目结构如下这时 我们会看到一个filename.txt 文件 这个文件记录了我们项目的所需依赖库项目必须的基础环境:python3.7(已安装)1.安装virtualenvwindows下pip install virtualenv创建虚拟环境 当前项目目录下执行virtualenv .venv这里.

2021-04-27 17:10:02 4025

原创 Docker 网络详解

Docker 网络详解理解docker0测试三个网络# 问题:docker是怎么处理容器网络连接的docker run -d -p --name tomcat01 tomcat#查看容器内部网路地址 ip addr 发现容器启动的时候会得到一个 eth00if262 ip地址,docker分配的# 思考 linux能不能ping通容器内部# linux 可以ping通容器内部原理1,我们每启动一个docker容器 docker就会给docker容器分配一个ip,我

2021-04-13 20:20:35 198

原创 ssh设置免密登录(八)

1.阿里云1生成公私钥因为这里是通过阿里云1连接阿里云3通过shell脚本实现部署环境,这里执行如下命令(注意这里应该用Jenkins用户生成 因为Jenkins运行时默认是用的Jenkins账号执行命令)ssh-keygen如下所示生成了公私钥[jenkins@iZwz9bdvacsset2y3am4cwZ root .ssh]# ssh-keygenGenerating public/private rsa key pair.Enter file in which to save the

2021-04-12 20:45:23 194

原创 使用Jenkins+Docker构建企业级持续集成环境(七)

Dockerfile文件如下#使用的基础镜像FROM java:8COPY ./target/*.jar /app.jarCMD ["--server.port=8080"]ENTRYPOINT ["java","-jar","/app.jar"]COPY ./target/*.jar /app.jar 因为Jenkins的操作目录就是当前项目的工作目录,而我们生成的jar就在target目录下所以这里主要是将jar包拷贝到容器中并重命名为app.jar修改Jenkinsfile如下所示

2021-04-12 20:42:17 642

原创 使用Jenkins+Docker构建企业级持续集成环境(六)

(8)github实现提交代码自动构建Jenkins流水线找到github的仓库页面,点击seting配置webhook这里的url是你的Jenkins地址/github-webhook/ 记住最后一个斜杠千万不能丢 不然下面的测试就会报302接着配置Jenkins保存并应用注:当这里填写https报错的时候 可以修改为git...

2021-04-12 20:36:49 671

原创 使用Jenkins+Docker构建企业级持续集成环境(五)

选择token方式登陆创建token复制token登陆创建本地仓库git addgit commit推送到远程仓库推送成功

2021-04-12 20:32:57 132

原创 用Jenkins+Docker构建企业级持续集成环境(四)

(1)安装git(阿里云1)cd /optmkdir gitcd gityum install gitgit 初始化配置[root@iZwz9bdvacsset2y3am4cwZ git]# git config --global user.name "testzhpzz"[root@iZwz9bdvacsset2y3am4cwZ git]# git config --global user.email "419939241@qq.com"(2)安装docker(三台机器)安装yum-

2021-04-08 20:38:48 170

原创 使用Jenkins+Docker构建企业级持续集成环境(三)

安装Jenkins(阿里云1)安装rz命令yum -y install lrzsz安装软件启动ftp服务yum install vsftpd # 安装service vsftpd start # 启动服务chkconfig vsftpd on # 开机启动安全组开放21端口安装JDK将下载好的JDK安装包通过xftp上传到服务器,可自定义一个目录存(/home/temp)放并进行解压,执行命令行如下:1 # mkdir /home/temp2 # cd /home/temp

2021-04-08 20:27:02 510

原创 使用Jenkins+Docker构建企业级持续集成环境(二)

企业级DevOps实现利用Jenkins+Docker+github+ Harbar 实现企业级DevOps(1)前提先准备三台阿里云服务器 (百度自行购买 我这里买的是1核2g的centos7.9 的ecs服务器)利用xshell 连接三台服务器阿里云1:Jenkins git docker阿里云2:harbar docker-compose docker阿里云3:docker web服务我这里使用github,安装私有的gitlab需要服务器至少2核4g配置(我穷).

2021-04-08 20:13:40 189

原创 使用Jenkins+Docker构建企业级持续集成环境(一)

什么是DevOps?DevOps是一组过程、方法与系统的统称,用于促进开发、技术运营和质量保障(QA)部门之间的沟通、协作与整合。这个定位稍微有点抽象,但是并不难理解。反正它不是某一个特定软件、工具或平台的名字。从目标来看,DevOps就是让开发人员和运维人员更好地沟通合作,通过自动化流程来使得软件整体过程更加快捷和可靠。什么是CI?通过持续集成,开发人员能够频繁地将其代码集成到公共代码仓库的主分支中。 开发人员能够在任何时候多次向仓库提交作品,而不是独立地开发每个功能模块并在开发周期结束时一一

2021-04-07 21:53:06 360

原创 性能测试学习笔记

性能测试学习笔记测试基础性能测试并不是并发越大,响应时间越快,那性能一定就越好。性能测试需要依赖服务器硬件,所以要分析性能,需掌握服务器知识作为性能测试工程师来说,我们需要对系统行为做分析:系统调用是如何执行的,CPU是如何调度线程,有限大小的内存是如何影响性能的,或者是文件系统是如何处理IO的,这些都是我们判断系统瓶颈的依据和线索。性能测试流程不同角色看性能黑盒测试的角度黑盒测试只关注应用的单步响应时间开发角度(1)架构合理性(2)数据库设计合理性(3)代码(4)系统里的内存的

2021-03-19 14:25:39 572

原创 Shell 脚本学习笔记

Shell 脚本学习笔记第一个Shell脚本#!/bin/bashecho "Hello World"chmod +x ./HelloWorld.sh #使脚本具有执行权限./HelloWorld.sh #执行脚本Shell 变量变量命名的规范跟java差不多#!/bin/bashusername="zhihaopcq"echo $username变量与等号不能留空格Shell 传递参数可以再执行shell脚本的时候跟上参数 传递给脚本内使用#! /bin/bashe

2021-03-17 14:34:11 84

原创 Docker:安装教程(一)

安装前提:首先要有一台虚拟机或者linux服务器在新主机上首次安装Docker Engine之前,需要设置Docker存储库。之后,您可以从存储库安装和更新Docker。设置存储库安装yum-utils软件包(提供yum-config-manager实用程序)并设置稳定的存储库。$ sudo yum install -y yum-utils$ sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-c.

2021-03-01 20:05:08 133

原创 Java设计模式(十三):动态代理

基本介绍思路如下代码如下Clientpackage dynamicagent;public class Client { public static void main(String[] args) { TeacherDao teacherDao = new TeacherDao(); ITeacherDao iTeacherDao = (ITeacherDao) new ProxyFactory(teacherDao).getPro

2021-02-19 21:38:52 76

原创 java设计模式(十二):代理模式(静态代理)

基本介绍实现思路代码如下Clientpackage staticproxy;public class Client { public static void main(String[] args) { TeacherDaoProxy teacherDaoProxy = new TeacherDaoProxy(new TeacherDao()); teacherDaoProxy.teacher(); }}ITeacherDa

2021-02-19 20:44:25 59

转载 WEB测试和APP测试的区别

单纯从的层面上来讲的话,APP测试和web测试在测试流程和功能测试方面是没有区别的。但是两者的载体毕竟不一样,由此产生的区别有以下几点:系统结构方面:web项目:b/s架构;web测试只要更新了服务器端,客户端就会同步会更新。App项目:c/s结构的,必须要有客户端;app 修改了服务端,则客户端用户所有核心版本都需要进行回归测试一遍。性能方面:web项目:需监测响应时间、CPU、Memory。App项目:除了监测响应时间、CPU、Memory外,还需监测流量、电量等。兼容方

2021-02-08 10:08:44 247

原创 java设计模式(十一):适配器模式(接口适配器)

思想如下

2021-02-07 21:46:07 93

原创 java设计模式(十):适配器模式(对象适配器)

需求如下思路如下代码如下Clientpackage Adapter2;public class Client { public static void main(String[] args) { Phone phone = new Phone(); phone.charging(new VoltageAdapter(new Valtage220V())); }}Phonepackage Adapter2.

2021-02-07 21:32:54 83

原创 java设计模式(九):适配器模式(类适配器)

需求如下要想用5v的直流电,但是我们只有220v的充电器,这里就需要增加一个适配器,将220v电压转化为5v。思路如下这里适配器类继承了被适配类。得到了他的属性值220v,然后将220v转化为5v,最后手机得到的电压为5v。代码如下Clientpackage Adapter;public class Client { public static void main(String[] args) { Phone phone = new Phone

2021-02-07 21:22:08 100

原创 java设计模式(八):抽象工厂模式

需求还是上一个需求设计思路如下抽象工厂实际就是简单工厂和工厂方法模式的结合,但个人觉得抽象工厂和工厂方法模式没有优劣之分。代码如下4个pizza类package abstractfactory;public class BjCheesePizza extends Pizza { @Override public void prepare() { System.out.println("加入北京奶酪"); }}pac...

2021-02-04 21:20:28 110

原创 java设计模式(七):工厂方法

思路一的实现思路如下思路二的实现思路如下工厂方法模式的实现思路如下思路三相比思路一增加了程序的扩展性,当需要加入新的地区的披萨,方式二不需要改变原有的代码只需加新的地区披萨类和新的地区披萨订单类继承订单披萨类就行了,而方式一需要修改SimpleFactory里的代码。方式三的代码实现如下:四个pizza类package factoryapproach;public class BjCheesePizza extends Pizza{ @Overr...

2021-02-04 15:55:15 75

原创 java设计模式(六):简单工厂模式

需求常规思维:这里的订单类和披萨类高度耦合。这样写违背了OCP原则(修改关闭,扩展开放),多个订单类的情况下,如果新增披萨就要修改每个订单类的代码,耦合性很高。简单工厂模式实现当需要大量创建对象的时候可以使用简单工厂模式这里加了一个简单工厂类,他可以返回任何类型的披萨,当加入新的披萨时,只需要修改简单工厂类的代码,不需要修改各种订单调用类代码分析如下代码如下Pizza类:package simplefactory;public a..

2021-02-02 21:53:13 80

原创 java设计模式(五):单例模式(枚举)

代码如下:package singleton;public class SingletonTest { public static void main(String[] args) { Singleton1 instance1 = Singleton1.INSTANCE; Singleton1 instance2 = Singleton1.INSTANCE; System.out.println(instance1 == instance2

2021-02-02 14:57:50 51 1

原创 java设计模式(四):单例模式(静态内部类)

代码如下package singleton;public class SingletonTest { public static void main(String[] args) { Singleton1 instance1 = Singleton1.getInstance(); Singleton1 instance2 = Singleton1.getInstance(); System.out.println(instance1 ==

2021-02-02 14:46:56 336

原创 java设计模式(三):单例模式(双重检查)

代码如下package singleton;public class SingletonTest { public static void main(String[] args) { Singleton1 instance1 = Singleton1.getInstance(); Singleton1 instance2 = Singleton1.getInstance(); System.out.println(instance1 ==

2021-02-02 14:30:20 100

原创 java设计模式(二):单例模式(懒汉式)

1.线程不同步懒汉式代码如下package singleton;public class SingletonTest { public static void main(String[] args) { Singleton1 instance1 = Singleton1.getInstance(); Singleton1 instance2 = Singleton1.getInstance(); System.out.println(i

2021-02-02 13:56:20 161 1

原创 java设计模式(一):单例模式(饿汉式)

饿汉式分为以下三步代码如下package singletonMode;public class Singleton1 { public static void main(String[] args) { Singleton instance = Singleton.getInstance(); Singleton instance2 = Singleton.getInstance(); if (instance==instance2)

2021-02-01 21:26:49 201

原创 环境搭建——linux服务器下安装tomcat

官网下载tomcat7:https://tomcat.apache.org/download-70.cgi下载后传入linux服务器解压 tar xzvf xxx进入解压好的目录,运行命令tomcat启动成功如需修改端口,修改tomcat conf目录下的server.xmlserver.xml文件中有三个端口设置  <Server port="8005" shutdown="SHUTDOWN"> :关闭时使用  <Connecto.

2021-01-14 15:01:40 122 2

原创 cucumber 在idea运行无问题 使用mvn test出现问题

原因:断言里面含有中文,在maven插件中添加这一行<argLine>-Dfile.encoding=UTF-8</argLine><plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> .

2020-09-17 15:14:45 466

原创 tomcat 访问空白web项目主页 显示空白

原因是路劲后面多了一个/ ,浪费了一天的时间。。。。

2020-09-17 15:11:19 528

原创 SpringBoot @Vaild注解拦截不生效

不要单独引入包,可能引入的包不全导致不生效!直接引入SpringBoot 的starter <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> <version>RELEASE</version>

2020-08-13 11:49:01 1637

原创 cypress 前端自动化测试实践三(Jenkins持续集成)

一、使用浏览器隐藏模式启动cypress命令在项目中的packasge.json中配置启动命令启动"scripts": { "cypress": "cypress run --headless",}使用命令npm run cypress 运行测试输入如图所示报告二、安装 start-server-and-test使用命令 npm istart-server-and-test安装完成后添加如下语句"testCypress": "start-serv...

2020-07-30 20:14:07 2829 5

原创 Vue Cli4+Elment-UI+MockJs搭建一个登陆页面的示例

一、 快速搭建一个项目参考文章vue cli4.0 快速搭建项目详解https://www.cnblogs.com/sese/p/11712275.html按照上述文章快速搭建一个vue项目如图所示搭建成功二、安装项目所需依赖npm i element-ui -Snpm install axios --savenpm install mockjsnpm install axios-mock-adapter --save-dev三、代码实现由于路由的默认指向

2020-07-30 15:03:35 1316 1

原创 cypress 前端自动化测试实践二(编写示例)

一、首先自己搭建一个vue+elmentui+mockjs的前端项目参照这篇文章https://segmentfault.com/a/1190000015682126二、编写登陆页面自动化的示例

2020-07-28 11:00:17 846

空空如也

空空如也

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

TA关注的人

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