<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ChenYang1998的博客]]></title><description><![CDATA[技术学习之路]]></description><link>https://blog.youkuaiyun.com/ChenYang1998</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ChenYang1998]]></copyright><item><title><![CDATA[Shell脚本总结]]></title><link>https://blog.youkuaiyun.com/ChenYang1998/article/details/81069464</link><guid>https://blog.youkuaiyun.com/ChenYang1998/article/details/81069464</guid><author>ChenYang1998</author><pubDate>Mon, 16 Jul 2018 18:17:12 +0800</pubDate><description><![CDATA[谢谢]]></description><category></category></item><item><title><![CDATA[Linux系统编程网络编程总结]]></title><link>https://blog.youkuaiyun.com/ChenYang1998/article/details/81069426</link><guid>https://blog.youkuaiyun.com/ChenYang1998/article/details/81069426</guid><author>ChenYang1998</author><pubDate>Mon, 16 Jul 2018 18:14:33 +0800</pubDate><description><![CDATA[啊]]></description><category></category></item><item><title><![CDATA[搜索结构之【哈希】]]></title><link>https://blog.youkuaiyun.com/ChenYang1998/article/details/80184359</link><guid>https://blog.youkuaiyun.com/ChenYang1998/article/details/80184359</guid><author>ChenYang1998</author><pubDate>Mon, 16 Jul 2018 18:10:22 +0800</pubDate><description><![CDATA[查找分类

在很多的时候，我们需要从元素的集合中查找出给定的关键字是否存在的过程，这个过程通常有两种结果：查找成功，查找失败。 
用于搜索数据的集合，称之为搜索结构，一般是由统一类型的元素的集合。 
而查找的环境分为静态环境和动态环境。 
静态环境：在插入或者删除等操作前后搜索结构不会发生改变，向顺序表，链表。 
动态环境：为了保证较高的搜索效率，在插入或者删除的前后搜索结构会自动进行调整，结构可...]]></description><category></category></item><item><title><![CDATA[C++学习总结]]></title><link>https://blog.youkuaiyun.com/ChenYang1998/article/details/80971407</link><guid>https://blog.youkuaiyun.com/ChenYang1998/article/details/80971407</guid><author>ChenYang1998</author><pubDate>Mon, 09 Jul 2018 15:30:10 +0800</pubDate><description><![CDATA[学习总结 
]]></description><category></category></item><item><title><![CDATA[Shell脚本学习]]></title><link>https://blog.youkuaiyun.com/ChenYang1998/article/details/80970594</link><guid>https://blog.youkuaiyun.com/ChenYang1998/article/details/80970594</guid><author>ChenYang1998</author><pubDate>Mon, 09 Jul 2018 15:15:07 +0800</pubDate><description><![CDATA[Shell

Shell是一个用C语言编写的程序，它是用户和Linux内核交流的桥梁，我们把它称之为命令解释器。Bash是Shell中的一种，下面所学的就是Bash的基本符号和语法。Shell有三大特点：1.弱类型，2.解释非编译型，3交互模式：交互式和批处理式，Shell脚本文件名以.sh结尾，并且在文本的第一行#！开头，/bin/bash告诉操作系统那一个shell执行。在执行的时候，给文件加...]]></description><category></category></item><item><title><![CDATA[多路复用之select，poll]]></title><link>https://blog.youkuaiyun.com/ChenYang1998/article/details/80593354</link><guid>https://blog.youkuaiyun.com/ChenYang1998/article/details/80593354</guid><author>ChenYang1998</author><pubDate>Wed, 04 Jul 2018 15:38:54 +0800</pubDate><description><![CDATA[五种I/O模型

程序数据的输入，输出称之为I/O。我们在前面学习的socket套接字阶段，从网络中读取和发送数据，就属于I/O操作。当网络中没有数据可读的时候，进程就会阻塞式的等待，直到有数据准备就绪。socket套接字默认的都是阻塞的方式。



阻塞式I/O 
 
