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

实验07 接口测试postman

目录

知识点

1 接口测试概念

1.1为什么要做接口测试

1.2接口测试的优点

1.3接口测试概念

1.4接口测试原理和目的

2 接口测试内容

2.1测什么

2.1.1单一接口

2.1.2组合接口

2.1.3结构检查

2.1.4调用方式

2.1.5参数格式校验

2.1.6返回结果

2.2四大块

2.2.1功能逻辑

2.2.2异常测试

2.2.3路径测试

2.2.4其他异常场景

2.3接口测试的依据

2.3.1需求规范

2.3.2接口文档

2.4测试方法

2.5接口分类

2.6测试流程

3 HTTP原理

3.1请求/应答模型

3.2请求报文

3.2.1原理

3.2.2涵盖内容

3.3请求方法

3.4响应报文

3.5状态码

实验


 

知识点

  • 1 接口测试概念

    • 1.1为什么要做接口测试
      • 不同段的进度不同,需要对最开始出来的接口进行接口测试

    • 1.2接口测试的优点
      • 节约时间

      • 提高工作效率

      • 提高系统健壮性

    • 1.3接口测试概念
      • 类型

        • API

        • 硬件驱动程序

        • 数据库系统的访问接口

        • webservice接口

        • http rest接口

      • 测试系统间接口的一种测试,测试的对象主要是接口,主要是测试外部系统与所测系统之间以及内部系统之间的交互点。

    • 1.4接口测试原理和目的
      • 接口测试的原理是通过测试程序模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做出处理然后再把应答报文发送给客户端,客户端接收应答报文这一个过程。

      • 测试接口的正确性和稳定性(持续集成是接口测试的核心)。

  • 2 接口测试内容

    • 2.1测什么
      • 2.1.1单一接口
        • 输入输出值测试

          • 单一接口测试主要测试的是输入输出值,一些具有业务意义的值​需要特别测试(例如,1和2分别代表两个测试场景,那么就不能够把他们看成是等价类,需要分开测试

      • 2.1.2组合接口
        • 业务场景测试

          • 组合接口测试主要是通过组合多个单一接口,来测试一个业务场景 Example:测试购物网站的一个下单的功能,那么因为在下单之前还有一些流程,所以要测试一个场景。 测试:搜索商品 --> 选中商品 --> 添加进购物车 --> 提交订单 -->支付 ​(提交订单时还涉及到地址的选取等) [注:涉及到如果使用从cookie或者session在本例中的区别:如果使用cookie加入购物车,那么换一台电脑购物车里的商品就不存在了,但如果使用的是session,购物车里面的东西就一直存在,即:cookie是本机作用的,session不止于本机作用

      • 2.1.3结构检查
        • 返回值结构

          • (1)检查返回值的结构是否正确,如是json类型还是xml类型的数据

          • (2)字段名称是否正确等

      • 2.1.4调用方式
        • HTTP调用

          • 注意:提交数据,一定使用POST方式,不能使用GET方式。

        • 其他方式

      • 2.1.5参数格式校验
        • 必选项检查

        • 非必选项默认值

        • 类型

        • 取值范围

        • 全/半角、大/小写转换。

        • 长度

      • 2.1.6返回结果
        • 与需求一致

        • 每种错误要有单独且明确的错误码。

    • 2.2四大块
      • 2.2.1功能逻辑
        • 通过查数据库或缓存等验证数据是否处理正确。

        • 通过其他辅助途径进行验证

      • 2.2.2异常测试
        • 接口测试中主要测试接口正常逻辑,但仅逻辑测试不能保证数据的安全及程序接口在异常情况下的逻辑处理的正确性。

      • 2.2.3路径测试
        • 当被测接口的实现方法中,判断逻辑复杂分支多,且判断中又调用了其他的接口,此时必须要进行路径覆盖测试。

      • 2.2.4其他异常场景
        • 研发的项目,有些项目是底层使用的系统,根据项目特点,可能会存在特殊的异常场景。

        • 例如: 堵命令,支付的异步操作,支付消息重试等。

    • 2.3接口测试的依据
      • 2.3.1需求规范
      • 2.3.2接口文档
        • 涵盖内容

          • 1、接口概述:

            • 1)接口名称

            • 2)接口功能

            • 3)接口类别

            • 4)提交者、提交时间、需求来源及时间要求

          • 2、HTTP请求方式

          • 3、认证说明

          • 4、请求限制说明

          • 5、请求参数说明

            • 参数名、是否必选、类型、取值范围、描述(非必选项的默认值)

          • 6、相关约束

          • 7、注意事项

          • 8、调用示例

          • 9、返回说明

            • 1)返回数据格式

            • 2)返回结果示例

            • 3)错误代码及返回说明

        • 示例

    • 2.4测试方法
      • 可以通过开发脚本代码进行测试。

      • 可以通过开源免费的接口调用调试工具测试或者自动化工具,如:Postman,jmeter等。

      • 可以通过App手动测试,结合抓包工具分析,如:Fillder/Charles等。

    • 2.5接口分类
      • 1)API:应用程序编程接口 application

        • 示例

          • 模块接口测试是单元测试的基础。它主要测试模块的调用与返回
            例如:
            package com.java.base;
            public class InterfaceTest {    //求两个整数相加的和public static int add(int a, int b){return a + b;}public static void main(String[] args) {        //测试整数相加int resule = add(1,2);if(resule == 3){System.out.println("success!");         }else{System.out.println("fail!");}  }  }
            

      • 2)GUI:图形用户界面(接口)

    • 2.6测试流程
      • 图示

  • 3 HTTP原理

    • 3.1请求/应答模型
      • HTTP遵循请求(Request)/应答(Response)模型。Web浏览器向Web服务器发送请求,Web服务器处理请求并返回适当的应答

      • 图示

    • 3.2请求报文
      • 3.2.1原理
        • 客户端向服务器发送请求时,会给服务器发送一个请求报文。请求报文包含请求的方法、URL、协议版本、请求头部和请求数据。URL只是标识资源的位置,而HTTP报文用来提交和获取资源。客户端发送的HTTP请求消息,包括请求行、请求头部、空行和请求体4个部分。

      • 图示

      • 3.2.2涵盖内容
        • 请求行

        • 请求头部

        • 空行

        • 请求体

    • 3.3请求方法
      • GET

      • HEAD

      • POST

      • PUT

      • DELETE

      • CONNECT

      • OPTIONS

      • TRACE

      • 图示

    • 3.4响应报文
      • 原理

      • 图示

      • 涵盖内容

        • 状态行

        • 响应头部

        • 空行

        • 响应体

    • 3.5状态码
      • 概念

        • 状态代码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值

      • 可能取值

        • 1xx

          • 指示信息

          • --表示请求已接收,继续处理

        • 2xx

          • 成功

          • --表示请求已被成功接收、理解、接受

        • 3xx

          • 重定向

          • --要完成请求必须进行更进一步的操作

        • 4xx

          • 客户端错误

          • --请求有语法错误或请求无法实现

        • 5xx

          • 服务器端错误

          • --服务器未能实现合法的请求

      • 具体例子

        • 200 OK客户端请求成功

        • 404 Not Found请求资源不存在,eg:输入了错误的URL

        • 401 Unauthorized请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用

        • 500 Internal Server Error服务器发生不可预期的错误

        • 503 Server Unavailable服务器当前不能处理客户端的请求,一段时间后可能恢复正常

        • 400 Bad Request  //客户端请求有语法错误,不能被服务器所理解

        • 403 Forbidden  //服务器收到请求,但是拒绝提供服务

