自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 python-selenium页面定位不到元素

2、F12查看需要定位的元素是否在frame中,若在frame中,需要切换句柄在进行定位。1、查看是否有新的url打开。

2022-10-25 14:40:42 449 1

原创 python-selenium爬取页面数据

🎈🎈现在只用Selenium就可以完成 mitmproxy + Selenium 的组合才能完成的操作~~~Selenium获取Network,Selenium获取XHR数据,Selenium获取Network数据,很详细。【Selenium】Selenium获取Network数据(高级版)_是小菜欸的博客-CSDN博客_selenium获取network。首先需要这个打开的浏览器是固定端口,可以通过运行一下代码来打开一个浏览器。2、python selenium 操作需要获取页面中请求的响应数据。

2022-10-24 15:22:53 5058

原创 python_selenium的学习

1、只能找到一个页面上对应的元素标识,对frame/iframe表单内嵌的页面元素无法直接定位。3、元素没有加载出来就对元素进行定位,可以通过等待解决。

2022-09-04 14:12:35 1539

原创 谷歌Xswitch插件下载及安装失败原因

5. 在谷歌浏览器的地址栏输入 “chrome://extensions/” 进入。1. 如果是.crx文件不能直接点安装,拖动安装也失败,需要保存在电脑中。2.把程序的扩展名从 “.crx” 改变到 “.zip或rar”.” 图标, 之后点击 “载入未完成的开发包” 按钮。3. 在解压程序中打开,形成一个文件包!7. 浏览第四步中的文件夹,之后点击确定.4. 把文件夹放到你的硬盘目录下。点击跳转:(无需币)...

2022-08-29 21:35:28 1044

原创 使用 Jmeter 工具进行脚本录制

4、点击start开启,开启电脑的代理模式,端口和jmeter设置的保持一致(默认8888)2、添加一个http代理请求:测试计划-添加-非测试元件-http代理服务器。3、设置目标控制器(也就是把获取到的请求放在第一步创建的线程组中)1、添加一个线程组:测试计划-添加-线程(用户)-线程组。5、访问需要的网站,jmeter就会记录请求了。录制完成之后记得关闭代理!...

2022-08-27 21:13:39 287

原创 字符串相关算法

1、给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。j将字符串全部转化成小写字符,循环判断每个字符是否是有效字符,并用指针比较首尾。 2、给你一个字符串 ,仅反转字符串中的所有元音字母,并返回结果字符串。元音字母包括 、、、、,且可能以大小写两种形式出现。 首尾指针朝中间进行遍历,只要遇到特定元素就交换。.........

2022-07-11 23:04:37 143

原创 MIT6.031 软件构造 Reading7阅读笔记Designing Specifications(设计规范)

Reading 7: Designing Specifications此篇文章研究类了似行为的不同规范,并讨论它们之间的权衡。将探索是什么使某些规范比其他规范更好。从以下三个方面来比较:确定性:当呈现满足前提条件的状态时,结果完全确定。只有一个返回值和一个最终状态是可能的。没有多个有效输出的有效输入。 确定性差不等于不确定性,不确定性必须引入随机化元素。操作规范给出了该方法执行的一系列步骤;伪代码描述是可操作的。 声明式规范没有给出中间步骤的细节。相反,它们只是给出最终结果的属性,以及它与初始状态的关系。为

2022-06-18 16:00:00 228

原创 自学ADT和OOP

