自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

区柒大人的博客

哪怕是一粒灰尘也在努力着,否则就没有自由。

  • 博客(56)
  • 资源 (1)
  • 收藏
  • 关注

原创 MySQL安装中问题整合(Redhat下MySQL5.6和5.7)

目录: 安装前准备 解压(我安装的过程中MySQL5.6没有这一步) 安装 <这是MySQL5.6版本的> <这是MySQL5.7版本的> 安装中出现的问题 <这是MySQL5.6版本的> <这是MySQL5.7版本的> 修改密码 <这是MySQL5.6版本的> <这是MySQL5.7版本的>

2020-09-21 15:33:43 710

原创 missing 1 required positional argument:‘self‘

项目场景:UI自动化运行问题描述:在执行测试用例时,发现奇怪的报错missing 1 required positional argument:'self'由于是第一见,百度后是说未实例化 self原因分析:按照这个思路,去找问题,发现并没有解决。解决方案:最后发现是在调用这个函数时,未加 括号 。。导致调用的是这个函数本身,不是函数的执行结果。...

2021-05-07 14:13:55 1208

原创 【读书笔记】软件测试之开始测试

一、开始测试1、黑盒测试和白盒测试下面的图就很好的理解什么是黑盒和白盒再通俗点讲,黑盒测试只关心你的输入输出,系统程序是怎么运行它的逻辑结构你都不会在乎,而对于白盒测试,你需要分析它的内部逻辑结构,有时还需要调整代码来测试程序。2、静态和动态测试静态测试:检查审阅代码动态测试:运行和使用软件二、作用测试用例主要适用于集成测试、系统测试和回归测试。三、测试用例文档测试用例文档一般包括版本号、模块名称、用例编号、用例名称、用例级别、预知条件、验证步骤、期望结果(含判断标

2020-08-26 09:12:41 2267

原创 【学习笔记】测试用例

一、简介测试用例是将软件测试这一行为规范化,更好的体现测试方法、方案、技术等,内容大体包括测试项目、测试标题、重要级别、测试步骤、前置条件、期望结果、测试输入输出、测试结果等。测试用例的设计方法主要有黑盒测试(功能测试,主要针对的是软件界面和软件功能)和白盒测试(结构测试、透明测试、给予代码的测试,主要针对程序的内部逻辑结构、逻辑路径)。二、作用测试用例主要适用于集成测试、系统测试和回归测试。三、测试用例文档测试用例文档一般包括版本号、模块名称、用例编号、用例名称、用例级别、预知条件

2020-08-19 11:20:21 142

原创 【自我笔记之C++】话说继承

1、public、protected、private 指定继承方式1.基类成员在派生类中的访问权限不得高于继承方式中指定的权限即继承方式中的public、protected、private是用来指明基类成员在派生类中的最高访问权限。2.无论继承方式如何,基类中的private成员在派生类中始终不能使用3.如果让基类的成员既不能通过对象访问,还能在派生类中使用,只能申明为...

2019-08-31 22:12:29 169

原创 【自我练习】关于转义字符

某32位系统下, C++程序,请计算sizeof 的值char str[] = “http\\www.ibegroup.com/”char *p = str ;int n = 10;请计算sizeof (str)//23,注意\0这个字符也要算上sizeof (p)//4指针类型四个字节sizeof (n)//一个整形4个字节从此题引出转义字符的问题:...

2019-08-17 19:19:38 427

原创 【自我练习】链表的练习题

一、反转链表/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/class Solution {public: ListNode* ReverseList(ListNode* pHead) { if(pH...

2019-08-06 11:43:55 103

原创 【自我笔记之Linux】HTTP协议

一、HTTP协议(应用层的面向对象的协议)HTTP是一个 客户端和 服务器端请求和应答的标准(TCP)。客户端是终端用户,服务器端是网站。通过使用 Web浏览器、 网络爬虫或者其它的工具,客户端发起一个到服务器上指定端口(默认 端口为80)的HTTP请求。(我们称这个客户端)叫用户代理(user agent)。应答的服务器上存储着(一些)资源,比如HTML文件和图像。(我们称)这个应答服务器为...

2019-08-04 08:48:03 154

原创 【自我笔记之数据结构】排序---堆排序

void HeapAdjust(int arr[], int pos, int len){ int i = pos; int tmp = 0; for(int j = 2*i+1; j < len; j = 2*i+1) { if(j < len-1 && arr[j+1] > arr[j]) j++; if(arr[i] &g...

2019-08-04 08:38:52 146

原创 【自我笔记之Linux】TCP连接下的三次握手以及四次挥手

一、三次握手1> 客户端调用connect函数后,TCP协议会组建一个数据包,并设置SYN标志位,同时生成一个随机数,填充“序号Seq”字段,标识该数据包的信号。随后向服务器端发送数据包,客户端就进入了SYN-SENT状态。2> 服务器端收到数据包,检测到已经设置了SYN标志位。然后服务器端组建一个数据包,并设置SYN和ACK标志位。服务器生成一个随机数,填充“序号Seq”...

2019-08-03 09:36:06 185

原创 【自我笔记之数据结构】排序---归并排序

合并阶段需要开辟一个同原数组大小一样的数组来“组装”void Merge(int arr[], int tmp[], int start, int mid, int end)//合并的过程{ int i = start; int j = mid+1; int ktmp = start;//被复制到另一个数组上的数组下表 while(i < mid+1 &&...

2019-08-01 23:03:32 112

原创 【自我笔记之数据结构】排序---快排以及优化

快排的的原理//方案一:直接插入排序/*void InsertSort1(int arr[], int s, int l){ for(int i = s; i < l+1; ++i) { int index = arr[i];//记录下要对比的数 int j = i - 1;//对比前一个数 while(j > -1 && inde...

2019-08-01 11:15:49 129

原创 【自我笔记之Linux】TCP和UDP报头段的区别

1、TCP报头段32位序号:Seq(Sequence Number),第一个报文段的序号值为系统生成的随机值,后续的报文段的序号都是生成的随机值+此报文段携带数据的第一个字节在整个字节流中偏移量。来标识从计算机A到计算机B的数据包的序号,计算机发送数据时对此进行标记。32位确认号:Ack(Acknowledge Number),客户端和服务器端都可以发送,由接收方填充Ack = Seq...

2019-08-01 11:12:12 140

原创 【自我笔记之Linux】 OSI 7 层模型与 tcp/ip 协议 4 层模型

1、网络接口层(对应OSI模型的物理层与数据链路层):它负责监视数据在主机和网络之间的交换。事实上,tcp/ip本身并未定义该层的协议,而由参与互连的各网络使用自己的物理层和数据链路层协议,然后与tcp/ip的网络接入层进行连接。数据链路层(参考OSI模型)两个常用的协议是ARP协议(Address Resolve Protocol,地址解析协议)和RARP协议(Reverse...

2019-07-30 23:38:35 695

原创 【自我笔记之数据结构】排序---直接插入排序

直接上例子:void InsertSort(int arr[], int length){ for(int i = 1; i < length; ++i) { int index = arr[i];//记录下要对比的数 int j = i - 1;//对比前一个数 while(j > -1 && index < arr[j])...

2019-07-29 23:23:01 95

原创 【自我笔记之Linux】网络部分(IP地址、端口号、MAC地址、网络字节序列)

一、IP 地址IP地址是IP协议中,用来标识网络中的唯一一台主机的地址。IP协议有两个版本IPv4,IPv6。在IPv4中,IP地址是一个4字节的32位的整数。在IPv6中,IP地址是一个16字节的128位的整数。 我们通常所见到的IP地址如:192.168.3.195。是一用点分隔的字符串,每个数字用一个字节存储,范围是0~255,所以这种形式的IP地址也被称为“点分十进制...

2019-07-29 23:08:07 518

原创 【自我笔记之Linux】X86下的地址映射

引入概念:数据总线(1) 是cpu与内存或其他器件之间的数据传送的通道。(2)数据总线的宽度决定了cpu和外界的数据传送速度。(3)每条传输线一次只能传输1位二进制数据。eg: 8根数据线一次可传送一个8位二进制数据(即一个字节)。(4)数据总线是数据线数量之和。地址总线(1)cpu是通过地址总线来指定存储单元的。(2)地址总线决定了cpu所能访问的最大内存空间的大...

2019-07-29 23:01:37 269

原创 【自我笔记之Linux】几种内存管理方案

1、分区:(加载进程时,一个进程只能占据一个分区--->导致碎片,哪怕1k也要放到一个分区)固定分区:系统初始化时,将内存划分为一些分区---> 内部碎片大小相等的固定分区大小不等的固定分区动态分区:加载进程时,进程需要多少空间就分配多少空间--->外部碎片最佳适配(顾名思义):最适合加载进程的内存区 首次适配:从头至尾找,第一个适合的就进行加载 邻近适配...

2019-07-28 23:34:23 255

原创 【自我笔记之Linux】线程同步&安全、多线程环境

一、线程同步::线程之间协同工作,用于多线程访问临界资源时,必须按照一定的先后顺序访问执行1、线程级的信号量原子操作底层实现:在操作之前将中断屏蔽操作之后回复中断进程间同步的信号量 是系统V信号量线程间同步的信号量 POSIX 两个信号量不可以交换用2、互斥锁(读写锁、自旋锁)3、条件变量二、线程安全线程安全:...

2019-07-28 23:30:41 80

原创 【自我笔记之Linux】线程

1、概念:进程内部的一条执行序列(执行流) 线程时轻量级的进程,一个进程中至少有一条线程执行序列: 一组有序指令+数据的集合 以函数为单位main函数所代表执行序列,称之为主线程。通过线程库创建线程---函数线程主线程和函数线程没有本质区别,只是主线程是进程执行时第一个执行的线程线程与进程:1、进程是资源分配的单位,线程是CPU调度执行的单位2、进程是线程的集合,进...

2019-07-27 23:15:52 102

原创 【自我笔记之Linux】进程间通信之共享内存

共享内存:共享内存是通过内核对象,将多个进程中的一个虚拟地址映射到内核对象所申请的一块物理内存上,从而实现进程间数据的通讯。特点:因为多个进程操作同一块物理内存,所以进程必须同步执行 因为进程直接通过虚拟地址操作物理内存,所以不需要拷贝数据,共享内存是最快的一种进程间通讯方 需要拷贝数据,共享内存是最快的一种进程间通讯方式两个进程的虚拟地址相等或不等,对于共享内存无影响。虚拟...

2019-07-27 23:12:17 124

原创 【自我笔记之Linux】进程间通讯之信号量、消息队列

一、信号量1、概念:当多个进程需要协同合作时,需要根据某个信号,判断当前进程是否需要停下来等待;同时,其他进程需要根据这个信息判断是否有进程在等待,或者有几个进程在等待,以决定是否需要唤醒等待的进程。而这个信息,就是信号量。进程同步控制(类似计数器,>0 临界资源的个数 ==0 没有临界资源可用,申请资源进程执行P操作,则进程会被阻塞)进程同步:进程协同工作进程异步:进...

2019-07-27 23:08:30 139

原创 【自我笔记之Linux】进程间通讯之管道

进程间通讯:多个进程之间建立一条数据通讯信道,各进程通过自己打开的文件描述符操作同一块内存空间,从而完成数据的传递工作管道(半双工通讯机制)无论是有名还是无名管道,在同一时刻,只能是一端读,一端写。1、有名管道:在磁盘上存在一个管道文件标识,但是管道文件并不占用磁盘block空间,数据会缓存在内存上有名管道可以应用于同一台的主机上的有权限访问的任意n个进程间的通讯2、无名管道:...

2019-07-26 23:35:43 68

原创 【自我笔记之C语言】函数堆栈调用

1、函数参数的代入4字节 push 入栈 入栈顺序 从右向左 1字节 push 入栈 8字节 push 入栈 12字节 先让栈顶指针偏移12字节(参数大小) 将实参的值写入到偏移的内存中 2、函数栈帧的开辟1、先将调用方的栈底地址入账2、让ebp=esp3、esp-栈帧大小4、将栈帧内存写成0xcccc cccc3、函...

2019-07-26 23:30:25 179

原创 【自我笔记之Linux】文件操作函数(系统调用函数、库函数)

1、文件描述符:由于linux下所有东西都被看成是文件,比如文件(也许叫文档比较合适一点)、目录、进程、网络socket、各种硬件设备等,所以linux下的文件描述符其实就相当于windows下的句柄。 文件句柄:windows下各种对象的标识符,比如文件(也许叫文档比较合适一点)、资源、菜单、光标、位图等。文件句柄和文件描述符类似,它也是一个非负整数,也用于定位文件数据在内存中的位...

2019-07-25 23:34:32 187

原创 【自我笔记之Linux】进程fork函数

一、概念fork函数调用一次,返回两次。父进程返回子进程的pid,子进程返回0,失败则返回-1。函数头文件:#include <unistd.h>函数原型:pid_t fork(void);其中pid_t是一个宏定义:#define pid_t int二、写时拷贝技术传统的fork()系统调用直接把所有的资源复制给新创建的进程。但是写时拷贝技术会好很多,for...

2019-07-24 23:24:00 73

原创 【自我笔记之C语言】malloc 和new 有什么区别?new 和 new[]的区别?

一、malloc 和new 有什么区别?相同点:它们都是动态管理内存的入口。不同点:1、new是个关键字,malloc是函数2、malloc在堆上开辟,new是自由存储区3、new/delete(属于C++中的操作符)除了分配空间还会调用构造函数和析构函数进行初始化与清理,malloc/free(属于C/C++标准库的函数)只是动态分配内存空间/释放空间4、new可以重载,...

2019-07-23 23:17:46 441

原创 【自我笔记之C++】带默认值参数的函数,inline 函数,函数重载

一、 带默认值参数的函数(没有实参,形参有默认值)1、形参默认值赋值必须从右向左2、形参的默认值不能重复赋值3、一般赋值在声明中Q:普通函数和带默认值参数的函数有什么区别?A:带默认值参数的函数,调用时可以不传入实参,形参就用了默认值;形参给默认值必须从右向左给;形参的默认值只能给一次,不能给多次。*重点*带有默认值参数的函数在调用时,虽然没有传入实参,但是汇编上还是要生成 p...

2019-07-23 23:13:01 244

原创 【自我笔记之Linux】进程的概念、状态、进程管理命令、进程的管理以及进程的加载方式

一、概念进程是一组有序的指令(按顺序)+数据+资源的集合。进程:是运行中的程序程序:是存储在磁盘上的可执行的二进制文件二、进程的状态进程在其生命周期可以存在多个状态:就绪、运行、阻塞等,下图所示:查看进程状态/proc/PID/status三、进程管理命令ps 查看进程 (bash Linux终端执行的进程...

2019-07-22 23:11:31 149

原创 【自我笔记之C语言】结构体以及联合体(共用体)大小问题

例题的方式来解释:一、结构体struct A{ char a; struct HH { char b; int c; };//在这里HH未定义变量 short d;};//4struct B{ char a;//1+2 struct FF { char b;//1+3 int c;//4 }f;//8 short d;//2};//16...

2019-07-22 23:00:13 446

原创 【自我笔记之Linux】库文件、静态库以及动态库(共享库)

一般在Linux文件系统下是EXT4 --->索引式文件系统,U盘是FAT32--->链接式文件系统。EXT4:分区完成后,磁盘格式化时,将磁盘空间分成三部分:inode block superblocksuperblock:存储整个文件系统的信息,包括inode和block的总量,使用量,剩余量inode: 存储文件的属性信息,包括文件的权限 用户……...

2019-07-21 23:50:42 116

原创 【自我笔记之Linux】命令gcc

一、gcc和g++的区别:GCC全名GNU Compiler Collection(GUN 编译器集合),它可以编译C、C++、JAV、Fortran、Pascal、Object-C、Ada等语言g++:是GCC中的C++编译器gcc:是GCC中的C编译器准确的说法:gcc调用了C编译器,而g++调用了C++编译器gcc和g++的主要区别1. 对于 *.c和*.c...

2019-07-21 23:42:00 98

原创 【自我笔记之C语言】数组,指针和函数

tips:sizeof:运算符,获得保证能容纳实现所建立的最大对象的字节大小。strlen:函数,测量字符的实际长度,以’\0’作为结束,但不会记录‘\0’,而sizeof测量的字符的分配大小一、指针与数组A>B>C>数组与指针 #include <stdio.h> int main() { ...

2019-07-20 14:41:08 91

原创 【自我笔记之C语言】数据类型,关键字,运算符,表达式和语句

一、数据类型C语言中有4种基本数据类型---整型、浮点型、指针和聚合类型(如数组和结构等)。其他的都是从这几种基本类型的某种组合派生而来的。1、整型:字符、短整型、整型和长整形,他们分为有符号和无符号两种。规则:长整型至少应该和整型一样长,而整型至少应该和短整型一样长。^枚举类型^是一种构造数据结构,当一个变量有几种可能的取值时,需要用枚举类型类型来定义。基础类型必须能...

2019-07-20 14:32:42 231

原创 【C++】c++中的六个默认函数——析构函数

析构函数(不能重载,没有参数,一个类只能有一个析构函数。如果没定义,编译器会自动生成一个)析构函数:创建对象时系统会自动调用构造函数进行初始化工作,同样,销毁对象时系统也会自动调用一个函数来进行清理工作。析构函数(Destructor)也是一种特殊的成员函数,没有返回值,不需要显式调用(程序员也没法显式调用),而是在销毁对象时自动执行。构造函数的名字和类名相同,而析构函数的名字是在类名前面加...

2018-12-05 12:50:00 4422

原创 【C++】c++中的六个默认函数——构造函数

类的6个默认的成员函数包括:构造函数、析构函数、拷贝构造函数、赋值运算符重载函数、取地址操作符重载、const修饰的取地址操作符重载。(但是重点讲前四个) 构造函数(可以重载)在C++中,有一种特殊的成员函数,它的名字和类名相同,没有返回值,不需要用户显式调用(用户也不能手动调用),而是在创建对象时自动执行。这种特殊的成员函数就是构造函数(Constructor)。class ...

2018-12-02 13:06:24 1314

原创 警醒自己————爆炸的一天,编译器我求求你了!!!

Visual Studio真的是我服了!!!这段代码我发誓真的没有问题,但是一运行就报错 :(  :(  :( 结果我发现是因为回去一看  中文输入法的空格!!! 写此文章以此告诫我————要       细       心!!!...

2018-11-27 19:39:49 112

原创 【C++】命名空间、标准库和std命名空间

namespace Li{ int a = 10; int Sum(int a,int b) { std::cout&lt;&lt;"Li::Sum: "&lt;&lt;std::endl; return a + b; }}namespace Wang{ int Sum(int a, int b) { std::cout&lt;&lt;"Wang::Sum: "...

2018-11-26 22:39:02 855

原创 【C++】初学类和对象的概念

C++中的类Class可以看作C语言中结构体的升级版。结构体是一种构造类型,它可以包含若干成员变量,而其中每个成员变量的类型又可以不同。例如:struct Student{//结构体包含的成员变量 char *name; int age; float score;};void Display(struct Student stu){ printf("%s的年龄是%d,成绩是...

2018-11-25 12:47:44 117

原创 【C++】const && 引用

一、const在C语言中(编译阶段中)看常变量是否做左值,剩下的处理和普通的一样eg: const int a;  a = 10;//error 在C++中(编译阶段把用到常量的地方替换成常量初始值)常量不允许修改常量一定要初始化 不允许普通指针指向(有被修改的风险)这段代码中a 里面是20,但是打印却是10.     3.const int gda...

2018-11-21 12:49:10 880

数据结构栈和队列

一、实验目的: 1、理解栈的逻辑结构定义及特点、掌握栈的存储结构的描述、 实现栈的基本运算。 2、理解队列的逻辑结构定义及特点、掌握循环队列存储结构及其描述方法、掌握循环队列的基本运算。 二、实验内容: 1、建立顺序栈,并实现顺序栈的基本操作; 2、建立链栈,并实现链栈的基本操作; 3、建立循环队列,并实现循环队列的基本操作; 三、实验要求: 1、实现顺序栈的各种基本运算的算法,并在此基础上设计一个主程序完成如下功能: ①初始化栈; ②判断栈是否非空; ③依次进栈各元素; ④输出栈的长度; ⑤输出从栈顶到栈底的元素; ⑥输出出栈序列; ⑦释放栈。 2、实现链栈的各种基本运算的算法,并在此基础上设计一个主程序完成如下功能: ①初始化栈; ②判断栈是否非空; ③依次进栈各元素; ④输出栈的长度; ⑤输出从栈顶到栈底的元素; ⑥输出出栈序列; ⑦释放栈。 3、实现循环队列的各种基本运算的算法,并在此基础上设计一个主程序完成如下功能: ①初始化队列; ②判断队列是否非空; ③依次进队各元素; ④出队一个元素,输出该元素; ⑤输出队列的元素个数; ⑥输出出队序列; ⑦释放队列。

2018-01-02

空空如也

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

TA关注的人

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