粉丝投稿:从写下第1个脚本到年薪20W,我的自动化测试心路历程

我希望我的故事能够激励现在的软件测试人,尤其是还坚持在做“点点点”的测试人。

你可能会有疑问:“我也能做到这一点的可能性有多大?”因此,我会尽量把自己做决定和思考的过程讲得更具体一些,并尽量体现更多细节。

每个测试人的经历都不一样,但我希望我的经历中能让你有所收获。

测试新人

我的软件测试职业开始和大多数最普通的测试人员一样,一开始在一家社交平台的公司做软件测试,公司最开始只我人一位软件测试人员,没有任何流程和规范,但好在工作比较轻松,这就导致我有充足的时间学习各种测试技术和工具。

当你认为工作很闲时,这正是你可以有更多的时间投入学习的时候,但是,学习的内容一定要基于自己的工作来,这样才能把学来的技术变成工作经验。

当时,有一些机会在工作中做性能测试,于是,学会了使用LoadRunner和JMeter,有一次需要测试MySQL数据库的性能,用JMeter搞了半天不知道怎么设置,结果叫一位开发的同事帮我过来很快就搞定了。

这让我认识到开发知识对于测试工作的帮助,编程语言的能力会决定你测试技术的深度。

16大视频,轻松带你入门~

选择Python

大概在2013年的时候,脚本语言变得越来越流行,我正纠结学习Python还是Ruby,后来,我被分到社区项目的测试工作,公司产品开始选用Python开发的,所以,我毫不犹豫的选择了Python。

如果你不知道学习什么编程语言,那么就根据项目的开发语言来,这也会有助于你对测试的bug的理解。

接着,开始用Python语言和Selenium来尝试做自动化测试。那时,关于Python版的Selenium并不多,在学习的同时我开始发表相关博客。

交流是学习新技术的驱动力,大多数时候我们很难坚持学一个新技术的原因就在于缺少反馈,不管是做内部分享或者是社群交流都是很好的反馈机制。

2014年的时候,由于项目的原因,开始使用Robot Framework测试框架,正因为有Python的基础所以很快就理解了Robot Framework框架的工作原理,并可以根据项目的需要开发系统关键字。

掌握自动化工具的原理使用起来才能更加游刃有余,而这也需要你有一定的编程基础的原因。

2015年随着移动App越来越流行,趁着换工作的间隙,我开始学习了一个月的appium自动化工具,但工作中用不到后来就没在继续了。

后来,我开始针对另一个社区项目编写Web UI自动化测试,前后做了几个月,积累了一些经验,开始尝试设计Web自动化框架,当时主要还是针对Selenium API的封装。

自动化测试

为什么我越来越有更多机会去做自动化相关的工作,当然,是我先学会了这项技能,然后才有,公司项目又比较适合去做自动化,所以,我就尝试去做了,最后,这就变成了我的经验。

但是,没多久我会调到另外一个项目负责接公司口平台的测试,这个项目支撑公司内部不同的业务线,为了更加高效的保证接口的质量,开发设计了一套基于PHPunit的接口自动化项目,因为整个接口平台也是有PHP开发,所以,我开始尝试用PHP编写接口自动化测试。这个自动化项目非常高效的保证了接口平台的稳定性,我持续维护了两年。

测试有时候必须跟着项目发展自己的技术,但也正是之前的编程基础和自动化的经验的积累,所以,才会很快的上手接口自动化项目。

2018年我开始做全栈工程师,和团队一起从零开发内部管理平台,后端用Django框架设计接口,前端用vue.js框架设计页面,项目已经在整个公司得到应用。

这个阶段跨度有点大,但应了我前面的一些思路,当你掌握的更多的技术,那么你也会有更多的机会继续提升自己。

你也在往自动化方向发展吗?

在适当的年龄,选择适当的岗位,尽量发挥好自己的优势。

我的自动化测试之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,所以,我和朋友花了一段时间整理编写了下面的软件测试工程师发展规划路线,会给你带来帮助和方向:

《软件自动化测试开发学习路线》

1.软件测试基础知识内容

软件测试职业以及发展定位

软件测试的概述&原则

软件测试的策略及详细讲解

软件测试的生命周期

软件测试工作流程

软件需求分析制作详解