Abstract Data Type,抽象数据类型,是指数据结构作为一个软件组件的实现。ADT的接口用一种类型和该类型上的一组操作来定义,每个操作由它的输入和输出定义。ADT并不会指定数据类型如何实现,这些实现细节对于ADT的用户来说是隐藏的,并且通过封装(encapsulation)来阻止外部对他的访问。数据结构(Data Structure)是ADT的实现,在诸如c++之类的面向对象语言中,ADT及其实现组成了类(class)。同ADT联系在一起的每个操作均由一个成员函数(member function

2022-06-18 11:58:35 142

原创 类、API、框架三个层面学习如何设计可复用软件实体的具体技术的学习心得

软件复用的主要思想是,将软件看成是由不同功能部分的“组件”所组成的有机体,每一个组件在设计编写时可以被设计成完成同类工作的通用工具,这样,如果完成各种工作的组件被建立起来以后,编写一特定软件的工作就变成了将各种不同组件组织连接起来的简单问题,这对于软件产品的最终质量和维护工作都有本质性的改变。软件复用就是将已有的软件成分用于构造新的软件系统。可以被复用的软件成分一般称作可复用构件,无论对可复用构件原封不动地使用还是作适当的修改后再使用,只要是用来构造新软件,则都可称作复用。软件复用不仅仅是对程序的复用,它还

2022-06-18 11:04:22 139

原创 设计模式解决问题及如何选择设计模式解决问题

一、GRASP是什么以及包含的九个原则GRASP,通用职责分配软件模式,它由Craig Larman提出。与其将它们称之为设计模式,不如称之为设计原则,因为它是站在面向对象设计的角度,告诉我们怎样设计问题空间中的类与分配它们的行为职责,以及明确了类之间的相互关系等,而不像GoF模式一样是针对特定问题而提出的解决方案。因此GRASP站在一个更高的角度来看待面向对象软件的设计,它是GoF设计模式的基础。GRASP是对象职责分配的基本原则,其核心思想是职责分配,用职责设计对象。它包含如下9个基本特征或原则:1

2022-06-17 17:32:50 338

原创 http和https的区别

端口:http端口是80;https端口是443;协议:HTTP 是超文本传输协议,信息是明文传输,HTTPS 则是具有安全性的 SSL 加密传输协议。连接状态:http无连接的协议;https有连接的协议。安全性:http不安全;https安全。费用:http免费;https需要去CA机构申请证书,费用高。get请求:能够被缓存;被保存在浏览器的浏览记录中;在url中体现,且这个url可以被保存成书签;get有长度限制;安全性低;效率相对较高。post请求:不能被缓存;不会保存在浏览器的浏览记录中;不在u

2022-06-13 21:40:07 102

原创 app测试的相关内容

目录一、app专项测试:二、app测试和web测试的区别:1、兼容性测试:在不同机型、不同系统、不同分辨率的手机上测试是否能正常使用。系统版本:iOS 和 安卓(主流的系统)屏幕尺寸不同机型2、网络测试:网络无网、弱网、网络切换、流量网、wifi网情况下软件是否有异常情况出现。弱网环境:①ios系统在开发者模式中设置②借助fiddler 工具③设置路由器的网速3、埋点测试:把客户端的操作记录到服务器上去。测试是否有埋点、埋点的正确性、埋点的次数是否正确。例如观看搞笑视频1次,查看服务器上是否有记录、接口的返

2022-06-13 20:19:27 469

原创 登录功能&新增文章功能的测试点提取以及测试用例编写

写在前面:这是基于SSM框架搭建的博客系统,对登录功能和新增文章功能两个模块进行测试点的提取及测试用例的编写。软件质量模型指明了测试切入点:功能、性能、兼容性、安全性、易用性、可靠性、可移植性、可维护性、UI界面等。下面的两个功能分别在功能、兼容性、界面UI测试给出分析和用例。一、登录功能1、需求分析需要输入手机号,通过手机号获取并输入验证码,勾选协议即可登录。手机号必须是注册账号。 协议必须勾选。2、提取测试点3、测试用例的编写编写测试用例时,正向用例一次可.

2022-04-22 21:39:21 3199

原创 软件测试(1)

1、软件测试的概念软件测试就是利用技术手段进行对生产的软件进行检查,查看其是否满足用户的实际需求。相当于拿着放大镜对两张看似相同的图片找不同,测试工作类似于从产品的各个角度进行分析寻找出和用户需求的不同之处。2、软件测试的目的利用最少的人力、物力、财力,找打软件中得问题并修复,从而降低商业风险。3、软件测试的分类根据阶段来分: 单元测试:对最小的软件单元模块进行验证,是为了确保软件被正确的编码,通常是百合测试,对代码风格和规则、业务逻辑等进行测试,以便于尽早发现和解决不易显现的错误。.

2022-04-21 11:26:03 1695

原创 基于SpringBoot框架Wbe Magic爬虫框架爬取招聘信息项目(1)

涉及的技术点:SpringBoot框架、Web Magic爬⾍框架、MySQL、mybatis。使用语言:Java。使用工具:idea。本篇文章主要讲解搭建项目 以及 如何将页面数据输出打印到idea后台上。暂不涉及数据库。(下篇文章涉及到会继续更新…)目录1、创建项目2、maven中导入依赖pom.xml3、修改启动类名称4、创建一个spider包,创建爬虫信息类SXSProcessor.java5、给定Controller层一个类,来触发爬取页面的启动6、在Sp.

2022-04-15 20:58:29 1135 2

原创 SpringBoot入门介绍&快速上手搭建&自动装配原理

1 了解SpringBoot属于Spring家族。 快速开发框架,可以快速搭建一套基于SpringBoot框架体系的应用。 自动装配,无需手动引入全部依赖 项目可独立运行,内置容器,无需外部引入2 SpringBoot快速入门1、创建一个maven项目2、在pom.xml中,必须先将parent设为是springboot的parent,该parent包含了大量默认的配置,大大简化了开发。 <parent> <groupId>org.s

2022-04-15 20:01:54 1215

原创 软件测试-性能测试以及JMeter工具的使用

目录1 性能测试1.1 概念1.2 性能测试指标1.3 性能测试步骤2 JMeter的安装3 JMeter的默认配置修改3.1 界面英文改中文(汉化)3.2 修改主题(外观)​4 JMeter的元件和组件介绍4.1 元件和组件的概念4.2 元件的功能5 使用JMeter的第一个案例:访问百度首页6 线程组介绍7 Http请求介绍8 察看结果树介绍9 JMeter参数化9.1 参数化9.2 参数化的4种方法1 性能测试1...

2022-03-10 16:06:07 1248

原创 软件测试-web自动化测试以及工具selenium

web自动化测试,爬虫

2022-03-08 09:59:01 943 9

原创 [LeetCode-java实现]3. 无重复字符的最长子串

给定一个字符串 s ,请你找出其中不含有重复字符的最长子串的长度。示例1:输入: s = "abcabcbb"输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: s = "pwwkew"输出: 3解释: 因为无重复字符的最长子串是"wke",所以其长度为 3。 请注意,你的答案必须是 子串 的长...

2022-02-02 10:50:17 171

原创 ArrayList(动态数组)、LinkedList(单链表)、DLink(双向链表)的实现

首先来分析一下,这几种存储结构需要实现的共同点,也就是最基础的增删改查。那么把它们的共性先提取出来,形成一个List接口。然后编写实现时需要继承该接口,重写里面的方法即可。List接口这是一个接口,包含这几个操作都需要的基本方法,头部添加元素,尾部添加元素,删除头部元素,删除尾部元素,删除指定元素,更改元素,查找元素,和元素的个数统计。public interface List<T> { //头部添加 void addHead(T value); //尾

2022-01-27 18:17:00 952

原创 软件测试基础

1.软件定义1.1什么是软件?软件:是计算机系统中与硬件相互依存的一部分(程序+数据+相关文档)。1.2软件的分类按照功能划分: 系统软件: 能够直接操作底层的硬件、并为上层软件提供支持的软件,如操作系统软件、各种硬件驱动程序等应用软件: 能够为用户提供某种特定条件的应用服务的软件,如金山词霸按照技术架构划分:单机软件:直接在单个计算机上安装并运行的软件,如画图工具C/S 结构软件:C指的是客户端(Clie...

2022-01-17 19:55:11 1104

原创 时间复杂度和空间复杂度分析

基本概念算法:是解决某一特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示有一个或者多个操作。对于一个特定问题进行求解,可以使用不同的算法,或许最终结果是一样的,但在此过程中消耗的时间,占用的空间都有可能不同。 算法的特征:输入输出,有穷性,确定性,可行性。 算法的要求:正确性,可读性,健壮性,时间效率高和存储量低。 时间复杂度:它定性描述该算法的运行时间。这是一个代表算法输入值的字符串的长度的函数。时间复杂度常用大O符号表述,记作T(n)=O(f(n)。 平均时间复杂..

2022-01-13 22:41:57 380

原创 [字符串题-java实现]20. 有效的括号

题目给定一个只包括 '(',')','{','}','[',']'的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。示例 1:输入:s = "()"输出:true示例2:输入:s = "()[]{}"输出:true示例3:输入:s = "(]"输出:false示例4:输入:s = "([)]"输出:false示例5:输入:s = "{[]}"输出:true...

2022-01-13 20:38:04 899

原创 [字符串题-java]1189. “气球” 的最大数量

题目描述给你一个字符串text,你需要使用 text 中的字母来拼凑尽可能多的单词"balloon"(气球)。字符串text 中的每个字母最多只能被使用一次。请你返回最多可以拼凑出多少个单词"balloon"。示例 1:输入:text = "nlaebolko"输出:1示例 2:输入:text = "loonbalxballpoon"输出:2示例 3:输入:text = "leetcode"输出:0来源:力扣(LeetCode)链接:https://...

2022-01-11 15:25:09 176

原创 [字符串题-java实现]LeetCode551. 学生出勤记录 I

目录题目要求代码实现1代码分析11、indexOf(String str)2、lastIndexOf(String str)3、contains(CharSequence s)代码实现2代码解释2题目要求给你一个字符串 s 表示一个学生的出勤记录,其中的每个字符用来标记当天的出勤情况(缺勤、迟到、到场)。记录中只含下面三种字符:'A':Absent,缺勤'L':Late,迟到'P':Present,到场如果学生能够 同时 满足下面两个条件,则可以获..

2022-01-10 18:59:25 276

原创 斗地主发牌案例

要求给三个玩家依次发牌,最后三张留作底牌。学习视频链接:零基础入门Java之集合_哔哩哔哩_bilibili代码/*操作步骤:1、准备扑克牌2、洗牌3、发牌4、查看牌 */import java.util.ArrayList;import java.util.Collections;import java.util.Iterator;public class DouDiZhu { public static void main(String[]..

2022-01-02 14:38:11 305

原创 AIO模型

AIO模型介绍AIO(Asynchronous I/O) 异步非阻塞模型, 在javajdk.17版本开始支持AIO,AIO模型需要操作系统的支持AIO最大的特性是异步能力,对socket和I/O起作用异步IO模型类似的与NIO模型不同,读写操作为例,只需直接调用read和write的API即可,这方法都是异步的对于读操作:当有流可读是,系统会将可读的流传入到read方法的缓冲区,并通知应用程序读写都是异步的,完成之后会主动调用回调函数在JDK 1.7中,...

2021-12-28 18:46:37 1285

原创 结构性模式

目录代理模式(Proxy)代理模式介绍代码实现静态代理代码JDK动态代理(通过接口)CGLib动态代理(通过继承)适配器模式(Adapter)装饰器模式(Decorator)结构性模式主要关注对象之间的关系,主要为了通过改变代码结构来达到解耦的目的,时代码容易维护和拓展。结构型模式分为以下 7 种:代理(Proxy)模式:为某对象提供一种代理以控制对该对象的访问。即客户端通过代理间接地访问该对象,从而限制、增强或修改该对象的一些特性。 适配器(Adapte..

2021-12-24 15:47:51 812

原创 创建型模式-单例模式、工厂模式

目录创建型模式特点创建型模式分类单例模式(Singleton Pattern)单例介绍代码演示①饿汉式(静态常量)②饿汉式(静态代码块)③懒汉式(线程不安全)④懒汉式(线程安全,同步方法)⑤懒汉式(线程安全,同步代码块)⑥双重检查⑦静态内部类⑧枚举方式单例再探究优点:缺点:适用场景:Java应用1、spring中的单例创建型模式特点关注的问题:创建对象,将对象的创建和使用分离,这样的目的可以降低代码的耦合度创建型模式分类

2021-12-10 22:04:57 1056

原创 初步认识设计模式

目录设计模式的概念23种设计模式设计模式中重要原则设计模式的概念设计模式是软件开发人员在软件开发过程中的一般问题的解决方案。这些解决方案是后期软件开发人员经过了相当长的头发的试验和错误总结出来的。它是解决特定问题的一系列的套路。使用设计模式是为了重用代码、让代码更容易被人理解,提高代码的可用性,代码的可读性和可靠性。优点:代码复用:减少开发时间, 提高开发效率简洁易维护:便于代码的可读性和代码的维护设计模式是开发工程化,规范化23种设计模式共有23种设

2021-12-10 21:31:57 323

原创 Redis(九)Redis的重要知识点

1、Redis是什么?Redis(Remote Dictionary Server)是一个使用 C 语言编写的,高性能非关系型的键值对数据库。与传统数据库不同的是,Redis 的数据是存在内存中的,所以读写速度非常快,被广泛应用于缓存方向。Redis可以将数据写入磁盘中,保证了数据的安全不丢失,而且Redis的操作是原子性的。2、Redis的优点?基于内存操作,内存读写速度快。 Redis是单线程的,避免线程切换开销及多线程的竞争问题。单线程是指网络请求使用一个线程来处理,即一个..

2021-12-04 10:41:16 850

原创 Redis(八)高可用介绍-主从复制、哨兵模式

目录高可用基础-主从复制复制原理主从复制配置高可用方案-哨兵模式sentinel哨兵模式简介哨兵原理sentinel.conf配置讲解哨兵模式配置哨兵模式的优点哨兵模式的缺点高可用基础-主从复制Redis的复制功能是支持将多个数据库之间进行数据同步,分为一个主数据库和多个从数据库,主数据库和从数据库是一对多的关系,主数据库可以进行读写操作,当主数据库数据发生改变时会自动同步到从数据库,从数据库一般是只读的,会接收主数据库同步过来的数据。一个主数据库可以

2021-12-03 18:42:52 146

原创 Redis(七)Redis缓存数据一致性及缓存问题(缓存穿透、缓存击穿、缓存雪崩)

目录缓存存在的意义如何保证缓存和数据库数据一致性缓存问题1、缓存穿透-大量请求在数据库查不到相应数据2、缓存击穿-请求量太大,缓存突然过期3、缓存雪崩-在某一个时间段,缓存集中过期失效或者Redis宕机缓存存在的意义将一些数据(最近访问的)放在缓存中,当客户端需要访问数据库中数据时,可以先访问缓存,如果它里面存在这样对应的数据就不会去访问数据库,从而减小数据库的压力。那么客户端对数据库的操作有 增删改查,但是只有当查数据库里面的信息时才会先访问缓存,那么缓存里的数据时如何

2021-12-03 18:38:27 1456

原创 Redis(六)Java连接Redis

在java的体系下,有三个常用的Redis的客户端:jedis、Redisson和Lettuce。Redis的客户端:Jedis:其API提高了比较全面的Redis命令的支持,暴露了Redis比较底层的Redis的API,和Redis的命令保持一致。Redisson:实现了分布式可可扩展的Java的数据结构,提供了分布式相关的操作。比如分布式锁、分布式集合,但是和jedis相比,不支持字符串操作,不支持排序,事务等Lettuce:用于线程安全的同步,异步和响应,支持集群,哨兵等。sprin

2021-11-29 22:13:33 922

原创 Redis(五)Redis内存维护方案(过期策略及淘汰策略)

在redis作为缓存使用过的程中,当内存不足时,Redis根据配置进行缓存淘汰大部分keys,保证后续写入能够成功。内存维护解决方案在Redis的配置文件中redis.conf 中memeory managment# maxmemory <bytes># MAXMEMORY POLICY:# volatile-lru -> Evict using approximated LRU, only keys with an expire set.# allkeys-lr

2021-11-29 22:09:41 839

原创 Redis(四)Redis事务的介绍

Redis事务特点Redis事务就是一次性,顺序性,排他性的执行一个队列中的一系列的命令。注意:Redis事务不保证原子性。Redis中,单条命令是原子执行的,但是事务不保证原子性,且没有回滚的概念。事务中任意命令执行失败,其余的命令仍会执行。Redis事务是没有隔离级别的概念。批量操作在发送exec命令前被放入队列,并不会实际执行,也就不存在事务内的查询要看到事务里的更新,事务外查询不能看到。事务命令Redis的事务机制将批量操作的命令放入到队列缓存,在..

2021-11-29 18:58:36 115

原创 Redis(三)Redis持久化的介绍-(RDB、AOF)

目录RDB:内存快照触发RDB方式恢复RDB文件优点缺点AOF(Append Only File)日志文件AOF回写策略优点缺点数据安全性问题,将内存数据存储到磁盘当中,即持久化问题RDB:内存快照内存快照:就是指内存中数据在某一时刻的状态记录。RDB是Redis中默认的持久化方案。RDB持久化会将内存中的数据写入到磁盘中,在指定的目录下生产一个dump.rdb文件。Redis重启时会加载dump.rdb文件恢复数据。Redis中提供了两个命令生成

2021-11-29 18:45:28 124

原创 SSM的整合(Spring SpringMVC Mybatis)

目录1、引入依赖(在pom.xml文件中添加)2、pojo类(User.java)3、开发dao层3.1mybatis配置文件(mybatis-config.xml)3.2mapper.java接口(UserMapper.java)3.3Mapper.xml文件(UserMapper.xml)4、spring配置文件(spring-config.xml)5、Service层(UserService.java)6、Contrller层(UserController....

2021-11-26 21:40:56 706

原创 SSM整合出现问题- org.apache.ibatis.transaction.TransactionFactory

[WARNING] Nested in org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userController': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not.

2021-11-26 18:31:22 390

原创 Spring中的AOP技术Demo的使用(注解和非注解形式实现)

目录1、引入核心依赖2、给定一个房东类3、中介类4.1、基于XML配置形式实现4.2、基于注解形式实现AOP操作AOP(Aspect Oriented Programming),面向切面编程,通过预编译方式和运行期间动态代理实现实现在不修改源代码的情况下给程序动态统一添加某种特定功能的一种技术。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。以模拟租房业务来讲解AOP技术的两种实现形式AO

2021-11-23 12:04:53 996

XSwitch谷歌浏览器插件

XSwitch.crx插件解决本地开发请求转发的浏览器插件。 前端页面不发生改变,请求的后端地址可以转向需要请求的地址。

2022-08-29

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

TA关注的人

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