自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(84)
  • 收藏
  • 关注

原创 MFC入门

在这个处理过程中,操作系统也会给应用程序发送消息,所谓的发送消息 实际上市操作系统调用程序中一个专门负责处理消息的函数,这个函数称为窗口过程(回调函数)。比如,框架窗口接到一个鼠标左击消息,MFC将搜索该窗口的消息映射机制,如果存在一个处理WM_LBUTTONDOWN消息的处理机制,然后就调用OnLButtonDown。在Windows应用程序中,窗口是通过窗口句柄HWND来标识的,我们要对某个窗口进行操作,首先就要得到这个窗口的句柄。窗口是屏幕上的一块矩形区域,是Windows应用程序与用户交换的接口。

2022-09-15 10:07:04 683 2

原创 音视频图像篇 YUV-RGB

YUV采用A:B:C表示法来描述Y,U,V采样频率比例,下图中黑点表示采样像素点分量,空心圆表示采样像素点的UV分量。主要分为YUV 4:4:4,YUV 4:4:2,YUV 4:2:0,这几种常用的类型。比如分辨率638x480的YUV420P图像,我们在内存处理的时候如果以16字节对齐,则638不能被16整除,我们需要在每行尾部补充2个字节。打包格式(packed):将每个像素的Y、U、V分量交叉并以像素点为单位连续的存放在同一数组中,通常几个相邻的像素组成一个宏像素(macro-pixel);

2022-09-05 23:28:31 660 3

原创 C++学习记录(三)

语法 struct 结构体名 {结构体成员列表}struct 结构体名 变量名struct 结构体名 变量名={成员1值,成员2值}定义结构体时顺便创建变量//自定义的结构体,就是变量的集合 struct Student {int age;} //通过学生类型创建具体学生 struct Student s1;//创建时struct可以省略 struct Student {int age;} s3;总结1:定义结构体时关键字是struct,不可省略。...

2022-08-08 23:20:50 417

原创 C++学习记录(二)

案例:封装一个函数,利用冒泡排序,实现对整型数组的升序排序。作用:利用指针做函数参数,可以修改实参的值。作用:利用指针访问数组中的元素。

2022-08-04 08:23:25 231

原创 C++学习记录(一)

1.数据类型数组名[数组长度];2.数据类型数组名[数组长度]={值1,值2…}3.数据类型数组名[]={值1,值2…}代码封装五个部分返回值类型、函数名、参数列表、函数体语句、return表达式。

2022-07-17 20:37:56 532 1

原创 git如何将远程仓库代码拉下覆盖本地仓库

git将远程仓库代码拉下覆盖本地仓库记录,在最近代码学习过程中,自己手动改了一下代码,但是忘记修改了哪些,现在想恢复到和远程仓库代码一致。使用如下三条命令搞定:1.git fetch --all //获取远程仓库所有代码到本地2.git reset --hard origin/master //强制将本地代码和远程仓库同步3.git pull...

2022-05-04 15:36:02 7254 1

原创 Pytest框架学习笔记(二)

Pytest框架学习笔记一、addopts参数说明二、pytest中的fixturefixture的用途fixture作为参数传入fixture的源码详解fixture的作用范围pytest中的conftest.pyconftest.py的作用范围一、addopts参数说明-s:输出调试信息,包括print打印的信息-v:显示更详细的信息-q:显示简略信息,与-v作用相反-p no:warning :过滤警告-p no:randomly :disable随机执行-n=num:启用多线程或分布式

2022-04-30 21:37:19 1451

原创 Pytest框架学习笔记

后期需要用pytest来开发自动化框架,开始重新整理pytest相关知识PyTest一、Pytest overview用例编写规范用例的分类执行用例前置和后置方法函数参数化断言生成报告失败重跑二、Pytest的安装和规则约束一、Pytest overview概览,包含编写规范、执行顺序、前后置方法函数、参数化、断言、测试报告的输出、失败重跑。用例编写规范测试文件名必须以"test_“开头或”_test"结尾测试方法名必须以"test_开头"测试类命名以"Test"开头用例的分类执行可以

2022-04-30 19:16:51 476

原创 自动化测试面经

