当前位置: 首页 > news >正文

接口测试的核心思维(基础篇)

1.为什么会进行接口测试?

  • 早期发现问题,降低修复成本

    • 当我们服务端已经完成,而前端还未进行开发的时候。我们可以通过接口测试避免前端的交互直接进行服务端的测试。

    • 接口测试也能够更早介入项目的测试,降低修复成本。

  • 提高测试效率,覆盖更多的场景

    • 接口测试速度更快:相比UI测试需要模拟用户操作,接口测试直接通过HTTP请求调用,执行效率更高

    • 覆盖更全面的场景

      • 正向:正常流程、异常流程
      • 反向:例如:支持对应的反向就是退款
      • 边界条件
  • 适应于微服务架构和分布式系统

    • 在微服务架构中,系统被拆分未多个独立服务,接口时服务间通信的唯一方式
    • 接口测试能验证:
      • 服务间调用的正确性
      • 分布式事务的一致性
  • 支持自动化测试和持续集成

    • 接口测试用例易于自动化
    • 自动化接口测试可集成到CI/CD流程中,实现:
      • 代码提交后自动运行测试。
      • 快速反馈问题,阻断有缺陷的代码进入生产环境。

2.接口测试的方法论

  • 从工具到框架的进阶:

    • Postman、jmeter等工具进行接口测试
    • 编写接口测试脚本,再到封装测试框架,逐步深入
  • 抽象与封装:通过抽象和封装,将接口测试脚本转化为可复用的测试框架,提高测试效率

  • **支持多协议测试:**接口测试不仅限于HTTP协议,还需支持其他协议的测试,以满足不同项目的需求。

  • 持续集成

3. 接口测试

3.1 什么是接口?

3.1.1 接口的基础知识

  • 接口的定义:接口是不同系统模块组件之间交互桥梁,它定义了双方如何传递数据调用功能以及遵循的规则

  • 接口的本质:其实就是一种契约,遵循一种形式:在开发前期,约定接口会接收什么数据,在处理完成后,它又会返回什么数据。

3.1.2 接口的常见类型和场景

  • 软件接口

    • 代码级接口:函数、类或模块之间的调用规则

      def calculate_sum(a: int, b: int) -> int:  # 接口定义:输入两个整数,返回整数return a + b
      
      • 作用:隐藏实现细节,让代码模块化(例如调用一个加密函数时)
    • API(应用程序接口)

      • Web API:通过HTTP协议传递数据(如RESTful API、GraphQL)
      • gRPC(远程过程调用):Googel开发的高性能RPC框架,支持多语言,用于为服务间通信
      • 消息队列:通过KafkaRabbitMQ异步传输数据(如订单创建后发送消息通知库存系统)
  • 硬件接口

    • 物理接口:USB、HDMI等硬件连接标准
    • 驱动接口:操作系统调用打印机、摄像头的统一指令
  • 网络接口

    • TCP/IP协议栈:定义数据分包、路由、重组规则(如网页浏览)。
    • WebSocket:长连接实现实时数据推送(如股票行情)。

3.1.3 为什么需要接口?

  • 解耦与协作

    • 前端和后端通过API交互,可以独立开发(如前端用React,后端用Java)
    • 微服务架构中,订单服务和库存服务通过接口通信,互不影响。
  • 标准化通信

    • 定义清晰的请求参数、响应格式和错误码(如HTTP状态码200表示成功,500表示服务器错误)
  • 复用性

    • 天气预报接口可被多个App(打车、旅游)重复调用,无需重复开发。
  • 安全性

    • 接口通过OAuth 2.0认证、HTTPS加密传输,保护敏感数据(如银行转账接口)。
  • 扩展性:新增功能只需实现现有接口(如插件系统)。

3.1.4接口的典型问题

  • 兼容性:新版接口修改了参数,旧版客户端调用失败。
  • 性能瓶颈:高并发时接口响应变慢(如秒杀系统)。
  • 安全问题:未加密的接口泄露用户隐私数据。

3.1.5 接口类型是由谁决定的

  • 人员架构师
  • 参照方法:
    • 系统以前技术栈的延续
    • 系统外部依赖系统的需求
    • 一些公共技术规划让系统更容易扩展

3.2 什么是接口测试?

