<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[WDhani82475的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/WDhani82475</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; WDhani82475]]></copyright><item><title><![CDATA[利用pycharm 连接virtualbox]]></title><link>https://blog.youkuaiyun.com/WDhani82475/article/details/86709828</link><guid>https://blog.youkuaiyun.com/WDhani82475/article/details/86709828</guid><author>WDhani82475</author><pubDate>Wed, 30 Jan 2019 23:13:38 +0800</pubDate><description><![CDATA[步骤：

1、利用ssh协议
2、设置本地地址和远程地址【路径】
3、将本地同步到virtualbox

详情
转载
https://blog.youkuaiyun.com/keeplingshi/article/details/52760208

]]></description><category></category></item><item><title><![CDATA[github 常见问题]]></title><link>https://blog.youkuaiyun.com/WDhani82475/article/details/86701094</link><guid>https://blog.youkuaiyun.com/WDhani82475/article/details/86701094</guid><author>WDhani82475</author><pubDate>Wed, 30 Jan 2019 13:50:36 +0800</pubDate><description><![CDATA[当利用github上传文件时，可能由于没有公钥导致没有权限。
https://www.cnblogs.com/qcwblog/p/5709720.html
1、输入用户名及密码有一个错误

用户名输入 wdhani82475
密码输入   xxxxxxxxxxx

2、生成公钥的位置：


...]]></description><category></category></item><item><title><![CDATA[2、学习Django开发基础]]></title><link>https://blog.youkuaiyun.com/WDhani82475/article/details/86586344</link><guid>https://blog.youkuaiyun.com/WDhani82475/article/details/86586344</guid><author>WDhani82475</author><pubDate>Mon, 21 Jan 2019 23:45:57 +0800</pubDate><description><![CDATA[Django项目创建
安装
pip3 install django # 安装
成功后 会出现 django-admin 命令

先创建project
方法一：
django-admin startproject my_first_site #项目名为my_first_site
方法二:

利用pycharm工具，直接创建django项目

创建好的项目的目录结构：
        mysite
 ...]]></description><category></category></item><item><title><![CDATA[1、学习Djiango预备知识]]></title><link>https://blog.youkuaiyun.com/WDhani82475/article/details/86552279</link><guid>https://blog.youkuaiyun.com/WDhani82475/article/details/86552279</guid><author>WDhani82475</author><pubDate>Sun, 20 Jan 2019 18:35:40 +0800</pubDate><description><![CDATA[主要内容
一、Djiango介绍
二、http协议介绍
三、网络的七层协议 http协议本质是基于socket实现
四、web服务器的实现
Djiango介绍
Django是一个用 Python 编写的 Web 框架。Web 框架是一种软件，基于web框架可以开发动态网站，各种应用程序以及服务。它提供了一系列工具和功能，可以解决许多与Web开发相关的常见问题，比如：安全功能，数据库访问，会话，模板...]]></description><category></category></item><item><title><![CDATA[tcpcopy搭建及测试]]></title><link>https://blog.youkuaiyun.com/WDhani82475/article/details/86549996</link><guid>https://blog.youkuaiyun.com/WDhani82475/article/details/86549996</guid><author>WDhani82475</author><pubDate>Sat, 19 Jan 2019 11:29:51 +0800</pubDate><description><![CDATA[一、介绍
从一台机器上面复制到这台机器的TCP请求流量到另一台机器，达到两台机器能拿到一样的数据，这样可以用真实的线上数据对即将上线的服务进行测试

meaning
:从 A机器上拷贝 【到A机器的tcp流量】到 B机器上
二、环境
TCPCOPY版本：
TCPcopy：V1.0.0
Intercept：V1.0.0
三、原理