Java1.说一下对Java面向对象的理解?面向对象的三大特点?对封装、继承、多态的理解?2.说一下重载和重写3.TestNG的运行顺序4.了解TestNG哪些注解?5.TestNG如何设置用例运行的优先级?我说的分group,但是可以通过注解的priority设置优先级6.自动化常遇见的问题?如何解决的7.目前的自动化可以优化的点8.注解的原理,有没有看过注解的源码9.TestNG框架写的case是怎么运行的,大概说一下运行的过程10.测试数据是如何管理的我说了我们目前的数据是ca

2022-03-31 20:21:46 1967

原创 手撕SQL(leetcode)

手撕SQL1.输出第2高的工资,空输出为null(leetcode 176)2.输出第n高的工资,空输出为null(leetcode 177)notes:临时表+distinct+order by+limitlimit的用法:3.对分数排序,并加一个rank(leetcode 178)rank() over:1 1 3 4 4 6dense_rank() over:1 1 2 3 3 4row_number() over:1 2 3 4 5 64.至少连续出现三次的数字(leetcode180)5.超过经理

2022-03-24 16:41:32 964

原创 numpy库的使用-读取数据

numpy读取数据1.读取数据numpy.loadtxt()矩阵的转置unpack=True1.读取数据numpy.loadtxt()参数解析:frame:文件,字符串等也可以是.gz或bz2压缩文件dtype:数据类型,即CSV中 字符串以什么数据类型读入数组中,默认是np.floatdelimiter:分隔字符串,即CSV文件中分隔数据的字符串,默认空格skiprows:跳过前多少行usecols:读取指定的列,索引,元组类型unpack:如果是True,读入属性将分别写入不同数组变量,

2022-03-20 22:24:36 4593

原创 numpy库的使用案例-如何创建以及数组的运算

numpy库1.创建数组(矩阵)指定创建的数组的数据类型修改数组的数据类型修改浮点型的小数位数2.数组的形状查看数组的形状shape修改数组的形状reshape将三行三列的数组修改为一行一列将一维数组修改为2个三行四列的矩阵reshape(2,3,4)将多维数组展开成一维数组也可以用flatten多维数组的计算(矩阵运算)矩阵减矩阵科学计算的基础库,重在数值计算,多用在大型、多维数组上执行的数值计算。numpy的数据结构->ndarray 多维数组1.创建数组(矩阵)import numpy a

2022-03-20 21:57:30 1181

原创 Python中的matplotlib库绘制各种图

Python中的matplotlib库

2022-03-19 23:30:50 2342

原创 Java中的字节流

字节流2.1 IO流概述和分类按数据流向:输入流,输出流按数据类型:字节输入流/输出流,字符输入流/输出流2.1 IO流概述和分类##IO流概述:IO:输入/输出(input/ouput)流:是一种抽象概念,是对数据传输的总称。也就是说数据在设备间的传输称为流,流的本质是数据传输IO流就是用来处理设备间数据传输问题的常见的应用:文件复制,文件上传,文件下载按数据流向:输入流,输出流输入流为读数据,输出流为写数据按数据类型:字节输入流/输出流,字符输入流/输出流一般来说是按数据类型来分的。

2022-03-10 22:44:56 3937 2

原创 测试面试总结——操作系统篇

操作系统篇1.进程之间的通信方式2.进程、线程、协程特点,对比线程3.进程调度方法,各自的优缺点4.僵尸进程、孤儿进程5.死锁出现的原因,如何避免预防死锁1.进程之间的通信方式2.进程、线程、协程特点,对比线程3.进程调度方法,各自的优缺点4.僵尸进程、孤儿进程5.死锁出现的原因,如何避免预防死锁资源竞争,互相等待、操作步骤顺序不当...

2022-02-19 11:38:21 327

原创 测试面经总结——计算机网络篇

计算机网络篇1.介绍一下OSI七层网络模型2.介绍一下TCP/IP五层网络模型3.TCP/IP的三次握手四次挥手三次握手四次挥手4.TCP怎么保证可靠传输?5.TCP流量控制6.TCP拥塞控制7.TCP长短连接,优缺点8.1.介绍一下OSI七层网络模型应用层:文件传输、电子邮件、文件服务、虚拟终端(http,sftp,ftp,telnet,dnx)表示层:数据格式化、代码转换会话层:解除或建立别的接点的联系、内部通信传输层:提供端对端的接口TCP/UDP网络层:为数据包选择路由IP,ICMP,R

2022-02-17 21:28:48 1280

原创 linux服务器如何使用AWS命令行上传/下载/查看 S3上的文件