软件测试计划的编写

软件测试用例的常用方法--等价类,边界值

软件测试用例的常用方法--因果图,判定表

测试用例的常用方法--状态迁移图;场景法

软件测试环境准备&团队组织架构&职责划分

bug编写规范,教你写出不low的缺陷

bug的流转与状态处理

缺陷编写规范与流程处理

缺陷编写规范与流程处理

2.MySQL数据库知识

数据库对测试人员的重要性

数据库概述

数据库安装

navicat连接数据库

简单的增删改查语句

DDL语言+类型与约束

数据库的增删改操作

数据库的其他约束

数据库的删除操作

3.接口测试基本知识

接口测试原理本质

接口测试用例编写和设计

Postman部署与接测试以及断言

Postman测试集使用&参数化

Postman接口关联以及发送报告

Fiddler环境搭建及原理&抓包、过滤、断点

Fiddler模拟mock实战及弱网实战

Jmeter常见元件详解及接门测试参数化

Jmeter接门关联、断言及JDBC包使用

Jmeter的jar包使用及生成测试报告

4.Python编程技术

编程语言介绍/编程概念讲解/环境搭建

Python编程思维及语法:变量的定义及基本使用

Python编程思维及语法:基本运算、基本数据类型、

Python编程思维及语法:输⼊与输出、数据的类型转换

Python编程逻辑流程:数学运算符/比较运算符/赋值运算符

Python编程逻辑流程:逻辑运算符/成员运算符

Python编程逻辑流程:程序中的条件分支--if

Python编程逻辑流程:程序中的循环结构--while

Python中的数据类型:python中的list列表定义

Python中的数据类型:python中的list列表操作流程

Python中的数据类型:python中的dict字典定义

Python中的数据类型:python中字典的增删改查

Python中的数据类型:元组在python中的应用

Python复杂操作:range函数在python中的意义

Python复杂操作:for循环的定义实操

Python复杂操作:字符串、列表的切片操作

Python中的数据类型:python中的集合应用

Python函数:python中的函数定义

Python函数:python中函数的注释

Python函数:python中函数的嵌套

Python函数:python中的内置函数

Python函数:python中的匿名函数

Python函数:python中函数的调用与引用的概念

Python函数:python中的装饰器详解

Python中的模块化与引用关系

Python导包:from关键字与import关键字的应用场景

python中的文件操作

面向对象:python中的类机制

面向对象:类属性的概念与应用

面向对象:类中的继承概念应用

面向对象:类中的多态概念

面向对象:异常机制

5.Web自动化测试技术

Web自动化测试入门:前端页面的组成分析详解

Web自动化测试入门:javascript操作Dom元素详解

Web自动化测试入门:selenium中的环境搭建详解

Web自动化测试入门:selenium原理,UI自动化的核心含义

Web自动化测试入门:从手工用例向自动化测试用例的迈进

Web自动化测试入门:常规定位--八大元素定位

Web自动化测试入门: 元素定位之selenium4.0特有网格定位

Web自动化测试入门: 元素定位之selenium元素内定位

Web自动化测试进阶:网页中难点之等待机制--强制等待

Web自动化测试进阶:网页中难点之等待机制--隐式等待

Web自动化测试进阶:网页中难点之expected_conditions的应用与原理

Web自动化测试进阶:网页中难点之等待机制--显式等待

Web自动化测试进阶:网页中难点之匿名函数在等待中的使用

Web自动化测试进阶:selenium模拟鼠标操作

Web自动化测试进阶:selenium模拟键盘操作

Web自动化测试进阶:ActionChain模拟拖动滚动操作

Web自动化测试进阶:实战中的单选复选框选择

Web自动化测试进阶:实战中的下拉框定位问题

Web自动化测试进阶:selenium中的switch_to函数详解

Web自动化测试进阶:selenium中的句柄操作详解

Web自动化测试进阶: 网页中难点之frame切换

Web自动化测试进阶: 网页中难点之多窗口切换

Web自动化测试进阶: 网页中难点之alert切换

Web自动化测试进阶:实战项目中难点之验证码问题

Web自动化测试进阶:图像处理的灰度化与二值化操作

Web自动化测试进阶:验证码处理之OCR图像识别操作