3.2.1 接口测试的基础知识

  • 接口测试的定义:模拟调用方,通过接口通信来检测被测接口的正确性和容错性
  • 接口测试的核心目标
    • 功能正确性:验证接口是否按需求正确处理输入并返回结果
    • 数据完整性:检查请求参数和响应数据的格式、类型、取值范围(如字段是否必填、金额不能为负数)
    • 异常处理能力:模拟网络超时、参数缺失、非法输入等异常场景、验证接口的容错性和错误提示
    • 安全合规性:检查接口的身份验证(如Token)、数据加密(如HTTPS)、权限控制(如普通用户无法访问管理员接口)。
    • 性能基准:评估接口的响应时间、吞吐量(如每秒处理1000次请求)、资源占用(CPU/内存)。

3.2.2 接口测试的内容(分层测试)

  • 单接口测试
    • 定义:针对于单个接口的独立测试,关注接口自身的功能、参数、异常处理等,不依赖于其他接口的上下文
    • 测试重点
      • 上述的接口测试的核心目标
  • 业务流程接口(串联接口)
    • 定义:通过多个接口的顺序调用,验证跨接口的业务流程是否完整,数据是否一致。
    • 测试重点
      • 数据传递:上游接口的输出是否作为下游接口的输入正确传递(如订单ID贯穿支付流程)
      • 状态一致性:多个接口操作后的系统状态是否符合预期(如创建订单后库存减少)
      • 事务完整性:跨接口操作是否具备原子性(如支付失败后订单状态回滚)
      • 依赖管理:第三方服务(如短信网关)异常时,业务流程的降级策略是否生效。
    • 注意事项:接口测试更关注数据流驱动的业务流程,**而非代码异常或边界问题(这些问题已在单接口测试中覆盖)

3.2.3 接口测试与界面测试之间的区别

接口测试界面测试
测试对象和范围数据交互层用户可见的功能和流程
验证目标数据的准确性、协议合规性、隐藏逻辑(数据库事务、加密算法、第三方服务调用)是否符合需求文档实现、交互体验、端到端的流程
测试效率更早介入、速度快、覆盖深层逻辑依赖于UI完成、执行熟读较慢、容易受到UI变更影响。

接口测试脱离界面-特殊情况:一些接口的控制输入无法通过界面测试,这是因为在前端已经设置相关的异常拦截,但对于空值有必要进行验证的,这些只能通过接口进行测试。 体现了:接口测试相对界面测试更加全面。

两者关系:互补而非对立

  1. 接口测试为功能测试奠基
    • 若接口存在逻辑错误(如扣款金额计算错误),功能测试必然失败。
    • 先通过接口测试确保底层逻辑正确,再通过功能测试验证端到端流程。
  2. 功能测试覆盖接口测试盲区
    • 接口测试无法验证前端交互(如页面元素渲染、动画效果)。
    • 跨系统的数据展示一致性(如订单列表页与详情页的数据同步)。
  3. 成本与效率平衡
    • 接口测试成本低、效率高,适合覆盖核心逻辑。
    • 功能测试更贴近用户,但维护成本高,需合理选择覆盖范围

3.2.4 接口测试的策略

  • 关键指标:接口覆盖率(目标100%)、自动化率(>90%)、CI/CD流水线集成率
  • 测试策略:正向用例(30%)+ 异常用例(50%)+ 安全用例(20%)

4.方法论

4.1 没有任何文档我们该怎么测试

4.1.1 一个理想的提测项目

  • 产品需求:它描述了系统的业务逻辑,通过这个文档,你才能知道怎么来设计测试用 例;
  • 原型设计:它会更加直观地告诉你系统的使用逻辑,这对测试用例的设计、对系统的前 期认知都是有辅助作用的。
  • 接口文档:它详细地描述了后端接口的访问方式参数说明,使用这个输入项才能开展 接口测试用例的设计、测试脚本的准备和测试数据的构建
  • 单元测试脚本。它是保障提测质量的必要环节,是研发工程师自测的一个有效手段,可 以保障提测项目的提测质量

4.1.2 你应该知道被测系统SUT

  • 手机APP
  • Web服务
  • 微服务接口

4.1.3 接口测试的文档

