测试工作中常听到的名词解释 : )
背景
很多名称其实看字面意思都挺抽象的,有时看群里的测试大佬在不停蹦这类术语,感觉很高大上,但其实很多你应该是知道的,只不过没想到别人是这样叫它的。又或者你的主编程语言不是 Java,所以看不懂他们在讲啥,因为大部分是 Java 后端的知识点或者是运维的知识 (这帮卷王)。
我尝试翻译成“人话”,方便刚入行的新人。也欢迎大家在评论区补充。
1.技术概念名词类
1.1 脚手架
该名词如果熟悉工地的,应该会知道脚手架是建筑时 房子周围搭的铁架子。软件开发中,脚手架的意思就是一组预设的代码和文件结构,方便开发人员更快地搭建一个基本的项目框架。前端框架大都有脚手架工具,如使用 React 脚手架创建一个 react 项目。
$ npx create-react-app react-basic // npx create-react-app 是固定命令,create-react-app是React脚手架的名称
生成如下:

1.2 上下文
语义上,就是理解某件事物需要了解它的环境、背景、条件等因素,助于更准确解释信息。
-  
业务上下文:了解系统使用场景、业务需求、用户期望等
 -  
业务代码上下文:程序或代码片段执行时,包括变量的值、程序状态等,有助于理解程序执行的条件和结果
 
1.3 设计模式
可以理解为 更好的解决问题的方法,大部分设计模式的目的是:解决复杂性、提高代码质量、降低耦合度,并促进可维护性和可扩展性。例如写接口自动化时,会想到用 yaml 做测试数据管理实现数据驱动,这就是一种将测试数据和测试逻辑分离的设计模式。
1.4 集群
集群就是多台相互独立的计算机,这些计算机通过网络连接在一起就,组成一个计算机服务系统。在集群中,每台计算机被称为一个节点(Node),每个节点都是运行各自服务的独立服务器,节点之间通过网络通信进行协作,共同完成任务或服务。
通俗讲就是:一个餐厅的老板为了提高服务质量,雇佣了多名服务员,他们相互配合,如果某个服务员忙不过来,其他服务员可以帮助他,或者接替他的工作,确保每个顾客都能得到及时的服务,以及每个服务员都负责特定的区域或特定类型的服务,更有效地分工合作,提高整个团队的工作效率。
1.5 分布式
分布式系统是由多台计算机组成的系统,这些计算机通过网络连接在一起,共同完成某个任务或提供某种服务,不同的是每个节点负责的东西不同,这些节点之间通过相互通信和协作来完成整个系统的任务。
通俗讲就是:一个餐厅的老板为了提高服务质量,请了多个厨师,A 厨师负责炒菜,B 厨师负责煮面,C 厨师负责烤肉等等。每位厨师都独立地准备自己负责的菜品,然后将做好的菜品交给服务员上菜
1.6 IO
在群里有时候看见那些大佬讨论性能时,会提到 IO。这个词如果大学时有听过《计算机科学导论》这门课,是会有印象的。
IO(Input/Output)即输入/输出,是计算机系统中的一个重要概念,用来描述计算机与外部设备(如磁盘、网络、键盘、显示器等)之间的数据传输过程。性能测试中需要关注 IO 的原因主要有几点:
-  
影响系统整体性能:IO 操作的性能直接影响着整个系统的性能。如在 Web 应用程序中,IO 操作包括从数据库读取数据、向客户端发送响应等,这些 IO 操作的性能直接影响着用户体验和系统的响应速度
 -  
可能是称为瓶颈的原因:某些场景下,系统需要频繁地读取大量数据时,IO 操作的性能可能成为系统性能的瓶颈,导致系统响应速度变慢
 -  
资源消耗:IO 操作通常需要消耗系统资源,如 CPU、内存、磁盘等。当系统的 IO 操作过多或者 IO 操作的性能较差时,可能会导致系统资源紧张,影响系统的稳定性和可靠性
 