1.yum -y install python-pip2.pip install awscli3.aws configure(initailize configuration,input the aws access key)AWS Access Key ID [None]:AWS Secret Access Key [None]:Default region name [None]:Default output format [None]:4.use commandaws s3 ls s3

2022-02-17 14:53:09 3577

原创 测试面经总结——测试理论篇

测试理论篇1.单元测试2.黑盒测试、白盒测试黑盒测试的测试方法有哪些?白盒测试的测试方法有哪些?为什么要白盒测试?3.抓包工具,工作原理4.测试应该掌握哪些知识?5.对测试开发的理解6.为什么想做测试?7.职业规划8.自身优点、缺点1.单元测试单元测试是代码层面的测试,一般用来监测被测试代码功能的正确性,一般就是对模块、类、函数实现的功能执行方面的测试,检查实现的结果是否满足预期是否达到要求。2.黑盒测试、白盒测试黑盒测试:不关注代码实现,只看输入输出是否满足预期。将被测程序看作是一个黑盒子,不关注

2022-02-15 19:22:12 601

原创 如何做性能测试

记录如何做的性能测试一、性能需求二、对于以上需求如何测试?(对应不同的测试策略)三、在性能测试过程中发现了什么样的问题?四、数据传输描述(TCP/IP)五、监测CPU/MEM/IO/HD(脚本、sar+ksar)一、性能需求1、对测试时间的影响小于1%2、monitor CPU/MEM/OI 增长不能超过5%3、latency 不能超过3s(数据的延迟,服务器的响应)4、压力测试(每秒钟发多少数据1000-2000个event)5、负载测试(几台client连到server进行负载测试)二、对

2022-02-10 21:27:51 1092

原创 Jenkins实现Master-Slave分布式构建

Jenkins的Master-Slave分布式构建如何实现Master-Slave分布式构建?Jenkins的Master-Slave分布式构建,就是通过将构建过程分配到从属Slave结点上,从而减轻Master结点的压力,而且可以同时构建多个,有点类似负载均衡的概念。如何实现Master-Slave分布式构建?1.开启代理程序的TCP端口Manage Jenkins->Configure Global Security,随机选取代理2.新建节点Manage Jenkins->Man

2022-02-10 11:03:56 1055

原创 Jenkins+Docker+SpringCloud微服务持续集成实例详细步骤

Jenkins+Docker+SpringCloud微服务持续集成实例详细步骤1.项目代码上传至git代码仓库2.从git代码仓库拉取项目源码(持续集成服务器)3.提交SonarQube代码审查4.使用Dockerfile编译、生成镜像5.上传docker镜像到Harbor6.拉取Harbor上的docker镜像并发布应用1.项目代码上传至git代码仓库2.从git代码仓库拉取项目源码(持续集成服务器)3.提交SonarQube代码审查4.使用Dockerfile编译、生成镜像5.上传docker

2022-02-10 10:49:35 485

原创 Harbor-存储和分发docker镜像

HarborHarbor的优势Harbor的安装步骤在Harbor创建用户和项目将持续集成服务器上的docker镜像上传至docker仓库(Harbor)生产服务器从docker仓库(Harbor)下载镜像Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,除了Harbor这个私有镜像仓库之外,还有Docker官方提供的Registry。Harbor的优势1.提供分层传输机制,优化网络传输Docker镜像是分层的,而如果每次传输都使用全量文件,FTP的方式不太合适。必须提

2022-02-08 23:43:44 1688

原创 Dockerfile创建镜像

Dockerfile创建镜像Dockerfile常见的命令Dockerfile就是用来构建docker镜像的源码,是一些命令的组合,编写dockerfile可以定制化docker image。镜像构建:首先有一个非常基础的镜像,在此基础镜像上叠加我们需要的软件,每安装一个软件,就在现有镜像的基础上叠加一层。Dockerfile常见的命令FROM image_name:tag 一般需要一个非常基础的镜像来做构建RUN command:编译镜像时运行的脚本,可以写多条ENV key value:设

2022-02-08 22:58:42 1217

原创 Docker基本命令

Docker基本命令docker启动/关闭/重启镜像相关的命令容器相关命令docker启动/关闭/重启systemctl start/stop/restart docker镜像相关的命令镜像:相当于应用的安装包,在docker部署的任何应用都需要先构建成镜像搜索镜像:docker search imageName拉取镜像:docker pull imageName查看本地所有镜像:docker images删除镜像:docker rmi -f imageName容器相关命令容器:容器由

