自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 利用pycharm 连接virtualbox

步骤:1、利用ssh协议2、设置本地地址和远程地址【路径】3、将本地同步到virtualbox详情转载https://blog.csdn.net/keeplingshi/article/details/52760208

2019-01-30 23:13:38 675

转载 github 常见问题

当利用github上传文件时,可能由于没有公钥导致没有权限。https://www.cnblogs.com/qcwblog/p/5709720.html1、输入用户名及密码有一个错误用户名输入 wdhani82475密码输入 xxxxxxxxxxx2、生成公钥的位置:...

2019-01-30 13:50:36 244

原创 2、学习Django开发基础

Django项目创建安装pip3 install django # 安装成功后 会出现 django-admin 命令先创建project方法一:django-admin startproject my_first_site #项目名为my_first_site方法二:利用pycharm工具,直接创建django项目创建好的项目的目录结构: mysite ...

2019-01-21 23:45:57 308

原创 1、学习Djiango预备知识

主要内容一、Djiango介绍二、http协议介绍三、网络的七层协议 http协议本质是基于socket实现四、web服务器的实现Djiango介绍Django是一个用 Python 编写的 Web 框架。Web 框架是一种软件,基于web框架可以开发动态网站,各种应用程序以及服务。它提供了一系列工具和功能,可以解决许多与Web开发相关的常见问题,比如:安全功能,数据库访问,会话,模板...

2019-01-20 18:35:40 1733

原创 tcpcopy搭建及测试

一、介绍从一台机器上面复制到这台机器的TCP请求流量到另一台机器,达到两台机器能拿到一样的数据,这样可以用真实的线上数据对即将上线的服务进行测试meaning:从 A机器上拷贝 【到A机器的tcp流量】到 B机器上二、环境TCPCOPY版本:TCPcopy:V1.0.0Intercept:V1.0.0三、原理Online Server:线上的机器,运行TCPCOPY程...

2019-01-19 11:29:51 603

原创 Snprintf &Strncpy使用

strncpy使用特点: 1 strncpy(des,const src,sizeof(des));2 返回值,返回的是目的字符串;3 性能问题,当Des长度大于Src时,strncpy 会将des中多余的字节用0 进行填充。4 当Src长度大于Des长度时必须手工设置‘\0’。Snprintf特点: 1 strncpy(des ,sizeof(des),"%...

2018-07-24 12:05:18 524

转载 tcp状态图的理解以及TIME_WAIT状态

一、tcp状态转移图解释: 1、包括服务器端和客户端,两个走向。 2、状态有11中,主要的有CLOSED LISTEN SYN_RCVD SYN_SENT ESTABLISHED FIN_WAIT 1 FIN_WAIT 2 TIME_WAIT CLOSING CLOSE_WAIT LAST_ACK 二、TIME_WAIT 的状态图声明:se...

2018-05-30 13:44:21 418

转载 boost中五种智能指针auto_ptr、unique_ptr、scoped_ptr、shared_ptr、weak_ptr

auto_ptr特点:只能作用于一个对象,一个对象只需要开辟空间,由它进行内存的管理。unique_ptr特点:只能作用于一个对象,可以通过移动构造和移动赋值进行分转移。scoped_ptr特点:局部的,既不是可复制也不可移动 。 这是当你想出去的作用域时,确保指针被删除的首选、shared_ptr<强引用,循环引用>特点:可以作用于多个对象,通...

2018-05-30 13:06:02 431

原创 GDB(程序调试、带参数程序、多进程、多线程、段错误、监视功能)

调试程序//test2 #include<unistd.h>3 int add(int a,int b)4 {5 int c = a+b;6 return c;7 }8 9 int main()10 {11 int a=3;(gdb) l12 int b=5;13 int c=...

2018-05-19 18:46:59 1307

转载 网络协议的划分7层、5层、4层

7层解释: 7层协议是由国际标准化组织(iso)提出的开发系统互联参考模型(osi) 包括:(从上到下) 应用层-—表示层—会话层—传输层—网络层—数据链路层—物理层5层包括:(从上到下) 是指协议栈 应用层—传输层—网络层—数据链路层—物理层4层解释 是指tcp/ip参考模型 包括:(从上到下) 应用层—传输层—网际层—网络接口层转载各层协议的作用与联系]...

2018-05-17 17:55:51 885

