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

测试工作中常听到的名词解释 : )

背景

很多名称其实看字面意思都挺抽象的,有时看群里的测试大佬在不停蹦这类术语,感觉很高大上,但其实很多你应该是知道的,只不过没想到别人是这样叫它的。又或者你的主编程语言不是 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:独立访客

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走! 

软件测试面试文档

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

在这里插入图片描述

相关文章:

测试工作中常听到的名词解释 : )

背景 很多名称其实看字面意思都挺抽象的&#xff0c;有时看群里的测试大佬在不停蹦这类术语&#xff0c;感觉很高大上&#xff0c;但其实很多你应该是知道的&#xff0c;只不过没想到别人是这样叫它的。又或者你的主编程语言不是 Java&#xff0c;所以看不懂他们在讲啥&#x…...

Linux内网离线用rsync和inotify-tools实现文件夹文件单向同步和双向同步

lsyncd实现方式可参考&#xff1a;https://www.jianshu.com/p/c075ccf89516 安装文件下载&#xff1a;相关文件下载 rsync默认都有&#xff0c;所以没有提供。 服务端和客户端均操作 服务端&#xff1a;双向同步其实都是服务端&#xff0c;只是单向同步时稍有区别 客户端&am…...

Spring Security学习笔记(二)Spring Security认证和鉴权

前言&#xff1a;本系列博客基于Spring Boot 2.6.x依赖的Spring Security5.6.x版本 上一篇博客介绍了Spring Security的整体架构&#xff0c;本篇博客要讲的是Spring Security的认证和鉴权两个重要的机制。 UsernamePasswordAuthenticationFilter和BasicAuthenticationFilter是…...

产品经理NPDP好考吗?

NPDP是新产品开发专业人员的资格认证&#xff0c;对于希望在产品管理领域取得认可的专业人士来说&#xff0c;NPDP认证是一项重要的资格。 那么&#xff0c;产品经理考取NPDP资格认证究竟难不难呢&#xff1f; 首先&#xff0c;NPDP考试的难易程度取决于考生的背景和准备情况…...

【C++】:红黑树的应用 --- 封装map和set

点击跳转至文章&#xff1a;【C】&#xff1a;红黑树深度剖析 — 手撕红黑树&#xff01; 目录 前言一&#xff0c;红黑树的改造1. 红黑树的主体框架2. 对红黑树节点结构的改造3. 红黑树的迭代器3.1 迭代器类3.2 Begin() 和 End() 四&#xff0c;红黑树相关接口的改造4.1 Find…...

unity美术资源优化(资源冗余,主界面图集过多)

图片资源冗余&#xff1a; UPR unity的性能优化工具检查资源 1.检查纹理读/写标记 开启纹理资源的读/写标志会导致双倍的内存占用 检查Inspector -> Advanced -> Read/Write Enabled选项 2.检查纹理资源alpha通道 如果纹理的alpha通道全部为0&#xff0c;或者全部为2…...

【git】github中的Pull Request是什么

在 Git 中&#xff0c;"pull request"&#xff08;简称 PR&#xff09;是一种在分布式版本控制系统中使用的功能&#xff0c;特别是在使用 GitHub、GitLab、Bitbucket 等基于 Git 的代码托管平台时。Pull Request 允许开发者请求将他们的代码更改合并到另一个分支&am…...

gitlab查询分支API显示不全,只有20个问题

背景 gitlab查询分支API需要查询所有分支&#xff0c;且分支数量大于20&#xff0c;但目前调用接口返回的branch最多就显示了20个 解决方案 根据GitLab的文档&#xff0c;查询分支API默认最多返回20个分支。如果要一次性显示80个分支&#xff0c;可以使用分页参数来获取所有…...

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在这段代码中&#xff0c;我们利用 PyTorch 进行自动求梯度&#xff0c;下面详细解释代码的每一个部分及其在反向传播中的作用。同时&#xff0c;我们也将介绍函数对象和叶子节点的…...

扫雷小游戏纯后端版

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&#xff0c;进去编辑&#xff0c;如下&#xff1a; 笔记配置 2.选择Modfiy options,点击Shorten command line 3.在新增的Shorten command line选项中选择JAR manifest或classpath file 4.点击保存后即可...

vue3 + ts中有哪些类型是由vue3提供的?

在 Vue 3 中结合 TypeScript 使用时&#xff0c;Vue 提供了一系列的类型帮助函数和接口&#xff0c;这些类型用于增强 TypeScript 的集成和提供类型安全。以下是一些由 Vue 3 提供的常用 TypeScript 类型&#xff1a; RefType: 用于标注一个 ref 返回的响应式引用类型。Reacti…...

【Linux】远程连接Linux虚拟机(MobaXterm)