2022-02-08 10:34:47 308

原创 Jenkins构建不同类型的项目

使用Jenkins构建不同类型的项目一、Jenkins自动构建项目的常用类型1.自由风格软件项目freestyle project2.Maven项目 Maven project(Maven Integration插件)3. 流水线项目 Pipline projectPipline概念使用Pipline的好处如何创建Jenkins Pipline?声明式declarative脚本式scripted一、Jenkins自动构建项目的常用类型1.自由风格软件项目freestyle project集成过程:拉取

2022-02-07 23:01:42 561

原创 使用Jenkins持续集成的流程

使用Jenkins持续集成的流程1.开发人员每天进行代码提交,例如提交到git仓库(需要有一个代码托管服务器作为代码仓库);2.Jenkins作为持续集成工具,使用git到git代码仓库拉取代码到持续集成服务器,再配合jdk,maven等软件完成代码编译,代码测试与审查,测试,打包等工作;3.Jenkins把生产的jar或war包分发到测试服务器或者生成服务器上,以便测试人员进行测试访问应用。...

2022-02-07 22:03:01 851

原创 top命令输出结果都是什么意思?

top命令输出结果都是什么意思?1、实例数据2、上半部分:前五行第一行第二行第三行第四行第五行内存空间空闲大小?3、下半部分:各进程的详细信息1、实例数据这里以centOS8为例,记录top命令输出结果中的参数都代表的意思。top -bn 1 > top.txt //这里抓取一次top命令输出结果top - 23:07:37 up 17:09, 1 user, load average: 1.01, 0.41, 0.16Tasks: 256 total, 1 running, 25

2022-01-16 13:03:45 1332 1

原创 Java中递归求n的阶乘

Java中递归求n的阶乘:代码实现:

2022-01-09 15:11:32 1177

原创 Java中的File类

File1.1 File类概述和构造方法File的构造方法构造方法的使用1.2 File类创建功能createNewFile()、 mkdir()、mkdirs()的使用1.3 File类判断和获取功能1.1 File类概述和构造方法File:是文件和目录路径名的抽象表示文件和目录是可以通过File封装成对象的对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径。它是可以存在的也是可以不存在的。将来是要通过具体的操作把这个路径的内容转换为具体存在。File的构造方法方法名

2022-01-08 22:27:51 539

原创 Java中的Collections类

Java中的Collections类Collections概述Collections类的常用方法1.将指定列表按升序排列2.反转指定列表中元素的顺序3.使用默认的随机源随机排列指定的列表测试:Collections概述是针对集合操作的工具类。此类仅由静态方法组合或返回集合,静态方法可以直接通过类名调用。它包含对集合进行操作的多态算法,“包装器”,返回由指定集合支持的新集合,以及其他一些可能的和最终的。Collections类的常用方法1.将指定列表按升序排列 public static &l

2022-01-03 19:59:53 4792 1

原创 Java中的Map

Map5.1Map集合的概述和使用5.1.15.2Map集合的基本功能5.3 Map集合的获取功能5.4Map集合的遍历(方式1:将键获取到一个集合,再将键的集合遍历获取对应的值)5.5 Map集合的遍历(方式2)5.1Map集合的概述和使用Interface Map<K,V>K:Map集合中key的类型V:Map集合中value的类型All Known Implementing Classes:AbstractMap, Attributes, AuthProvider, Concu

2022-01-03 00:01:05 8722 5

原创 Java泛型

泛型4.1泛型概述4.2泛型类4.3泛型方法4.4 泛型接口:4.1泛型概述泛型是JDK5中引入的特性,它提供了编译时类型安全检测机制,该机制允许在编译时检测到非法的类型,它的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。一提到参数,最熟悉的就是定义方法时有形参,,然后调用此方法时传递实参,那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,然后在使用/调用时传入具体的类型。这种参数类型可以用在类、方法和接口中,分别称为泛型类、泛型方法、泛型接口。泛型定义格式:

2021-12-24 13:26:56 174

原创 Java中的Set集合

Set3.1Set集合概述和特点3.2 哈希值3.3HashSet集合概述和特点3.3.1HashSet集合存储字符串并遍历3.4HashSet保证集合元素唯一性的源码分析3.5常见数据结构之哈希表3.5.1案例:HashSet集合存储学生对象并遍历3.6LinkedHashSet集合概述和特点3.6.1LinkedHashSet集合存储元素并遍历3.7TreeSet集合概述和特点3.7.1TreeSet集合存储整数并遍历3.8自然排序Comparable的使用3.1Set集合概述和特点public i