Web自动化测试进阶:验证码处理之cookie跳过验证码操作

Web自动化测试进阶:验证码处理之js处理方案

Web自动化测试进阶:自动化中的难点--文件上传操作

Web自动化测试进阶:自动化中的难点之input标签文件选择

Web自动化测试进阶:自动化中的难点之非input标签文件选择

Web自动化测试进阶:实战难点之多文件上传

Web自动化测试进阶:实战难点之iframe日期控件

Web自动化测试框架篇:unittest+pytest框架入门应用

Web自动化测试框架篇:实战中的pytest框架规则

Web自动化测试框架篇:pytest框架夹具及顺序

Web自动化测试框架篇:pytest框架插件实战详解

Web自动化测试框架篇:如何利用pytest框架生成测试报告

Web自动化测试框架篇:POM核心设计思路详解

Web自动化测试框架篇:POM的业务代码逻辑与组件分离

Web自动化测试框架篇:用POM思想设计一套框架

Web自动化高级篇:用POM思想重构unittest框架代码

Web自动化高级篇:进阶思路--从POM到关键字驱动

Web自动化高级篇:测试报告生成及Allure报告优化

Web自动化高级篇:Allure报告生成之用例重运行

Web自动化高级篇:Allure的装饰器执行流程

Web自动化高级篇:Allure的截图,异常截图操作

Web自动化高级篇:自动化执行记录之自定义框架日志封装

Web自动化高级篇:自定义框架封装设计理念

Web自动化高级篇:关键字与核心执行器封装

Web自动化高级篇:自动化测试重复流程的抽取和处理

Web自动化高级篇:数据驱动与数据分离--yaml文件驱动

Web自动化高级篇:动态化测试用例的生成与断言数据的生成

Web自动化拓展:web自动化分布式测试Grid介绍

Web自动化拓展:Web自动化分布式测试之selenium-Grid的hub详解

Web自动化拓展:Web自动化分布式测试之selenium-Grid的Nodes详解

Web自动化拓展:Web自动化分布式测试之selenium-Grid的配置详解

Web自动化拓展:全面提升测试效率--实战中的Grid的应用与常见问题处理

6.接口自动化测试

接口自动化入门: Http请求的核心概念及原理详解

接口自动化入门: Http的请求头,请求体,响应码解析

接口自动化入门: Http请求的域名与IP地址概念

接口自动化入门: swagger/word/excel/pdf等不同种类的接口文档理解

接口自动化入门:项目实战中接口测试流程分析及实现

接口自动化入门:Jmeter实现在接口工具中关联接口处理方案

接口自动化入门:Jmeter的多组数据测试、JDBC驱动及数据断言

接口自动化入门:JSON中的万能密码--JSONPath解析

接口自动化入门:大型项目中接口测试分工协同安排

接口自动化入门:接口自动化思维逻辑梳理及相关环境搭建

接口自动化入门:接口自动化实战项目需求分析+用例分析

接口自动化入门:Requests组成介绍及接口调用方式

接口自动化入门:Requests请求头设置详解

接口自动化入门:Requests的RESTFul请求发送

接口自动化入门: Requests实现项目接口关联调用测试实战

接口自动化入门:登录流程中的Session,Token鉴权实践

接口自动化入门:requests中的Assert断言处理

接口自动化入门: 加密接口处理之对称加密

接口自动化入门:加密接口处理之非对称加密

接口自动化进阶:Pytest运行规则插件安装常用参数详解

接口自动化进阶:Pytest结合Requests实现自动化

接口自动化进阶:Pytest全局配置pytest.ini文件详解

接口自动化进阶:Pytest之Fixture拓展及conftest.py加载机制

接口自动化进阶:Pytest之Parameterize数据驱动应用

接口自动化框架篇:Pytest断言处理以及Allure报告生成

接口自动化框架篇:Pytest+Allure报告企业定制化实现

接口自动化框架篇:Pytest企业级接口用例管理流程

接口自动化框架篇:Pytest中的接口请求封装

接口自动化框架篇:Pytest中的接口关联封装

接口自动化框架篇:优化逻辑--接口关联封装改进

接口自动化框架篇:规范JSON数据格式测试用例封装

接口自动化框架篇:接口框架中如何实现热加载封装