原创 Linux下静态库与动态库的制作和使用

声明1、linux操作系统支持的函数库分为静态库和动态库,动态库又称为共享库。函数库文件主要存放在 /lib /usr/lib 2、不管是静态函数库还是动态函数库,都是由*.o目标文件生成静态库这类库文件以libxxx.a;利用静态函数库编译成的文件较大,因为整个库的所有数据都会被整合到目标代码中。 优点:编译后的程序不需要外部的函数库支持 缺点:如果静态函数库改变了,...

2018-05-16 09:18:32 294

原创 排序(快排、归并、希尔、堆、选择、冒泡、二分查找)

快排堆>归并>快排(时间)思想:采用了分治法。 特点:算法不稳定,时间平均复杂度为(o(nlogn))<不停地交换和比较> 过程《从小到大》: 1、从数列中找出一个基准值(第一个) 2、当first归并思想:采用分治法 特点:O(n(logn)) 过程: 1、递归分解(从中间),分解成有序的(一个数) 2、相邻的两个组进...

2018-05-14 17:36:00 384

原创 网络基础&&socket编程(子网掩码、网络分类、tcp、udp)

网络基础进程间通信与socket编程的区别 1、进程间通信,是在同一台电脑上同信 2、socket网络编程,同一局域网ipv4、ipv6: ipv4:占32位,容纳主机数为 2^32-1 ipv6 :占128位,容纳主机数 2^128-1 网络分类: 1、A类 0 000 0000 ——0 111 1111 2、B类 10 00 0000 ——...

2018-05-05 16:29:00 1156

原创 生产者 与消费者模型(mutx、cond)

模型生产者——消费者认识:一个盘子只能放5个苹果,小明有100个苹果,小张、小刘等着取盘子的苹果;小明放供他们取。(盘子成了有界缓冲区)盘子里面有5 个就不能放,盘子里面为空不能取苹果。实现原理: 利用互斥量和条件变量进行同步,实现的一种机制,遵循有界缓冲区不满,生产者就写数据;不空消费者就读数据理解:代码#include<std...

2018-05-03 21:19:07 401

原创 读写锁(rwlock、pthread_cancel、pthread_cleanup_push、pthread_cleanup_pop)