2021-12-22 21:32:27 1012

原创 linux在某个文件夹下查找包含某个字符的文件(find)

eg:在当前目录下查找普通文件中包含value字符的文件 find ./ -type f -name "*" |xargs grep "value"eg:在当前目录下查找文件名包含.txt的普通文件包含value字符find ./ -type f -name "*.txt" |xargs grep "value"

2021-12-21 17:14:37 3025

原创 Java中的List集合

List2.1 List集合概述和特点2.2List集合特有方法案例:List集合存储学生对象并遍历2.3并发修改异常2.1 List集合概述和特点public interface List<E> extends Collection<E>~List有序集合也称为序列。该界面的用户可以精确的控制列表中每个元素的插入位置。用户可以通过整数索引访问元素。并搜索列表中的元素。~与Set集合不同,列表通常允许重复元素。List集合特点:有序:存储和取出的元素顺序一致;可重复:

2021-12-19 20:56:41 10428

原创 Java中的Collection容器

Collection1.1集合知识回顾1.2集合类体系结构1.3Collection集合概述和使用1.4Collection集合常用方法常用方法示例1.5Collection集合的遍历1.6集合的使用步骤1.1集合知识回顾集合类的特点:提供一种可变存储空间可变的存储模型,存储的数据容量可以随时发生改变。1.2集合类体系结构集合:Collection单列:List(可重复)->ArrayList、LinkListset(不可重复)->HashSet、TreeSetMap双列:Has

2021-12-17 10:17:02 226

原创 Java抽象类

抽象类1.1抽象类概述1.2抽象类的特点1.3抽象类的成员特点1.4抽象类案例1.1抽象类概述Java中,一个没有方法体的方法应该定义为抽象方法,而类中如果有抽象方法,该类必须定义为抽象类.(抽象方法必须在抽象类中,抽象类中可以没有抽象方法)public abstract class Animal {// public void eat(){// System.out.println("eat food!");// } public abstract

2021-12-09 22:18:07 380

原创 数据结构自学篇(六)栈-顺序栈

栈3.1栈3.1.1栈的定义及基本运算栈的基本操作3.1.3顺序栈3.1栈3.1.1栈的定义及基本运算栈是限定仅在表尾进行插入和删除操作的线性表.允许插入,删除的一端称为栈顶(top),另一端称为栈底(bottom),不含任何数据元素的栈称为空栈.栈的修改是按后进先出的原则进行的,因此栈又称为后进先出的线性表(LIFO,last in first out)入栈和出栈的是栈的两个主要操作,每一次进栈的元素总是称为当前的栈顶元素,而每一次出栈的元素总是当前的栈顶元素.所以栈顶的位置随元素的插入和删除而

2021-12-05 21:13:41 1119

原创 数据结构自学篇(五)链表的应用

链表的应用:链表合并一元多项式相加2.3.5链表合并一元多项式相加例题:两个有序链表La和Lb合并作为一个有序链表例题:一元多项式相加2.3.5链表合并一元多项式相加例题:两个有序链表La和Lb合并作为一个有序链表将两个有序链表La和Lb合并作为一个有序链表算法思路:设合并后的链表为Lc,无需为Lc分配新的存储空间,可以直接利用两个链表中原有的结点来链接成一个新表.设立三个指针pa,pb,pc,其中pa和pb分别指向La和Lb中待比较插入的结点,而pc指向Lc表中当前最后一个结点,若pa.dat

2021-12-04 22:56:24 577

原创 数据结构自学篇(四)链式表-循环链表双向链表

循环链表&双向链表2.3.3循环链表2.3.4双向链表1.双向链表的存储结构描述2.双向循环链表双向链表结点的插入双向链表中结点的删除2.3.3循环链表循环链表时另一种形式的链表,它的特点时表中最后一个结点的指针域不再为空,而是指向表头结点,整个链表形成一个环.由此,从表中任一结点出发均可找到链表中其他结点.循环链表的操作与单链表基本一致,差别仅在于算法中判断到达表尾的条件不是p或p.next是否为空,而是它们是都等于头指针.使用单循环链表的结构时,为了找到最后一个结点,必须从表头head

2021-12-04 21:19:16 743 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除