Jmeter中的测试片段和非测试原件

 1)测试片段

c6a0271dbdc44877bc0f59fcc1b967c0.png

1--测试片段

功能特点

  • 重用性:将常用的测试元素组合成一个测试片段,便于在多个线程组中重用。
  • 模块化:提高测试计划的模块化程度,使测试计划更易于管理和维护。
  • 灵活性:可以通过模块控制器灵活地引用和控制测试片段的执行。

配置步骤

  1. 创建测试片段

    • 右键点击测试计划 -> 添加 -> 测试片段 -> 输入测试片段名称(例如“公共登录流程”)。
  2. 添加测试元素

    • 在测试片段中添加所需的测试元素,如取样器、前置处理器、后置处理器、断言等。
  3. 引用测试片段

    • 在需要使用测试片段的线程组中,右键点击线程组 -> 添加 -> 采样器 -> 模块控制器。
    • 配置模块控制器:
      • 名称:给模块控制器一个有意义的名称。
      • 测试片段:选择要引用的测试片段。

参数说明

  • 测试片段名称:给测试片段一个有意义的名称。
  • 模块控制器名称:给模块控制器一个有意义的名称。
  • 测试片段选择:选择要引用的测试片段。

示例配置

假设我们需要测试一个Web应用,并且有一个常见的登录流程需要在多个线程组中重用。

  1. 创建测试计划

    • 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
  2. 创建测试片段

    • 右键点击测试计划 -> 添加 -> 测试片段 -> 输入测试片段名称(例如“公共登录流程”)。
  3. 添加登录请求

    • 在测试片段中右键点击 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:登录请求
      • 服务器名称或IP:目标服务器的地址(例如example.com)。
      • 端口号:目标服务器的端口(例如80)。
      • 协议:HTTP或HTTPS(例如HTTP)。
      • 方法:POST
      • 路径:请求的路径(例如/login)。
      • 参数
        • 名称:username
        • :testuser
        • 名称:password
        • :testpass
  4. 添加断言

    • 在登录请求下右键点击 -> 添加 -> 断言 -> 响应断言。
    • 配置响应断言:
      • 名称:验证登录成功
      • 模式匹配规则:包含
      • 模式:登录成功
  5. 创建线程组

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟1”)。
    • 配置线程组:
      • 线程数:1(模拟1个用户)
      • 循环次数:1(每个用户发送1次请求)
      • 启动延迟:0(立即启动)
  6. 引用测试片段

    • 在线程组中右键点击 -> 添加 -> 采样器 -> 模块控制器。
    • 配置模块控制器:
      • 名称:引用公共登录流程
      • 测试片段:选择“公共登录流程”
  7. 创建另一个线程组并引用测试片段

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟2”)。
    • 配置线程组:
      • 线程数:1(模拟1个用户)
      • 循环次数:1(每个用户发送1次请求)
      • 启动延迟:0(立即启动)
    • 在线程组中右键点击 -> 添加 -> 采样器 -> 模块控制器。
    • 配置模块控制器:
      • 名称:引用公共登录流程
      • 测试片段:选择“公共登录流程”
  8. 运行测试

    • 点击工具栏上的“启动”按钮,运行测试。
    • 查看结果树监听器或查看结果文件,确保登录请求成功执行。

优化建议

  1. 模块化设计

    • 将常用的功能(如登录、注销、查询等)封装成测试片段,提高测试计划的模块化程度。
  2. 复用性

    • 在多个线程组中引用同一个测试片段,减少重复配置,提高测试效率。
  3. 调试方便

    • 在测试片段中添加调试信息,帮助定位问题。可以使用日志记录或查看结果树监听器。
  4. 性能考虑

    • 如果测试中包含大量的请求,确保测试片段中的配置高效且简洁,避免影响测试性能。

示例配置详细说明