接口测试的文档是由开发工程在设计和开发产生的产物—接口测试的文档,产品经理和测试经理一般都会要求写一个接口测试的文档,方便我们进行接口测试用例的设计和执行,保证项目的正常运行。

  • 注意:

    • 开发工程师在设计和开发接口的过程,会不断的维护接口文档。 在进行接口设计开发评审的时候,就确定不轻易改动,否者会加大人力成本!

    • 如果开发工程师没有给我们任何的有价值的文档。我们进行询问还总是说自己”没空“!!! 只能我们自己去找它m。

  • 接口文档的内容

    • 方法
    • 访问路由
    • 输入参数的含义
    • 返回参数的含义
    • 以及一个完整的例子
  • 保存方式

    • Word文档

    • Swagger工具的形式:一个接口文档的存在形式,是一个从代码生成 的、以 Web 服务形式存在的接口文档,它可以伴随代码的变更同步变化,这就减少了很多 开发工程师和测试工程师之间的沟通成本。

4.1.4 三部曲(方法)

  • 借助一些工具的辅助来完成接口分析(Fiddler、Charles、mitmproxy等)

    • 通过工具截获一些接口信息
    • 通过分析接口的访问方式、参数等信息整理出一些问题。
  • 和研发工程师沟通这些问题,将以下不知道参数含义、参数取值范围等问题问清楚

  • 重复上述步骤

  • 询问内容:

    • 参数的含义以及来源

      • 参数实际的自然语言的名字,相对应就知道对应的函数的作用

      • 参数的来源

        • 上游接口的响应数据作为下游接口的输入,哪一个是上游返回的参数
        • 系统自动生成参数
      • 参数的作用域

        • 访问周期一直存在吗?
        • 是否存在于其他的业务分支
      • 返回值的含义

4.2新项目和存量项目

  • 新项目:需要项目经理、测试经理推动开发人员维护完善的接口文档,从项目流程保证和完善
  • 存量项目:三部曲:工具辅助,分析问题,询问解惑

4.3 测试用例设计中的参数

  • 单接口测试中的参数类型
    • 参数(字段)的常见情况:为空、正确、错误。
    • 额外考虑:虽然有人建议考虑参数类型(如数字、中文、英文、敏感词、特殊字符等以及极大极小值),但文件指出这些内容更多属于安全测试范围,接口测试中不一定需要过分考虑。
  • 业务流程接口测试中的参数类型
    • 主要关注:业务逻辑错误,而非参数类型的细节。

相关文章:

接口测试的核心思维(基础篇)

1.为什么会进行接口测试? 早期发现问题,降低修复成本 当我们服务端已经完成,而前端还未进行开发的时候。我们可以通过接口测试避免前端的交互直接进行服务端的测试。 接口测试也能够更早介入项目的测试,降低修复成本。 提高测试…...

给文件内容加行号

题目: 给定一个文件,通过文件读写,给文件内容加行号。 行号形式如: 1:) xxXXXX 2:) xxxxXX 要求: 使用缓冲流操作。 思路分析: 程序定义了两个字符串变量 inputFile 和 outputFile,分别存储输入文件的路径…...

【计算机视觉】三维重建: MVSNet:基于深度学习的多视图立体视觉重建框架

MVSNet:基于深度学习的多视图立体视觉重建框架 技术架构与核心算法1. 算法流程2. 关键创新 环境配置与实战指南硬件要求安装步骤数据准备(DTU数据集) 实战流程1. 模型训练2. 深度图推断3. 点云生成 常见问题与解决方案1. CUDA内存不足2. 特征…...

终端与环境变量