接口自动化框架篇:接口框架中的常归断言封装

接口自动化框架篇:接口框架中的日志记录封装

接口自动化框架篇:使用python连接数据库-PySQL介绍

接口自动化框架篇:PySQL的游标概念及数据操作

接口自动化框架篇:PySQL的游标概念及数据操作

接口自动化框架篇:Mysql数据库数据断言封装

接口自动化框架篇:接口框架中的数据类型处理

接口自动化框架篇:核心执行器封装流程

接口自动化框架篇:框架中的数据流转处理

接口自动化框架篇:框架中的不同请求方式封装

接口自动化框架篇:自定义异常日志封装

接口自动化框架篇:自定义断言封装逻辑

接口自动化框架篇:BaseURL基础路径封装

接口自动化框架篇:接口加密解密封装

接口自动化框架篇:接口签名Sign封装

接口自动化框架篇:接口自动化框架的测试报告生成

接口自动化拓展:接口Mock的理念与实战场景

接口自动化拓展:Flask框架安装、介绍及工作中的应用

接口自动化拓展:Flask框架与前端页面的通讯

接口自动化拓展:Flask框架的数据库操作

接口自动化拓展:Flask框架的增删改查接口实战

7.APP自动化测试

App自动化测试入门:APP测试的定义及环境搭建处理

App自动化测试入门:Appium设计理念解析

App自动化测试入门:APP测试中常用的ADB操作命令理解

App自动化测试入门:APP自动化稳定性测试详解

App自动化测试入门:Appium自动化的组件角色介绍

App自动化测试入门:Appium的自动化测试原理

App自动化测试入门:Appium的Inspector实战操作

App自动化测试入门:Desktop配置及底层逻辑

App自动化测试入门:运用Appium-Python-Client替代Desktop操作

App自动化测试入门:实战中的APP元素定位方式之Id定位

App自动化测试入门:实战中的APP元素定位方式之Name定位

App自动化测试入门:实战中的APP元素定位方式之ClassName定位

App自动化测试入门:实战中的APP元素定位方式之TagName定位

App自动化测试入门:实战中的APP元素定位方式之Xpath定位

App自动化测试入门:实战中非常规模式下的其他元素定位方式详解

App自动化测试入门:APP自动化中Activity组件原理

App自动化测试入门:实战中App自动化页面加载资源流程中的"坑"

App自动化测试入门:实战中App自动化页面资源渲染需要注意的"雷区"

App自动化测试入门:APP自动化测试中的三种常规等待类型

App自动化测试入门: 常规等待无法处理的bug解决方案--Activity等待与指令等待

App自动化测试进阶:App自动化-常规元素属性详解

App自动化测试进阶:App自动化-常规元素操作

App自动化测试进阶:App自动化非常规元素操作之触控操作详解

App自动化测试进阶:App自动化非常规元素操作之多指操作详解

App自动化测试进阶:App自动化非常规元素操作之新版本W3C操作

App自动化测试框架篇:实战中Pytest的用例标签详解

App自动化测试框架篇:Pytest-html测试报告生成

App自动化测试框架篇:实战中Pytest的用例参数化驱动测试用例

App自动化测试框架篇:实战中Pytest的conftest与钩子函数

App自动化测试框架篇:Pytest的yiled关键字原理解析

App自动化测试框架篇:Pytest-html报告添加截图操作

App自动化测试框架篇:Pytest-html获取用例结果流程

App自动化测试框架篇:Pytest-html报告源码解读与改造

App自动化测试框架篇:Pytest-html 自定义异常截图流程

App自动化测试框架篇:Pytest-html 实战中测试报告生成解析

App自动化测试框架篇: 企业级自定义框架封装思路详解

App自动化测试框架篇: 企业级数据驱动之数据的定义方式

App自动化测试框架篇: 自定义框架测试下的元素操作关键字封装详解

App自动化测试框架篇: 自定义框架测试下的系统函数关键字封装详解

App自动化测试框架篇: 自定义框架测试下的逻辑处理关键字封装详解

App自动化测试框架篇: 自定义框架测试下的逻辑处理关键字封装详解

App自动化测试框架篇: 自定义框架测试下的断言关键字封装详解