读写锁原因: 基于效率,用于共享内存 原理: 1、多个线程可以同时用于读操作;单个线程只能用于写操作 2、当cpu资源释放后,存在读锁、和写锁时,一般根据系统不同,读锁和写锁的优先级不一样 3、读优先时,只有写时才会被阻塞 if(rw->rw_refcount<0) 4、写优先时,正在读或者写等待时会阻塞if((rw->rw-&g...

2018-05-02 14:47:34 291

原创 线程(create、mutex、cond)

线程与进程区别 1、进程独占内存空间,线程共享内存空间 2、通信,进程间的数据相互独立,线程间数据共享,通信时,不需要通过操作系统 3、进程的调度切换速度慢,线程的速度快<共享地址空间>二者之间的关系 管家和马仔的关系,马仔主要干活;管家分配金钱。 同理,进程拥有资源,线程是执行的最小单位。 雇佣多个管家干活,效率低、还...

2018-04-30 23:35:07 505

原创 IPC之消息队列(msg)

消息队列概念: 消息队列:由标记值和消息内容组成(long型标记值,和链表)过程 ser: 1、 建立一个消息队列 2、发送数据 (发送时,发送结构体大小,即标记和内容) 3、接收数据cli: 1、接收数据 ,(接收数据时,length表示数据的长度) 2、发送数据原理 代码: 点击我!!“msg”总结 1...

2018-04-28 17:25:59 452

原创 IPC之共享内存(shm_sem)

共享内存声明: shm的通信效率极高,但是不提供同步不机制shm的实现图解 声明: 1、ser发送的数据,会被ser直接读取;cli同理 2、ser进过开辟空间、建立连接、数据的读写操作、断开连接、释放空间 3、cli进行连接空间,数据的操作、断开连接即可shm通信图解声明: 1、增加sem作为同步机制,实现通信 2、p...

2018-04-28 14:02:20 1102

原创 IPC 机制(sem、同步与异步)

声明同步 同步,并发性不高;例如主函数中有子函数,子函数调用子函数,这样会一直调用函数,阻塞等待的过程。异步> 并发性高,例如多进程、多线程。 一旦设备准备好,就主动通知应用程序,这种情况下应用程序就不需要查询设备状态;异步是相对于同步而言,两个进程之间不影响,例如fork一个进程进程同步机制 pipe、fifo、信号量(二值信号量)、共享类存...

2018-04-25 07:56:09 2137

原创 进程间通信(pipie、ctime、access、fifo、fifo_fork)

声明: 1、进程间通信,即进程与进程进行信息交换,两个进程必须处于运行,否则,通信结束 2、管道分为有名管道和无名管道都为半双工通信(数据流是单向的) 3、通信,即信息交互需求不同,方式不同(电话、发电报、发邮箱、微信等等)普通管道概念: 无名管道,只能用于解决具有共同祖先进程之间的通信(必须具有亲缘关系)步骤: 1、fork出一个进程 ...

2018-04-14 16:15:44 919

原创 文件、目录的操作(dup,fcntl,stat)

文件分类: 普通文件 、块特殊文件、fifo、套接字文件、链接文件、符号文件使用查看命令: man open 打开函数// 打开 文件名 类型(已存在) int open(const char *pathname, int flags);// 打开、创建 文件名 类型(不存在) 模式 int open(const char *pathna...

2018-04-14 12:04:49 219

原创 linux进程(02)

fork & vfork fork:用于创建进程,进程创建成功时,子进程返回0;创建失败时,返回-1;父进程返回子进程的id号 fork:除了进程的id号不同,父子进程的内容一样,执行顺序不同;一般情况要满足僵进程,借助wait()或者waitpid()函数 vfork:由于父进程主要是为了创建子进程,若用fork创建时,会造成资源的浪费;因此,fork应用而生。 ...

2018-04-11 14:18:11 220

原创 动态内存传递问题

下面程序存在问题,请更改#include<stdio.h>using namespace std;Getmemroy(char *p ,int num){ p = (char*)malloc(sizeof(char)*100);}int main(){ char *str = NULL; GetMemory(str,100); strcp...

2018-04-09 16:03:23 230

原创 a与b交换

a与b交换一、利用中间参数1、采用引用方式(引用表示别名)#include<iostream>using namespace std;//引用my_swap(int &x,int &y){ int tmp = x; x = y ; y = tmp;}int main(){ int a=3; int b...

2018-04-09 15:27:28 269

原创 memset()&&memcmp()&&memcpy()

函数memxx(Dest,Src,count)//把buffer所指的内存空间开始,将count个字节大小用ch进行初始化void *memset(void *buffer,int ch,size_t count);//比较buffer与buffer2前count个字符是否相同int memcmp(const void *buffer1,const void *buffer2,...

2018-04-07 22:30:07 234

原创 strlen()&&strcat()&&strcpy() &&strcmp()

字符串的四大函数原型size_t strlen(const char *str);char *strcat(char *Dest,const char *Src);char *strcpy(const char *s1,const char *s2);int *strcmp(const char *s1,const char *s2);声明: 1、判断参数的合...

2018-04-03 23:53:53 161

原创 多态和虚函数

多态 实现程序的统一性,多态分为编译时多态(重载),运行时多态(覆盖)。实现手段:(父类的指针、引用和virtual) 1、父类的指针,指向子类 2、父类的对象,等于子类的对象 3、父类的引用,等于子类的对象#include<iostream>using namespace std;class Base{public: voi...

2018-04-02 17:42:50 223

原创 文件的操作(随机输入输出)

文件声明: 1、二进制文件以字节来存储的(整型为4字节) 2、 文本文件以字符来存储的(一个字节)函数//查找文件指针指所指某一位置的值int fseek( FILE *stream, long offset, int origin )origin: SEEK_SET 从文件的开始处开始搜索 0 SEEK_CUR 从当前位置开始搜索 ...

2018-04-01 22:17:26 201

原创 文件的操作(顺序读写)

文件概念:指存储在外部设备介质上的数据的集合。 feof:文件有一个指针指向文件的末尾常用函数//w r w+ r+ wb rb a//打开文件,成功返回流文件指针,错误返回NULL FILE *fopen( const char *fname, const char *mode );//文件到达末尾是返回一个非零值 int feof( FILE *strea...

2018-03-30 21:05:07 5097

原创 Redis介绍及安装

介绍Redis: Remote Dictionary Server,简称远程字典服务器,是一种开源的、高性能的、基于键值对的存储和缓存模式。功能: 1、数据存储(数据库功能) 2、缓存数据(mamache) 3、消息队列 4、支持集群数据类型 1、字符串(string) 2、散列(hash...

2018-03-28 18:35:32 193

原创 简单插入排序

插入排序 将未排序的记录按顺序插入到已排好序的记录当中。稳定性: 1、插入排序是稳定排序 2、效率是0(n^2)算法: 1、排好序和未排序的 2、插入一个未排序的数列,依次和前面相邻的比较,并判断是否和前面的数是否进行比较如:12,34,45 插入10 65 12 34 45 为排好序 插入 10 12 34 45,45与10比...

2018-03-26 23:19:57 314

原创 类成员的访问权限

声明:分为下面两种情况: 1、在类的内部进行访问 2、在类对象的内部访问,即主函数中用对象调用函数和数据成员,且对象永远不能访问类的私有成员和保护函数。继承: 派生类对基类的全部成员函数和数据成员进行全部接受,除过构造函数和析构函数,在派生类中,把基类的函数和数据成员复制了一份。public继承 在基类当中,只能通过公有方法对私有数据进行操作。派生类公...

2018-03-25 23:51:39 909

原创 TCP/IP协议族分层管理与http协议的作用

Tcp/Ip分层管理模型概念:tcp/ip协议族按层次分别为:应用层、传输层、网络层、和数据链路层 发送端从应用层往下走,接受端则从下往上走。发送端在层与层之间传递信息时一定会加上该层的首部信息。反之,接收端在层与层传递数据时,每经过一层会把首部去掉。 浏览一个网页时,经过哪些步骤?http协议:(作为浏览器和服务器之间的转化接口)主要将浏览器请求的页面转换...

2018-03-25 11:44:18 472

原创 VirtualBox虚拟机网络的三种原理及配置

NAT网络地址转换模式介绍 NAT模式下的虚拟系统的TCP/IP配置信息是由VMnet8(NAT)虚拟网络的DHCP服务器提供的(由宿主机所在的网络提供),无法进行手工修改,因此虚拟系统无法和本局域网中的其他真实主机进行通讯。特点: 1、简单、不需要配置 2、直接可以访问外网 3、只能单向访问,虚拟机访问主机Bridge Adapter桥接模式介绍: ...

2018-03-24 00:01:37 1918 1

原创 github常用命令

安装 yum install git -y创建本地工作区 git clone url (你在github仓库的绝对路径)上传#初始化仓库> git init #缓存到本地> git add -A#添加注释> git commit -m " &a

2018-03-23 22:49:21 174

原创 继承与多继承

继承父类派生子类,这种关系称为继承特性: 1、子类全盘接受父类的特性,出构造函数和析构函数外 2、对父类的成员方法、属性,进行修改,隐藏父类的成员方法#include<iostream>using namespace std;class Base{public: Base() { cout<<"Create Base"&...

2018-03-21 23:39:10 379

原创 大端和小端

声明: 数据的地址的操作,只能从低地址向高地址操作(从左往右、从上往下)大端概念:数据的高位数据(高字节)存储在低地址,数据的低位数据(低字节)存储在高地址 例如:123456789 9存储在个位 1存储在最高位小端概念: 数据的高位数据(高字节)存储在高地址,数据的低位数据(低字节)存储在地地址 例如:987654321 ...

2018-03-19 23:13:14 866

原创 递归求解

int f(int x) { if(x <= 2) return 1; return f(x - 2) + f(x - 4) + 1;}当x=10时,可以循环多少次 10次 利用树形结构解决此类问题比较简单

2018-03-18 11:10:33 293

原创 构造函数

构造函数的三大功能: 1、构造对象 2、给对象按成员参数进行初始化 3、强制类型转换class A{ public: //构造al对象 A() { printf(“0”); } //强制类型转换,将10转换为临时对象 A(int a) ...

2018-03-18 10:05:08 147

原创 指针

3_18void main(){char *p, *q;p = (char *)malloc(sizeof(char) * 20);q = p;scanf(“%s %s”, p, q);printf(“%s %s\n”, p, q);}若果输入的值为 def abc,输出结果为 def def q=p解释: 1、p指向了一段内存空间,q也指向了p所...

2018-03-18 10:00:40 238

空空如也

空空如也

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

TA关注的人

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