自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 docker-存储卷

由 Docker 管理的卷,有明确名称,存储路径默认在宿主机的 /var/lib/docker/volumes/<卷名>/_data(Linux)。

2025-12-03 20:40:43 614 2

原创 docker容器-命令

Docker 容器是 Docker 生态中的,是基于 Docker 镜像创建的可执行环境,包含应用程序及其依赖(代码、运行时、库、环境变量等),并与宿主机和其他容器隔离,是镜像的 “动态运行形态”。通俗地讲,容器是镜像的运行实体。镜像是静态的只读文件,而容器带有运行时需要 的可写文件层,并且容器中的进程属于运行状态。即容器运行着真正的应用进程。容 器有初建、运行、停止、暂停和删除五种状态。虽然容器的本质是主机上运行的一个进程,但是容器有自己独立的命名空间隔离和资 源限制。

2025-12-03 20:29:24 1157

原创 docker镜像操作

Docker 镜像是 Docker 核心概念之一,是,包含运行应用程序所需的代码、运行时、库、环境变量和配置文件等,用于创建 Docker 容器。可以将镜像理解为容器的 “快照” 或 “安装包”,容器则是镜像的运行实例。

2025-12-02 15:36:28 672

原创 docker-搭建nginx服务

Nginx 是一款,同时也可作为负载均衡器、缓存服务器使用,以轻量级、高并发、低资源消耗著称,是云原生和容器化场景中最常用的网关 / 代理组件之一。Nginx 作为 Web 服务器可以向各种浏览器等客户端提供浏览服务,比如我们通过手机、 电脑、平板可以访问百度来实现对 web 服务器的访问。访问分为正向代理和反向代理。

2025-12-02 14:42:08 425

原创 docker使用

Docker 是一款,它能将应用程序及其依赖打包成轻量级、可移植的容器,让应用在任何支持 Docker 的环境中(如开发机、测试服务器、生产服务器)以相同方式运行,解决了 “在我电脑上能跑,到你电脑上就不行” 的环境一致性问题。

2025-11-30 17:35:18 1132

原创 docker卸载和安装,以及常见问题

这里我将以Ubuntu为例,来进行docker的卸载和安装,首先我们可以先查看自己的操作系统版本以及CPU支持其次我们需要卸载旧版本,我们输入 docker 命令查看我们的服务器是否存在旧版本,显然我的服务器是存在的此时就需要先进行卸载。

2025-11-30 14:10:33 453

原创 docker基础-LXC

LXC(Linux Containers)是一种,通过 Linux 内核的 cgroup(资源控制)、namespace(资源隔离)等特性,实现对进程组的隔离与管控,能在单个 Linux 主机上运行多个相互隔离的 “容器” 环境,每个容器拥有独立的文件系统、网络、进程空间等,且共享主机内核。

2025-11-27 19:11:15 550

原创 docker基础-cgroup

cgroup是 Linux 内核提供的一种物理资源管理机制,能实现对进程组的资源限制、记录、隔离与控制,是 Docker、LXC 等容器技术实现资源管控的核心基础之一,用来规定虚拟容器可以使用的资源常用pidstat和stress两个工具来进行cgroup的资源监控和压力测试。

2025-11-27 19:04:39 752

原创 docker基础-namespace

直接在物理服务器(带 CPU、内存、硬盘、网卡的硬件)上安装操作系统(如 CentOS、Windows Server),然后在系统上直接部署应用(如 Java 服务、MySQL),没有任何虚拟化 / 隔离层。:在物理机硬件和操作系统之间,加一层 “虚拟化层(Hypervisor)”,把一台物理机 “分割” 成多个独立的 “虚拟服务器(虚拟机)”,每个虚拟机有自己独立的操作系统、硬件资源(虚拟 CPU / 内存 / 硬盘),应用跑在虚拟机的系统里。

2025-11-26 16:15:59 821

原创 技术架构演进

当前一共有以下八种技术架构:单机架构应用数据分离架构应用服务集群架构读写分离/主从分离架构冷热分离架构垂直分离架构微服务架构容器编排架构其中,越往后的架构性能越高,能够支持更高的并发数量,后者是前者的优化。

2025-11-26 16:12:47 818

原创 自动化测试-logging日志和测试报告

除了直接使用模块中的函数以外,我们还可以自定义logger获取日志记录器:获取一个日志记录器对象, name 是当前模块的名称。

2025-11-10 16:10:10 876

原创 自动化测试-JSON Schema

JSON Schema是一个用来定义和校验JSON规范的工具,用来检测返回的JSON是否符合预期。

2025-11-10 16:01:56 1082

原创 自动化测试-YAML

YAML 是一种数据序列化语言,用于以人类可读的形式存储信息。它最初代表 “Yet Another Markup Language”,但后来更改为 “YAML Ain’t Markup Language”(YAML 不是一种标记语言),以区别于真正的标记语言。它类似于 XML 和 JSON 文件,但使用更简洁的语法。特点:YAML 是一种非常简单的基于文本的人类可读的语言,用于在人和计算机之间交换数据。YAML 不是一种编程语言。它主要用于存储配置信息。