I/O操作分为两部，第一部分是等待，第二部分是进行数据的拷贝。阻塞式I/O的特点就是当没有是数据就绪的时候，程序一直等待底层有数...]]></description><category></category></item><item><title><![CDATA[I/O多路转接之【epoll】]]></title><link>https://blog.youkuaiyun.com/ChenYang1998/article/details/80913745</link><guid>https://blog.youkuaiyun.com/ChenYang1998/article/details/80913745</guid><author>ChenYang1998</author><pubDate>Wed, 04 Jul 2018 15:38:01 +0800</pubDate><description><![CDATA[epoll

在Linux中，还提供了第三种I/O多路转接的方式，那就是epoll，它几乎具备了select和poll的全部优点，是公认的Linux2.6下的最好的多路I/O就绪通知方法。 
先来看一下接口，再根据参数解释epoll的工作原理。epoll将多路转接拆分为三个步骤。 
第一步：创建一个epoll语柄 
 
这个函数用来创建一个epoll语柄，其中size一般被忽略，返回值是一个文件描...]]></description><category></category></item><item><title><![CDATA[STL之【空间配置器】]]></title><link>https://blog.youkuaiyun.com/ChenYang1998/article/details/80586020</link><guid>https://blog.youkuaiyun.com/ChenYang1998/article/details/80586020</guid><author>ChenYang1998</author><pubDate>Tue, 05 Jun 2018 19:31:40 +0800</pubDate><description><![CDATA[什么是空间配置器

空房间配置器，顾名思义就是用来配置，管理，分配，释放内存空间的，有了它，它为我们的各种容器提供了生存的空间。有人会问，为什么不直接用malloc来申请呢，而要用空间配置器呢？


提高效率：频繁的向系统申请小块内存，效率低下。
减少内存的碎片问题：
提高代码复用率和功能模块化。
空间不足时，有对应的应对措施。
隐藏实际内存分配的细节，确保分配出去的内存都会回收。






二...]]></description><category></category></item><item><title><![CDATA[ARP,DNS以及NET技术]]></title><link>https://blog.youkuaiyun.com/ChenYang1998/article/details/80498321</link><guid>https://blog.youkuaiyun.com/ChenYang1998/article/details/80498321</guid><author>ChenYang1998</author><pubDate>Tue, 29 May 2018 16:34:35 +0800</pubDate><description><![CDATA[APR协议

所谓ARP协议，是通过目的主机的IP地址获得目的主机的MAC地址的一个协议，它利用mac帧来进行操作的，因此ARP协议是一种介于数据链路层和网络层的协议。下面来看一下ARP协议的报头信息。 
 
在这里以太网的首部是MAC帧的报头信息，剩下的28个字节是ARP协议的报头消息。 
硬件类型：表示底层是以太网还是令牌环网。 
协议类型：表示需要转换的地址类型，0x800表示IP协议。 
...]]></description><category></category></item><item><title><![CDATA[IP协议及MAC帧格式]]></title><link>https://blog.youkuaiyun.com/ChenYang1998/article/details/80438717</link><guid>https://blog.youkuaiyun.com/ChenYang1998/article/details/80438717</guid><author>ChenYang1998</author><pubDate>Fri, 25 May 2018 18:14:33 +0800</pubDate><description><![CDATA[网络层

学习网络层，最重要的就是学习IP协议，它保证了我们的数据有能力从一台主机递达另外一台主机。首先来看看IP协议的报头信息。 
 
IP协议和TCP协议一样，报头都是固定的20个字节。 
4位版本号：ip协议有ipv4和ipv6，这个字段标识的一般是我们的ipv4协议。 
4位首部长度：即就是IP数据的报头长度。 
8位服务类型：3位优先权字段以及舍弃，4位TOS字段和一位保留字段。 
16...]]></description><category></category></item><item><title><![CDATA[TCP协议]]></title><link>https://blog.youkuaiyun.com/ChenYang1998/article/details/80229432</link><guid>https://blog.youkuaiyun.com/ChenYang1998/article/details/80229432</guid><author>ChenYang1998</author><pubDate>Tue, 08 May 2018 17:02:40 +0800</pubDate><description><![CDATA[TCP协议

在学习网络的时候，我们知道TCP协议一种在传输层的协议，与之对应的还有UDP协议，TCP协议的特点如下：


有连接的
面向字节流的
保证数据传输的可靠性
全双工的通信方式