App自动化测试框架篇: 框架设计数据分离关键字之存储文件处理

App自动化测试框架篇: 框架设计数据分离之关键字热处理

APP自动化测试框架篇: 关键字驱动在企业中的落地方案

8.APP自动化测试拓展

App自动化测试拓展:企业级设备集群管理平台环境搭建介绍

App自动化测试拓展:企业级设备集群管理平台核心配置含义

App自动化测试拓展:Appium在多机器下的自动化操作流程

App自动化测试拓展:实战中APP测试框架结合ATXServer集群测试方案

App自动化测试拓展:H5在APP中的应用与问题介绍

App自动化测试拓展:实战中的混合应用APP问题常见处理方式

App自动化测试拓展:混合应用中的元素定位与操作流程

App自动化测试拓展:混合应用中的跳转及等待操作处理

App自动化测试拓展:公众号H5 webview混合应用测试实战

微信小程序自动化:Minium环境搭建、自动化流程梳理

微信小程序自动化:小程序自动化的核心思路与原理理解

微信小程序自动化:小程序中的元素定位、属性分析、元素操作

微信小程序自动化:小程序中的特殊操作-点击、长按、拖动

微信小程序自动化:minitest命令详解/测试报告分析

9.跨平台自动化测试RobotFramework & Airtest

RobotFramework简介与环境搭建

RF语法之变量使用

RF基础语法之测试用例编写

RF之关键字与资源文件

RF之语法控制流与循环

RF-Web自动化项目实战

RF-接口自动化项目实战

RF-扩展库开发

RF-集成Jenkins之持续集成

Airtest环境搭建与IDE使用

Airtest-Web自动化项目实战

Airtest-APP自动化项目实战

Airtest之poco框架

Airtest-windows应用程序自动化测试

Airtest之脚本运行方式

10.DevOps 持续集成

GIT代码版本控制:版本控制概念/环境搭建

GIT代码版本控制:版本库创建

GIT代码版本控制:克隆、pull、push、commit命令使用

GIT代码版本控制:版本冲突解决/分支/tag控制

Jenkins持续集成:CICD介绍、环境搭建

Jenkins持续集成:Jenkins插件管理常用插件

Jenkins持续集成:命令执行机制/远程ssh执行

Jenkins持续集成:Allure测试报告集成/办公软件集成

Jenkins持续集成:自动化用例结合Jenkins应用

Jenkins持续集成:Jenkins定时任务/GIT集成

Jenkins持续集成:构建 CI/CD 流水线 开发-测试-运维

sonar代码白盒检测:代码检测概念,sonar环境搭建

sonar代码白盒检测:常见代码检测问题解析

sonar代码白盒检测:代码检测报告分析

sonar代码白盒检测:Jenkins与sonar组合持续集成

11.Jmeter性能测试

性能和功能的区别

性能指标:响应时间

程序运行过程中,对服务器资源占用率

吞吐量 和 并发量 的关系?/区别?

性能测试整体流程介绍

项目中性能测试的背景分析

性能需求分析-业务模型

性能测试用例的概念和示例

性能测试概念-负载测试

性能测试用例结构及项目实例

性能测试完成标准

性能测试环境 服务器配置

Jmeter环境构建

Jmeter多线程插件的使用

Jmeter压测汇总报告结果分析

Jmeter梯度压测线程组实际应用

Jmeter分布式集群压测概念

阿里云PTS云服务器压测方式

Jmeter压测使用CSV数据集

Jmeter 7大定时器分析

结果分析之Basic Graphs图表

InfluxDB + Grafana+Jmeter监控大屏

Jmeter 后端监听器连接InfluxDB

Jmeter-InfluxDB-Grafana完整调试

nmon数据采集与结果分析

prometheus 服务器 配置

性能测试报告-测试实施情况编写

性能测试报告-资源使用率截图内容

如何找性能拐点及性能瓶颈定义

APP性能测试概念,目的与意义

性能测试流程和性能测试工具分析

APP性能指标(cpu、内存、流畅度等)

APP性能测试工具选择,环境搭建实战

APP性能指标启动时间、CPU、流量详解获取方法

APP性能监控脚本实现;数据分析

APP性能指标之电量、内存、FPS

APP性能指标之过度渲染及实战

