自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Labelme使用

1、进入Anaconda Prompt2、创建labelme环境 :conda create -n labelme python=3.63、进入labelme环境:conda activate labelme如需卸载环境:conda remove -n labelme --all4、安装相应库:pyqt、pillow、labelme5、打开labelme:当前环境下直接输入labelme6、标注数据集生成对应的json文件7、将json转换成png格式(1)单张转换:

2021-01-31 12:02:41 2444 1

原创 C++——static关键字

static修饰符的作用1、数据共享成员变量(实例变量)和静态变量(类变量)的区别a、两个变量的生命周期不同成员变量随对象的创建而存在,随对象被回收而释放静态变量随类的加载而存在,随类的消失而消失b、调用方式不同成员变量只能被对象调用静态变量还可以被类名调用c、数据存储位置不同成员变量–>堆内存的对象中,也叫对象的特有数据静态变量–>方法区(共享数据区)的静态区,也叫对象的共享数据2、修饰变量:每个对象都共有的属性就可以设置为static,被修饰

2020-09-11 10:51:54 359

原创 C++——volatile关键字

1、定义类型修饰符,表示可以被某些编译器未知的因素更改(OS、硬件、线程...)用来解决变量在“共享”环境下容易出现的读取错误的问题2、特点用voliatile来声明的变量或对象通常具有与优化、多线程相关的特殊属性。一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。volatile 关键字用来阻止(伪)编译器对其认为的、无法“被代码本身”改变的代码(变量或对象)进行优化。编译器对访问该代码的变量不再进行优化,可以提供对特殊地

2020-09-08 17:58:41 339

原创 数据库——MySQL日志(redo log、undo log、bin log、erro log、slow query log、general log)

MySQL中有六种日志文件:重做日志(redo log) 回滚日志(undo log) 二进制日志(binlog) 错误日志(errorlog) 慢查询日志(slow query log) 一般查询日志(general log) 中继日志(relay log)一、重做日志(redo log)1、作用确保事务的持久性。防止在发生故障的时间点,尚有脏页未写入磁盘,在重启mysql服务的时候,根据redo log进行重做,从而达到事务的持久性。2、内容物理格式的日志,记录的.

2020-09-08 17:21:36 207

原创 数据库——MySQL中的锁(表锁、行锁、间隙锁、乐观锁、悲观锁)

锁是计算机协调多个进程或纯线程并发访问某一资源的机制。一、MySQL 中有哪几种锁不同的存储引擎支持不同的锁机制MyISAM和MEMORY存储引擎:表级锁BDB存储引擎:页面锁,但也支持表级锁InnoDB存储引擎:既支持行级锁,也支持表级锁,默认情况下是采用行级锁。二、MySQL大致可归纳为以下3种锁:表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。行级锁:开销大,加锁慢;会出现死锁;锁定粒度小,发生锁冲突的概率最低,并发度最高。页面锁

2020-09-07 15:45:39 899

原创 数据库——MySQL存储引擎

MySQL存储引擎有哪些数据库存储引擎是数据库底层软件组件,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据操作。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以获得特定的功能。现在许多不多的数据库管理系统都支持多种不同的数据引擎。MySQL的核心就是存储引擎。包括处理事务安全表的引擎和处理非事务安全表的引擎。在MySQL中,不需要在整个服务器中使用同一种存储引擎,针对具体的要求,可以对每一个表使用不同的存储引擎。Mysql5.7与.

2020-09-07 10:59:41 187

原创 数据库——事务

https://www.cnblogs.com/wyaokai/p/10921323.html一、事务概念事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功。二、事务四大特性(ACID)1、原子性(Atomicity)原子性指事务包含的操作要么全部成功,要么全部失败回滚,因此事物的操作如果成功就必须应用到数据库,如果失败则不能对数据库有任何影响2、一致性(Consistency)一致性指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也 就是说事

2020-09-04 11:15:12 115

原创 C++——sizeof()、strlen()、length()、size()、字符数组、字符串