【Linux】远程连接Linux虚拟机&#xff08;MobaXterm&#xff09; 零、原因 有时候我们在虚拟机中操作Linux不太方便&#xff0c;比如不能复制粘贴&#xff0c;不能传文件等等&#xff0c;我们在主机上使用远程连接软件远程连接Linux虚拟机后可以解决上面的问题。 壹、软件下…...

LeetCode Hot100 生成特殊数字的最少操作

给你一个下标从 0 开始的字符串 num &#xff0c;表示一个非负整数。 在一次操作中&#xff0c;您可以选择 num 的任意一位数字并将其删除。请注意&#xff0c;如果你删除 num 中的所有数字&#xff0c;则 num 变为 0。 返回最少需要多少次操作可以使 num 变成特殊数字。 如…...

Spring MVC 应用分层

1. 类名使⽤⼤驼峰⻛格&#xff0c;但以下情形例外&#xff1a;DO/BO/DTO/VO/AO 2. ⽅法名、参数名、成员变量、局部变量统⼀使⽤⼩驼峰⻛格 3. 包名统⼀使⽤⼩写&#xff0c;点分隔符之间有且仅有⼀个⾃然语义的英语单词. 常⻅命名命名⻛格介绍 ⼤驼峰: 所有单词⾸字⺟…...

QT--进程

一、进程QProcess QProcess 用于启动和控制外部进程&#xff0c;管理其输入输出流。 使用方法 start()&#xff1a;启动一个新进程。setStandardInputFile()&#xff1a;将文件作为标准输入。将进程的标准输入&#xff08;stdin&#xff09;重定向到指定的文件。换句话说&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 整除的所有元素&#xff0c;同时将该数组各元素按从小到大排序。如果数组元素数值在 &#x1d434;‘ 到 Z 的 ASCII 之间&#xff0c;替换为对应字母。 元素个数不超过 100&#xff0c;&#x1d44f; 在 1 …...

计算机视觉与面部识别:技术、应用与未来发展

引言 在当今数字化时代&#xff0c;计算机视觉技术迅速发展&#xff0c;成为人工智能领域的一个重要分支。计算机视觉旨在让机器理解和解释视觉信息&#xff0c;模拟人类的视觉系统。它在各行各业中发挥着重要作用&#xff0c;从自动驾驶汽车到智能监控系统&#xff0c;再到医疗…...

懒人精灵安卓版纯本地离线文字识别插件

目的 懒人精灵是一款可以模拟鼠标和键盘操作的自动化工具。它可以帮助用户自动完成一些重复的、繁琐的任务&#xff0c;节省大量人工操作的时间。懒人精灵也包含图色功能&#xff0c;识别屏幕上的图像&#xff0c;根据图像的变化自动执行相应的操作。本篇文章主要讲解下更优秀的…...

在线教育数仓项目(数据采集部分1)

文章目录 数据仓库概念项目需求及架构设计项目需求分析系统数据流程设计框架版本选型集群规模估算集群资源规划设计 数据生成模块目标数据页面事件曝光启动播放错误 数据埋点主流埋点方式&#xff08;了解&#xff09;埋点数据上报时机埋点数据日志结构 服务器和JDK准备服务器准…...

帕金森病(PD)诊断:三种基于语音的深度学习方法

帕金森病&#xff08;Parkinson’s disease, PD&#xff09;是世界上第二大流行的神经退行性疾病&#xff0c;全球影响着超过1000万人&#xff0c;仅次于阿尔茨海默症。人们通常在65岁左右被诊断出患有此病。PD的一些症状包括震颤、肌肉僵硬和运动迟缓。这些症状往往出现在较晚…...

【资料分享】2024钉钉杯大数据挑战赛A题思路解析+代码演示

2024第三届钉钉杯大学生大数据挑战赛今天已经开赛&#xff0c;【A题】思路解析代码&#xff0c;资料预览&#xff1a;...

【优质精选】12节大模型系列教学课程之二:RAG 原理与应用

课程二&#xff1a;RAG 原理与应用 12节大模型系列教学课程之二&#xff1a;RAG 原理与应用 课程详细内容RAG 技术的基础知识RAG 的工作原理RAG 提高生成质量和准确性的原理RAG 在问答系统中的应用RAG 在文本创作中的应用RAG 在其他领域的应用探索RAG 技术的挑战与应对策略RAG …...

vue3前端开发-小兔鲜项目-产品详情基础数据渲染

vue3前端开发-小兔鲜项目-产品详情基础数据渲染&#xff01;这一次内容比较多&#xff0c;我们分开写。第一步先完成详情页面的基础数据的渲染。然后再去做一下右侧的热门产品的列表内容。 第一步&#xff0c;还是老规矩&#xff0c;先准备好接口函数。方便我们的页面组件拿到对…...