1.7 DDD
DDD(领域驱动设计)是一种软件开发方法论,旨在通过强调领域模型的重要性来解决复杂业务需求和软件系统设计的挑战。
1.8 TDD
TDD(Test-Driven Development,测试驱动开发)是一种软件开发方法论,它强调在编写实际代码之前先编写测试用例,并且通过测试驱动实现代码的开发过程。TDD 的核心理念是 “红 - 绿-重构”,即先编写失败的测试(红),然后编写足够的代码以使测试通过(绿)
1.9 中台
这个概念不是国外的,最早由阿里提出,衍生出很多概念如:技术中台、业务中台、组织中台、数据中台等。
具体可以看下这个,摘编自《中台架构与实现:基于 DDD 和微服务》
https://www.51cto.com/article/636223.html
1.10 网络可视化
之前有段时间好像比较流行,这种把代码生成这种可交互式的网络可视化图,了解这类工具的最佳方式就是自己写一下。
这里的 demo 是用 python 的【pyvis】创建交互式网络可视化和【inspect】提取对象的各种属性和信息。这里的 html 文件可以直接用 pyvis 的内置方法生成,其实你需要的只是用 inspect 去把代码拆解提取下,然后根据 pyvis 的方法连接好即可

-  
这里写个 demo 自行体验下:
 
from pyvis.network import Networknet = Network() #新建一个对象net.add_node("a",label="节点1",title="我是节点1",color='#00ff1e')net.add_node(2,label="呵呵呵2",title="我是节点2",color='#00ff1e')net.add_node(3,label="呵呵呵3",title="我是节点3",color='#00ff1e')net.add_edge("a", 2) #节点连接net.add_edge("a", 3)net.show_buttons(filter_=['physics']) net.show("demo.html",notebook=False) #最新版本的pyvis需要加notbook=false的配置,否则会报错
1.11 CDN
CDN 是内容分发网络(Content Delivery Network)的缩写。它就像是一个快递网络,它把互联网上的内容,比如网页、图片、视频等,分散存储在世界各地的特殊 “快递站”(节点)上。当你在网上访问一个网页或者看一个视频时,CDN 会找到离你最近的 “快递站”,从那里取得你需要的内容,然后迅速送到你手上。这样,你就能更快地获取网站的内容,而且网站也能分担更多的访问压力,保持稳定运行。这里的节点,在 CDN 中,一个节点通常指的是一个边缘节点(Edge Node),它可以是一个服务器,也可以是一个服务器集群。
2.测试相关
2.1 自动化测试的 PO 模式
学过 UI 自动化培训视频的都应该知道,其实就是一种设计模式。为每个页面或一组相关页面创建一个 Page Object 类。这个类包含了页面的元素定位和与页面交互的方法。然后在测试用例中调用这些类,主要目的是如果页面发生变化,只需更新相应的 Page Object 类,而不用修改测试用例。
登录页类:
class LoginPage:
    def __init__(self, driver):
        self.driver = driver
        self.username_field = driver.find_element(By.ID, 'username')
        self.password_field = driver.find_element(By.ID, 'password')
        self.login_button = driver.find_element(By.ID, 'loginButton')
    def login(self, username, password):
        self.username_field.send_keys(username)
        self.password_field.send_keys(password)
        self.login_button.click()
测试用例:
def test_login():
    driver = webdriver.Chrome()
    login_page = LoginPage(driver)
    login_page.login('testuser', 'password123')
    assert 'Welcome' in driver.page_source
    driver.quit()
2.2 造数工厂
这个词我也挺好奇是谁发明的,本质上就是生成测试数据的脚本封装成平台,所以干嘛不叫造数平台。
2.3 脏数据
测试执行或数据处理过程中,由于一些异常情况、错误操作、或者测试环境配置不当等原因,导致系统中出现了不符合预期的、异常或错误的数据。
2.4 流量录制回放
捕获和回放 HTTP 流量,模拟生产环境中的流量,以便进行性能测试、故障排除,或者在其他环境中重现实际用户的操作。
相关文章:https://www.cnblogs.com/nullllun/p/15205442.html
2.5 测试"左右"移
社区里这个词应该大家看多了,至于实际意思是什么,可能有些人不知道。正常的开发流程是:开发➥测试➥运维,
 但现在我们的测试不想夹在中间,想从流程中做更多的干预,变成这样:开发➥ ☜㊖测试㊖☞➥运维,通俗的讲就是:
