深入理解接口测试:实用指南与最佳实践5.0(一)
✨博客主页: https://blog.csdn.net/m0_63815035?type=blog
💗《博客内容》:.NET、Java.测试开发、Python、Android、Go、Node、Android前端小程序等相关领域知识
📢博客专栏: https://blog.csdn.net/m0_63815035/category_11954877.html
📢欢迎点赞 👍 收藏 ⭐留言 📝
📢本文为学习笔记资料,如有侵权,请联系我删除,疏漏之处还请指正🙉
📢大厦之成,非一木之材也;大海之阔,非一流之归也✨
前言
这一阶段是接口测试的学习,我们接下来的讲解都是使用Postman这款工具,当然呢Postman是现在一款非常流行的接口调试工具,它使用简单,而且功能也很强大。不仅测试人员会使用,开发人员也会 经常使用。后期讲解大概分三部分进行讲解:
1、根据接口API文档编写接口测试用例
2、使用Postman工具进行接口测试,并能够对大量接口用例进行管理、对接口响应结果进行断言、处理多接口的依赖及生成测试报告
3、使用Python+Requests封装的接口测试框架,实现接口对象封装、测试用例编写、测试数据管理及生成测试报告
目录
- 前言
- day00 一、postman相关环境配置
- 1.1安装postman
- 1.2安装Nodejs安装
- 1. 2.1安装node.js
- 1.2.3、Nodejs安装确认
- 1.3Newman安装及确认
- 1.3.1安装newman-reporter-htmlextra
- 扩展:附带在线下载链接,当然我也会把安装包免费放在资源区
- day01二、接口测试理论、HTTP协议、接口测试流程、接口文档解析
- 本节目标:
- 能够分析HTTP协议的请求和响应数据
- 完成ihrm系统指定接⼝的API⽂档解析
- 一、了解什么是接口(接口可分为:硬件接口和软件接口;我们这里只关注软件层面的接口)
- 1.1接口测试理论
- 1.2实现方式
- 二、接口基础知识(HTTP协议)
- 2.1HTTP协议介绍
- 2.2HTTP协议的特点
- 2.3URL
- 小练习:
- 3.1HTTP请求
- 请求行:
- 请求头:
- 请求头补充(了解)典型的请求头还有:
- 请求体:
- 3.1HTTP响应
- 状态行
- 响应头:
- 响应体
- 三、接口风格(传统接口风格和Restful风格)
- 传统接口风格
- RESTful风格接口
- RESTful架构特点
- 传统和RESTful接口区别
- 四、接口测试流程及接口文档解析
- 1、接口测试流程
- 2、接口文档解析
- 2.1 什么是接口文档?
- 2.2 为什么要写接口文档?
- 2.3 为什么要解析接口文档
- 2.4 接口文档内容
- 接口测试-day01-作业
- 接口测试-day01-作业-答案
day00 一、postman相关环境配置
1.1安装postman
具体请参考postman相关环境配置这篇博文
如果注册成功后,只能在浏览器中打开postman,而不能在 app中打开,可尝试如下操作。
1.在app中点击“sign in”
1.2安装Nodejs安装
作用:Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。Node 是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言。
要想给 postman 安装 newman 插件,必须 先 安装 node.js。 这是前提!
1. 2.1安装node.js
1、可能你使⽤的电脑,曾经安装过 node.js。先测试下,有没有。
2、cmd 打开命令提示符,输⼊命令 npm -v,如果能查看到npm的版本号信息(具体版本号是多少⽆所谓), 可跳过 “1. 安装node.js” 这步,直接看 “ 2. 安装 newman”
如显示, npm 命令⽆法识别,则按如下流程安装
下载 node.js(安装包我会放在资源区免费下载,此步可跳过。 这⾥只是介绍下载位置)
https://nodejs.org/zh-cn/download/
2、安装node.js
双击 .msi 安装包,勾选接受⽤户协议,不做任何设置。⼀路 “下⼀步” 即可。
3、一步步的往下面点就行
4、这里默认路径可以改一下
5、点击finish就OK了
1.2.3、Nodejs安装确认
安装完成,查验 node.js 是否安装成功!
1、cmd 打开 新的 终端窗⼝ 输⼊ npm -v 。如能看到版本号(具体版本号多少⽆所谓),代表 node.js 安装成功
2. 输入node -v
1.3Newman安装及确认
作用:Postman的一个命令行运行器。可以直接使用相关命令运行Postman导出的相关脚本、进 而实现后续的接口测试持续集成。
安装newman (前提:确保 npm -v 验证通过)
安装newman前,必须保证 node.js 已经装成功!!!
注意事项
在线安装命令:npm install -g newman
注意:使⽤ “管理员” 身份,启动 命令提示符,写⼊命令。
如果安装失败。避开⽹络访问⾼峰期(早7:30~9:30 午11:30~14:30 晚18:30~22:30)再安装,尝试 10⼏次 或 ⼏
⼗次 也是有可能的!
注意:Windows 终端 有缺陷!安装过程中,不要⽤⿏标 点击 终端⻚⾯(别⽤⿏标点⿊窗⼝⾥⾯)。
99%的⼈都能 在线安装成功。多尝试⼏遍
剩下的 1%,只能尝试离线安装。⽐较麻烦。步骤如下:
1. 找到 C:\Users\xxx\AppData\Roaming\npm 这个⽬录。(xxx)是你的⽤户主⽬录,每个⼈都不同。
2. 将 npm ⽬录原来的 所有内容 都删除。(这些⽂件是 node.js 安装成功,⾃动⽣成的)
3. 将 “npm.rar” 压缩包 的 内容 解压缩到这⾥。
4. 解压完,⼤致这样!(强调:安装后npm⽬录只有⼀个,不要在原来的npm⾥再套npm⽬录)
5. cmd 打开新终端。 输⼊ newman -v 看到版本号,说明离线安装成功!
1.3.1安装newman-reporter-htmlextra
安装命令:npm install -g newman-reporter-htmlextra
注意:使⽤ “管理员” 身份,启动 命令提示符,写⼊命令。
只要 newman 安装成功,此插件⼀定能安装成功,如失败,可多尝试⼏次。
没有红色的报错信息就是一切正常
暂时无法验证指令,后面生成测试报告时 方可验证。
扩展:附带在线下载链接,当然我也会把安装包免费放在资源区
newman:https://github.com/postmanlabs/newman
newman-reporter-html:https://github.com/postmanlabs/newman-reporter-html
day01二、接口测试理论、HTTP协议、接口测试流程、接口文档解析
本节目标:
能够分析HTTP协议的请求和响应数据
完成ihrm系统指定接⼝的API⽂档解析
一、了解什么是接口(接口可分为:硬件接口和软件接口;我们这里只关注软件层面的接口)
1.1接口测试理论
概念:
接⼝:系统之间(外部系统与内部系统,内部系统与内部系统)数据交通的通道。
接⼝测试:校验 接⼝回发的 响应数据 与 预期结果 是否⼀致。
接⼝测试,可以绕过前端界⾯。直接对 服务器进⾏测试!!!
价值:
1、可以发现⻚⾯测试发现不了的问题
2、符合 质量控制前移理念
3、低成本,⾼收益!
1.2实现方式
使用接口测试工具来实现(比如:JMeter、Postman)
通过编写代码来实现(比如:Python + Requests+Unittest或者java + HttpClient)
补充:自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程
接口自动化测试是让程序或工具代替人工自动的完成对接口进行测试的一种过程
postman:使⽤简单,上手难度低。功能较少。
jmeter:使⽤难度较大。上手难度大。功能齐全。
二、接口基础知识(HTTP协议)
2.1HTTP协议介绍
HTTP:(HyperText Transfer Protocol)超文本传输协议,是一个基于请求与响应模式的、应用层的协议,也是互联网上应用最为广泛的一种网络协议。简单来说:协议就是 规则!要求使⽤协议的双⽅必须 严格 遵守!!!
2.2HTTP协议的特点
- 支持客户端/服务器模式
- 简单快速
- 灵活
- 无连接
- 无状态
2.3URL
URL:(Uniform Resource Locator)统一资源定位符,是互联网上标准资源的地址。HTTP使用URL来建立连接
和传输数据。
协议部分:“http”,常见的协议有HTTP,HTTPS、FTP等
作用:指定数据传输规则
域名部分:“www.itcast.cn”,也可以使用IP地址作为域名使用
作用:在网络环境中,唯⼀定位一台主机
端口部分:“8080”,端口可以省略,默认端口(HTTP:80,HTTPS:443,FTP:21)
作用:在 主机上,唯⼀定义个应⽤程序
资源路径部分:“/news/index.html”
作用:应用对应的数据资源。 可以省略。如果省略,资源路径为 “/”
查询参数部分:“uid=123&page=1”,可以允许有多个参数,多个之间用“&”作为分隔符
作用:给资源传递参数
小练习:
请写出以下URL的各个组成部分。这个URL没有写出端⼝号,它的端⼝是什么?
http://www.weather.com.cn/data/sk/101010100.html
3.1HTTP请求
说明:http请求由三部分组成,分别是:请求行、请求头、请求体
了解http请求⼀定产生于客户端。当客户端给服务器发送请求时,使用该协议。(请求报文、请求包)
【示例】:
请求行:
请求行用来说明请求方法、要访问的资源以及所使用的协议版本
请求头:
请求头紧接着请求行,请求头部由键值对组成,每行一对。 请求头部通知服务器有关于客户端请求的信息
请求头补充(了解)典型的请求头还有:
请求体:
3.1HTTP响应
HTTP响应也由三个部分组成,分别是:状态行、响应头、响应体
一定产生与服务端。 当服务器接收到 http请求协议 之后,才会产生http响应协议(响应报文、响应包)。
【示例】:
状态行
⼀定位于 http响应协议的,第一行。
格式:协议版本 (空格) 状态码 (空格) 状态码描述 状态行由协议版本号、状态码、状态消息三部分组成
状态码有三位数字组成,第一个数字定义了响应的类别:
1xx:指示信息--表示请求已接收,继续处理
2xx:成功--表示请求已被成功接收、理解、接受
3xx:重定向--要完成请求必须进行更进一步的操作
4xx:客户端错误--请求有语法错误或请求无法实现
5xx:服务器端错误--服务器未能实现合法的请求
响应头:
响应头用于描述服务器的基本信息,以及数据的描述,服务器通过这些数据的描述信息,可以通知客户端如何处理 响应数据
位于响应行之下,空行之上的部分。 数据组织格式 ⼀定是 k:v 对。
响应体
位于 空行之下,几乎所有响应协议都有响应体。
响应体中包含的数据,是接口测试过程中,所要使用的实际结果!!
总的来说响应体就是响应的消息体,数据可以是普通文本、XML、JSON、HTML源码
三、接口风格(传统接口风格和Restful风格)
如何让前端开发与后台接口开发人员更好的配合,提高工作效率?
答:无规矩不成方圆,那就是制定接口规范
接口规范暂时,我们常用的是这两种
1、传统接口风格
2、RESFful接口风格
传统接口风格
RESTful风格接口
说明: 一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。
REST:即(Representational State Transfer)的缩写。词组的翻译是"表现层状态转化"。如果一个架构符合REST原则,就称它为RESTful架构。简单的概括为以下:
1、接口使用的方法,与http协议的 请求方法,⼀⼀对应。
2、get - 查、post - 增、put - 改、delete - 删
3、URL 与资源 ⼀⼀对应!不能从 URL 中,看出 是 何种操作。 需要通过 结合 请求方法 来识别何种操作。
4、 响应状态码 使用较为全面。
RESTful架构特点
- 每一个URL代表一种资源;
- 客户端和服务器之间,传递这种资源的某种表现层;
- 客户端通过四个HTTP动词,对服务器端资源进行操作,实现"表现层状态转化";
- 接口之间传递的数据最常用格式为JSON。
常用的HTTP动词有下面四个:
GET:从服务器获取资源(一项或多项)
POST:在服务器新建一个资源
PUT:在服务器更新资源(客户端提供改变后的完整资源)
DELETE:从服务器删除资源
传统和RESTful接口区别
四、接口测试流程及接口文档解析
1、接口测试流程
- 需求分析(产品经理的需求文档)
- 接口文档解析(开发编写的 接口API文档)
- 设计 接口测试用例(编写 Excel 表格形式的⽤例)
- 准备接口测试脚本 (设计测试用例)
postman 工具 生成脚本
python 代码 编写脚本- 执行测试用例,跟踪缺陷
- 生成 接口测试报告
- 接口自动化持续集成(可选)
2、接口文档解析
2.1 什么是接口文档?
接口文档:又称为API文档,一般是由后端开发人员所编写的,用来描述系统所提供接口信息的文档。 大家都根据这个接口文档进行开发,并需要一直维护和遵守。
作用:
协同:团队⼈员⼯作协同配合
约束:项目更新修改同步维护
2.2 为什么要写接口文档?
- 能够让前端开发与后台开发人员更好的配合,提高工作效率。(有一个统一参考的文件)
- 项目迭代或者项目人员更迭时,方便后期人员查看和维护
- 方便测试人员进行接口测试
2.3 为什么要解析接口文档
通过分析接口文档,熟悉接口信息。
通过接口文档获取,接口测试所使用的 请求数据、预期结果。
解析的核心目标:
- 请求报文关键数据 请求方法、URL、请求数据(请求头、请求体)
- 响应报文关键数据 响应状态码、响应数据(响应体)
2.4 接口文档内容
一个规范的接口文档,要包含以下信息:
基本信息 :接口名称、请求方法、请求路径、接口描述
请求参数:请求头请求体(包含具体的请求参数名称、参数类型、是否必须、示例、备注)
返回数据:不同情况的响应状态码响应数据(包含具体的响应数据名称、类型、是否必须、默认值、示例、备注)
案例如下:
接口测试-day01-作业
1,请简述接口的概念?
答案:
2,请简述接口测试的概念
答案:
3,为什么要进行接口测试?(价值)
答案:
4,我们可以使用哪些方式来实现接口测试?
答案:
5,请写出HTTP协议的5个特点
答案:
6,写出URL的格式,由哪 5 部分组成?
答案:
7,请写出 URL http://www.itcast.cn/subject/pythonzly/index.shtml?a=1&b=2 中,每个部分的内容
答案:
8,一个只有资源路径和查询参数的字符串,按URL规则解析时,查询参数有哪些,用什么符号隔分?
/seeyon/meeting.do?method=create&listMethod=listMyMeeting
答案:
9,以下关于HTTP请求的描述,错误的是?
A: HTTP请求包括了请求行,请求头,请求体
B: HTTP请求行包括协议/版本,URL,请求方法
C: HTTP请求头用于描述客户端信息
D: HTTP请求头中Content-Type用于描述客户端浏览器类型
E: HTTP请求中,只有Post请求才有请求体。
F: HTTP请求中,按照标准规范,请求的数据类型是由Content-Type来进行标志的。
答案
10,在HTTP请求中,有哪些常用的请求方法?
答案:
11,HTTP响应主要包括哪几个部分?
答案:
12,简述接口测试流程。
答案:
13,有如下 http请求,请分别写出 请求方法、URL、协议和域名、资源路径、请求行、请求头、请求体。
POST http://demo.zentao.net/user-login.html HTTP/1.1
Host: demo.zentao.net
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Referer: http://demo.zentao.net/user-login.html
Content-Type: application/x-www-form-urlencoded
Content-Length: 54
Connection: keep-alive
Upgrade-Insecure-Requests: 1account=demo&password=efc4a3b32e48054865e5a8321cfda3e4
答案:
14,有如下 http 响应包,请分别写出 响应状态码、状态码描述、状态行、响应头、响应体的内容。
HTTP/1.1 200 OK
Date: Fri, 22 May 2009 06:07:21 GMT
Content-Type: text/html; charset=UTF-8<html><head></head><body>...</body>
</html>
答案:
15,查看 《iHRM人力资源管理系统-API文档.pdf》中 “3.员工管理” 下的 “员工修改” 接口。写出:请求方法、资源路径、协议和域名、URL、请求行、请求头、请求体(请求体内容,任意举例一二即可)
答案:
接口测试-day01-作业-答案
1,请简述接口的概念?
答案:
接口,是数据交互的通道。用来实现 系统 之间的数据交互。
2,请简述接口测试的概念
答案:
接口测试,主要是对系统之间的接口进行测试。校验接口响应数据是否与预期数据一致。
3,为什么要进行接口测试?(价值)
答案:
1. 质量控制前移
2. 可以发现一些页面测试发现不了的问题。
3. 低成本高效益
4,我们可以使用哪些方式来实现接口测试?
答案:
工具实现:postman、jmeter
代码实现:Python + Requests 或 java + HttpClient
5,请写出HTTP协议的5个特点
答案:
1. 支持客户端/服务器模式
2. 简单快速
3. 灵活
4. 无连接
5. 无状态
6,写出URL的格式,由哪 5 部分组成?
答案:
协议://域名:端口/资源路径?查询参数&查询参数&...
7,请写出 URL http://www.itcast.cn/subject/pythonzly/index.shtml?a=1&b=2 中,每个部分的内容
答案:
协议:http
域名:www.itcast.cn
端口:80
资源路径:/subject/pythonzly/index.shtml
查询参数:a=1&b=2
8,一个只有资源路径和查询参数的字符串,按URL规则解析时,查询参数有哪些,用什么符号隔分?
/seeyon/meeting.do?method=create&listMethod=listMyMeeting
答案:
method=create 和 listMethod=listMyMeeting
用 & 隔分
9,以下关于HTTP请求的描述,错误的是?
A: HTTP请求包括了请求行,请求头,请求体
B: HTTP请求行包括协议/版本,URL,请求方法
C: HTTP请求头用于描述客户端信息
D: HTTP请求头中Content-Type用于描述客户端浏览器类型
E: HTTP请求中,只有Post请求才有请求体。
F: HTTP请求中,按照标准规范,请求的数据类型是由Content-Type来进行标志的。
答案
D. 说明:User-Agent 描述客户端浏览器类型。 Content-Type 描述请求体数据类型。
E. 说明:Put请求 也可以有请求体
10,在HTTP请求中,有哪些常用的请求方法?
答案:
GET、POST、PUT、DELETE
11,HTTP响应主要包括哪几个部分?
答案:
状态行、响应头、空行、响应体
12,简述接口测试流程。
答案:
1,需求分析
2,解析接口文档
3,设计接口测试用例
4,执行接口测试用例
5,接口缺陷管理和跟踪
6,生成测试报告
7,接口自动化测试和持续集成
13,有如下 http请求,请分别写出 请求方法、URL、协议和域名、资源路径、请求行、请求头、请求体。
POST http://demo.zentao.net/user-login.html HTTP/1.1
Host: demo.zentao.net
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Referer: http://demo.zentao.net/user-login.html
Content-Type: application/x-www-form-urlencoded
Content-Length: 54
Connection: keep-alive
Upgrade-Insecure-Requests: 1account=demo&password=efc4a3b32e48054865e5a8321cfda3e4
答案:
请求方法: post
URL: http://demo.zentao.net/user-login.html
协议和域名: http://demo.zentao.net
资源路径: user-login.html
请求行: POST http://demo.zentao.net/user-login.html HTTP/1.1
请求头:
Host: demo.zentao.net
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Referer: http://demo.zentao.net/user-login.html
Content-Type: application/x-www-form-urlencoded
Content-Length: 54
Connection: keep-alive
Upgrade-Insecure-Requests: 1请求体:
account=demo&password=efc4a3b32e48054865e5a8321cfda3e4
14,有如下 http 响应包,请分别写出 响应状态码、状态码描述、状态行、响应头、响应体的内容。
HTTP/1.1 200 OK
Date: Fri, 22 May 2009 06:07:21 GMT
Content-Type: text/html; charset=UTF-8<html><head></head><body>...</body>
</html>
答案:
响应状态码: 200
状态码描述: OK
状态行: HTTP/1.1 200 OK
响应头:
Date: Fri, 22 May 2009 06:07:21 GMT
Content-Type: text/html; charset=UTF-8
响应体:
<html><head></head><body>...</body>
</html>
15,查看 《iHRM人力资源管理系统-API文档.pdf》中 “3.员工管理” 下的 “员工修改” 接口。写出:请求方法、资源路径、协议和域名、URL、请求行、请求头、请求体(请求体内容,任意举例一二即可)
答案:
请求方法: put
URL: http://ihrm-test.itheima.net/api/sys/user/:target
协议和域名: http://ihrm-test.itheima.net
请求行: put http://ihrm-test.itheima.net/api/sys/user/:target HTTP/1.1
请求头:
Content-Type: application/json
Authorization: Bearer f5050a1b-7919-444c-9ec4-3c1a7286536d
请求体:
{"username":"欧阳踹踹"}
今天这篇文章就到这里了,大厦之成,非一木之材也;大海之阔,非一流之归也。感谢大家观看本文
相关文章:

深入理解接口测试:实用指南与最佳实践5.0(一)
✨博客主页: https://blog.csdn.net/m0_63815035?typeblog 💗《博客内容》:.NET、Java.测试开发、Python、Android、Go、Node、Android前端小程序等相关领域知识 📢博客专栏: https://blog.csdn.net/m0_63815035/cat…...

SQL面试题——飞猪SQL面试 重点用户
飞猪SQL面试题—重点用户 在一些场景中我们经常听到这样的一些描述,例如20%的用户贡献了80%的销售额,或者是20%的人拥有着80%的财富,你知道这样的数据是怎么算出来的吗 数据如下,uid 是用户的id ,amount是用户的消费金额 |uid|amount| ---…...

Angular 和 Vue2.0 对比
前言 :“业精于勤,荒于嬉;行成于思,毁于随” 很久没写博客了,大多记录少进一步探查。 Angular 和 Vue2.0 对比: 一.概念 1.1 Angular 框架: 是一款由谷歌开发的开源web前端框架(核…...

websocket服务器(协程风格)--swoole进阶篇
swoole的websocket服务器(协程风格)示例真不算友善,从头了解到尾,那还好,但是谁有那么多时间从头到尾了解。示例不够针对性,写websocket就该单独写websocket的东西,偏偏又加上http的东西。这里我来解读一下websocket服务器(协程风格)示例 <?php use Swoole\Http\…...

Windows C/C++ Socket 编程
承接上文:socket 编程 本文目录 Windows Client 端WSADATA 结构体WSAStartup() 函数SOCKET 以及 socket() 函数sockaddr_ininet_pton() 函数in_addr structmemcpy()connect() 函数send() 函数recv() 函数 Windows Server 端 在进行 socket 编程之前,你要…...

计算两个结构的乘法
在行列可自由变换的平面上,2点结构有3个 3点结构有6个 计算2*2 2a1*2a14a6 2a1*2a24a8 2a1*2a34a12 显然2a1*2a14a6因为这3个结构都分布在同一列上,就是整数乘法。2a1*2a2的结果有2种写法,一种外形像2a1细节为2a2,一种外形为2…...

学校服务器连接pycharm配置2
上一个可能还是有点问题,因为实际在跑的时候读取的其实是本地的anaconda,这个重新整了一下流程 首先在学校服务器先激活自己创建的虚拟环境,这里就不截图了 然后在pycharm里面打开设置 选择这个python解释器 这里有添加解释器 选择SSH …...

AI赋能电商:创新应用提升销售与用户体验
目录 一、引言 二、AI技术在电商领域的创新应用 三、AI技术提高电商销售效率和用户体验的实践路径 一、引言 随着人工智能(AI)技术的不断成熟,电商行业正迎来一场深刻的变革。AI技术在购物推荐、会员分类、商品定价等方面的创新应用&…...

详解kafka消息发送重试机制的案例
在 Kafka 生产者中实现消息发送的重试机制,可以通过配置 KafkaProducer 的相关属性来实现。以下是一些关键的配置项: retries:设置生产者发送失败后重试的次数。 retry.backoff.ms:设置生产者在重试前等待的时间。 buffer.memo…...

linux文本管理!!!
文章目录 第1章 文本过滤/查看命令1.echo:输出文本2.cat:合并文件或查看文件内容3.head:显示文件头部信息4.tail:显示文件尾部信息5.wc: 统计文本行号6.less:分页显示文件内容7.grep:文本过滤工具8.定向符号…...

软件设计师-计算机体系结构分类
计算机体系结构分类 Flynn分类法 根据不同的指令流数据流组织方式分类单指令流但数据流SISD,单处理器系统单指令多数据流SIMD,单指令流多数据流是一种采用一个控制器来控制多个处理器,同时对一组数据(又称“数据矢量”)中的每一…...

《基于深度学习的车辆行驶三维环境双目感知方法研究》
复原论文思路: 《基于深度学习的车辆行驶三维环境双目感知方法研究》 1、双目测距的原理 按照上述公式算的话,求d的话,只和xl-xr有关系,这样一来,是不是只要两张图像上一个测试点的像素位置确定,对应的深…...

jwt用户登录,网关给微服务传递用户信息,以及微服务间feign调用传递用户信息
1、引入jwt依赖 <dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId><version>0.9.1</version></dependency> 2、Jwt工具类,生成token以及解析token package com.niuniu.gateway.uti…...

ubontu安装anaconda
1.下载 Anaconda 安装脚本 2. 复制到服务器上/home/username文件夹中,进入文件夹,执行: bash Anaconda3-2024.10-1-Linux-x86_64.sh一直按回车,然后输入yes同意协议。 3. 初始化 Anaconda 环境,会自动配置环境变量&a…...

【Docker容器化技术】docker安装与配置、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
文章目录 一、Docker的安装与配置1、docker概述2、安装docker3、docker架构4、配置镜像加速器 二、Docker命令1、服务相关命令2、镜像相关命令3、容器相关命令 三、Docker容器数据卷1、数据卷概念及作用2、配置数据卷3、配置数据卷容器 四、Docker应用部署实战1、部署MySQL2、部…...

Python模拟A卷实操题
1.某机械公司生产两种产品。A的单件利润分别是100元,B的单件利润是150元。 每种产品由三种材料构成,现给出每种材料的库存(库存小于100000),求利润最大的生产方案。输入说明:第一行给出生产每件A产品所需要…...
Leetcode 检测相邻递增子数组
3349. 检测相邻递增子数组 I 给你一个由 n 个整数组成的数组 nums ,请你找出 k 的 最大值,使得存在 两个 相邻 且长度为 k 的 严格递增 子数组 。具体来说,需要检查是否存在从下标 a 和 b (a < b) 开始的 两个 子数组,并满…...

rockylinux 8安装 gcc11.2
方法 1:从源代码编译安装最新版本的 GCC 下载 GCC 源代码: 访问 GCC 官方网站下载最新版本的源代码,例如: wget https://ftp.gnu.org/gnu/gcc/gcc-11.2.0/gcc-11.2.0.tar.gz tar -xf gcc-11.2.0.tar.gz cd gcc-11.2.0安装依赖项&a…...

【蓝桥等考C++真题】蓝桥杯等级考试C++组第13级L13真题原题(含答案)-奇数序列排序
C L13 奇数序列排序 给定一个长度为N的正整数序列, 请将其中的所有奇数取出,并按增序(从小到大)输出。 输入: 共2行 第1行是一个正整数 N(不大于500); 第2行有 N 个正整数&#x…...

【AI】好用的AI记录
好用的AI 一、国内 KIMI通义 二、国外 GPT4Cursorv0...

linux安装boost.python
前言 boost.python库被用于C与Python代码间的交互,提供了两者间大部分数据类型的转换 相关环境 操作系统:Ubuntu 20.04 python版本:Python 3.8 boost版本:boost 1.78.0 安装 1.boost.python检查与卸载 在安装boost之前需要检…...

AI 扩展开发者思维方式:以 SQL 查询优化为例
在现代软件开发中,AI 技术的兴起让开发者的思维方式发生了显著变化。尤其是在 SQL 查询优化、代码重构以及算法设计等领域,AI 提供的建议不仅扩展了开发者的思考路径,还帮助他们发现以往没有意识到的潜在解决方案。 1. 传统思维模式下的 SQL…...

自定义面板,高效的游戏性能分析利器
为了更有效地聚焦并解决性能问题,UWA报告采用了分模块监控策略,确保每个模块独立成章,各司其职。然而,随着对性能分析需求的不断升级,我们已经意识到,在深入分析某些跨模块的性能瓶颈或优化点时,…...

【Linux进程特别篇】深度理解辨识僵尸进程和孤儿进程
--------------------------------------------------------------------------------------------------------------------------------- 每日鸡汤:每一份坚持都是成功的积累,只要相信自己,总会遇到惊喜。 -----------------------------…...

喜报|超维机器人荣获昇腾AI创新大赛铜奖
近日,在备受瞩目的昇腾AI创新大赛中,超维机器人凭借扎实的技术实力和创新产品,荣获大赛铜奖。这一荣誉不仅展现了超维机器人在智能巡检领域的技术创新与突破,也标志着超维机器人的智能巡检解决方案在人工智能领域获得了广泛认可&a…...

从五种架构风格推导出HTTP的REST架构
在分布式系统中,架构风格(Architectural Style)决定了系统组件如何交互、通信、存储和管理数据。每种架构风格都有其独特的特性和适用场景。本文将从五种典型的架构风格出发,逐步探讨它们如何影响了REST(Representational State Transfer,表述性状态转移)架构风格的设计…...

vue-h5:在h5中实现相机拍照加上身份证人相框和国徽框
方案1:排出来照片太糊了,效果不好 1.基础功能 参考: https://blog.csdn.net/weixin_45148022/article/details/135696629 https://juejin.cn/post/7327353533618978842?searchId20241101133433B2BB37A081FD6A02DA60 https://www.freesio…...

免费HTML模板和CSS样式网站汇总
HTML模板:(注意版权,部分不可商用) 1、Tooplate,免费HTML模板下载 Download 60 Free HTML Templates for your websitesDownload 60 free HTML website templates or responsive Bootstrap templates instantly from T…...

Mac打开time machine(时间机器)备份特殊文件
Mac 打开time machine(时间机器)备份特殊文件 设置“时间机器”的作用具体操作办法 前言:今天在使用Nas同步文件时发现有部分重要文件没有同步,为了省事手动拖拽复制文件,导致其中一份非常重要的文件丢失,尝…...

Qt 学习第十六天:文件和事件
一、创建widget对象(文件) 二、设计ui界面 放一个label标签上去,设置成box就可以显示边框了 三、新建Mylabel类 四、提升ui界面的label标签为Mylabel 五、修改mylabel.h,mylabel.cpp #ifndef MYLABEL_H #define MYLABEL_H#incl…...