2025-11-05 15:47:11 353

原创 自动化测试-pytest框架-进阶

在我们进行使用某一个接口的时候,会发现有一些接口会有一些前置条件或者是后置条件,俗称上下游,比如在使用图书管理系统的查询图书接口之前,我们要先进行登录,或者说在借阅一本书之前要先去查这本书是否还有剩余,这样的一些额外的操作可以保证我们流程正常的运行,模拟用户最真实的使用步骤,确保测试的真实性pytest框架有以下三种设置前后置的方法:分别使用和进行对方法的前后置操作执行代码之后,可以看到两个用例都分别输出了前后置:分别使用 setup_class 和 teardown_class 对整个测试类进行前后

2025-11-05 15:45:06 1107

原创 自动化框架pytest基础

pytest是当前支持python的接口自动化的主流框架之一,它提供了丰富的功能和灵活的用法,使得编写和运行测试用例变得简单而高效。语法风格: 函数式/面向对象(无需样板代码)断言方式: 原生assert表达式参数化支持: 内置测试报告: 支持多格式报告适用场景: 复杂项目、高扩展性需求。

2025-10-23 16:32:22 463

原创 接口自动化-requests模块

requests是 Python 中一个非常流行的 HTTP 客户端库,用于发送各种 HTTP 请求(如 GET、POST、PUT、DELETE 等),并处理服务器返回的响应。它以简洁易用的 API 设计取代了 Python 标准库中的urllib模块,大大降低了 HTTP 操作的复杂度,成为开发者处理网络请求的首选工具。方法法用于发送⼀个HTTP get 请求到指定的URL方法返回⼀个 Response 对象,这个对象包含了服务器返回的所有信息。

2025-10-23 16:25:31 637

原创 接口自动化测试概念

接口自动化测试是一种通过,对软件系统的进行功能验证、性能评估、兼容性检查等测试工作的技术手段。它的核心是模拟用户或系统之间的接口调用,自动校验接口的输入输出是否符合预期,从而替代人工重复执行接口测试用例。

2025-10-20 20:33:14 1048

原创 接口测试基础

用于规范不同实体(如模块、系统、组件、对象等)之间的通信方式,而不关注具体实现细节。简单来说,接口就像 “协议” 或 “说明书”:它规定了 “能做什么”“需要什么输入”“会返回什么结果”,但不规定 “具体怎么做”。接口一般有两种,一种是程序内部接口,一种是系统对外接口。

2025-10-20 20:31:19 1077

原创 Git常见使用

1.先创建一个文件,再进入到对应的文件夹中2.创建对应的Git仓库(在对应的文件夹内)

2025-06-29 19:53:20 736

原创 Redis-set类型

命令操作时间复杂度批量添加元素时,时间复杂度与元素数量成正比。O(k),k 是添加的元素个数批量删除元素时,时间复杂度与元素数量成正比。O(k),k 是删除的元素个数SCARD key直接返回集合的基数(元素个数),无需遍历。O(1)基于哈希表实现,判断元素是否存在的时间为常数。O(1)若 count 为正,返回不重复元素;为负可能返回重复元素。O(n),n 是返回的元素数量随机移除并返回元素,性能与数量相关。O(n),n 是弹出的元素数量。

2025-04-05 16:27:44 1264

原创 Redis-list类型

操作命令时间复杂度添加O(k),k 是插入的元素个数O(k),k 是插入的元素个数O(n),n 是 pivot 距离头或尾的偏移量查找O(s + n),s 是 start 偏移量,n 是范围长度O(n),n 是索引的偏移量llen keyO(1)删除lpop keyO(1)rpop keyO(1)O(k),k 是列表元素个数(需遍历)O(k),k 是需保留的元素个数修改O(n),n 是索引的偏移量阻塞版O(1)O(1)

2025-04-05 14:53:19 813

原创 Redis-Hash类型

命令执行结果时间复杂度设置值O(1)获取值O(1)删除fieldO(k), k是field个数hlen key计算field个数O(1)获取所有的field-valueO(k), k是field个数批量获取field-valueO(k), k是field个数批量设置field-valueO(k), k是field个数判断field是否存在O(1)hkeys key获取所有的fieldO(k), k是field个数hvals key获取所有的value。

2025-04-05 12:50:32 1093

原创 Redis-string类型

将 key 对应的 string 表示的浮点数加上对应的值,如果对应的值是负数,就会被视为减去对应的值,如果 key 不存在,就会被视为 key 对应的 value 是 0 ,如果 key 对应的不是 string ,或者不是一个浮点数,就会报错。将 key 对应的 string 表示的数字减去对应的值,如果 key 不存在,就会被视为 key 对应的 value 是 0 ,如果 key 对应的 string 不是一个整型或者范围超过了 64 位有符号整型,就会报错。

2025-04-04 09:00:00 1273

原创 Redis-通用命令

通用命令实际上也是要对Redis里面的对象进行操作的,那么我们在了解通用命令之前,要先了解怎么在Redis中创建一个基本的对象。在学会基本的创建获取之后,此时我们就可以对Redis中的对象进行创建,我们就可以学习全局命令了。返回值: 剩余的时间 -1 表示没有设置过过期时间, -2 表示 key 不存在。使用 redis-cli 可以进行连接,同时有两种连接方式,连接之后使用。这个指令是用来创建对象的,创建的对象是类似于哈希表那样的键值对。当然,我们也可以通过指令,一次性获取多个键的值。