「开发不想做的事我做,运维不想管的事我管。一句话,开发/运维做得了的我要做,开发/运维不想做的我更要做,先做后测,产品特许!这就是测试左右移,够不够清楚?」☻
-  
左右移:

 
2.6 插桩
插桩本质就是在不改动源码的基础上,插入或许修改你想要的代码,如在 Android 开发中,如下图第二步在转为.class 的字节码后,插入代码,使其生成的 dex 执行文件带有你插入的代码,这过程中源码并未受到任何影响。
网图:

python 的 ast 做的 demo 例子:
import ast import astorexpr = '''
 def addNumber(num1,num2):
  return num1 + num2
 '''# 将字符串解析成 ASTtree = ast.parse(expr)# 定义要插入的打印语句insert_print = ast.parse("print('Adding numbers:', num1, '+', num2, '=', num1 + num2)")# 在函数的主体中插入打印语句for node in tree.body:
    if isinstance(node, ast.FunctionDef):
        # 在函数定义的主体中的第一行插入打印语句        node.body.insert(0, insert_print.body[0])# 将修改后的 AST 转换回字符串modified_expr = astor.to_source(tree)print(modified_expr)
运行后,打印的结果是
def addNumber(num1, num2):
    print('Adding numbers:', num1, '+', num2, '=', num1 + num2)
    return num1 + num2
2.7 自动化测试金字塔
这个直接谷歌,大部分解释都是这个⇲
【测试金字塔最初的原型分三层,底层是单元测试,中间层是 API 测试,上层 是 UI 自动化测试。而且底层的单元测试需要做最多的测试工作,越往上测试工作应该越少。根据《谷歌软件测试之道》的经验,三者对于精力投入的比例是:把 70% 的精力放在单元测试,20% 放在 API 测试,而剩下 10% 的精力放在 UI 测试】

2.8 精准测试
一种测试思想,简单来说就是:当代码变更,针对研发的代码变更点以及关联功能点进行测试。
类比看病时,头痛就检查头,肚子痛就检查肚子,看起来经济实惠又快捷。但是,症状之间可能存在相互关联,某些症状可能是其他问题的表现,如果医生缺乏对该病患整体状况的全面理解,会耽误病情,所以你在大城市医院看病,一般都会走下血常规的检查。
相关知识可以看下这篇文章,说得挺全:https://juejin.cn/post/7230986641900683320
2.9 混沌测试
该概念来源于网飞,就是拍出《纸牌屋》那家公司。其方式就是模拟系统中可能出现的故障和异常情况,然后评估系统在不稳定状态下的稳定性和可靠性。个人感觉其实就是容灾演练,这个名词出现在很多文章里,但基本方向都在随机制造故障上,描述成探索性测试那样。(这种其实就应该交给运维和架构师来干,不归测试才对)
2.10 全链路
全链路通常是指对系统端到端执行路径,从用户发起请求开始,经过系统的各个组件和服务,最终系统返回响应结果的过程。这一点会有些人会和接口测试混淆,接口测试是验证接口的输入输出是否符合预期,涉及的范围是一个独立的服务,不涉及接口之间的交互和整体业务流程。以电商购买商品为例,一个网上购物动作的一条链路
-  
1. 用户浏览商品
 -  
2. 添加商品到购物车
 -  
3. 查看购物车
 -  
4. 结算购物车
 -  
5. 提交订单
 -  
6. 订单处理
 -  
7. 支付订单
 -  
8.订单确认
 