Online Server：线上的机器，运行TCPCOPY程...]]></description><category></category></item><item><title><![CDATA[Snprintf &Strncpy使用]]></title><link>https://blog.youkuaiyun.com/WDhani82475/article/details/81181860</link><guid>https://blog.youkuaiyun.com/WDhani82475/article/details/81181860</guid><author>WDhani82475</author><pubDate>Tue, 24 Jul 2018 12:05:18 +0800</pubDate><description><![CDATA[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),&quot;%...]]></description><category></category></item><item><title><![CDATA[tcp状态图的理解以及TIME_WAIT状态]]></title><link>https://blog.youkuaiyun.com/WDhani82475/article/details/80508783</link><guid>https://blog.youkuaiyun.com/WDhani82475/article/details/80508783</guid><author>WDhani82475</author><pubDate>Wed, 30 May 2018 13:44:21 +0800</pubDate><description><![CDATA[一、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...]]></description><category></category></item><item><title><![CDATA[boost中五种智能指针auto_ptr、unique_ptr、scoped_ptr、shared_ptr、weak_ptr]]></title><link>https://blog.youkuaiyun.com/WDhani82475/article/details/80508587</link><guid>https://blog.youkuaiyun.com/WDhani82475/article/details/80508587</guid><author>WDhani82475</author><pubDate>Wed, 30 May 2018 13:06:02 +0800</pubDate><description><![CDATA[auto_ptr

特点：只能作用于一个对象，一个对象只需要开辟空间，由它进行内存的管理。



unique_ptr

特点：只能作用于一个对象，可以通过移动构造和移动赋值进行分转移。



scoped_ptr

特点：局部的，既不是可复制也不可移动 。 这是当你想出去的作用域时，确保指针被删除的首选、



shared_ptr&amp;lt;强引用，循环引用&amp;gt;

特点：可以作用于多个对象，通...]]></description><category></category></item><item><title><![CDATA[GDB(程序调试、带参数程序、多进程、多线程、段错误、监视功能)]]></title><link>https://blog.youkuaiyun.com/WDhani82475/article/details/80375767</link><guid>https://blog.youkuaiyun.com/WDhani82475/article/details/80375767</guid><author>WDhani82475</author><pubDate>Sat, 19 May 2018 18:46:59 +0800</pubDate><description><![CDATA[调试程序

//test
2   #include&amp;lt;unistd.h&amp;gt;
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) l
12      int b=5;
13      int c=...]]></description><category></category></item><item><title><![CDATA[网络协议的划分7层、5层、4层]]></title><link>https://blog.youkuaiyun.com/WDhani82475/article/details/80354468</link><guid>https://blog.youkuaiyun.com/WDhani82475/article/details/80354468</guid><author>WDhani82475</author><pubDate>Thu, 17 May 2018 17:55:51 +0800</pubDate><description><![CDATA[7层

解释： 
7层协议是由国际标准化组织(iso)提出的开发系统互联参考模型(osi) 
包括：(从上到下) 
应用层-—表示层—会话层—传输层—网络层—数据链路层—物理层

5层

包括：(从上到下) 
是指协议栈 
应用层—传输层—网络层—数据链路层—物理层

4层

解释 
是指tcp/ip参考模型 
包括：(从上到下) 
应用层—传输层—网际层—网络接口层

转载各层协议的作用与联系]...]]></description><category></category></item><item><title><![CDATA[Linux下静态库与动态库的制作和使用]]></title><link>https://blog.youkuaiyun.com/WDhani82475/article/details/80331895</link><guid>https://blog.youkuaiyun.com/WDhani82475/article/details/80331895</guid><author>WDhani82475</author><pubDate>Wed, 16 May 2018 09:18:32 +0800</pubDate><description><![CDATA[声明

1、linux操作系统支持的函数库分为静态库和动态库，动态库又称为共享库。函数库文件主要存放在  /lib   /usr/lib 
2、不管是静态函数库还是动态函数库，都是由*.o目标文件生成



静态库