1、sizeof():返回所占总空间的字节数(1)对于整型字符型数组(2)对于整型或字符型指针2、strlen():返回字符数组或字符串所占的字节数(1)针对字符数组(2)针对字符指针sizeof():运算符,编译时计算,参数:数组、指针、类型、对象、函数。功能:获得保证能容纳所建立对象的最大对象字节数,不能返回动态分配内存空间大小。strlen():函数,运行时计算,参数:char *(字符型指针)功能:返回字符串的实际长度,返回长度不包括'\0',即遇到'\0

2020-09-03 14:17:45 491

转载 C++——malloc/new区别

特征 new/delete malloc/free 分配内存的位置 自由存储区 堆 返回类型安全性 完整类型指针 void* 内存分配失败返回值 默认抛出异常 返回NULL 分配内存的大小 由编译器根据类型计算得出 必须显式指定字节数 处理数组 有处理数组的new版本new[] 需要用户计算数组的大小后进行内存分配 已分配内存的扩充 无法直观地处理 使用realloc简单完成 是否...

2020-08-18 20:00:39 107

原创 C++——关联容器(map、set)

map类型:元素是key-value(key:起到索引的作用 value:表示与索引相关联的数据) key-value:关键字-值对(简称键值对)set类型:每个元素只包含关键字,支持高效的关键字查询关联容器类型:有序:map(关联数组;保存关键字-值对) set (关键字即值,只保存值关键字的容器) multimap( 关键字可重复出现的map) multiset(关键字可重复的set)无序集合:...

2020-08-15 15:36:49 133

原创 C++——String类

String类型常用方法:构造:string s(cp ,n) 字符串s是cp数组中前n个字符的拷贝 string s(s1) 字符串s是s1的拷贝 string s(s1,2) 字符串s是s1从第2位置元素的拷贝 string s(s1,2,5) 字符串s是s1从第2位置元素拷贝,长度为5const char* cp="Hello World";string s(cp,5) //s="Hello"string p = "he...

2020-08-15 15:17:41 173

原创 C++——三种数组(array、vector、valarry)

1、内置数组 C++内置的原生数组可以存储一个固定大小的相同类型的元素集合,通过索引访问,由连续内存位置构成。//声明type arrayName [ arraySize ];// 默认初始化int arr[5]; // 创建包含5个int型整数的数组,未被初始化int arr[5] = {}; //创建并初始化5个值为0的int型元素 // 列表初始化int arr[5] = {1, 2, 3}; // 显式的初始化数组的前三个元素,剩下的元素默认初始化为0int...

2020-08-15 14:06:29 2299

原创 C++——智能指针(shared_ptr、unique_ptr、weak_ptr)

智能指针:是一个类,这个类的构造函数中传入一个普通指针,析构函数中释放传入的指针;行为类似于常规指针,更容易也更安全的使用动态内存,负责自动释放所指向的对象;智能指针的类都是栈上的对象,所以当函数(或程序)结束时会自动被释放;三种智能指针:shared_ptr、unique_ptr、weak_ptr,均定义在memory头文件中。1、shared_ptr定义:shared_ptr允许多个对象指向同一个对象,是一个标准的共享所有权的智能指针,C++11引入到C++ STL用法:

2020-08-13 18:42:46 568

原创 C++——静态内存(static)

内存分区:1、代码区(存放程序代码)2、数据区(存放程序编译和执行过程中出现的变量和常量) a、静态区 b、堆区 c、栈区 d、常量区内存分配问题通常分为:静态内存、栈内存、堆内存(又叫自由空间) 静态内存/栈内存:由编译器自动创建和销毁 堆:存储动态分配的对象(程序运行时分配),需要程序员手动(显示)...

2020-08-13 15:19:33 1341

原创 C++——malloc()

malloc:1、含义: 在堆上动态分配一块连续内存,与free()一起使用2、用法: int *p=(int*)malloc(8*sizeof(int)) malloc开辟一个int类型,8个int大小的空间(8*4=32个字节长度),p指针指向malloc所开辟的空间。3、头文件: malloc是C标准库中提供的一个普通函数,库函数头文件include<malloc.h>4、原型: void *mal...

2020-08-13 10:29:09 3023

原创 软件测试(05)——场景法、流程法、错误推断法