其中，保证数据传输的可靠性是它最大的特点，那么如何保证，我们下面来看一看,TCP协议的报头信息。 
 
他们代表的含义分别是： 
1.源端口和目的端口：都占用两个字节，代表发送主机端口和接收方目的端口，和...]]></description><category></category></item><item><title><![CDATA[MySql数据库之表操作及基本数据类型]]></title><link>https://blog.youkuaiyun.com/ChenYang1998/article/details/80208812</link><guid>https://blog.youkuaiyun.com/ChenYang1998/article/details/80208812</guid><author>ChenYang1998</author><pubDate>Mon, 07 May 2018 16:36:07 +0800</pubDate><description><![CDATA[一.表的操作

1.创建表



create table 表名(列名1 数据类型1，列名2 数据类型2...)charset 字符集
 collate 校验规则 engine 搜索引擎；

字符集和校验规则还有搜索引擎可以不显示给出，MySql默认的是utf8字符集和utf8_general_ci字符校验规则和MyISAM搜索引擎。不同的搜索引擎，在创建表的时候文件不一样，当使用MyISAM搜索...]]></description><category></category></item><item><title><![CDATA[gdb调试【多进程，多线程】]]></title><link>https://blog.youkuaiyun.com/ChenYang1998/article/details/80170198</link><guid>https://blog.youkuaiyun.com/ChenYang1998/article/details/80170198</guid><author>ChenYang1998</author><pubDate>Wed, 02 May 2018 19:32:29 +0800</pubDate><description><![CDATA[一.gdb简介


gdb工具是Linux环境下的调试工具。（本文在centos6.5环境下测试）
在编译源文件时候必须加上 -g选项。
开始调试方式：gdb binfile
退出方式 quit 或者ctrl+d.




gdb调试过程常用命令：



   list／l 行号：显示源代码，接着上次的位置往下列，每次列10行。
   list／l 函数名：列出某个函数的源代码。
   r或run...]]></description><category></category></item><item><title><![CDATA[网络编程之【TCP服务器】]]></title><link>https://blog.youkuaiyun.com/ChenYang1998/article/details/80149853</link><guid>https://blog.youkuaiyun.com/ChenYang1998/article/details/80149853</guid><author>ChenYang1998</author><pubDate>Mon, 30 Apr 2018 16:16:04 +0800</pubDate><description><![CDATA[TCP服务器

基于上一篇文章，我们利用socket编写了一个UDP服务器，链接如下：UDP服务器 
今天我们来实现一个TCP服务器并且对这个TCP服务器进行优化。



TCP协议的特点


有连接的
面向字节流的
可靠的传输 
-