全链路压测,也是压测压测整个购物系统的端到端执行路径,从用户发起请求到系统响应完成的整个过程,包括前端界面、后端服务、数据库、第三方服务等各个组件和服务的性能表现。
3.java 相关
3.1 jvm
下面三个词应该经常在各种文章里提到,如果本身的技术栈里没有学过 java,是挺容易被混淆的,多谷歌下就行了。
简而言之 jvm 就是一个虚拟机,java 语言的解释器。jvm-sandbox 是在 jvm 的虚拟环境中创建一个独立的隔离环境,类似你在 windows 下新建了一个虚拟环境运行其他系统一样。jvm-sandbox-repeater 可以理解为被个性化的 jvm-sandbox,专门封装了录制回放协议功能。
-  
jvm:JVM 是 Java 编程语言的运行环境,它负责将 Java 源代码编译成字节码,并在运行时执行这些字节码。JVM 提供了内存管理、垃圾回收、线程管理等基础设施,使得 Java 程序能够在不同的平台上运行。
 -  
jvm-sandbox:JVM-Sandbox 是一个工具或框架,用于在 JVM 环境中创建安全沙箱(sandbox)。
 -  
jvm-sandbox-repeater :jvm-sandbox-repeater 是 JVM-Sandbox 生态体系下的重要模块,它具备了 JVM-Sandbox 的所有功能,插件式设计旨在快速配置各种中间件,封装提供请求录制/回放基础协议,也通用了可扩展的各种丰富的 API。
 
3.2 maven
主要用于 java 项目的管理和构建,这个词常见于技术栈是 Java 的测试文章中,写过 Testng 应该清楚,用 maven 来管理 TestNG 的依赖,并且可以使用 maven 的命令来执行 TestNG 的测试。如果没用过 Java 的,那类比最像的话,maven 就有点相当于 python 的 pip
3.3 war 文件
在 java 写的测试平台中,会看到打包部署这个流程。主语言为 python 的朋友大多会懵逼这个是啥,毕竟 python 是解释性语言。
可以直接以源码形式部署。而 Java Web 要用 Maven 相应的构建命令去编译打包应用,生成 WAR 文件。本质上是一个压缩包,里面可以包含 Servlet、JSP、HTML、JavaScript、CSS 等文件,以及相关的配置文件和依赖库。
以个人编码 Java Web 应用并发布到阿里云为例子,大概流程如下:
1. 需求分析、架构设计、编码实现
2. 软件测试: 点点点
3. 准备环境:合适的实例 ECS,安装 JDK,Tomcat/jboss(Servlet 的容器),数据库等
4. 编译打包:本地开发环境使用 Maven 构建 Java Web 应用,并生成 WAR 文件
5. 上传文件:将生成的 WAR 文件上传到阿里云服务器
6. 部署应用:将 WAR 文件复制到 Tomcat 的 webapps 目录中,并启动 Tomcat 服务
7. 配置环境:配置 Java Web 应用的运行环境,包括数据库连接、日志配置、域名绑定等
8.监控和管理:部署之后,监控 Java Web 应用的运行状态
3.4 Servlet
看下面搜索到的解释,让其与 urllib 做下对比就能理解了:
-  
Servlet(Java):Servlet 是 Java Web 开发中处理 HTTP 请求和生成响应的规范和接口集合。开发人员可以根据 Servlet 规范编写自己的 Servlet,通过继承 HttpServlet 类或者实现 Servlet 接口来处理不同类型的 HTTP 请求,并生成相应的 HTTP 响应。与 Python 的 urllib 相比,Servlet 更加高级、全面,提供了更多的功能和灵活性,适用于开发更加复杂的 Web 应用程序。
 -  
urllib(Python):urllib 是 Python 中用于处理 HTTP 请求和响应的标准库之一,提供了一组函数和类,用于发送 HTTP 请求、处理服务器响应、管理 URL 等。urllib 包含了多个模块,比如 urllib.request、urllib.parse、urllib.error 等,分别用于发送请求、解析 URL、处理错误等。虽然 urllib 可以完成基本的 HTTP 请求和响应处理,但相比于 Servlet,它的功能和灵活性较为有限,通常用于简单的网络访问和数据获取。
 