一、我的电脑是Win10的,首先打开终端如下: 此时终端来到C:\Users\lenovo的目录下,可以访问该目录下的所有文件(夹)。另外,除了这个之外,终端还可以访问环境变量中的所有文件(夹&…...

使用线性表实现通讯录管理

目录 🚀前言🦜任务目标🌟顺序表实现🐍链表实现 🚀前言 大家好!我是 EnigmaCoder。 本文介绍线性表的实验,使用顺序表和链表实现通讯录管理,包含初始化、插入、删除、查询、输出。 &a…...

机器学习常用评价指标

1. 指标说明 (1) AccuracyClassification(准确率) • 计算方式:accuracy_score(y_true, y_pred) • 作用: 衡量模型正确预测的样本比例(包括所有类别)。 公式: Accuracy TP TN TP TN FP…...

基于ArduinoIDE的任意型号单片机 + GPS北斗BDS卫星定位

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言1.1 器件选择1.2 接线方案 二、驱动实现2.1 核心代码解析(arduino/ESP32-S3) 三、坐标解析代码四、典型问题排查总结 前言 北斗卫星导航…...

CGAL:创建点、线、三角形及其距离、关系

CGAL(Computational Geometry Algorithms Library,计算几何算法库)是一个强大的开源库,为众多几何计算问题提供了高效的解决方案,在计算几何领域应用广泛。以下将基于提供的代码示例,详细介绍如何利用 CGAL…...

STM32基础教程——软件I2C

目录 前言 I2C MPU6050 技术实现 原理图 连线图 代码实现 技术要点 I2C初始化 SCL输出和SDA输入输出控制 起始信号 停止信号 发送一个字节 读取一个字节 发送应答位 接收应答位 MPU6050初始化 指定地址写 指定地址读 读取数据寄存器 问题记录 前言 I2C …...

Xilinx FPGA | 管脚约束 / 时序约束 / 问题解析

注:本文为 “Xilinx FPGA | 管脚约束 / 时序约束 / 问题解析” 相关文章合辑。 略作重排,未整理去重。 如有内容异常,请看原文。 Xilinx FPGA 管脚 XDC 约束之:物理约束 FPGA技术实战 于 2020-02-04 17:14:53 发布 说明&#x…...

应用层自定义协议序列与反序列化

目录 一、网络版计算器 二、网络版本计算器实现 2.1源代码 2.2测试结果 一、网络版计算器 应用层定义的协议: 应用层进行网络通信能否使用如下的协议进行通信呢? 在操作系统内核中是以这种协议进行通信的,但是在应用层禁止以这种协议进行…...

大数据:数字时代的驱动力

📝个人主页🌹:一ge科研小菜鸡-CSDN博客 🌹🌹期待您的关注 🌹🌹 随着互联网和技术的迅猛发展,数据已经成为现代社会最宝贵的资源之一。大数据(Big Data)作为一种全新的信息资源,正以前所未有的方式改变着各个行业的运作模式,推动着社会的进步与创新。无论是金…...

java学习之数据结构:二、链表

本节介绍链表 目录 1.什么是链表 1.1链表定义 1.2链表分类 2.链表实现 2.1创建链表 1)手动创建 2)创建链表类进行管理链表的相关操作 2.2添加元素 1)头插法 2)尾插法 3)任意位置插入 2.3删除 2.4查找 1&…...

评估动态化烹饪工艺与营养实训室建设要点

在全民健康意识显著提升、健康饮食理念深度普及的时代背景下,烹饪工艺与营养实训室建设要点已不再局限于传统单一的技能训练模式。需以行业需求为导向,通过功能集成化设计推动革新 —— 将食品安全防控、营养科学分析、智能烹饪技术、餐饮运营管理等多元…...

Java学习手册:关系型数据库基础

一、关系型数据库概述 关系型数据库是一种基于关系模型的数据库,它将数据组织成一个或多个表(或称为关系),每个表由行和列组成。每一列都有一个唯一的名字,称为属性,表中的每一行是一个元组,代…...

吾爱出品 [Windows] EndNote 21.5.18513 汉化补丁

[Windows] EndNote 链接:https://pan.xunlei.com/s/VOPLLs6DqKNz-EoBSWVRTSmGA1?pwd9isc# Thomson Scientific公司推出了2025,本次的endnote21大概率是最后一个版本啦,现已决定进行更新。 本次采用的环境为python3.12,win11&am…...

Sentinel学习

sentinel是阿里巴巴研发的一款微服务组件,主要为用户提供服务保护,包括限流熔断等措施 (一)主要功能 流量控制(限流):比如限制1s内有多少请求能到达服务器,防止大量请求打崩服务器…...

【中间件】brpc_基础_execution_queue

execution_queue 源码 1 简介 execution_queue.h 是 Apache BRPC 中实现 高性能异步任务执行队列 的核心组件,主要用于在用户态线程(bthread)中实现任务的 异步提交、有序执行和高效调度。 该模块通过解耦任务提交与执行过程,提…...