TCP服务器需要用到的接口 
TCP服务器和UDP服务器相同，都是利用SOCKET API接口来实现的，那么创建socket，和绑定bind和UDP是一摸一...]]></description><category></category></item><item><title><![CDATA[网络编程之【UDP服务器】]]></title><link>https://blog.youkuaiyun.com/ChenYang1998/article/details/80136441</link><guid>https://blog.youkuaiyun.com/ChenYang1998/article/details/80136441</guid><author>ChenYang1998</author><pubDate>Sat, 28 Apr 2018 19:17:03 +0800</pubDate><description><![CDATA[一、SOCKET网络套接字 在网络中，要进行两台主机之间的通信，我们需要借助SOCKET网络套接字，那么什么是套接字呢，我们先来认识以下两个概念IP地址和端口号。1.IP地址        IP协议位于网络层，IP协议有两个版本，一个是IPV4,另外一个是IPV6,这里我们讨论的是IPV4协议，IP地址又叫软件地址，是在全世界内标识唯一一台主机的地址，对应IPV4来说，IP地址是占4个字节的，例如...]]></description><category></category></item><item><title><![CDATA[计算机网络基础知识]]></title><link>https://blog.youkuaiyun.com/ChenYang1998/article/details/80084103</link><guid>https://blog.youkuaiyun.com/ChenYang1998/article/details/80084103</guid><author>ChenYang1998</author><pubDate>Thu, 26 Apr 2018 12:03:00 +0800</pubDate><description><![CDATA[计算机网络分层OSI网络七层结构OSI（Open System Interconnection，开放系统互连）七层网络模型称为开放式系统互联参考模型 ，是一个逻辑上的定义，一个规范，它把网络从逻辑上分为了7层。每一层都有相关、相对应的物理设备，比如路由器，交换机。OSI 七层模型是一种框架性的设计方法 ，建立七层模型的主要目的是为解决异种网络互连时所遇到的兼容性问题，其最主要的功能使就是帮助不同类...]]></description><category></category></item><item><title><![CDATA[排序【5】基数排序和计数排序]]></title><link>https://blog.youkuaiyun.com/ChenYang1998/article/details/80037955</link><guid>https://blog.youkuaiyun.com/ChenYang1998/article/details/80037955</guid><author>ChenYang1998</author><pubDate>Tue, 24 Apr 2018 17:15:45 +0800</pubDate><description><![CDATA[前面介绍的几种排序方式都是比较式的排序，今天，我们来介绍两种非比较排序。计数排序和基数排序。
一、计数排序
1.基本思想：
遍历待排数组，找到数组中最大的元素，然后开辟一个比这个最大元素大1的新数组，以新数组的下标表示待排元素，统计原数组中所有元素出现的个数放在新数组相应的位置，然后把新数组中除过0次出现的其余元素，按顺序拷贝回原数组即可。
2.思想流图：]]></description><category></category></item><item><title><![CDATA[MySQL数据库的基本操作]]></title><link>https://blog.youkuaiyun.com/ChenYang1998/article/details/80032175</link><guid>https://blog.youkuaiyun.com/ChenYang1998/article/details/80032175</guid><author>ChenYang1998</author><pubDate>Sat, 21 Apr 2018 21:15:48 +0800</pubDate><description><![CDATA[一.MySQL数据库
1.什么是数据库？为什么要有数据库？
数据用文件存储就可以了，为什么要用数据库保存呢。是因为文件存储数据有以下几点缺点：
    (1)文件的安全性得不到保障，谁都可以通过文件查看数据。
  (2)文件不利于数据的查询，和对数据的管理。
（3)文件无法存放海量数据。
  (4)我们在很多情况下需要通过程序访问数据，文件在程序中不利于控制。
为了解决这些问题，开发]]></description><category></category></item><item><title><![CDATA[排序【4】归并排序]]></title><link>https://blog.youkuaiyun.com/ChenYang1998/article/details/80009223</link><guid>https://blog.youkuaiyun.com/ChenYang1998/article/details/80009223</guid><author>ChenYang1998</author><pubDate>Thu, 19 Apr 2018 20:17:38 +0800</pubDate><description><![CDATA[归并排序
1.基本思想：
   将待排序的元素分为两个长度相等的子序列，为每一个子序列排序，然后将他们合并成一个序列。合并两个子序列的过程叫做两路归并。
2.具体步骤：
  （1）按照类似于快速排序的道理，我们把待排序区间划分成两个长度想等的子区间。
  （2）递归其子区间，直到区间里面的元素只剩下一个，我们认为这个子区间已经有序。
  （3）当区间只剩下一个元素时候，每次将相邻两个区]]></description><category></category></item><item><title><![CDATA[排序【3】交换排序]]></title><link>https://blog.youkuaiyun.com/ChenYang1998/article/details/79977387</link><guid>https://blog.youkuaiyun.com/ChenYang1998/article/details/79977387</guid><author>ChenYang1998</author><pubDate>Wed, 18 Apr 2018 22:09:34 +0800</pubDate><description><![CDATA[冒泡排序

基本思想：为什么叫冒泡排序呢，，是因为每一次排序就像是鱼儿吐泡泡，一个个泡泡从水底到水面会变得越来越大，泡泡就像元素，随着算法的进行，较大的元素就会到后面去。如果升序排列，那么就会对相邻两个元素进行比较，如果前者大于后者，那么就交换这了两个元素，直到最大的元素被排到最后一个位置，第一趟冒泡完成，进行第二趟冒泡，把次大的元素排到倒数第二的位置，重复这个过程。直到所有的元素都被冒泡到合适的...]]></description><category></category></item></channel></rss>