3.5 SDK
SDK 是 Software(软件) Development(开发) Kit(工具)的缩写,SDK 通常包含:API 文档、示例代码、工具集、库文件、配置文件 。通俗来讲就是一个工具包。
 大部分在社区里提到的 SDK 应该都是泛指 Java SDK,Java SDK 也是一个工具集合,它包含:javac 编译器、Java 运行时环境(JRE)、Java 开发工具 (JDK)、Java 文档、Java 示例代码等

4.持续集成/持续交付
4.1 CI/CD
在招聘信息里经常看到,XX 故弄玄虚的常用词,测试不了解只因我们不是学的开发/运维,很正常。CI/CD 其实就是
持续集成 (Continuous Integration - CI) 、
持续交付 (Continuous Delivery - CD) 或者 持续部署 (Continuous Deployment - CD) 的缩写。
两个 CD 相关但有区别,使用哪种方式取决于组织的需求和风险偏好
-  
推送代码到代码存储库:开发者将其更改推送(push)到版本控制系统(如 Git)。这触发了 CI 流程的开始
 -  
静态分析:在代码提交到版本库后,静态分析工具 (如 FindBugs) 会对代码进行检查, 寻找潜在的问题、代码问题和规范违规等
 -  
部署前测试:在实际部署到测试环境之前,执行各种测试,包括单元测试、集成测试和其他自动化测试
 -  
打包并部署到测试环境:通过构建工具(如 Maven、Gradle)打包应用程序,并将其部署到测试环境。这个步骤可能涉及到配置管理、环境变量的设置等
 -  
部署后测试:在应用程序成功部署到测试环境后,执行一系列的后续测试,以确保应用程序在真实环境中运行正常
 
-  
自动化部署:设置自动化部署流程,在通过了所有测试并准备好发布时,可以自动将应用程序部署到测试环境
 -  
部署到生产环境:交付的版本通过自动化测试确保正确后,需要手动触发部署到生产环境
 
-  
自动化部署到生产环境 :进一步的自动化部署流程,在通过了所有测试后,可以直接将应用程序部署到生产环境,无需手动干预
 -  
回滚机制 : 设置自动回滚机制,可以在发生问题时快速回退到先前的稳定版本
 
-  
自动化测试:编写如单元测试、集成测试、端到端测试的自动化脚本
 -  
测试自动化集成到 CI 流程 : 大白话就是确保每次代码提交都会触发自动化测试,如我们常学的 Jenkins 就是实现这个功能
 -  
CI/CD 流程中嵌入监控步骤:监测系统性能和稳定性
 
-  
目的:持续自动化和持续监控贯穿于应用的整个生命周期(从集成和测试阶段,到交付和部署)从而提高开发团队的效率、质量和交付速度
 -  
持续集成 (CI) 包含通用流程:
 -  
持续交付 (CD):
 -  
持续部署 (CD)
 -  
测试人员在 CI/CD 里可以参与的方面:
 
4.2 DevOps
这个词也是最近招聘信息里喜欢加上去的,对于测试,写上这个可能就是想要你会点 docker 的指令和知识。
DevOps 是开发 (Development) 和运维 (Operations) 的合成词,是一种软件开发和 IT 运维协同工作的文化和实践理念,不是什么工具或者技术名称,核心就是流程的统一和自动化。上面的 CI/CD 就可以称为 DevOps 流程的一部分,还有大家耳熟能详的
容器技术(如 Docker)和容器编排工具(如 Kubernetes),都是为了更加方便的部署,促进开发和运维之间的一致性。
5.工具模板
5.1 Swagger
Swagger 是一个工具集,用于设计、构建、文档化和消费 RESTful Web 服务。非特指一个工具名称,如 python 在 flask 想生成 swager 文档,常用库是 flasgger,使用注释的方式为你的接口添加描述,包括接口名、参数、响应等信息,最后生成类似下面格式的文档