Locust简介 Locust是什么?

Locust发起HTTP接口请求

Locust的Web界面

locustfile之task_set属性

locustfile之weight (权重)属性

详解任务集合TaskSet类

动态URL参数使用

Locust“逐步负载”模式运行

Locust+Grafana 搭建性能监控平台

12.vue测试开发平台

阶段1. 前端HTML/CSS/JS项目开发实战

阶段2. VUE 前端框架项目开发实战

阶段3. Flask WEB后端开发框架项目实战

阶段4. Flask+Vue前后端分离系统项目实战

阶段5. 测试平台管理系统基础功能开发

阶段6:接口自动化测试平台设计阶段

阶段7:接口测试平台前端界面设计与开发

阶段8:接口测试平台后端设计与开发

阶段9:接口测试平台联调测试

阶段10:WEB自动化测试平台设计阶段

阶段11:WEB测试平台前端界面设计与开发

阶段12:WEB测试平台后端设计与开发

阶段13:WEB测试平台联调测试

阶段14:APP自动化测试平台设计阶段

阶段15:APP测试平台前端界面设计与开发

阶段16:APP测试平台后端设计与开发

阶段17:APP测试平台联调测试

阶段18:用例执行图形报表可视化数据监测

阶段19:CICD持续集成整合企业测试流程

阶段20:办公软件钉钉/飞书/企微等整合

阶段21:Xmind测试用例数据格式集成

阶段22:Swagger/Har动态接口数据集成

阶段23:测试平台分布式集群部署实战

13.django测试开发

WEB开发技术简介及Django开发环境搭建

Django开发web接口urls及views机制

Django数据库模型和视图

Django-admin环境搭建及应用

接口测试脚本自动化及脚本存在的问题

Pytest插件开发测试工具原理分析

如何将Python测试工具打包成可执行命令

自动化测试平台开发思路

通过Django_admin_vue模板快速开发出web界面

平台开发:项目创建及自定义管理平台数据展示内容

平台开发:实现复杂数据维护页面

平台设计:如何将测试数据转换为数据库存储

平台实现:接口测试平台效果演示及debug调试

WEB封装思维锻炼:web自动化中封装技术的应用

WEB封装思维锻炼:fixture及断言截图机制拓展封装

代码封装思维对于测试开发的重要性

WEB平台驱动封装:POM的作用以及它的问题

WEB平台驱动封装:UI自动化框架实现原理剖析

WEB平台:底层UI执行驱动工具开发

WEB平台:自动化平台项目实战及原理debug分析

APP_UI平台:APP自动化平台内容梳理及实战项目

APP_UI平台:封装思想及拓展思想分析

APP_UI平台:平台数据库设计思路分析

UI自动化测试平台封装思维整体梳理

自动化平台架构:集群分布式部署方案分析

自动化平台部署:Nginx集群部署实践

自动化平台部署:集群下登陆session共享方案

14.安全测试

安全测试两大项目靶场部署

WEB安全漏洞及渗透测试手法:反射性XXS漏洞

WEB安全漏洞及渗透测试手法:DOMXXS漏洞

WEB安全漏洞及渗透测试手法:SQL注入漏洞

WEB安全漏洞及渗透测试手法:文件下载漏洞

WEB安全漏洞及渗透测试手法:平行权限漏洞

WEB安全漏洞及渗透测试手法:路径遍历漏洞

WEB安全漏洞及渗透测试手法:URL跳转漏洞

WEB安全漏洞及渗透测试手法:短信_邮件_炸弹_暴力破解

漏洞扫描工具:ZAP简介及安装

漏洞扫描工具:ZAP纯自动扫描机制

漏洞扫描工具:ZAP被动扫描-浏览器

漏洞扫描工具:ZAP模糊测试

漏洞扫描工具:ZAP构建CSRF攻击表单

漏洞扫描工具:CSRF Token构建机制

漏洞扫描工具:安全测试报告及脚本机制

15.K8S云原生技术测试应用内容

容器技术与虚拟机区别

手把手教你搭建docker环境

Docker 容器使用

Docker 项目运行镜像制作

Docker容器部署运行测试环境

Kubernetes介绍

高可用Kubernetes集群部署

详解Pods、Service、Namespace等核心概念