假设我们有一个简单的测试计划,包含两个线程组,并希望在每个线程组中重用一个公共的登录流程。

  1. 创建测试计划

    • 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
  2. 创建测试片段

    • 右键点击测试计划 -> 添加 -> 测试片段 -> 输入测试片段名称(例如“公共登录流程”)。
  3. 添加登录请求

    • 在测试片段中右键点击 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:登录请求
      • 服务器名称或IP:example.com
      • 端口号:80
      • 协议:HTTP
      • 方法:POST
      • 路径:/login
      • 参数
        • 名称:username
        • :testuser
        • 名称:password
        • :testpass
  4. 添加断言

    • 在登录请求下右键点击 -> 添加 -> 断言 -> 响应断言。
    • 配置响应断言:
      • 名称:验证登录成功
      • 模式匹配规则:包含
      • 模式:登录成功
  5. 创建第一个线程组

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟1”)。
    • 配置线程组:
      • 线程数:1(模拟1个用户)
      • 循环次数:1(每个用户发送1次请求)
      • 启动延迟:0(立即启动)
  6. 引用测试片段

    • 在线程组中右键点击 -> 添加 -> 采样器 -> 模块控制器。
    • 配置模块控制器:
      • 名称:引用公共登录流程
      • 测试片段:选择“公共登录流程”
  7. 创建第二个线程组并引用测试片段

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟2”)。
    • 配置线程组:
      • 线程数:1(模拟1个用户)
      • 循环次数:1(每个用户发送1次请求)
      • 启动延迟:0(立即启动)
    • 在线程组中右键点击 -> 添加 -> 采样器 -> 模块控制器。
    • 配置模块控制器:
      • 名称:引用公共登录流程
      • 测试片段:选择“公共登录流程”
  8. 运行测试

    • 点击工具栏上的“启动”按钮,运行测试。
    • 查看结果树监听器或查看结果文件,确保登录请求成功执行。

 

 

 

a86a3c6206c74a85810d3a2e92448e21.png


2)非测试原件

b313b4989f554a9b903a1c647bdf07f8.png

1--HTTP(S)测试脚本记录器

 

功能特点

  • 录制浏览器操作:录制用户的浏览器操作,生成相应的 JMeter 测试脚本。
  • 支持 HTTPS:支持录制 HTTPS 请求,确保安全通信。
  • 灵活配置:可以设置多个录制选项,满足不同的测试需求。
  • 过滤器:使用过滤器排除不需要录制的请求。

配置步骤

  1. 启动 HTTP(S) 测试脚本记录器

    • 右键点击测试计划 -> 添加 -> 非测试元件 -> HTTP(S) 测试脚本记录器。
  2. 配置 HTTP(S) 测试脚本记录器

    • 名称:给 HTTP(S) 测试脚本记录器一个有意义的名称。
    • 端口号:设置代理服务器的端口号(默认为 8888)。
    • 上下文:设置录制的上下文,可以选择录制整个测试计划或特定的线程组。
    • 过滤器:设置过滤器,排除不需要录制的请求。
    • 证书:生成和安装证书,用于录制 HTTPS 请求。
  3. 配置浏览器代理

    • 设置浏览器的代理服务器,指向 JMeter 的 HTTP(S) 测试脚本记录器。
    • 例如,对于 Chrome 浏览器,可以在网络设置中设置代理服务器为 localhost:8888
  4. 开始录制

    • 在 HTTP(S) 测试脚本记录器中点击“开始”按钮,开始录制浏览器操作。
    • 执行需要录制的操作,例如登录网站、提交表单等。
  5. 停止录制

    • 完成操作后,在 HTTP(S) 测试脚本记录器中点击“停止”按钮,停止录制。
  6. 查看和编辑生成的测试脚本

    • 录制完成后,JMeter 会自动生成相应的测试脚本。
    • 可以在测试计划中查看和编辑生成的取样器、前置处理器、后置处理器、断言等。

参数说明

  • 名称:给 HTTP(S) 测试脚本记录器一个有意义的名称。
  • 端口号:设置代理服务器的端口号(默认为 8888)。
  • 上下文:设置录制的上下文,可以选择录制整个测试计划或特定的线程组。
  • 过滤器:设置过滤器,排除不需要录制的请求。
  • 证书:生成和安装证书,用于录制 HTTPS 请求。

示例配置