5.2 Jinja
这个词大部分可能会在早期用 django 写的测试平台文章里看到,它就是一个模板引擎(一个静态 HTML),模板中的特殊占位符允许编写类似于 Python 语法的代码。以下是例子
-  
template.html
 
<!DOCTYPE html><html><head>
    <title>{{ title }}</title></head><body>
    <h1>{{ greeting }}</h1>
    <ul>
        {% for item in items %}        <li>{{ item }}</li>
        {% endfor %}    </ul></body></html>
-  
python
 
from jinja2 import Environment, FileSystemLoader# 创建 Jinja 环境并指定模板文件所在的目录env = Environment(loader=FileSystemLoader('templates'))# 加载模板template = env.get_template('template.html')# 提供数据data = {
    'title': 'Jinja Demo',
    'greeting': 'Hello, Jinja!',
    'items': ['Apple', 'Banana', 'Orange']}# 渲染模板并输出结果output_html = template.render(data)print(output_html)
6.数据库相关
6.1 慢查询
简单来说就是查询时间超过指定阀值(可以设置)的 sql
6.2 事务
面试时通常会问什么是事务和具有什么特性。
下订单:当用户下订单时,需要同时更新商品库存和用户订单信息。这两个操作必须要么同时成功,要么同时失败,以确保订单的一致性和完整性。在这种需求背景下,可以将更新商品库存和插入订单信息的操作放在一个事务中执行,如果任何一个操作失败,则回滚整个事务,避免出现库存不足或订单丢失的情况。
银行账户转账: 把事务隔离等级设置为串行化 (最严格),即每次只允许一个事务访问数据库,其他事务需要等待当前事务执行完成后才能继续执行。用户 A 发起转账操作时,数据库会为其分配一个事务,并且开始执行转账操作。在此期间,数据库会将账户 A 的记录加锁,阻止其他事务对其进行读取或修改,此时用户 B 想给账户 A 转账,就要等用户 A 的转帐事务提交解锁。
-  
事务是指数据库管理系统中的一组操作,这些操作要么全部成功执行,要么全部失败回滚,以保持数据库的一致性和完整性
 -  
四个特性:原子性、一致性、隔离性、持久性
 -  
实际运用:
 
6.3 ES
"ES" 通常指的是 Elasticsearch,它是一个开源的分布式搜索和分析引擎
看文章:https://www.cnblogs.com/buchizicai/p/17093719.html
7.职场类
PM:产品经理
CEO:首席执行官
CTO:首席技术官
CFO:首席财务官
HRBP:人力资源业务伙伴
IT:信息技术(修电脑买软件都找 IT)
PM:项目经理
8.数据类
DAU:日活用户 Day Activite Users
WAU:周活跃用户
DNU:日新增用户
DLU:日登录用户
DKAU:日核心活跃用户
PCU:最高同时在线用户
PV:页面访问量
UV:独立访客
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!

软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。