这类库文件以libxxx.a；利用静态函数库编译成的文件较大，因为整个库的所有数据都会被整合到目标代码中。 
优点：编译后的程序不需要外部的函数库支持 
缺点：如果静态函数库改变了，...]]></description><category></category></item><item><title><![CDATA[排序(快排、归并、希尔、堆、选择、冒泡、二分查找)]]></title><link>https://blog.youkuaiyun.com/WDhani82475/article/details/80305783</link><guid>https://blog.youkuaiyun.com/WDhani82475/article/details/80305783</guid><author>WDhani82475</author><pubDate>Mon, 14 May 2018 17:36:00 +0800</pubDate><description><![CDATA[快排

堆&amp;amp;gt;归并&amp;amp;gt;快排(时间)


思想：采用了分治法。 
特点：算法不稳定，时间平均复杂度为(o(nlogn))&amp;amp;lt;不停地交换和比较&amp;amp;gt; 
过程《从小到大》：


  1、从数列中找出一个基准值(第一个) 
  2、当first

归并

思想：采用分治法 
特点：O(n(logn)) 
过程：


  1、递归分解(从中间)，分解成有序的(一个数) 
  2、相邻的两个组进...]]></description><category></category></item><item><title><![CDATA[网络基础&&socket编程(子网掩码、网络分类、tcp、udp)]]></title><link>https://blog.youkuaiyun.com/WDhani82475/article/details/80206586</link><guid>https://blog.youkuaiyun.com/WDhani82475/article/details/80206586</guid><author>WDhani82475</author><pubDate>Sat, 05 May 2018 16:29:00 +0800</pubDate><description><![CDATA[网络基础

进程间通信与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  ——...]]></description><category></category></item><item><title><![CDATA[生产者 与消费者模型(mutx、cond)]]></title><link>https://blog.youkuaiyun.com/WDhani82475/article/details/80186522</link><guid>https://blog.youkuaiyun.com/WDhani82475/article/details/80186522</guid><author>WDhani82475</author><pubDate>Thu, 03 May 2018 21:19:07 +0800</pubDate><description><![CDATA[模型

生产者——消费者



认识：

一个盘子只能放5个苹果，小明有100个苹果，小张、小刘等着取盘子的苹果；小明放供他们取。(盘子成了有界缓冲区)盘子里面有5 个就不能放，盘子里面为空不能取苹果。



实现原理：


  利用互斥量和条件变量进行同步，实现的一种机制，遵循有界缓冲区不满，生产者就写数据；不空消费者就读数据




理解：





代码



#include&amp;lt;std...]]></description><category></category></item><item><title><![CDATA[读写锁(rwlock、pthread_cancel、pthread_cleanup_push、pthread_cleanup_pop)]]></title><link>https://blog.youkuaiyun.com/WDhani82475/article/details/80165814</link><guid>https://blog.youkuaiyun.com/WDhani82475/article/details/80165814</guid><author>WDhani82475</author><pubDate>Wed, 02 May 2018 14:47:34 +0800</pubDate><description><![CDATA[读写锁



原因：


  基于效率，用于共享内存 



原理：


  1、多个线程可以同时用于读操作；单个线程只能用于写操作 
  2、当cpu资源释放后，存在读锁、和写锁时，一般根据系统不同，读锁和写锁的优先级不一样 
  3、读优先时，只有写时才会被阻塞 if(rw-&amp;gt;rw_refcount&amp;lt;0) 
  4、写优先时，正在读或者写等待时会阻塞if((rw-&amp;gt;rw-&amp;g...]]></description><category></category></item><item><title><![CDATA[线程(create、mutex、cond)]]></title><link>https://blog.youkuaiyun.com/WDhani82475/article/details/80153029</link><guid>https://blog.youkuaiyun.com/WDhani82475/article/details/80153029</guid><author>WDhani82475</author><pubDate>Mon, 30 Apr 2018 23:35:07 +0800</pubDate><description><![CDATA[线程与进程区别


  1、进程独占内存空间，线程共享内存空间 
  2、通信，进程间的数据相互独立，线程间数据共享，通信时，不需要通过操作系统 
  3、进程的调度切换速度慢，线程的速度快&amp;lt;共享地址空间&amp;gt;