实验

一 实验目的:

1、了解什么是接口测试。

2、理解HTTP工作原理。

3、掌握接口测试用例设计。

4、掌握接口测试工具Postman的使用。

二 实验环境

1、Windows操作系统环境;

2、Java Web项目运行环境;

3、Postman工具。

三 实验准备

1、了解Web项目前后端工作原理;

2、掌握Java Web项目的构建与部署。

四 实验内容

(1)从ftp或者https://www.postman.com/downloads/,下载适合自己操作系统的Postman安装文件,并完成Postman的安装,把安装成功界面截图。

(2)使用Postman创建一个workspace,workspace名称为自己中文名拼音。

(3)在workspace中创建一个collection,命名为cookieshop,针对商品查询接口进行测试,请设计商品查询接口设计文档。

表1 商品查询接口设计说明

接口名称

调用方式

接口地址

接口方法

输入参数定义

列名

字段名

类型

必填

备注

返回数据说明

接口名称

商品查询接口

调用方式

HTTP请求

接口地址

postman-echo.com/get

接口方法

GET

输入参数定义

列名

字段名

类型

必填

备注

keywordsearchKeyString查询关键字
categoryproductTypeString商品类别
priceMinminPriceDecimal最低价格
priceMaxmaxPriceDecimal最高价格
sortsortTypeString排序方式(如:price, popularity)
pagepageNumberInteger页码
sizepageSizeInteger每页显示的商品数量