Servlet(二)

软件架构 1. C/S 客户端/服务器端 2. B/S 浏览器/服务器端: 客户端零维护,开发快 资源分类 1. 静态资源 所有用户看到相同的部分,如:html,css,js 2. 动态资源 用户访问相同资源后得到的结果可能不一致,如:s…...

如何提升个人的思维能力?

提升个人的逻辑思维能力是一个系统性工程,需要长期训练和科学方法。以下是分阶段、可操作的详细建议,涵盖理论基础、日常训练和实战应用: 一、构建逻辑基础认知 1. 学习逻辑学核心理论 入门读物:《简单的逻辑学》麦克伦尼&am…...

[UVM]UVM中reg_map的作用及多个rem_map的使用案例

UVM中reg_map的作用及多个rem_map的使用案例 摘要:在 UVM (Universal Verification Methodology) 中,寄存器模型是用于验证 DUT (Design Under Test) 寄存器行为的重要工具。UVM 寄存器模型中的 uvm_reg_map(简称 reg_map)是寄存器模型的核心组成部分之一,用于定义…...

重新构想E-E-A-T:提升销售与搜索可见性的SEO策略

在2025年的数字营销环境中,谷歌的E-E-A-T(经验、专业性、权威性、可信度)已成为SEO和内容营销的核心支柱。传统的E-E-A-T优化方法通常聚焦于展示作者资质或获取反向链接,但这些策略可能不足以应对AI驱动的搜索和日益挑剔的用户需求…...

AI 采用金字塔(Sohn‘s AI Adoption Pyramid)

这张图是 Sohn 的 AI 采用金字塔(Sohn’s AI Adoption Pyramid) ,用于描述不同程度的 AI 应用层次,各层次意义如下: 金字塔层级 Level 1:业务角色由人类主导,AI 起辅助作用,如 AI …...

影刀RPA中新增自己的自定义指令

入门到实战明细 1. 影刀RPA自定义指令概述 1.1 定义与作用 影刀RPA的自定义指令是一种强大的功能,旨在提高流程复用率,让用户能够个性化定制指令,实现流程在不同应用之间的相互调用。通过自定义指令,用户可以将常用的、具有独立…...

驱动总裁v2.19(含离线版)驱动工具软件下载及安装教程

1.软件名称:驱动总裁 2.软件版本:2.19 3.软件大小:602 MB 4.安装环境:win7/win10/win11 5.下载地址: https://www.kdocs.cn/l/cdZMwizD2ZL1?RL1MvMTM%3D 提示:先转存后下载,防止资源丢失&am…...

SQL经典实例

第1章 检索记录 1.1 检索所有行和列 知识点:使用SELECT *快速检索表中所有列;显式列出列名(如SELECT col1, col2)提高可读性和可控性,尤其在编程场景中更清晰。 1.2 筛选行 知识点:通过WHERE子句过滤符合条…...

2025深圳杯(东三省)数学建模竞赛D题完整分析论文(共36页)(含模型、可运行代码、数据结果)

2025深圳杯数学建模竞赛D题完整分析论文 目录 摘 要 一、问题重述 二、问题分析 三、模型假设 四、符号定义 五、问题一模型的建立与求解 5.1 问题一模型的建立 5.1.1 问题建模背景 5.1.2 特征工程设计 5.1.3 分类模型结构与数学表达 5.2 问题一模型的求…...

大数据技术:从趋势到变革的全景探索

📝个人主页🌹:一ge科研小菜鸡-CSDN博客 🌹🌹期待您的关注 🌹🌹 在数字化时代的浪潮下,大数据已经不再是一个陌生的概念。从日常生活中的社交媒体,到企业决策支持系统,再到公共管理的大数据应用,它正在改变着我们的工作和生活方式。随着技术的进步,传统的数据…...

C++【内存管理】

C语言中的动态内存管理 int main() { int* p2(int*)calloc(4,sizeof(int)); int* p3(int*)realloc(p2,sizeof(int)*10); free(p3); }这里因为扩容数据小,所以是原地扩容,p2p3地址一样,不用free(p2) 如果扩容空间大就不是原地扩容,而是新找一块空间,然后拷贝 C内存管理方式 n…...