二者之间的关系


  管家和马仔的关系，马仔主要干活；管家分配金钱。 
            同理，进程拥有资源，线程是执行的最小单位。 
  雇佣多个管家干活，效率低、还...]]></description><category></category></item><item><title><![CDATA[IPC之消息队列(msg)]]></title><link>https://blog.youkuaiyun.com/WDhani82475/article/details/80137401</link><guid>https://blog.youkuaiyun.com/WDhani82475/article/details/80137401</guid><author>WDhani82475</author><pubDate>Sat, 28 Apr 2018 17:25:59 +0800</pubDate><description><![CDATA[消息队列

概念：


  消息队列：由标记值和消息内容组成(long型标记值，和链表)


过程 
ser:


  1、 建立一个消息队列  
  2、发送数据 (发送时，发送结构体大小，即标记和内容) 
  3、接收数据


cli:


  1、接收数据 ,(接收数据时，length表示数据的长度) 
  2、发送数据


原理 


代码： 
点击我！！“msg”



总结


  1...]]></description><category></category></item><item><title><![CDATA[IPC之共享内存(shm_sem)]]></title><link>https://blog.youkuaiyun.com/WDhani82475/article/details/80130201</link><guid>https://blog.youkuaiyun.com/WDhani82475/article/details/80130201</guid><author>WDhani82475</author><pubDate>Sat, 28 Apr 2018 14:02:20 +0800</pubDate><description><![CDATA[共享内存

声明：


  shm的通信效率极高，但是不提供同步不机制


shm的实现图解

   

声明：


  1、ser发送的数据，会被ser直接读取；cli同理 
  2、ser进过开辟空间、建立连接、数据的读写操作、断开连接、释放空间 
  3、cli进行连接空间，数据的操作、断开连接即可


shm通信图解



声明：


  1、增加sem作为同步机制，实现通信 
  2、p...]]></description><category></category></item><item><title><![CDATA[IPC 机制(sem、同步与异步)]]></title><link>https://blog.youkuaiyun.com/WDhani82475/article/details/79962499</link><guid>https://blog.youkuaiyun.com/WDhani82475/article/details/79962499</guid><author>WDhani82475</author><pubDate>Wed, 25 Apr 2018 07:56:09 +0800</pubDate><description><![CDATA[声明

同步


  同步，并发性不高；例如主函数中有子函数，子函数调用子函数，这样会一直调用函数，阻塞等待的过程。




异步

&amp;gt; 并发性高，例如多进程、多线程。


  一旦设备准备好，就主动通知应用程序，这种情况下应用程序就不需要查询设备状态；异步是相对于同步而言，两个进程之间不影响，例如fork一个进程


进程同步机制


  pipe、fifo、信号量(二值信号量)、共享类存...]]></description><category></category></item><item><title><![CDATA[进程间通信(pipie、ctime、access、fifo、fifo_fork)]]></title><link>https://blog.youkuaiyun.com/WDhani82475/article/details/79940598</link><guid>https://blog.youkuaiyun.com/WDhani82475/article/details/79940598</guid><author>WDhani82475</author><pubDate>Sat, 14 Apr 2018 16:15:44 +0800</pubDate><description><![CDATA[声明：


  1、进程间通信，即进程与进程进行信息交换，两个进程必须处于运行，否则，通信结束 
  2、管道分为有名管道和无名管道都为半双工通信(数据流是单向的) 
  3、通信，即信息交互需求不同，方式不同(电话、发电报、发邮箱、微信等等)




普通管道

概念：


  无名管道，只能用于解决具有共同祖先进程之间的通信(必须具有亲缘关系)


步骤：


  1、fork出一个进程 
 ...]]></description><category></category></item></channel></rss>