返回数据说明

成功响应:
  • 状态码:200 OK

  • 返回数据格式:JSON

  • 返回结果示例

     

    json

    解释

    { "success": true, "data": { "total": 120, // 总商品数 "products": [ // 商品列表 { "id": "p001", // 商品ID "name": "Chocolate Chip Cookies", // 商品名称 "description": "Delicious cookies with chocolate chips.", // 商品描述 "price": 29.99, // 商品价格 "category": "Cookies", // 商品类别 "image": "https://example.com/images/p001.jpg" // 商品图片URL }, { "id": "p002", "name": "Oatmeal Raisin Cookies", "description": "Soft and chewy oatmeal cookies with raisins.", "price": 24.99, "category": "Cookies", "image": "https://example.com/images/p002.jpg" } // 更多商品... ] }, "message": "查询成功" // 操作结果信息 }
  • 字段说明

    • success:布尔值,表示请求是否成功。
    • data:包含实际数据的对象。
    • total:查询结果的总商品数。
    • products:商品列表数组,每个元素是一个商品对象。
    • id:商品的唯一标识符。
    • name:商品名称。
    • description:商品描述。
    • price:商品价格。
    • category:商品所属类别。
    • image:商品图片的URL。
错误响应:
  • 状态码:可能为400(错误请求)、401(未授权)、404(未找到)、500(服务器内部错误)等。

  • 返回数据格式:JSON

  • 错误响应示例

     

    json

    解释

    { "success": false, "error": { "code": "INVALID_REQUEST", // 错误代码 "message": "请求参数不合法" // 错误描述 }, "message": "查询失败" // 操作结果信息 }
  • 字段说明

    • success:布尔值,表示请求是否成功。
    • error:错误信息对象,仅在发生错误时出现。
      • code:错误代码,用于标识具体错误类型。
      • message:对错误的文本描述。
    • message:对操作结果的一般描述。

(4)针对以上商品接口设计说明,请运用黑盒测试方法对商品查询接口进行测试用例设计。

表2 商品查询接口测试用例

输入数据

预期输出结果

用例编号输入数据预期输出结果测试类型备注
TC01无参数返回所有商品的列表,按默认排序正向测试测试默认行为
TC02searchKey=chocolate返回包含"chocolate"关键字的商品列表正向测试测试关键字搜索
TC03productType=Cookies返回"Cookies"类别的商品列表正向测试测试类别过滤
TC04minPrice=10&maxPrice=50返回价格在10到50之间的商品列表正向测试测试价格范围过滤
TC05sortType=price按价格升序返回商品列表正向测试测试排序功能
TC06sortType=-price按价格降序返回商品列表正向测试测试排序功能
TC07pageNumber=2&pageSize=10返回第二页,每页10个商品的列表正向测试测试分页功能
TC08searchKey=xyz&category=unknown&minPrice=0&maxPrice=1000&sortType=popularity&pageNumber=1&pageSize=5返回符合所有给定参数的商品列表正向测试综合测试
TC09searchKey=chocolate&category=Biscuits返回错误信息,因为"Biscuits"不是有效的类别边界测试测试无效类别
TC10minPrice=1000&maxPrice=10000返回价格在1000到10000之间的商品列表,如果不存在则返回空列表边界测试测试边界价格范围
TC11pageNumber=100&pageSize=10返回错误信息或最后一页的商品列表,因为页码超出范围边界测试测试超出范围的页码
TC12searchKey=;DROP TABLE products;返回错误信息,因为包含SQL注入尝试安全性测试测试SQL注入防护
TC13searchKey=<script>返回错误信息或过滤后的搜索结果,因为包含HTML注入尝试安全性测试测试HTML注入防护
TC14searchKey=chocolate&sortType=invalid返回错误信息,因为"invalid"不是有效的排序方式异常测试测试无效排序方式

 

(5)使用Postman接口测试工具,根据表2的测试用例进行接口测试。并提交测试结果。

五 实验总结

(1)为什么要做接口测试。

接口测试是软件测试的一个重要组成部分,主要用于验证不同系统组件或模块之间的交互是否符合预期。以下是进行接口测试的主要原因:

  1. 确保数据交换正确性

    • 验证接口在不同系统或模块间传递数据时的准确性。
  2. 功能验证

    • 确保接口实现的功能符合需求规格。
  3. 系统稳定性

    • 通过接口测试可以发现可能导致系统不稳定的错误。
  4. 性能评估

    • 评估接口在高负载下的表现,确保其满足性能要求。
  5. 安全性检查

    • 检查接口是否容易受到安全攻击,如SQL注入、跨站脚本攻击等。
  6. 兼容性测试

    • 确保接口在不同环境或不同版本间能够正常工作。
  7. 早期发现缺陷

    • 在开发早期阶段发现接口问题,减少后期修复的成本。
  8. 促进团队协作

    • 帮助开发团队理解接口规范,提高协作效率。
  9. 支持持续集成

    • 在持续集成过程中自动测试接口,确保代码变更不会破坏现有功能。
  10. 文档验证

    • 验证接口文档的准确性和完整性。

(2)接口测试能发现哪些错误?

接口测试能够发现的错误类型广泛,具体包括但不限于:

  1. 数据验证错误

    • 输入数据不符合预期格式或类型。
  2. 返回结果错误

    • 接口返回的数据或状态码与预期不符。
  3. 性能问题

    • 接口响应时间过长或在高负载下表现不佳。
  4. 安全性漏洞

    • 接口容易受到SQL注入、跨站脚本攻击等安全威胁。
  5. 兼容性问题

    • 在不同平台或不同版本的客户端中表现不一致。
  6. 并发问题

    • 在多用户同时访问时接口表现异常。
  7. 资源泄露

    • 接口未能正确释放占用的资源,如数据库连接、内存等。
  8. 异常处理不当

    • 接口在遇到异常情况时未能正确处理。
  9. 依赖关系错误

    • 接口依赖的其他服务或资源不可用时表现异常。
  10. 版本兼容性

    • 新旧版本接口之间的兼容性问题。
  11. 路径错误

    • 接口未能正确处理请求路径或参数。
  12. 文档与实现不符

    • 实际接口实现与文档描述不一致。

 

相关文章:

实验07 接口测试postman

目录 知识点 1 接口测试概念 1.1为什么要做接口测试 1.2接口测试的优点 1.3接口测试概念 1.4接口测试原理和目的 2 接口测试内容 2.1测什么 2.1.1单一接口 2.1.2组合接口 2.1.3结构检查 2.1.4调用方式 2.1.5参数格式校验 2.1.6返回结果 2.2四大块 2.2.1功能逻辑…...

C++常用但难记的语法

模板函数的声明和定义必须在同一个文件中。 C中每一个对象所占用的空间大小&#xff0c;是在编译的时候就确定的&#xff0c;在模板类没有真正的被使用之前&#xff0c;编译器是无法知道&#xff0c;模板类中使用模板类型的对象的所占用的空间的大小的。只有模板被真正使用的时…...

Qt 快速保存配置的方法

Qt 快速保存配置的方法 一、概述二、代码1. QFileHelper.cpp2. QSettingHelper.cpp 三、使用 一、概述 这里分享一下&#xff0c;Qt界面开发时&#xff0c;快速保存界面上一些参数配置的方法。 因为我在做实验的时候&#xff0c;界面上可能涉及到很多参数的配置&#xff0c;我…...

RKE部署k8s

移除docker&#xff08;非必要&#xff09; rm -rf /etc/docker rm -rf /run/docker rm -rf /var/lib/dockershim rm -rf /var/lib/docker yum list installed | grep docker yum remove ***rke部署k8s集群 cat > /etc/sysctl.conf << EFO net.ipv4.ip_forward 1 n…...

从0开始的STM32HAL库学习8

PWM控制舵机 配置环境 1. 选择TIM2时钟 2.选择内部时钟模式&#xff0c;打开通道二 3.分频系数PSC:72-1 自动重装寄存器ARR:20000-1 输出比较寄存器 CCR:500~2500( 后面可调整 ) 脉冲选择500后期可以改 编辑代码 调用启动函数 HAL_TIM_PWM_Start(&htim2,TIM_CHANN…...

微信小程序数组绑定使用案例(一)

微信小程序数组绑定案例&#xff0c;修改数组中的值 1.Wxml 代码 <view class"list"><view class"item {{item.ischeck?active:}}" wx:for"{{list}}"><view class"title">{{item.name}} <text>({{item.id}…...

Kudu节点数规划

作者&#xff1a;南墨 一、概述 由于Kudu是Hadoop生态的一部分&#xff08;虽然它不依赖于Hadoop生态系统&#xff09;&#xff0c;因此大多数实际应用场景需要的不仅仅是Kudu&#xff1b;为了输入数据&#xff0c;可能需要Kafka、StreamSets或Spark Streaming&#xff1b;对…...

flutter 充电气泡

前言&#xff1a; 之前一直看到 有手机充电的时候 有气泡从Type-C 的位置冒泡上来 慢慢上移&#xff0c; 然后和上面的圆圈 会和&#xff0c;感觉还是挺好看的。今天试了下用 Flutter 实现了一版本。大致效果如下&#xff0c;而且气泡 和 气泡直接还可以粘黏 实现原理&#xff…...

【C++】deque以及优先级队列

容器适配器 deque的介绍deque的原理介绍 priority_queue的介绍与使用priority_queue的介绍priority_queue的使用constructor&#xff08;构造函数&#xff09;emptypushpoptopsize priority_queue的模拟实现 仿函数何为适配器容器适配器deque的缺陷选择deque作为适配器的理由ST…...

手机如何播放电脑的声音?

准备工具&#xff1a; 有线耳机&#xff0c;手机&#xff0c;电脑&#xff0c;远控软件 1.有线耳机插电脑上 2.电脑安装pc版远控软件&#xff0c;手机安装手机端控制版远控软件 3.手机控制电脑开启声音控制 用手机控制电脑后&#xff0c;打开声音控制&#xff0c;电脑播放视频…...

系统架构设计师教程 第3章 信息系统基础知识-3.6 办公自动化系统(OAS)-解读

系统架构设计师教程 第3章 信息系统基础知识-3.6 办公自动化系统&#xff08;OAS&#xff09; 3.6.1 办公自动化系统的概念3.6.1.1 办公活动3.6.1.1 办公自动化的概念 3.6.2 办公自动化系统的功能3.6.2.1 事务处理3.6.2.1.1 单机系统3.6.2.1.2 多机系统 3.6.2.2 信息管理3.6.2.…...

解决Element UI 表格组件懒加载数据刷新问题

一、问题描述 element ui的table组件设置成懒加载时&#xff0c;遇到数据表格需要更新、删除等操作&#xff0c;子节点不会自动更新。 二、解决思路 刷新数据&#xff0c;就是重新调用load&#xff08;&#xff09;&#xff0c;通过map记录已展开的节点&#xff0c;需要刷新…...

【系统架构设计 每日一问】二 MySql主从复制延迟可能是什么原因,怎么解决

主从复制的架构设计如下图所示&#xff1a; 同步原理 具体到数据库之间是通过binlog和复制线程操作的&#xff1a; Master的更新事件(update、insert、delete)会按照顺序写入bin-log中。当Slave连接到Master的后,Master机器会为Slave开启&#xff0c;binlog dump线程,该线程…...

Ubuntu Grub引导优化

配置文件 sudo vim /etc/default/grub修改参数 引导菜单等待时间 GRUB_TIMEOUT3自动引导上次选择的系统 如果安装了双系统或多系统&#xff0c;可以考虑配置此参数。 # 此参数默认值为0&#xff0c;引导第一个引导项 GRUB_DEFAULTsaved# 此参数默认没有&#xff0c;需要手…...

第3关 -- Git 基础知识

任务1: 破冰活动&#xff1a;自我介绍 任务2: 实践项目&#xff1a;构建个人项目 MeiHuaYiShu...

AttributeError: ‘WebDriver‘ object has no attribute ‘find_element_by_xpath‘

问题&#xff1a; 跑之前的python爬虫代码的时候报错 AttributeError: WebDriver object has no attribute find_element_by_xpath 源代码&#xff1a; elements self.driver.find_elements_by_xpath("//tbody[starts-with(id,normalthread)]/tr/th/a[1]")原因&…...

题解:小S与机房里的电脑 Computer_C++算法竞赛_贪心_二分答案_模拟_数据结构

文章目录 小S与机房里的电脑 Computer传统题题目描述输入格式输出格式样例样例输入 1样例输出 1样例输入 2样例输出 2 提示解题思路AC CodeEnd 小S与机房里的电脑 Computer 传统题 时间限制: 1000ms内存限制: 256MiB 题目描述 最近小S想带他的学生打组队娱乐赛&#xff0c;…...

Python @staticmethod、super().__init__()和self

最近在看代码&#xff0c;由于之前没有系统学习过Python&#xff0c;就有些知识点不是很清楚&#xff0c;这里整理一下&#xff0c;方便以后查阅。 Python中的staticmethod\super.init和self Python 装饰器staticmethod和classmethod的作用与区别作用区别代码演示 super() 函数…...

Linux网络:应用层协议HTTP(一)

一、什么是HTTP协议 虽然我们说, 应用层协议是我们程序猿自己定的. 但实际上, 已经有大佬们定义了一些现成的, 又非常好用的应用层协议, 供我们直接参考使用. HTTP(超文本传输协议)就是其中之一。 在互联网世界中&#xff0c;HTTP&#xff08;HyperText Transfer Protocol&…...

Tomcat底层原理

Tomcat是一个开源的Java Servlet容器&#xff0c;它实现了Java Servlet和JavaServer Pages (JSP) 技术&#xff0c;用于运行Java Web应用。它是由Apache软件基金会开发和维护的。以下是对Tomcat底层原理的详细解析&#xff1a; 1. 启动流程 Tomcat的启动流程主要分为以下几个…...

网络六边形受到攻击

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 抽象 现代智能交通系统 &#xff08;ITS&#xff09; 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 &#xff08;…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)

笔记整理&#xff1a;刘治强&#xff0c;浙江大学硕士生&#xff0c;研究方向为知识图谱表示学习&#xff0c;大语言模型 论文链接&#xff1a;http://arxiv.org/abs/2407.16127 发表会议&#xff1a;ISWC 2024 1. 动机 传统的知识图谱补全&#xff08;KGC&#xff09;模型通过…...

【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验

系列回顾&#xff1a; 在上一篇中&#xff0c;我们成功地为应用集成了数据库&#xff0c;并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了&#xff01;但是&#xff0c;如果你仔细审视那些 API&#xff0c;会发现它们还很“粗糙”&#xff1a;有…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年&#xff0c;作为行业领先的3D工业相机及视觉系统供应商&#xff0c;累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成&#xff0c;通过稳定、易用、高回报的AI3D视觉系统&#xff0c;为汽车、新能源、金属制造等行…...

[Java恶补day16] 238.除自身以外数组的乘积

给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O(n) 时间复杂度…...

高防服务器能够抵御哪些网络攻击呢?

高防服务器作为一种有着高度防御能力的服务器&#xff0c;可以帮助网站应对分布式拒绝服务攻击&#xff0c;有效识别和清理一些恶意的网络流量&#xff0c;为用户提供安全且稳定的网络环境&#xff0c;那么&#xff0c;高防服务器一般都可以抵御哪些网络攻击呢&#xff1f;下面…...

Device Mapper 机制

Device Mapper 机制详解 Device Mapper&#xff08;简称 DM&#xff09;是 Linux 内核中的一套通用块设备映射框架&#xff0c;为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程&#xff0c;并配以详细的…...

招商蛇口 | 执笔CID,启幕低密生活新境

作为中国城市生长的力量&#xff0c;招商蛇口以“美好生活承载者”为使命&#xff0c;深耕全球111座城市&#xff0c;以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子&#xff0c;招商蛇口始终与城市发展同频共振&#xff0c;以建筑诠释对土地与生活的…...

基于SpringBoot在线拍卖系统的设计和实现

摘 要 随着社会的发展&#xff0c;社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统&#xff0c;主要的模块包括管理员&#xff1b;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...