核心组件:Master

K8S测试环境搭建

Helm应用管理工具

Kubesphere产品介绍

K8S持续集成流程实现

K8S云原生 CI/CD 工具链

自动化测试技术与K8S融合

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

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

相关文章

RT_Thread 调试笔记:串口打印、MSH控制台 相关

说明:记录日常使用 RT_Thread 开发时做的笔记。 持续更新中,欢迎收藏。 1.打印相关 1.打印宏定义,可以打印打印所在文件,函数,行数。 #define PRINT_TRACE() printf("-------%s:%s:%d------\r\n", __FIL…

Python笔记01-基础概念、数据类型及字符串格式化

文章目录 字面量注释变量数据类型标识符运算符字符串数据输入 字面量 在代码中,被写下来的固定的值,称之为字面量 Python中常用的有6种值(数据)的类型 如下变量被直接写在程序中,称之为字面量包括 数字和字符串类型 …

性能优化-OpenMP基础教程(三)

本文主要介绍OpenMP并行编程的环境变量和实战、主要对比理解嵌套并行的效果。 🎬个人简介:一个全栈工程师的升级之路! 📋个人专栏:高性能(HPC)开发基础教程 🎀CSDN主页 发狂的小花 &…

万众期盼的剪辑新功能来了 会声会影2024旗舰版焕新登场

会声会影2024全新升级来袭,Corel公司这次为用户带来了多项功能更新,软件风格整体更偏向于“轻松剪辑,快速出片”。会声会影的本次更新还是很令人惊喜的,在各种人工智能算法的加持下,用户只需要进行几步简单地设置&…

数据结构——堆排序

什么是堆排序 堆排序就是利用堆(假设利用大堆)进行排序的算法。他的基本思想是,将待排序的序列构造成一个大顶堆。此时,整个序列的最大值就是堆顶的根节点。将他移走(其实就是将其与堆数组的末尾元素交换,…

transforms图像增强(二)

一、图像变换 1、transforms.Pad transforms.Pad是一个用于对图像边缘进行填充的数据转换操作。 参数: padding:设置填充大小。可以是单个整数,表示在上下左右四个方向上均填充相同数量的像素;也可以是一个包含两个整数的元组…

PEFT: 在低资源硬件上对十亿规模模型进行参数高效微调

1 引言 最近,深度学习的研究中出现了许多大型预训练模型,例如 GPT-3、BERT 等,这些模型可以在多种自然语言处理任务中取得优异的性能表现。而其中,ChatGPT 模型因为在对话生成方面的表现而备受瞩目,成为了自然语言处理…

webgl调试之排查内存泄漏

内存泄漏自然而然是要看内存是不是涨了 然后我们如何确认泄露了呢,我们需要把代码梳理清楚,知道哪个时机,在delete,在create,那么这个时候,按道理,delete了n个对象,create了N个对象&…

Python从入门到网络爬虫(MySQL链接)

前言 在实际数据分析和建模过程中,我们通常需要从数据库中读取数据,并将其转化为 Pandas dataframe 对象进行进一步处理。而 MySQL 数据库是最常用的关系型数据库之一,因此在 Python 中如何连接 MySQL 数据库并查询数据成为了一个重要的问题…

实验笔记之——基于Linux服务器复现Instant-NGP及常用的tmux指令

之前博客实现了基于windows来复现Instant-NGP,本博文在linux服务器上测试 实验笔记之——基于windows复现Instant-NGP-CSDN博客文章浏览阅读444次,点赞15次,收藏7次。之前博客对NeRF-SLAM进行了调研,本博文先复现一下Intant-NGP。…

QT----Visual stdio翻金币案例,附源码

历经一个月,各种事情磕磕绊绊,终于结束了,自己还是太菜了 案例的文档写的教程已经很详细,这边主要是记录一些问题 github代码 gitee代码 1、图片无法加载 一开始加载首页图片和标题出不来,结果是paintEvent重写的字打…

rust 注释文档生成 cargo doc

rust的cargo文档生成 只需要在每个函数写清楚注释,就可以自动生成文档,很方便 即不用写文档,又可以快速查看,是开发rust的必备技能 rust安装和开发环境配置,可以参考:链接 1.写注释的方法 连续三个 \ 即…