假设我们需要录制一个用户的登录流程,并生成相应的 JMeter 测试脚本。

  1. 创建测试计划

    • 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
  2. 启动 HTTP(S) 测试脚本记录器

    • 右键点击测试计划 -> 添加 -> 非测试元件 -> HTTP(S) 测试脚本记录器。
  3. 配置 HTTP(S) 测试脚本记录器

    • 名称:HTTP(S) 测试脚本记录器
    • 端口号:8888
    • 上下文:选择录制整个测试计划
    • 过滤器
      • 包含模式:输入需要录制的 URL 模式(例如*.example.com/*
      • 排除模式:输入不需要录制的 URL 模式(例如*.google.com/*
    • 证书
      • 点击“生成”按钮,生成证书文件。
      • 导出证书文件并安装到浏览器中。
  4. 配置浏览器代理

    • 对于 Chrome 浏览器,打开设置 -> 高级 -> 系统 -> 打开您的计算机的代理设置。
    • 设置手动代理配置,HTTP 代理和 HTTPS 代理均设置为 localhost:8888
  5. 开始录制

    • 在 HTTP(S) 测试脚本记录器中点击“开始”按钮,开始录制浏览器操作。
    • 打开浏览器,访问目标网站(例如https://example.com)。
    • 执行登录操作,填写用户名和密码,点击登录按钮。
  6. 停止录制

    • 完成操作后,在 HTTP(S) 测试脚本记录器中点击“停止”按钮,停止录制。
  7. 查看和编辑生成的测试脚本

    • 录制完成后,JMeter 会自动生成相应的测试脚本。
    • 在测试计划中查看生成的取样器、前置处理器、后置处理器、断言等。
    • 编辑生成的脚本,添加必要的断言和监听器,确保测试的准确性和可靠性。

优化建议

  1. 过滤器设置

    • 使用过滤器排除不必要的请求,例如广告、跟踪脚本等,避免生成冗余的测试脚本。
  2. 证书管理

    • 确保证书正确安装到浏览器中,避免 HTTPS 请求录制失败。
    • 如果需要录制多个浏览器的操作,确保每个浏览器都安装了相同的证书。
  3. 代理设置

    • 确保浏览器的代理设置正确,指向 JMeter 的 HTTP(S) 测试脚本记录器。
    • 如果使用的是企业网络,可能需要额外配置代理服务器。
  4. 脚本优化

    • 录制完成后,仔细检查生成的测试脚本,删除不必要的请求。
    • 添加必要的断言和监听器,确保测试的准确性和可靠性。
    • 使用变量和参数化,提高测试脚本的灵活性和可重用性。

示例配置详细说明

假设我们有一个简单的测试计划,需要录制一个用户的登录流程,并生成相应的 JMeter 测试脚本。

  1. 创建测试计划

    • 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
  2. 启动 HTTP(S) 测试脚本记录器

    • 右键点击测试计划 -> 添加 -> 非测试元件 -> HTTP(S) 测试脚本记录器。
  3. 配置 HTTP(S) 测试脚本记录器

    • 名称:HTTP(S) 测试脚本记录器
    • 端口号:8888
    • 上下文:选择录制整个测试计划
    • 过滤器
      • 包含模式:输入需要录制的 URL 模式(例如*.example.com/*
      • 排除模式:输入不需要录制的 URL 模式(例如*.google.com/*
    • 证书
      • 点击“生成”按钮,生成证书文件。
      • 导出证书文件并安装到浏览器中。
  4. 配置浏览器代理

    • 对于 Chrome 浏览器,打开设置 -> 高级 -> 系统 -> 打开您的计算机的代理设置。
    • 设置手动代理配置,HTTP 代理和 HTTPS 代理均设置为 localhost:8888
  5. 开始录制

    • 在 HTTP(S) 测试脚本记录器中点击“开始”按钮,开始录制浏览器操作。
    • 打开浏览器,访问目标网站(例如https://example.com)。
    • 执行登录操作,填写用户名和密码,点击登录按钮。
  6. 停止录制

    • 完成操作后,在 HTTP(S) 测试脚本记录器中点击“停止”按钮,停止录制。
  7. 查看和编辑生成的测试脚本

    • 录制完成后,JMeter 会自动生成相应的测试脚本。
    • 在测试计划中查看生成的取样器、前置处理器、后置处理器、断言等。
    • 编辑生成的脚本,添加必要的断言和监听器,确保测试的准确性和可靠性。

68a686cedae641dba4ea1a9114ed6ea5.png


2--HTTP镜像服务器

功能特点

  • 请求回显:HTTP 镜像服务器会返回接收到的请求内容作为响应,用于验证请求的正确性。
  • 性能测试:可以用来测试 HTTP 请求的响应时间和性能。
  • 简单配置:配置简单,易于使用。

配置步骤

  1. 启动 HTTP 镜像服务器

    • 打开命令行终端。
    • 导航到 JMeter 的 bin 目录。
    • 运行以下命令启动 HTTP 镜像服务器:
      jmeter -Dhttp.port=8080 -Dhttp.mirror_server=true -n -t <path_to_jmx_file>
      其中 <path_to_jmx_file> 是你的测试计划文件的路径。如果你只是想启动镜像服务器而不需要运行具体的测试计划,可以省略 -t 参数。
  2. 配置 JMeter 测试计划

    • 创建一个新的测试计划或打开现有的测试计划。
    • 添加一个线程组。
    • 在线程组中添加一个 HTTP 请求取样器。
    • 配置 HTTP 请求取样器:
      • 名称:HTTP 请求
      • 服务器名称或IP:localhost
      • 端口号:8080
      • 协议:HTTP
      • 方法:GET 或 POST
      • 路径:/ (或其他路径)
      • 参数:根据需要添加请求参数
  3. 运行测试

    • 点击工具栏上的“启动”按钮,运行测试。
    • 查看结果树监听器或查看结果文件,确保请求和响应内容一致。

参数说明

  • http.port:设置 HTTP 镜像服务器监听的端口号(默认为 8080)。
  • http.mirror_server:启用 HTTP 镜像服务器功能。
  • -n:以非 GUI 模式运行 JMeter。
  • -t:指定要运行的测试计划文件路径。

示例配置

假设我们需要测试一个简单的 HTTP GET 请求,并验证请求和响应内容的一致性。

  1. 启动 HTTP 镜像服务器

    • 打开命令行终端。
    • 导航到 JMeter 的 bin 目录。
    • 运行以下命令启动 HTTP 镜像服务器:
      jmeter -Dhttp.port=8080 -Dhttp.mirror_server=true -n
  2. 创建测试计划

    • 打开 JMeter。
    • 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“HTTP 镜像服务器测试”)。
  3. 添加线程组

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
    • 配置线程组:
      • 线程数:1(模拟1个用户)
      • 循环次数:1(每个用户发送1次请求)
      • 启动延迟:0(立即启动)
  4. 添加 HTTP 请求取样器

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP 请求。
    • 配置 HTTP 请求取样器:
      • 名称:HTTP 请求
      • 服务器名称或IP:localhost
      • 端口号:8080
      • 协议:HTTP
      • 方法:GET
      • 路径:/
      • 参数:根据需要添加请求参数(例如,添加一个参数 name,值为 testuser
  5. 添加监听器

    • 右键点击线程组 -> 添加 -> 监听器 -> 查看结果树。
    • 这将帮助你查看请求和响应的内容。
  6. 运行测试

    • 点击工具栏上的“启动”按钮,运行测试。
    • 查看结果树监听器,确保请求和响应内容一致。

优化建议

  1. 端口号选择

    • 确保选择的端口号没有被其他服务占用。默认端口号为 8080,如果已被占用,可以更改端口号。
  2. 请求参数

    • 根据需要添加请求参数,确保请求内容符合预期。
  3. 性能测试

    • 可以增加线程数和循环次数,模拟更多的并发用户,测试服务器的性能。
  4. 日志记录

    • 在测试计划中添加日志记录监听器,帮助调试和记录测试过程中的信息。

示例配置详细说明

假设我们有一个简单的测试计划,需要测试一个 HTTP GET 请求,并验证请求和响应内容的一致性。

  1. 启动 HTTP 镜像服务器

    • 打开命令行终端。
    • 导航到 JMeter 的 bin 目录。
    • 运行以下命令启动 HTTP 镜像服务器:
       
      Sh

      深色版本

      jmeter -Dhttp.port=8080 -Dhttp.mirror_server=true -n
  2. 创建测试计划

    • 打开 JMeter。
    • 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“HTTP 镜像服务器测试”)。
  3. 添加线程组

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
    • 配置线程组:
      • 线程数:1(模拟1个用户)
      • 循环次数:1(每个用户发送1次请求)
      • 启动延迟:0(立即启动)
  4. 添加 HTTP 请求取样器

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP 请求。
    • 配置 HTTP 请求取样器:
      • 名称:HTTP 请求
      • 服务器名称或IP:localhost
      • 端口号:8080
      • 协议:HTTP
      • 方法:GET
      • 路径:/
      • 参数
        • 名称:name
        • :testuser
  5. 添加监听器

    • 右键点击线程组 -> 添加 -> 监听器 -> 查看结果树。
    • 这将帮助你查看请求和响应的内容。
  6. 运行测试

    • 点击工具栏上的“启动”按钮,运行测试。
    • 查看结果树监听器,确保请求和响应内容一致。

 

 

 

db8db4cf556e45af81b781f7f667a081.png


 

3--属性显示

 

功能特点

  • 请求和响应查看:查看每个请求的请求头、请求体、响应头和响应体。
  • 断言结果:查看与请求关联的断言结果。
  • 树形结构:以树形结构展示请求和响应数据,方便导航和查看。
  • 支持多种格式:支持查看 HTML、XML、JSON 等多种格式的响应数据。

配置步骤

  1. 添加属性显示监听器

    • 右键点击需要添加监听器的线程组或测试计划。
    • 选择“添加” -> “监听器” -> “查看结果树”。
  2. 配置属性显示监听器

    • 名称:给属性显示监听器一个有意义的名称。
    • 保存响应数据:选择是否保存响应数据。
    • 显示模式:选择显示模式,例如:
      • 树形视图:以树形结构显示请求和响应数据。
      • 表格视图:以表格形式显示请求和响应数据。
      • 仅显示失败:只显示失败的请求。
    • 高级设置:可以设置更多高级选项,例如响应数据的最大长度。

参数说明

  • 名称:给属性显示监听器一个有意义的名称。
  • 保存响应数据:选择是否保存响应数据。如果选择保存,响应数据将被记录到监听器中,方便后续查看。
  • 显示模式
    • 树形视图:以树形结构显示请求和响应数据。
    • 表格视图:以表格形式显示请求和响应数据。
    • 仅显示失败:只显示失败的请求。
  • 高级设置
    • 响应数据的最大长度:设置响应数据的最大长度,超出部分将被截断。
    • 显示响应数据:选择是否显示响应数据。
    • 显示响应头:选择是否显示响应头。
    • 显示请求数据:选择是否显示请求数据。
    • 显示请求头:选择是否显示请求头。

示例配置

假设我们需要测试一个Web应用,并查看登录请求的请求和响应数据。

  1. 创建测试计划

    • 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
  2. 添加线程组

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
    • 配置线程组:
      • 线程数:1(模拟1个用户)
      • 循环次数:1(每个用户发送1次请求)
      • 启动延迟:0(立即启动)
  3. 添加登录请求

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:登录请求
      • 服务器名称或IP:目标服务器的地址(例如example.com)。
      • 端口号:目标服务器的端口(例如80)。
      • 协议:HTTP或HTTPS(例如HTTP)。
      • 方法:POST
      • 路径:请求的路径(例如/login)。
      • 参数
        • 名称:username
        • :testuser
        • 名称:password
        • :testpass
  4. 添加属性显示监听器

    • 右键点击线程组 -> 添加 -> 监听器 -> 查看结果树。
    • 配置属性显示监听器:
      • 名称:查看请求和响应
      • 保存响应数据:勾选
      • 显示模式:选择“树形视图”
      • 高级设置
        • 响应数据的最大长度:10240
        • 显示响应数据:勾选
        • 显示响应头:勾选
        • 显示请求数据:勾选
        • 显示请求头:勾选
  5. 运行测试

    • 点击工具栏上的“启动”按钮,运行测试。
    • 在属性显示监听器中查看请求和响应数据,确保请求和响应内容正确。

优化建议

  1. 响应数据保存

    • 如果测试中包含大量的请求,可以选择不保存响应数据,以减少内存消耗。可以在测试结束后再启用保存响应数据,以便调试。
  2. 显示模式

    • 根据需要选择合适的显示模式。例如,如果只想查看失败的请求,可以选择“仅显示失败”模式。
  3. 响应数据长度

    • 设置合理的响应数据最大长度,避免因数据过大导致性能问题。
  4. 请求和响应头

    • 根据需要选择是否显示请求和响应头,这有助于调试请求和响应的详细信息。

示例配置详细说明

假设我们有一个简单的测试计划,需要测试一个登录请求,并查看请求和响应数据。

  1. 创建测试计划

    • 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
  2. 添加线程组

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
    • 配置线程组:
      • 线程数:1(模拟1个用户)
      • 循环次数:1(每个用户发送1次请求)
      • 启动延迟:0(立即启动)
  3. 添加登录请求

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:登录请求
      • 服务器名称或IP:example.com
      • 端口号:80
      • 协议:HTTP
      • 方法:POST
      • 路径:/login
      • 参数
        • 名称:username
        • :testuser
        • 名称:password
        • :testpass
  4. 添加属性显示监听器

    • 右键点击线程组 -> 添加 -> 监听器 -> 查看结果树。
    • 配置属性显示监听器:
      • 名称:查看请求和响应
      • 保存响应数据:勾选
      • 显示模式:选择“树形视图”
      • 高级设置
        • 响应数据的最大长度:10240
        • 显示响应数据:勾选
        • 显示响应头:勾选
        • 显示请求数据:勾选
        • 显示请求头:勾选
  5. 运行测试

    • 点击工具栏上的“启动”按钮,运行测试。
    • 在属性显示监听器中查看请求和响应数据,确保请求和响应内容正确。

 

 

 

079d3b66ccc241ffa7f1ea19364c6404.png


 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/62022.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux实时操作系统xenomai看门狗(watchdog)机制及作用介绍

版权声明&#xff1a;本文为本文为博主原创文章&#xff0c;转载请注明出处 https://www.cnblogs.com/wsg1100。如有错误&#xff0c;欢迎指正。 文章目录 一、前言PREEMPT-RT&#xff08;RT Throttling&#xff09; 一、xenomai watchdog介绍二、xenomai watchdog工作原理三、…

【C语言】字符串左旋的三种解题方法详细分析

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C语言 文章目录 &#x1f4af;前言&#x1f4af;题目描述&#x1f4af;方法一&#xff1a;逐字符移动法&#x1f4af;方法二&#xff1a;使用辅助空间法&#x1f4af;方法三&#xff1a;三次反转法&#x1f4af;方法对…

【大模型】LLaMA-Factory的环境配置、微调模型与测试

前言 【一些闲扯】 时常和朋友闲聊&#xff0c;时代发展这么快&#xff0c;在时代的洪流下&#xff0c;我们个人能抓住些什么呢。我问了大模型&#xff0c;文心一言是这样回答的&#xff1a; 在快速发展的时代背景下&#xff0c;个人确实面临着诸多挑战&#xff0c;但同时也充满…

Web 表单开发全解析:从基础到高级掌握 HTML 表单设计

文章目录 前言一、什么是 Web 表单?二、表单元素详解总结前言 在现代 Web 开发中,表单 是用户与后端服务交互的重要桥梁。无论是用户登录、注册、搜索,还是提交反馈,表单都无处不在。在本文中,我们将从基础入手,全面解析表单的核心知识点,并通过示例带你轻松掌握表单开…

nodepad配置c/c++ cmd快速打开创建项目文件

前提:下载MinGw,并且配置环境变量 点击阅读次篇文章配置MinGw 无论是哪个编译器&#xff0c;执行c文件都是经历以下步骤: 编译文件生成exe文件执行该exe文件 我们先手动完成这两部 手动编译文件使用指令 gcc {你的c文件} -o {生成文件名}生成exe文件 第二步运行exe直接点击该文…

打造优秀技术文档的三大方向

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

Xcode15(iOS17.4)打包的项目在 iOS12 系统上启动崩溃

0x00 启动崩溃 崩溃日志&#xff0c;只有 2 行&#xff0c;看不出啥来。 0x01 默认配置 由于我开发时&#xff0c;使用的 Xcode 14.1&#xff0c;打包在另外一台电脑 Xcode 15.3 Xcode 14.1 Build Settings -> Asset Catalog Compliter - Options Xcode 15.3 Build S…

如何使用GCC手动编译stm32程序

如何不使用任何IDE&#xff08;集成开发环境&#xff09;编译stm32程序? 集成开发环境将编辑器、编译器、链接器、调试器等开发工具集成在一个统一的软件中&#xff0c;使得开发人员可以更加简单、高效地完成软件开发过程。如果我们不使用KEIL,IAR等集成开发环境&#xff0c;…

QUICK 调试camera-xml解析

本文主要介绍如何在QUICK QCS6490使能相机模组。QCS6490的相机基于CameraX的框架&#xff0c;只需通过配置XML文件&#xff0c;设置相机模组的相关参数&#xff0c;就可以点亮相机。本文主要介绍Camera Sensor Module XML和Camera Sensor XML配置的解析&#xff0c;这中间需要c…

数据结构 (11)串的基本概念

一、串的定义 1.串是由一个或者多个字符组成的有限序列&#xff0c;一般记为&#xff1a;sa1a2…an&#xff08;n≥0&#xff09;。其中&#xff0c;s是串的名称&#xff0c;用单括号括起来的字符序列是串的值&#xff1b;ai&#xff08;1≤i≤n&#xff09;可以是字母、数字或…

汽车渲染领域:Blender 和 UE5 哪款更适用?两者区别?

在汽车渲染领域&#xff0c;选择合适的工具对于实现高质量的视觉效果至关重要。Blender和UE5&#xff08;Unreal Engine 5&#xff09;作为两大主流3D软件&#xff0c;各自在渲染动画方面有着显著的差异。本文将从核心定位与用途、工作流程、渲染技术和灵活性、后期处理与合成四…

开源加密库mbedtls及其Windows编译库

目录 1 项目简介 2 功能特性 3 性能优势 4 平台兼容性 5 应用场景 6 特点 7 Windows编译 8 编译静态库及其测试示例下载 1 项目简介 Mbed TLS是一个由ARM Maintained的开源项目&#xff0c;它提供了一个轻量级的加密库&#xff0c;适用于嵌入式系统和物联网设备。这个项…

C语言数据结构——详细讲解 双链表

从单链表到双链表&#xff1a;数据结构的演进与优化 前言一、单链表回顾二、单链表的局限性三、什么是双链表四、双链表的优势1.双向遍历2.不带头双链表的用途3.带头双链表的用途 五、双链表的操作双链表的插入操作&#xff08;一&#xff09;双链表的尾插操作&#xff08;二&a…

MYSQL 表的增删改查(上)

目录 1.新增数据 2.查询数据 一般查询 去重查询 排序查询 关于NULL 条件查询 分页查询 1.新增数据 语法&#xff1a;insert into 表名[(字段1&#xff0c;字段2...)] values (值&#xff0c;值....); 插入一条新数据行&#xff0c;前面指定的列&#xff0c;要与后面v…

Docker pull镜像拉取失败

因为一些原因&#xff0c;很多镜像仓库拉取镜像失败&#xff0c;所以需要更换不同的镜像&#xff0c;这是2024/11/25测试可用的仓库。 标题1、 更换镜像仓库的地址&#xff0c;编辑daemon.json文件 vi /etc/docker/daemon.json标题2、然后将下面的镜像源放进去或替换掉都可以…

C语言学习 12(指针学习1)

一.内存和地址 1.内存 在讲内存和地址之前&#xff0c;我们想有个⽣活中的案例&#xff1a; 假设有⼀栋宿舍楼&#xff0c;把你放在楼⾥&#xff0c;楼上有100个房间&#xff0c;但是房间没有编号&#xff0c;你的⼀个朋友来找你玩&#xff0c;如果想找到你&#xff0c;就得挨…

VITE+VUE3+TS环境搭建

前言&#xff08;与搭建项目无关&#xff09;&#xff1a; 可以安装一个node管理工具&#xff0c;比如nvm&#xff0c;这样可以顺畅的切换vue2和vue3项目&#xff0c;以免出现项目跑不起来的窘境。我使用的nvm&#xff0c;当前node 22.11.0 目录 搭建项目 添加状态管理库&…

Zookeeper选举算法与提案处理概览

共识算法(Consensus Algorithm) 共识算法即在分布式系统中节点达成共识的算法&#xff0c;提高系统在分布式环境下的容错性。 依据系统对故障组件的容错能力可分为&#xff1a; 崩溃容错协议(Crash Fault Tolerant, CFT) : 无恶意行为&#xff0c;如进程崩溃&#xff0c;只要…

ffmpeg视频滤镜:提取缩略图-framestep

滤镜描述 官网地址 > FFmpeg Filters Documentation 这个滤镜会间隔N帧抽取一帧图片&#xff0c;因此这个可以用于设置视频的缩略图。总体上这个滤镜比较简单。 滤镜使用 滤镜参数 framestep AVOptions:step <int> ..FV....... set frame st…

微服务篇-深入了解使用 RestTemplate 远程调用、Nacos 注册中心基本原理与使用、OpenFeign 的基本使用

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 认识微服务 1.1 单体架构 1.2 微服务 1.3 SpringCloud 框架 2.0 服务调用 2.1 RestTemplate 远程调用 3.0 服务注册和发现 3.1 注册中心原理 3.2 Nacos 注册中心 …