相关文章:
测试工作中常听到的名词解释 : )
背景 很多名称其实看字面意思都挺抽象的,有时看群里的测试大佬在不停蹦这类术语,感觉很高大上,但其实很多你应该是知道的,只不过没想到别人是这样叫它的。又或者你的主编程语言不是 Java,所以看不懂他们在讲啥&#x…...
Linux内网离线用rsync和inotify-tools实现文件夹文件单向同步和双向同步
lsyncd实现方式可参考:https://www.jianshu.com/p/c075ccf89516 安装文件下载:相关文件下载 rsync默认都有,所以没有提供。 服务端和客户端均操作 服务端:双向同步其实都是服务端,只是单向同步时稍有区别 客户端&am…...
Spring Security学习笔记(二)Spring Security认证和鉴权
前言:本系列博客基于Spring Boot 2.6.x依赖的Spring Security5.6.x版本 上一篇博客介绍了Spring Security的整体架构,本篇博客要讲的是Spring Security的认证和鉴权两个重要的机制。 UsernamePasswordAuthenticationFilter和BasicAuthenticationFilter是…...
产品经理NPDP好考吗?
NPDP是新产品开发专业人员的资格认证,对于希望在产品管理领域取得认可的专业人士来说,NPDP认证是一项重要的资格。 那么,产品经理考取NPDP资格认证究竟难不难呢? 首先,NPDP考试的难易程度取决于考生的背景和准备情况…...
【C++】:红黑树的应用 --- 封装map和set
点击跳转至文章:【C】:红黑树深度剖析 — 手撕红黑树! 目录 前言一,红黑树的改造1. 红黑树的主体框架2. 对红黑树节点结构的改造3. 红黑树的迭代器3.1 迭代器类3.2 Begin() 和 End() 四,红黑树相关接口的改造4.1 Find…...
unity美术资源优化(资源冗余,主界面图集过多)
图片资源冗余: UPR unity的性能优化工具检查资源 1.检查纹理读/写标记 开启纹理资源的读/写标志会导致双倍的内存占用 检查Inspector -> Advanced -> Read/Write Enabled选项 2.检查纹理资源alpha通道 如果纹理的alpha通道全部为0,或者全部为2…...
【git】github中的Pull Request是什么
在 Git 中,"pull request"(简称 PR)是一种在分布式版本控制系统中使用的功能,特别是在使用 GitHub、GitLab、Bitbucket 等基于 Git 的代码托管平台时。Pull Request 允许开发者请求将他们的代码更改合并到另一个分支&am…...
gitlab查询分支API显示不全,只有20个问题
背景 gitlab查询分支API需要查询所有分支,且分支数量大于20,但目前调用接口返回的branch最多就显示了20个 解决方案 根据GitLab的文档,查询分支API默认最多返回20个分支。如果要一次性显示80个分支,可以使用分页参数来获取所有…...
vue3+vite 实现动态引入某个文件夹下的组件 - glob-import的使用
<template><div class"user-content"><HeaderTitle title"用户详情"></HeaderTitle><div class"main-content"><div><UserForm /></div><div><TableList></TableList></d…...
hhhhh
x torch.tensor([1.0,0.],[-1.,1.],requires_gradTrue) z x.pow(2).sum() z.backward() x.grad在这段代码中,我们利用 PyTorch 进行自动求梯度,下面详细解释代码的每一个部分及其在反向传播中的作用。同时,我们也将介绍函数对象和叶子节点的…...
扫雷小游戏纯后端版
package com.wind;import java.util.Random; import java.util.Scanner;public class ResultLei {static Random random new Random();public static void main(String[] args) {boolean end true;while (end) {System.out.println("请输入你选择的难度对应的数字&#…...
RuoYi-Vue-Plus(动态添加移除数据源)
一、添加数据 private final DynamicRoutingDataSource dynamicRoutingDataSource;private final DefaultDataSourceCreator dataSourceCreator;//添加一个dynamic的数据源@GetMapping("createDynamic")public void createDynamic() {DataSourceProperty property =…...
idea启动项目报:the command line via JAR manifest or via a classpath file and rerun.
解决方案 1.打开Edit Configurations,进去编辑,如下: 笔记配置 2.选择Modfiy options,点击Shorten command line 3.在新增的Shorten command line选项中选择JAR manifest或classpath file 4.点击保存后即可...
vue3 + ts中有哪些类型是由vue3提供的?
在 Vue 3 中结合 TypeScript 使用时,Vue 提供了一系列的类型帮助函数和接口,这些类型用于增强 TypeScript 的集成和提供类型安全。以下是一些由 Vue 3 提供的常用 TypeScript 类型: RefType: 用于标注一个 ref 返回的响应式引用类型。Reacti…...
【Linux】远程连接Linux虚拟机(MobaXterm)
【Linux】远程连接Linux虚拟机(MobaXterm) 零、原因 有时候我们在虚拟机中操作Linux不太方便,比如不能复制粘贴,不能传文件等等,我们在主机上使用远程连接软件远程连接Linux虚拟机后可以解决上面的问题。 壹、软件下…...
LeetCode Hot100 生成特殊数字的最少操作
给你一个下标从 0 开始的字符串 num ,表示一个非负整数。 在一次操作中,您可以选择 num 的任意一位数字并将其删除。请注意,如果你删除 num 中的所有数字,则 num 变为 0。 返回最少需要多少次操作可以使 num 变成特殊数字。 如…...
Spring MVC 应用分层
1. 类名使⽤⼤驼峰⻛格,但以下情形例外:DO/BO/DTO/VO/AO 2. ⽅法名、参数名、成员变量、局部变量统⼀使⽤⼩驼峰⻛格 3. 包名统⼀使⽤⼩写,点分隔符之间有且仅有⼀个⾃然语义的英语单词. 常⻅命名命名⻛格介绍 ⼤驼峰: 所有单词⾸字⺟…...
QT--进程
一、进程QProcess QProcess 用于启动和控制外部进程,管理其输入输出流。 使用方法 start():启动一个新进程。setStandardInputFile():将文件作为标准输入。将进程的标准输入(stdin)重定向到指定的文件。换句话说&am…...
凸优化笔记-基本概念
原文 文章目录 最小二乘问题 仿射affine hullaffine dimension 凸集锥集超平面和半空间单纯形整半定锥保凸性的操作透视函数 凸函数的条件1阶判定条件2阶判定条件 Epigraph 外图 m i n i m i z e f 0 ( x ) minimize\ \ \ f_0(x) minimize f0(x) s u b j e c t t o f i ( …...
1858. 数组查找及替换
问题描述 给定某整数数组和某一整数 b 。 要求删除数组中可以被 b 整除的所有元素,同时将该数组各元素按从小到大排序。如果数组元素数值在 𝐴‘ 到 Z 的 ASCII 之间,替换为对应字母。 元素个数不超过 100,𝑏 在 1 …...
VB.net复制Ntag213卡写入UID
本示例使用的发卡器:https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...
黑马Mybatis
Mybatis 表现层:页面展示 业务层:逻辑处理 持久层:持久数据化保存 在这里插入图片描述 Mybatis快速入门 的原因分类及对应排查方案
JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停 1. 安全点(Safepoint)阻塞 现象:JVM暂停但无GC日志,日志显示No GCs detected。原因:JVM等待所有线程进入安全点(如…...
GitHub 趋势日报 (2025年06月06日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...
计算机基础知识解析:从应用到架构的全面拆解
目录 前言 1、 计算机的应用领域:无处不在的数字助手 2、 计算机的进化史:从算盘到量子计算 3、计算机的分类:不止 “台式机和笔记本” 4、计算机的组件:硬件与软件的协同 4.1 硬件:五大核心部件 4.2 软件&#…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...
4. TypeScript 类型推断与类型组合
一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式,自动确定它们的类型。 这一特性减少了显式类型注解的需要,在保持类型安全的同时简化了代码。通过分析上下文和初始值,TypeSc…...
day36-多路IO复用
一、基本概念 (服务器多客户端模型) 定义:单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用:应用程序通常需要处理来自多条事件流中的事件,比如我现在用的电脑,需要同时处理键盘鼠标…...
基于鸿蒙(HarmonyOS5)的打车小程序
1. 开发环境准备 安装DevEco Studio (鸿蒙官方IDE)配置HarmonyOS SDK申请开发者账号和必要的API密钥 2. 项目结构设计 ├── entry │ ├── src │ │ ├── main │ │ │ ├── ets │ │ │ │ ├── pages │ │ │ │ │ ├── H…...
前端开发者常用网站
Can I use网站:一个查询网页技术兼容性的网站 一个查询网页技术兼容性的网站Can I use:Can I use... Support tables for HTML5, CSS3, etc (查询浏览器对HTML5的支持情况) 权威网站:MDN JavaScript权威网站:JavaScript | MDN...