Docker入门指南:Linux系统下的完整安装步骤与常见问题解答

本文以centos7演示。 Docker安装 可参考官方安装文档&#xff1a;Install Docker Engine on CentOS | Docker Docs 一图流&#xff1a; # 移除旧版本docker sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logro…...

Netty实现数据上下行

Netty实现数据上下行 使用LVSNGinxNetty实现数据接入 在数据上行的时候&#xff0c;通过使用车辆唯一标识码&#xff08;vin&#xff09;和连接通道绑定 Netty一些配置参数如下: #netty项目使用的端口 server.port8017 #使用启用epoll&#xff08;在Linux上拥有更好的传输性…...

【React】事件绑定:深入解析高效处理用户交互的最佳实践

文章目录 一、什么是事件绑定&#xff1f;二、基本事件绑定三、绑定 this 上下文四、传递参数五、事件对象六、事件委托七、常见事件处理八、优化事件处理 React 是现代前端开发中最受欢迎的框架之一&#xff0c;其组件化和高效的状态管理能力使得构建复杂的用户界面变得更加容…...

SpringCloud:使用OpenFeign优化前面的Nacos实现高效购物车商品信息处理

在现代电商系统中&#xff0c;购物车的性能直接影响用户的购物体验。为了提升系统性能和用户满意度&#xff0c;我们可以使用Spring Cloud的OpenFeign和负载均衡器来高效地处理购物车中的商品信息。本文将详细介绍如何在Spring Cloud中集成这些组件&#xff0c;并实现一个高效的…...

计算机三级嵌入式笔记(二)——嵌入式处理器

目录 考点1 嵌入式处理器的结构类型 考点2 嵌入式处理器简介 考点3 ARM处理器概述 考点4 处理器和处理器核 考点5 ARM 处理器的分类 考点6 经典 ARM 处理器 考点7 ARM Cortex 嵌入式处理器 考点8 ARM Cortex实时嵌入式处理器 考点9 ARM Cortex 应用处理器 考点10 AR…...

【GoLang】Golang 快速入门(第一篇)

目录 1.简介&#xff1a; 2.设计初衷&#xff1a; 3.Go语言的 特点 4.应用领域: 5.用go语言的公司&#xff1a; 6. 开发工具介绍以及环境搭建 1.工具介绍: 2.VSCode的安装: 3.安装过程&#xff1a; 4.Windows下搭建Go开发环境--安装和配置SDK 1.搭建Go开发环境 - 安装…...

Linux中的三类读写函数

文件IO和标准IO的区别 遵循标准&#xff1a; 文件IO遵循POSIX标准&#xff0c;主要在类UNIX环境下使用。标准IO遵循ANSI标准&#xff0c;具有更好的可移植性&#xff0c;可以在不同的操作系统上重新编译后运行。可移植性&#xff1a; 文件IO的可移植性相对较差&#xff0c;因为…...

MATLAB基础应用精讲-【数模应用】二元Probit回归分析

目录 前言 知识储备 二元Logistic模型和Probit模型 Logistic模型的形式 Probit模型 优势比(OR) 准二项分布族 算法原理 数学模型 二元因变量和线性概率模型 probit和logit回归 logit和probit模型的估计和推断 稳健性检验 二元logit回归分析全流程 一、案例数…...

找工作准备刷题Day10 回溯算法 (卡尔41期训练营 7.24)

回溯算法今天这几个题目做过&#xff0c;晚上有面试&#xff0c;今天水一水。 第一题&#xff1a;Leetcode77. 组合 题目描述 解题思路 从题目示例来看&#xff0c;k个数是不能重合的&#xff0c;但是题目没有明确说明这一点。 使用回溯算法解决此问题&#xff0c;利用树形…...

如何有效的进行小程序的优化

如今小程序已经成为了许多开发者开展业务&#xff0c;提供服务的重要平台 。所以如何有效的优化小程序成为了开发者关注的首要问题&#xff0c;以下是一份详细的小程序优化方案&#xff1a; 一、目标设定 明确小程序优化的主要目标&#xff0c;例如提高用户留存率、增加用户活…...

FPGA-ROM IP核的使用(2)

前言 接着昨天的进行一个小的实验验证ROM IP核。 实验效果 读取上一期生成的IP核中的数据&#xff0c;并将其显示在数码管上。 具体流程 ROM IP核存放数据0~255&#xff0c;之后每隔0.2s&#xff0c;从0的地址开始读数据&#xff0c;并显示在数码管上&#xff1b;接着先后…...

Manticore Search(es轻量级替代)