场景法:测试业务流程:分为基本流(正确流程)和备选流(错误流程)补充一些异常情况冒烟测试中主要采用场景法测试流程法:适用于有吸纳后顺序的测试:常用于业务流程、安装流程等,每个流程是一条测试用例。只是测试整个流程是否正确,具体细节还需等价类、边界值完善错误推断法:凭直觉和经验设计测试用例,根据之前项目的相关bug数据总结...

2020-08-12 16:25:40 617

原创 软件测试(04)——因果图和判定表

因果图1、背景1)等价类划分法和边界值分析法着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系,这样虽然各种输入条件可能出错情况已经测试到了,但多个输入条件组合起来可能出错的情况被忽视。2)如果测试时必须考虑输入条件的各种组合,则可能组合数目将是天文数字,因此必须考虑采用一种适合于描述多种条件的组合、相应产生多个动作的形式来进行测试用例的设计,需要利用因果图。2、概念因——>输入条件果——>输出结果适用于输入条件之间有相互制约、相互依赖的情况

2020-08-12 16:10:34 1782

原创 软件测试(03)——等价类划分

1、等价类划分是一种黑盒测试方法。2、将不能穷举的测试过程合理分类,从而保证设计出来的测试用例具有完整性和代表性。3、等价类的分类:有效等价类:输入合理的数据集合(边界值、中间值)无效等价类:输入不合理的数据集合(中文、英文、符号、空格、空)例1:加法案例:计算1~100的整数和(包括1和100) 用例编号 等价类划分 输入框1 输入框2 预期结果 是否bug

2020-08-12 14:46:09 1726

转载 类的6个默认成员函数

1)构造函数:初始化对象,有且仅在定义一个对象时自动执行一次的函数类的数据成员是不能在声明类的时候初始化的,因为类并不是一个实体,而是一种抽象的数据类型,并不占据存储空间构造函数的特性:1、函数名与类名相同2、无返回值3、实例化对象时系统会自动调用对应的构造函数4、可重载5、构造函数可以在类内定义,可以在类外定义6、如果类定义中没有给出构造函数,则C++编译器会自动生...

2020-08-12 11:39:55 357

原创 C++——sizeof()

sizeof计算的是在栈中分配的内存大小1、sizeof不计算static变量占得内存2、指针的大小一定是4个字节,不管是什么类型的指针3、char型:1个字节 int 型:4个字节 short int 型:2个字节 long int 型:4个字节 float 型:4个字节 double 型:8个字节 string 型:4个字节 空类:1个字节class A { A(); ~A(); };//空类大小...

2020-08-12 11:17:31 231

转载 软件测试(02)——黑盒测试、白盒测试、灰盒测试

黑盒测试:也叫功能测试或数据驱动测试,是在已知产品所具有的功能,通过测试来检验每个功能是否正常使用,测试时,将程序看作不能打开的黑盒子,在完全不考虑程序内部结构和内部特性情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当接受输入数据而产生正确的输出信息,并保持外部完整性。黑盒法是穷举输入测试,只有把所有可能的输入当作测试情况使用,才能检查出程序所有的错误。实际上测试情况有无穷多个,因此不仅要测试所有合法的输入,而且还要对那些不合法但是可能的输入进行

2020-08-11 14:08:20 1208

转载 软件测试(01)——单元测试、集成测试、系统测试、验收测试、回归测试

单元测试:最小设计单元(模块)的验证,确保模块被正确编码,对重要控制路径进行测试以发现模块内错误,通常情况下是白盒测试,对代码风格和规则、程序设计和结构、业务逻辑等进行静态测试,及早发现解决不易显现的错误。集成测试:通过测试发现与模块接口有关的问题,将通过了单元测试的模块拿来,构造一个在设计中所描述的程序结构,避免一次性的继承,采用增量继承。测试接口是否一致、模块间数据流控制流是否按照设计实现其功能、以及结果的正确性验证。可以是整个产品的集成测试,也可以是大模块的集成测试。(黑盒白盒相结合)

2020-08-11 13:49:01 1023

空空如也

空空如也

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

TA关注的人

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