Jenkins+Jmeter+Ant接口持续集成
2025最新Jmeter接口测试从入门到精通(全套项目实战教程)
前言:
为什么要用Jmeter做接口测试:
当选择这套方案的时候,很多人会问,为什么选择Jmeter做Case管理?为什么不自己写框架?说实话,自己写框架有很大优势,比如易于拓展,易于定制。Testhome上也有很多很牛逼的框架,看着就让人流口水的。很多大公司都是自己写的框架,有WEB界面(我对界面有偏爱),有简洁的Case编写方式,有很好用的录制方法…以至于我曾经也尝试写过一个(Java+Testng执行+Xml管理Case),但是过程很坎坷,遇到了很多坑(技术积累不足是很重要的一方面)。例如编写Case的时候调试很麻烦,后续拓展需要不断维护(不断封装新的参数获取方法)等等。所以,最终选择了它,大家可以自己尝试体会下。
Jmeter做接口测试的优势:
- Jmeter支持录制,工具有Gui界面,入手相对简单。
- Gui便于调试,本地调试通过上传,管理容易。
- 维护成本很小,Jmeter功能比较全面,不会让自己陷入不停的维护框架的坑。
- Jmeter Case是基于xml的(虽然后缀是jmx格式),执行结果也可以导出xml格式(结果为jtl后缀)
Jmeter做接口测试的缺陷:
- 单条Case执行依赖本地
- Jmeter编写Case有一定学习成本
- 拓展性稍差,Case基于xml格式管理,后续如果想要自己编写平台,导出这些Case是个不小的工作量。
Jmeter+Jenkins+Ant实施方案的适用范围:
- 小型公司或小团队,大公司有自己的平台,后续需求也多,还是自己写一套吧。
- 测试团队较小,没有专门的测试开发部门支持。
- 编程不是很牛逼的,如果你很厉害,自己能搞定所有前端,后台,自己搞比较好。
- 需要立刻出活的,不想将有限的精力放到后期维护当中的。
Jmeter相关插件安装:
插件安装:
Jmeter的插件安装很简单,只需要下载对应插件解压即可。
- 下载地址:http://jmeter-plugins.org/downloads/all/
- 下载后解压放入:apache-jmeter-2.12\lib\ext\目录下
-
重启jmeter
ps:数据库链接驱动如果需要需要专门下载,例如mysql需要jdbc的jar包,地址:http://dev.mysql.com/downloads/file/?id=462850
用例生成与导出:
Jmeter的用例格式为jmx文件,实际为xml格式,感兴趣可以学习下自己定制生成想要的jmx文件。
-
生成原则:
- 每个功能模块为一个独立的jmx文件。增加可维护性。(尽量不要将一个jmx文件放入太多功能,后期维护成本会很高。)
- 模块的私有变量保存在模块中,多模块共有的(例如服务器ip端口等)可以考虑存在单独的文件中读取。
- 接口测试不要放太多线程,毕竟不是做压力测试,意义也不大。
-
导出方法:
- 编写测试用例
-
文件——保存为——确定:
Jmeter配置文件修改:
-
为什么要修改配置文件
- jmeter执行结果文件默认保存的不是xml格式,无法转化成html格式
- jmeter执行结果文件默认有很多执行数据是不保存的,而测试报告需要这些数据
-
配置文件路径
${jmeterhome}/bin/jmeter.profile
-
配置文件修改内容:
-
修改jtl文件格式:
去掉注释(#),修改csv为xml
-
添加jtl文件结果参数:
根据想要保存的参数修改,若不会可参照后文第三方模板网址给出的参数修改。
修改后别忘记去掉注释(#)
-
Jenkins相关插件介绍与配置:
Jenkins插件安装方法本文不做介绍,感兴趣的可以查资料学习下。
Jmeter插件:Performance plugin
- 功能:用来展示jmeter执行结果
-
配置截图:
-
配置说明:
- Report files:配置jtl文件路径,相对路径与绝对路径均可,图为相对路径
- 其他选项:配置失败比例显示图形等参数,按需配置
Ant插件:Ant Plugin
- 功能:用来执行Ant
-
配置截图:
-
配置说明:
- Ant Plugin可以在构建步骤中添加,直接执行构建
- 另外一种方式就添加shenll脚本(windows下添加dos脚本)执行构建,截图中就是这样操作
-
相比用插件构建,命令行构建有以下优缺点:
- 需要在服务器中直接安装ant并配置环境变量,确保jenkins可以直接执行ant命令
-
如果Jenkins是放在tomcat容器中,需要在tomcat中配置环境变量,否则会报找不到Ant命令,具体配置如下:
-
编辑catalina.sh文件,加入环境变量,否则jenkins会报找不到Ant错误
#See the license for the……
JAVA_HOME=/usr/lib/jvm/jdk1.8.0_31
Export JENKINS_HOME="/root/.jenkins"
-
-
灵活性更强,可以直接指定Ant的执行参数
Svn插件:Subversion Plug-in
- 功能:版本管理,按需使用
-
配置截图:
-
配置说明:
- Reponsitory URL:填写仓库url地址
- Add按钮:添加svn的用户名密码
-
其他选项:按需配置
Html展示插件:HTML Publisher plugin
- 功能:html报告展示
-
配置截图:
-
配置说明:
- HTML directory to archive:填写生成html文件的路径
- index page[s]:填写展示报告的主页
- 其他选项:按需填写
-
原理说明:
- 本插件并不会自己产生html文件,而是通过xslt转化xml生成的报告
- xslt可以自己在服务器中安装,也可以通过通过Ant配置文件指定jar包,本文就是通过Ant指定jmeter内部集成的jar包
-
生成的html文件并不是在jenkins中默认的报告路径展示,而是会复制到${jenkinshome}/jobs/projectname/htmlreports/HTML_REPORT
目录下
- 每次只能展示最新版本的html报告,也就是说上一次编译的html报告会被覆盖
-
因为jenkins安全性的问题,默认加载出来的报告是无css的,通过以下配置解决:
HTML Publisher Plugin 插件在新的Jenkins版本中会导致打开的网页中无法加载CSS以及无法点击按钮的情况,由于CSP导致,可在Jenkins控制台中执行:System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")以解决此问题。其他由于CSP原因导致的html插件也可用此方法解决。
Git插件:
- 功能:版本管理,按需使用
-
配置截图:
-
配置说明:
- Reponsitory URL:仓库地址
- Add添加git的账号
- 使用技巧:在只能通过http连接,需要每次输入账号密码的情况下,可以按如下配置,配置后即可按照填写账号密码权限获取内容。
cd /root vim .netrc 添加配置如下: machine git服务器路径 login git账号 password git密码 |
Jenkins项目总体配置:
-
服务器环境与依赖
- Jdk:安装并配置环境变量
- Ant:安装并配置环境变量
- Jmeter:安装并添加需要的插件
-
其他:
- Jmeter+Ant,需要将${jmeterhome}/extras/ant-jmeter-1.1.1.jar文件拷贝到${anthome}/lib目录下,否则编译会报错
- Jmeter如需链接数据库,需添加jdbc插件
- 如果不引入jmeter中的xslt,需要手动安装该软件
-
Jenkins项目配置:
-
jenkins的工作路径,同样的jar包都可能会生成不同的路径。
jenkins——系统设置——高级
-
Ant相关使用:
Ant的具体使用方法本文不详细介绍,感兴趣可以自己阅读相关资料学习一下。
定制集成Ant配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<project name="ant-jmeter-test" default="run" basedir="."> <!-- 需要改成自己本地的 Jmeter 目录--> <property name="jmeter.home" value="/home/apache-jmeter-2.13" /> <!-- jmeter生成jtl格式的结果报告的路径--> <property name="jmeter.result.jtl.dir" value="/root/.jenkins/jobs/ApiTest/workspace/report/jtl" /> <!-- jmeter生成html格式的结果报告的路径--> <property name="jmeter.result.html.dir" value="/root/.jenkins/jobs/ApiTest/workspace/report/html" /> <!-- 生成的报告的前缀--> <property name="ReportName" value="TestReport" /> <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/report.jtl" /> <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/index.html" /> <property name="lib.dir" value="${jmeter.home}/lib"/>
<path id="xslt.classpath"> <fileset dir="${lib.dir}" includes="xalan*.jar"/> <fileset dir="${lib.dir}" includes="serializer*.jar"/> </path>
<target name="run"> <antcall target="test" /> <antcall target="report" /> </target> <target name="test"> <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" /> <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}"> <!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本--> <testplans dir="/root/.jenkins/jobs/ApiTest/workspace/jmx" includes="*.jmx" />
<property name="jmeter.save.saveservice.output_format" value="xml"/>
</jmeter> </target>
<target name="report"> <xslt classpathref="xslt.classpath" force="true" in="${jmeter.result.jtlName}" out="${jmeter.result.htmlName}" style="${jmeter.home}/extras/jmeter-results-lyz.xsl"> <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 --> </xslt> <copy todir="${jmeter.result.html.dir}"> <fileset dir="${jmeter.home}/extras"> <include name="collapse.png" /> <include name="expand.png" /> </fileset> </copy> </target> </project> |
- 如上,标红的文字,为路径信息,需要修改为自己的本地路径
- style参数为生成html文件的模板文件,可以修改为自己的模板文件,jmeter提供了多个模板文件可供使用
Case管理目录结构:
关于Case的管理,因测试主要依赖Jmeter+Ant来做,结构如下:
- ./jmx/目录用来放Jmeter生成的Case文件(编写时注意,不要用绝对路径,否则后续维护成本会提高)
- ./res/目录用来放Jmeter测试需要的相关配置文件与资源,例如帐号信息,上传图片接口测试所需的图片等
- build.xml文件,Ant的配置文件
- 阅读build.xml文件,会发先还有一个自动生成的目录./report,该目录下有两个目录jtl以及html,用来放置不同格式的测试报告。
测试执行与报告优化:
测试报告模板介绍:
-
jmeter自带模板
- jmeter自带了4个模板(jmeter3后降低为2个)
- 模板路径:${jmeterhome}/extras/jmeter-results*.xsl
-
模板效果(jmeter-result-detail_21.xsl):
-
模板使用:
- 修改${jmeterhome}/bin/jmeter.profile配置文件,添加所需的报告参数
- build.xml文件中指定,手动操作学习下xslt工具的使用说明
-
第三方模板(本人只找到了一个第三方模板)
- 下载地址:http://shanhe.me/node/18/314
-
模板效果:
-
注意事项:
- 千万不要忘记修改jmeter.profile文件
- 地址中介绍build.xml文件以及jmeter.profile文件具体的参数修改,不要忽视
测试报告模板优化:
-
为什么要优化模板:
- 第三方模板看起来不够概括
- 自定义模板格局比较漂亮,默认无法查看响应数据,不便于调试
-
修改后结果:
- 基于自带模板修改
- 添加展示响应数据内容
- 添加响应数据过长换行功能
-
修改步骤:
-
编辑jmeter-results-detail-report_21.xsl
查看响应数据,修改为
-
需要删除build文件中的showData配置,否则会导致编译出来的仍然不显示
-
结果
-
关于拓展的思考:
Case管理的优化拓展:
- 编写Gui工具导出与生成Case,降低Jmeter学习成本。
- jmeter的case其实xml格式,如果想要导出管理,可以编写工具导出存储以及编辑
- Jmeter3支持直接生成html 格式的report,目前还没研究,有兴趣的可以学习一下
相关文章:
Jenkins+Jmeter+Ant接口持续集成
2025最新Jmeter接口测试从入门到精通(全套项目实战教程) 前言: 为什么要用Jmeter做接口测试: 当选择这套方案的时候,很多人会问,为什么选择Jmeter做Case管理?为什么不自己写框架?说…...
基于STM32的寻迹小车设计
标题:基于STM32的寻迹小车设计 内容:1.摘要 本文围绕基于STM32的寻迹小车设计展开。背景是随着自动化技术的发展,寻迹小车在工业巡检、物流运输等领域有广泛应用前景。目的是设计一款能稳定、准确寻迹的小车。方法上,以STM32微控制器为核心,…...
【150】基于SSM+Vue实现的小说阅读小程序(有文档)
系统介绍 基于SSMVue实现的小说阅读小程序采用前后端分离的架构方式,系统设计了管理员、用户两种角色,系统分为管理端、小程序端,管理端实现了管理员登录、个人中心、管理员管理、帮助中心管理、基础数据管理、论坛中心管理、公告资讯管理、…...
ValKey中使用SIMD指令优化bitcount命令
一、AVX/AVX2 的历史演进 随着计算机技术的飞速发展,数据处理需求呈指数级增长,SIMD(单指令多数据)技术应运而生。它通过一条指令同时处理多个数据元素,大幅提升计算效率,从早期的 MMX 技术起步࿰…...
leetcode114-二叉树展开为链表
leetcode 114 思路 用简单例子推导规律 不要一开始就看复杂的树,先从最简单的情况入手 案例一:只有一个节点 输入:1 输出:1不需要任何操作,直接返回 案例二:有两个节点 输入: 1/2输出&a…...
第七章 习题
1.给出下面表达式的逆波兰表示(后缀式): 3请将表达式-(ab)* (cd)-(abc)分别表示成三元式,间接三元式和四元式序列 四元式(Op,arg1,arg2,result) (,a,b,T1) (,c,d,T2) (*,T1,T2,T3) (uminus,T3,-,T4) (,a,b,T5) (,T5,c,T6) (-,T4,T6,r) 三元式 (op,arg1,arg2) (0) (,…...
Spring Ai Alibaba Graph实现五大工作流模式
Spring Ai Alibaba Graph实现五大工作流模式 概述 在 building-effective-agents 一文中,Anthropic将"智能体系统"(agentic systems),从架构层面分为 “工作流”(workflows)和 “智能体”(agents): 工作流…...
基于单片机的语音控制设计(论文)
摘要 自然语音作为人机交互在目前得以广泛的应用以及极大的发展前景。该设计介绍了基于非指定人语音芯片LD3320的语音控制器结构及其实现语音控制的方法。该语音控制器利用STM32F103C8T6单片机作为主要控制器,控制芯片对输入的进行语音识别并处理,根据语…...
【网络安全】从IP头部看网络通信:IPv4、IPv6与抓包工具 Wireshark 实战
从IP头部看网络通信:IPv4、IPv6与抓包工具 Wireshark实战 在网络安全分析和数据通信的世界中,一切都始于“数据包”。数据包是网络上传输的基本单位,而数据包的结构与内容,正是我们理解网络行为的核心。本文将带你深入了解 IP 协…...
计算机组成原理笔记(公众号版本)
1.MAR,存储单元和PC位数之间的关系 我们的MAR位数取决于我们的存储单元的个数; PC位数也是取决于我们的存储单元的个数; 假设我们是64个存储单元,我们的这个MAR实际上就是6位,因为这个2的6次方等于我们的64吗&#…...
CPM基本原理
CPM(连续相位调制,Continuous Phase Modulation )是一种恒包络,信号相位随时间连续变化的调制技术 。其优势显著,连续相位特性,频谱效率高,对带外辐射抑制好;相位平滑过渡࿰…...
浅谈开源在线客服系统与 APP 集成的技术方案与优劣势
在为移动端 App 接入在线客服系统的过程中,我经历了长时间的技术选型探索。最初,我也曾被一些“技术理想主义”选项所吸引,比如让用户自己研发界面我提供 API 以获得最高自由度,或集成 SDK 以追求原生体验。然而,随着项…...
AutoGPT,自主完成复杂任务
AutoGPT是一个开源的AI Agent项目,它的核心目标是让AI能够自主完成复杂任务,而不仅仅是回答单个问题。简单来说,它让AI具备了"自主思考和行动"的能力。 1. AutoGPT的核心概念 什么是AI Agent? AI Agent(智…...
基于Qt C++的影像重采样批处理工具设计与实现
摘要 本文介绍了一种基于Qt C++框架开发的高效影像重采样批处理工具。该工具支持按分辨率(DPI) 和按缩放倍率两种重采样模式,提供多种插值算法选择,具备强大的批量处理能力和直观的用户界面。工具实现了影像处理的自动化流程,显著提高了图像处理效率,特别适用于遥感影像处…...
Qt Windows平台调用ffmpeg动态库
本文基于QT6.8实测验证。 一、下载预编译库 从官方或第三方源获取FFmpeg的Windows动态库(Shared版本),解压后需包含以下目录: bin DLL文件(运行时依赖)include 头文件lib .lib或.dll.a链接…...
猿人学js逆向比赛第一届第十三题
一、分析请求 通过分析请求得知,本题目的参数为yuanrenxue_cookie,因为题目中中明说了是动态cookie,所以可以先删除这个cookie然后下脚本断点,简单分析看一下页面执行的js代码逻辑。 在经过这段代码的时候很明显的可以看到这里的有…...
React性能优化精髓之一:频繁setState导致滚动卡顿的解决方案
在开发一个 List 页面时,我们遇到了一个典型的React性能问题:页面在滚动时出现明显卡顿。这个问题的调试过程充满了误判和重新思考,最终发现了一个重要的性能优化原则。 问题现象 我们有一个监控仪表盘页面,包含多个图表组件。用…...
JavaScript 事件常用属性
一、事件对象基础 在事件处理函数中,浏览器会自动传入一个 event 对象,它包含了与事件相关的所有信息。 element.addEventListener(click, function(event) {// event 是事件对象 }); 二、常见事件属性 属性名 类型 描述 type String 事件类…...
配置自己的NTP 服务器做时间同步
✅ 推荐方案:使用 chrony 搭建 NTP 服务器(适用于 CentOS 7/8/9) chrony 是 CentOS 推荐的 NTP 实现,精度高、资源占用低、同步快,默认在 CentOS 8 中取代了 ntpd。 🔧 一、安装 chrony sudo yum install…...
基于深度学习的双色球智能预测系统:从原理到实现
需要源码的小伙伴可以在这里直接下载:基于深度学习的双色球智能预测系统:从原理到实现(完整代码训练数据)可直接运行-预测)资源-CSDN下载可直接运行,包括完整的训练测试数据,让你的双色球更准&a…...
STM32[笔记]--4.嵌入式硬件基础
4.嵌入式硬件基础 4.1认识上官二号开发板 主控芯片:STM32F103C8T6高速晶振:8M低速晶振:32.768kLED:5颗KEY:3个 主控芯片内部的资源如下项目介绍内核Cortex-M3Flsah64K*8bitSRAM20K*8bitGPIO37个GPIO,分别为PA0-PB15,PC13-PC15,PD0-PD1ADC2个12bitADC合计12了通道,外部通…...
Springboot项目中使用手机号短信验证码注册登录实现
文章目录 1. 功能概述2. 技术栈3. 实现步骤3.1 短信服务集成3.2 创建短信工具类3.3 验证码生成和存储3.4 控制器实现发送短信验证码手机号+验证码注册短信验证码登录3.5 服务层实现4. 前端实现4.1 API层4.2 手机号注册页面5. 最佳实践6. 总结本文将介绍如何在Spring Boot应用中…...
Python的GUI库选择指南(深度拓展)
前文我们分析了python的GUI库,有很多,面向应用场景也不尽相同,如何在使用过程中,选择合适的GUI库呢?可以查看:python有哪些常用的GUI(图形用户界面)库及选择指南-CSDN博客 初学者推…...
Kubernetes生命周期管理:深入理解 Pod 生命周期
云原生学习路线导航页(持续更新中) kubernetes学习系列快捷链接 Kubernetes架构原则和对象设计(一)Kubernetes架构原则和对象设计(二)Kubernetes架构原则和对象设计(三)Kubernetes控…...
JVM(12)——详解G1垃圾回收器
G1(Garbage-First)垃圾回收器。它是现代 Java 应用中默认的垃圾回收器(自 JDK 9 起),旨在提供一个高性能、可预测停顿时间(低延迟)的解决方案,尤其适合大内存(多GB甚至TB…...
Matplotlib vs Seaborn:选择与区别
相同点 都是Python数据可视化库:两者都用于创建统计图形和图表 基于Python生态系统:都与NumPy、Pandas等科学计算库良好集成 开源免费:两者都是开源项目,可自由使用 支持多种图表类型:都能创建折线图、柱状图、散点…...
TCP/UDP协议深度解析(一):UDP特性与TCP确认应答以及重传机制
🔍 开发者资源导航 🔍🏷️ 博客主页: 个人主页📚 专栏订阅: JavaEE全栈专栏 前言 在网络通信的世界里,传输层协议如同交通规则,决定了数据包如何从源头抵达目的地。其中UDP和TCP就…...
Linux线程概念及常用接口(1)
目录 1. Linux线程概念 什么是线程 线程的优点 线程的缺点 线程异常 线程用途 2. Linux进程VS线程 进程和线程 关于进程线程的问题 3. Linux线程控制 POSIX线程库 创建线程 线程ID及进程地址空间布局 线程终止 线程等待 为什么需要线程等待? 4. 分离线程 1. Linux线…...
Qt+OPC开发笔记(三):OPC客户端订阅特点消息的Demo
若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/148868209 长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV…...
《美化生活》投稿简介
《美化生活》杂志是国家新闻出版署批准的正规期刊,是面向全国发行的文学艺术刊。本刊坚持“传播新理念,交流新经验”办刊方针,坚持“指导消费、丰富生活、美化心灵、雅俗共赏”的宗旨,以其丰富的内容,融学术性与技术性…...
如何为虚拟机上的 Manjaro Linux启用 VMware 拖放功能
如果你的Manjaro 发行版本是安装在 VMware Workstation Player 上使用的 ,而且希望可以通过拖放功能将文件或文件夹从宿主机复制到客户端的Manjaro 里面,那么可以按照以下的步骤进行操作,开启拖放功能。 在 VMware 虚拟机上安装 Manjaro 后&…...
VIVADO导出仿真数据到MATLAB中进行分析
VIVADO导出仿真数据到MATLAB中进行分析 目录 前言 一、导出仿真数据需要编写的RTL代码 二、MATLAB读入txt文件中的数据 三、需要注意的点 总结 前言 在使用 Xilinx Vivado 进行 FPGA 开发时,如何将 RTL 仿真生成的数据导出,进行进一步分析与可视化&…...
Harmony状态管理@Event
ArkUI Event装饰器:实现子组件向父组件通信的规范方式 概述 Event装饰器是ArkUI框架中用于规范组件间通信的重要工具,特别是在需要子组件向父组件请求更新Param变量的场景下。它通过回调机制实现数据的双向同步,是组件化开发中不可或缺的一…...
算力服务器选型
算力服务器选型需结合应用场景、算力需求及扩展性,核心要素如下: 应用定位: AI 训练 / 推理:优先高算力 GPU(如 NVIDIA A100、H100,或 RTX4090),搭配多核 CPU(如 Intel …...
基于目标驱动的分布式敏捷开发
研究结论 风险对项目目标的影响 时间目标:需求管理不当(如需求优先级不明确、多产品负责人需求冲突)、架构变更导致的返工、跨站点协调问题(如第三方依赖、通信基础设施不足)是影响项目时间的主要风险因素。质量目标&…...
大数据在UI前端的应用拓展:用户行为分析的深度挖掘
hello宝子们...我们是艾斯视觉擅长ui设计、前端开发、数字孪生、大数据、三维建模、三维动画10年经验!希望我的分享能帮助到您!如需帮助可以评论关注私信我们一起探讨!致敬感谢感恩! 在当今数字化时代,大数据已成为推动各行业发展的核心动力之一。对于 UI 前端而言&…...
elk+filebeat收集springboot项目日志
目录 步骤 1: 安装和配置Elasticsearch 步骤 2: 安装和配置Logstash(可选) 步骤 3: 安装和配置Filebeat 步骤 4: 安装和配置Kibana 要使用ELK(Elasticsearch, Logstash, Kibana)堆栈和Filebeat来收集Spring Boot项目的日志&am…...
华为云Flexus+DeepSeek征文 | 华为云MaaS平台上的智能客服Agent开发:多渠道融合应用案例
华为云FlexusDeepSeek征文 | 华为云MaaS平台上的智能客服Agent开发:多渠道融合应用案例 🌟 嗨,我是IRpickstars! 🌌 总有一行代码,能点亮万千星辰。 🔍 在技术的宇宙中,我愿做永不…...
SQL关键字三分钟入门:UPDATE —— 修改数据
在数据库操作中,除了添加新记录外,我们还需要经常修改已有的记录。例如: 更新用户的个人信息;调整订单的状态;更改产品的价格。 这时候就需要用到 SQL 中非常基础但极其重要的关键字 —— UPDATE! 它是用…...
用Rust写平衡三进制加法器
1、三进制加法器的发展 最初的平衡三进制加法是采用了三选一结构(github原文),这位大佬也很厉害,他是硬件都弄了出来的,也写了虚拟机,甚至用这三态多路复用器弄出了可以存状态的硬件,但我没有去看了,因为当…...
【AI时代速通QT】第三节:Linux环境中安装QT并做测试调试
目录 引言 一、Linux QT开发环境的核心要素 1.1 编译器(g)与构建工具(make) 1.2 搞定 OpenGL 依赖 二、核心步骤——安装 Qt Creator 2.1 获取官方在线安装器 2.2 赋予文件执行权限 2.3 运行图形化安装向导 三、Linux上创…...
论文阅读:2025 arxiv Qwen3 Technical Report
https://arxiv.org/pdf/2505.09388 https://www.doubao.com/chat/9918384373236738 文章目录 论文翻译Qwen3技术报告摘要1 引言 论文翻译 Qwen3技术报告 Qwen团队 摘要 在这项工作中,我们介绍了Qwen模型家族的最新版本Qwen3。Qwen3包含一系列大型语言模型&…...
Vue3+el-table-v2虚拟表格大数据量多选功能详细教程
Vue3el-table-v2虚拟表格大数据量多选功能详细教程 本教程基于 Element Plus 组件库的 el-table-v2(假设你使用虚拟滚动表格),实现大数据量场景下的多选功能,并包含了全选、反选、已选行展示、清除选择等完整交互。 一、项目背景与…...
开源跨平台的轻量 C# 编辑器
NetPad一个基于.NET 开源、跨平台的 C# 编辑器,目的是创建一个开源的、支持 Web 的跨平台替代方案,从而为开发者提供便利的编程环境并为非 Windows 环境下的开发者提供一个可替代 LINQPad 的实用工具。它以.NET SDK 作为基础运行时环境,利用E…...
QT多线程
使用多线程的好处 假如当前窗口要进行一段非常复杂的逻辑处理,在单线程的情况下,是无法操控界面UI的,点击界面UI没有响应。此时就要用到多线程。 注意: 1、默认的线程在Qt中称之为窗口线程,也叫主线程,负…...
了解公共部门中的数据网格:支柱、架构和示例
作者:来自 Elastic Elastic Platform Team 想想那些像公共健康记录、城市规划模型等项目背后的所有数据。政府机构一直在产生大量数据。当数据分散在云平台、本地系统或像卫星和应急响应中心这样的专业环境中时,情况变得更加复杂。找到信息变得困难&…...
关于一维数组和字符串的详细讲解(从属于GESP三级)
本章内容 一维数组基础 字符串基础 就像打磨一串符号,每个位置都要精准对待,才能串起完整的风景。坚持下去,小细节终将成就大格局。 一、⼀维数组基础 1 📚 定义 典型写法 说明 易错/拓展 int a[5]; 编译期长度常量&#x…...
【驱动设计的硬件基础】PCI和PCI-E
打开电脑主机,你会看到主板上一排长短不一的插糟:矮胖的 PCI 插糟还插着古老的声卡,旁边细长的 PCI-E 插糟则牢牢卡住显卡、高速网卡等核心设备。这些看似普通的插糟,其实是计算机硬件沟通的 "高速公路",承载…...
【学习记录】Git Base使用-免密连接代码仓库
github(JL765)和gitee(JL765/git-test01)都可以用于管理代码 在windows中,可以通过Git Base软件(Git - Downloading Package)和仓库进行连接 下载略过 github登录 ssh -T gitgithub.com # 成…...
android脱糖
前言 另外一篇相关文章:https://androidblog.blog.csdn.net/article/details/148574130 通过sourceCompatibility 和targetCompatibility可以实现低版本写代码高版本输出(详情可查看我的另一篇文件中的:验证各种Java版本 > 一、纯Java项…...