概念&#xff1a; Manticore Search 是一个使用 C 开发的高性能搜索引擎&#xff0c;创建于 2017 年&#xff0c;其前身是 Sphinx Search 。Manticore Search 充分利用了 Sphinx&#xff0c;显着改进了它的功能&#xff0c;修复了数百个错误&#xff0c;几乎完全重写了代码并保…...

测试开发面试题---计算机网络

计算机网络模型 OSI模型&#xff1a;七层模型 物理层&#xff1a;定义电气特征&#xff0c;机械特征等功能规范&#xff0c;传递实际比特流数据链路层&#xff1a;物理地址寻址&#xff08;MAC&#xff09;&#xff0c;帧的传输&#xff0c;错误检测和纠正网络层&#xff1a;…...

Wonder3D 论文学习

论文链接&#xff1a;https://arxiv.org/abs/2310.15008 代码链接&#xff1a;https://github.com/xxlong0/Wonder3D 解决了什么问题&#xff1f; 随着扩散模型的提出&#xff0c;3D 生成领域取得了长足进步。从单张图片重建出 3D 几何是计算机图形学和 3D 视觉的基础任务&am…...

【MySQL进阶之路 | 高级篇】显式事务和隐式事务

使用事务有两种方式&#xff1a;显式事务和隐式事务。 1. 显式事务 步骤1&#xff1a; START TRANSACTION或者BEGIN&#xff0c;作用是显式开启一个事务。 START TRANSACTION语句相较于BEGIN特别之处在于&#xff0c;后面能跟几个修饰符。比如&#xff1a; READ ONLY&…...

Ruby、Python、Java 开发者必备:Codigger之软件项目体检

在编程的广阔天地里&#xff0c;Ruby、Python 和 Java 开发者们各自凭借着独特的语言特性&#xff0c;构建着精彩纷呈的应用世界。然而&#xff0c;无论使用哪种语言&#xff0c;确保项目的高质量始终是至关重要的目标。而 Codigger 项目体检则成为了实现这一目标的得力助手&am…...

day05 Router、vuex、axios

配置 router和vuex需要在创建vue项目的时候&#xff0c;开始的时候选择Manually select features&#xff0c;于是就可以在下一个创建配置讯问中选择router和vuex。 axios则需要执行命令行&#xff1a; npm install axios -S 之后再在需要发送请求的view导入即可。 router…...

yolov5-7在opencv里跑自己的onnx模型

先把模型放在如下目录 运行如下代码 import cv2 import numpy as npclass Onnx_clf:def __init__(self, onnx:strdnn_model1/plane02.onnx, img_size640, classlist:list[plane]) -> None: func: 读取onnx模型,并进行目标识别para onnx:模型路径img_size:输出图片大小,和模…...

JVM 11 的优化指南:如何进行JVM调优,JVM调优参数有哪些

这篇文章将详细介绍如何进行JVM 11调优&#xff0c;包括JVM 11调优参数及其应用。此外&#xff0c;我将提供12个实用的代码示例&#xff0c;每个示例都会结合JVM启动参数和Java代码。 本文已收录于&#xff0c;我的技术网站 java-broke.site&#xff0c;有大厂完整面经&#x…...

nginx的配置和使用

一、nginx支持win和linux版本的下载&#xff0c;选择合适的版本进行安装 二、配置文件注解 重点的几个参数进行注释&#xff1a; 1、listen 要监听的服务的端口&#xff0c;符合这个端口的才会被监听 server_name要监听的服务地址&#xff0c;可能是ip,也可能是域名&#xf…...

mysql面试(六)

前言 本章节详细讲解了一下mysql执行计划相关的属性释义&#xff0c;以及不同sql所出现的不同效果 执行计划 一条查询语句经过mysql查询优化器的各种基于成本和各种规则优化之后&#xff0c;会生成一个所谓的 执行计划&#xff0c;这个执行计划展示了这条查询语句具体查询方…...

6.乳腺癌良性恶性预测(二分类、逻辑回归、PCA降维、SVD奇异值分解)

乳腺癌良性恶性预测 1. 特征工程1.1 特征筛选1.2 特征降维 PCA1.3 SVD奇异值分解 2. 代码2.1 逻辑回归、二分类问题2.2 特征降维 PCA2.3 SVD奇异值分解 1. 特征工程 专业上&#xff1a;30个人特征来自于临床一线专家&#xff0c;每个特征和都有医学内涵&#xff1b;数据上&…...

Vue3响应式高阶用法之markRaw()

Vue3响应式高阶用法之markRaw() 文章目录 Vue3响应式高阶用法之markRaw()一、简介二、使用场景2.1 避免性能开销2.2 防止意外修改 三、基本使用3.1 标记对象 四、功能详解4.1 markRaw与reactive的区别4.2 markRaw与ref的区别 五、最佳实践及案例5.1 使用大型第三方库对象5.2 静…...