【Go类库分享】mcp-go Go搭建MCP服务

【Go类库分享】mcp-go Go搭建MCP服务 介绍 目前Go 生态圈有两个知名的开发 MCP 的库,一个是mark3labs/mcp-go,另一个是metoro-io/mcp-golang。 在介绍常用库之前,先来简单介绍一下mcp协议: MCP全称Model Context Protocol 模型上下文协议&a…...

人工智能发展史 — 物理学诺奖之 Hopfield 联想和记忆神经网络模型

目录 文章目录 目录1982 年,Hopfield 联想和记忆神经网络模型背景知识历史:霍普菲尔德简介神经学:大脑的联想记忆机制物理学:磁性材料的自旋玻璃理论和能量最小值函数 Hopfield 神经网络基本原理记忆存储(训练&#xf…...

Docker —— 技术架构的演进

Docker —— 技术架构的演进 技术架构演进总结单机架构优点缺点总结 应用数据分离架构优点缺点总结 应用服务集群架构1. Nginx2. HAProxy3. LVS(Linux Virtual Server)4. F5 BIG-IP对比总结选型建议 读写分离/主从分离架构1. MyCat简介 2. TDDL&#xff…...

Docker与WSL2如何清理

文章目录 Docker与WSL2如何清理一、docker占据磁盘空间核心原因分析1. WSL2 虚拟磁盘的动态扩展特性2. Docker 镜像分层缓存与未清理资源 二、解决方案步骤 1:清理 Docker 未使用的资源步骤 2:手动压缩 WSL2 虚拟磁盘1. 关闭 WSL2 和 Docker Desktop2. 定…...

单片机嵌入式按键库

kw_btn库说明 本库主要满足嵌入式按键需求,集成了常用的按键响应事件:高电平、低电平、上升沿、下降沿、单击、双击、长按键事件。可以裸机运行,也可以配合实时操作系统运行。 本库开源连接地址:gitee连接 实现思路 本库采用C语…...

多多铃声 7.4| 拥有丰富的铃声曲库,满足不同用户的个性化需求,支持一键设置手机铃声

多多铃声是一款提供丰富铃声资源的应用程序,它拥有广泛的铃声曲库,涵盖各种风格和类型,能够满足不同用户的个性化需求。该应用程序支持分类浏览和热门榜单功能,让用户可以轻松找到当前最流行或自己感兴趣的铃声。此次分享的版本为…...

基于stm32的四旋翼飞行器:MPU6050讲解 · 上(参数读取)

大伙早上好,不知道大伙有没有飞行器情结,就是学习嵌入式就想做一个能飞的东西。小白兔不才,小白兔有啊,所以最近准备做一个简单的飞行器出来,如果失败了,那么这个系列就只能烂尾了,如果成功了&a…...

使用xlwings将excel表中将无规律的文本型数字批量转化成真正的数字

之前我写了一篇文章excel表中将无规律的文本型数字批量转化成真正的数字-CSDN博客 是使用excel自带的操作,相对繁琐。 今天使用xlwings操作,表格如下(有真正的数字,也有文本型数字,混在在一起)&#xff1…...

linux netlink实现用户态和内核态数据交互

1&#xff0c;内核态代码 #include <linux/module.h> #include <linux/netlink.h> #include <net/sock.h> #define NETLINK_TEST 31 struct sock *nl_sk NULL; static void nl_recv_msg(struct sk_buff *skb) { struct nlmsghdr *nlh; int pid; …...

学习黑客安全基础理论入门

准备安全课程内容 你已安装Kali和相关工具&#xff0c;并希望从基础开始学习安全。为了使课程更加互动&#xff0c;我会提供有趣的文本&#xff0c;并结合可视化内容&#xff0c;可能还会提供一些参考链接。内容方面&#xff0c;我会根据最新的中国网络安全法律作出更新&#…...

探索内容智能化的关键解决方案

北京先智先行科技有限公司拥有三款旗舰产品&#xff0c;分别是“先知大模型”、“先行AI商学院”以及“先知AIGC超级工场”。这三款产品在企业发展过程中扮演着重要角色。  北京先智先行科技有限公司围绕先知大模型等核心要素&#xff0c;构建了完备的业务体系。先知大模型私…...

学习黑客色即是空

二、Day 3 学习目标&#xff08;保真版&#xff09; 一句话目标&#xff1a; 学会用 Asset-Threat-Vulnerability-Risk (ATVR) 四件套给任何系统快速画“风险画像”&#xff0c;并能把它映射到黑客常说的 5 阶段攻击生命周期。 1. 30 分钟理论——ATVR 四件套 概念核心定义参考…...

【Java学习】关于springBoot的自动配置和起步依赖

关于springBoot的起步依赖&#xff1a;解决了spring框架中开发者配置依赖难的问题&#xff0c;各种依赖及版本的不同&#xff0c;可能引发不同的问题&#xff0c;使得开发者的精力大部分可能耗费在非业务代码中。所以springBoot起步依赖解决了各种依赖难的配置问题。 起步依赖…...

【LLaMA-Factory实战】1.3命令行深度操作:YAML配置与多GPU训练全解析

一、引言 在大模型微调场景中&#xff0c;命令行操作是实现自动化、规模化训练的核心手段。LLaMA-Factory通过YAML配置文件和多GPU分布式训练技术&#xff0c;支持开发者高效管理复杂训练参数&#xff0c;突破单机算力限制。本文将结合结构图、实战代码和生产级部署经验&#…...

【Mytais系列】介绍、核心概念

MyBatis 是一款优秀的 持久层框架&#xff0c;它通过简化 JDBC 操作、提供灵活的 SQL 映射能力&#xff0c;成为 Java 开发中处理数据库交互的核心工具之一。以下是 MyBatis 的核心框架和概念解析&#xff1a; 一、MyBatis 框架概述 1. 核心定位 作用&#xff1a;将 Java 对象…...

Vivado FPGA 开发 | 创建工程 / 仿真 / 烧录

注&#xff1a;本文为 “Vivado FPGA 开发 | 创建工程 / 仿真 / 烧录” 相关文章合辑。 略作重排&#xff0c;未整理去重。 如有内容异常&#xff0c;请看原文。 Vivado 开发流程&#xff08;手把手教学实例&#xff09;&#xff08;FPGA&#xff09; 不完美先生 于 2018-04-…...

PowerShell从5.1升级到7.X

文章目录 环境背景安装PowerShell 7.X其它启动PowerShell 5.1和7.X$PSVersionTable.PSVersion启动PowerShell 5.1时强制启动7.X 参考 环境 Windows 11 专业版 背景 PowerShell 5.1是Windows内置的&#xff0c;发布时间是2016 年。现在PowerShell版本已经到了7.5.1&#xff0…...

域名与官网的迷思:数字身份认证的全球困境与实践解方-优雅草卓伊凡

域名与官网的迷思&#xff1a;数字身份认证的全球困境与实践解方-优雅草卓伊凡 一、官网概念的法律与技术界定 1.1 官网的实质定义 当卓伊凡被问及”公司域名就是官网吗”这一问题时&#xff0c;他首先指出&#xff1a;”这相当于问’印着某公司logo的建筑就是该公司总部吗’…...

Vue实现成绩增删案例

Vue实现成绩增删案例 案例功能需求案例实现实现思路完整代码功能演示 案例小结 案例功能需求 1.通过vue渲染数据&#xff0c;将成绩的相关信息显示出来&#xff08;学号&#xff0c;学科&#xff0c;成绩&#xff09; 2.能够增加相关的成绩信息 3.能够删除相关的成绩信息 4.能…...

开源项目实战学习之YOLO11:ultralytics-cfg-models-rtdetr(十一)

&#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 文章大纲 1. __init__.py2. model.py3. predict.py4. train.py5. val.py ultralytics-cfg-models-rtdetr 主要与 Ultralytics 库中 RTDETR&#xff08;实时目标检测模型&#xff0c;R…...

【Bootstrap V4系列】学习入门教程之 组件-按钮(Buttons)

Bootstrap V4系列 学习入门教程之 组件-按钮&#xff08;Buttons&#xff09; 按钮&#xff08;Buttons&#xff09;一、示例二、可用作按钮的 HTML 标签三、带轮廓线的按钮四、按钮的尺寸五、活动状态六、禁用状态七、按钮插件切换状态Checkbox and radio buttons &#xff08…...