2025-04-02 09:30:00 1720 2

原创 python文件具体操作

python的一些基本文件操作

2025-04-02 00:30:00 924

原创 列表、元组、字典

python的较复杂数据类型,列表/元组/字典

2025-04-01 10:00:00 713

原创 python函数使用

其实这里的函数,和我们其他语言的方法是一样的,同时我们也可以使用数学的函数来类比所以这里的函数也就是: 可以被重复使用的代码片段(缩进整个代码块)让我们来举一个例子:如果我们此时有三组数,我们要求每一组数的总和,并将这三个结果进行输出,如果不使用函数的话,代码就如下:这些代码里面有很多重复的语句,我们就可以将这些语句进行整合他们的结果是一样的函数定义的时候是不会运行函数里面的代码的,只有当函数被调用的时候,才会运行但是函数的定义,也可能没有形参列表调用函数同时在调用函数之前

2025-04-01 00:30:00 1050

原创 条件语句与循环

条件语句,循环,判断

2025-03-31 08:00:00 739

原创 python基本语法

变量设置,注释,输入输出,运算符

2025-03-31 00:30:00 1061

原创 Map和Set

在学习Map和Set之前,常见的搜索方式有:直接遍历: 时间复杂度为O(N),当待遍历元素较多时,效率就会下降二分查找: 时间复杂度为O(log_2N),但是在进行搜索前要保证数据能够按照某种规律分为两部分。

2025-03-17 17:23:01 1253

原创 LinkedList和链表

在我们学习ArrayList时,就发现ArrayList有一定缺陷:在插入或删除任意元素时,就需要将该元素的后序所有元素向后移或者向前移,这样的时间复杂度为: O(N)所以ArrayList不适合做任意位置的多次插入和删除操作所以我们又引入了链式存储结构,即链表。

2025-03-17 15:09:13 1574

原创 ArrayList

由一组具有相同数据类型的元素组成的有序序列。

2025-03-16 17:36:27 856

原创 网络通信基本

用于规定通信实体之间进行数据交换的规则、标准和约定的集合,同时网络协议定义了数据格式、传输顺序、错误处理、流量控制等方面的内容,用来确保不同设备之间能够有效地进行通信协议最终体现为在网络上传输的数据包的格式。

2025-03-16 14:55:39 681

原创 网络基本学习(测开必备知识)

是一种工作在。

2025-03-16 13:43:32 979

原创 Linux基本指令(测试专项)

以下指令是作为测试人员经常使用的Linux指令,此处使用的是 Ubuntu系统,其他系统的对应指令可能会有一些不完全一致同时也只是一部分指令,并不完全。

2025-03-13 07:00:00 1633

原创 搜索树(概念及操作)

cur 不为 root, cur是parent.right,所以parent.right = cur.right。cur 不为 root, cur是parent.right,所以parent.right = cur.left。cur 不为 root, cur是parent.left,所以parent.left = cur.right。cur 不为 root, cur是parent.left,所以parent.left = cur.left。cur为被删除节点,parent为被删除节点的父节点。

2025-03-13 06:30:00 751

原创 泛型初阶篇

在认识泛型之前我们要先知道包装类在Java中,基本类型并不是继承自 Object 类,为了在泛型代码中可以支持基本类型,Java就使用了包装类来对应基本类型基本数据类型包装类byteByteshortShortintIntegerlongLongfloatFloatdoubleDoublecharCharacterbooleanBoolean。

2025-03-12 08:00:00 927

原创 文件操作(IO)

首先,什么是文件?怎样才算是文件?从广义上来看: 在操作系统中,将很多资源(硬件资源/软件资源)抽象成文件从狭义上来看: 平时保存在硬盘上的资源也就是说,针对硬盘这种持久存储的I/O设备进行数据保存时,往往不是保存为一个整体,而是保存为一个个独立的单位,此时这些独立的单位就被抽象为文件的概念了我们抽象比喻一下:同时文件处理有数据内容之外,还会有一部分信息,比如文件名、文件类型、文件大小等并不作为文件内容数据存在,所以这一部分就叫做文件的元信息。

2025-03-12 07:00:00 900

原创 栈和队列(基础使用方法)

这里只介绍基础方法以及使用。

2025-03-11 11:00:35 635

原创 synchronized和volatile

用于实现线程同步,确保多个线程在访问共享资源时的线程安全。它可以修饰方法或代码块,保证同一时刻只有一个线程执行被修饰的代码我们对使用锁的情况举一个例子: 使用ATM取款对于一个ATM机,只能由一个人使用,同时有些ATM机会有一个独立的空间,当发现里面有人进行操作时,就无法从外部打开,那么就代表这一台ATM机被上了锁,只有里面的人能够使用,里面的人出来之后,其他人才能使用。

2025-03-11 09:48:54 1132

空空如也

空空如也

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

TA关注的人

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