<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[AJIEIT的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/AJIEIT</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; AJIEIT]]></copyright><item><title><![CDATA[秋招之旅，打个总结]]></title><link>https://blog.youkuaiyun.com/AJIEIT/article/details/109046807</link><guid>https://blog.youkuaiyun.com/AJIEIT/article/details/109046807</guid><author>AJIEIT</author><pubDate>Wed, 04 Nov 2020 12:36:54 +0800</pubDate><description><![CDATA[尘埃落定1.秋招之路
1.秋招之路
每个人有每个人的生活态度，有人选择考研就有人选择找工作，这两项无疑都是每一个即将毕业大学生的必经之路吧，或者还有少数人会去选择考公务员，当然这也是一个不错的选择，但是竞争一样很大吧。所谓人生有梦，各自经常，而我选择了找工作！
在今年疫情的影响下，我们大三下学期没能如期的开学，所有的课程都变成了网上授课学习，实验室的课程自然也是一样。但是在家里根本没有心思学习，也导致实验室的项目没有很认真的学好，基本功比较差，很多东西没有深入的了解，就知道个大概，所以在面试的时候只要面试官]]></description><category></category></item><item><title><![CDATA[git代码管理的常用命令]]></title><link>https://blog.youkuaiyun.com/AJIEIT/article/details/107937770</link><guid>https://blog.youkuaiyun.com/AJIEIT/article/details/107937770</guid><author>AJIEIT</author><pubDate>Tue, 11 Aug 2020 16:10:33 +0800</pubDate><description><![CDATA[GIT1.分支(branch)操作相关命令2.远程仓库相关命令3.版本(tag)操作相关命令
1.分支(branch)操作相关命令
查看本地分支：$ git branch
查看远程分支：$ git branch -r
创建本地分支：$ git branch [name] ----注意新分支创建后不会自动切换为当前分支
切换分支：$ git checkout [name]
创建新分支并立即切换到新分支：$ git checkout -b [name]
删除分支：$ git branch -d [name] -]]></description><category></category></item><item><title><![CDATA[C语言的内存布局]]></title><link>https://blog.youkuaiyun.com/AJIEIT/article/details/107906722</link><guid>https://blog.youkuaiyun.com/AJIEIT/article/details/107906722</guid><author>AJIEIT</author><pubDate>Mon, 10 Aug 2020 10:55:51 +0800</pubDate><description><![CDATA[内存布局一张图解释上代码
一张图

英文版：

解释

stack段：局部变量存放区域。函数中的局部变量都是存放在栈中
data段：初始化为非0全局变量和初始化为非0静态局部变量（static）
bss段：（未初始化或者初始化为0的） 全局变量和静态局部变量
text段:存放代码，only read
heap:自己申请的内存区域(malloc和free)

上代码
#include &lt;stdio.h&gt;

int     a = 0;  //bss段（全局数据区）
int     a1 = 1; ]]></description><category></category></item><item><title><![CDATA[Linux下libevent库的使用]]></title><link>https://blog.youkuaiyun.com/AJIEIT/article/details/107528266</link><guid>https://blog.youkuaiyun.com/AJIEIT/article/details/107528266</guid><author>AJIEIT</author><pubDate>Thu, 23 Jul 2020 10:20:19 +0800</pubDate><description><![CDATA[libevent1.libevent的好处2.libevent的使用3.libevent编写多线程
在了解了libevent的安装后，再来了解一下它的使用，特别是进行多线程的使用。其实这个最大的好处就是他在内部帮你封装好了epoll/select多路复用，并且使用了一些设计模式（比如反应堆模式），用事件机制来简化了socket编程然后要用的时候直接把相应的文件描述符加进去即可！
1.libevent的好处

假设有N个客户端同时往服务端通过socket写数据，用了libevent之后，你的server程序里]]></description><category></category></item><item><title><![CDATA[Linux下安装libevent的心酸历程]]></title><link>https://blog.youkuaiyun.com/AJIEIT/article/details/107482946</link><guid>https://blog.youkuaiyun.com/AJIEIT/article/details/107482946</guid><author>AJIEIT</author><pubDate>Tue, 21 Jul 2020 11:55:23 +0800</pubDate><description><![CDATA[libevent1.libevent的简介2.libevent的安装3.libevent库的主要逻辑4.Reactor(反应器)模式4.1reactor基本知识4.2reactor的优点
安装这个libevent的是我学习这么久以来最心酸的一次安装过程了，这次的经历让我明白了，有些链接真的不能全部相信，因为你不知道真实性如何，下次要下载啥，还是去官网下吧，不然下载下来的东西一堆错误，安装这个本来也就四五步的步骤，结果、、、、、、、
1.libevent的简介
Libevent是开源社区一款高性能的I/O框架]]></description><category></category></item><item><title><![CDATA[Linux下JSON通信协议的使用和解析]]></title><link>https://blog.youkuaiyun.com/AJIEIT/article/details/107313362</link><guid>https://blog.youkuaiyun.com/AJIEIT/article/details/107313362</guid><author>AJIEIT</author><pubDate>Mon, 13 Jul 2020 13:42:46 +0800</pubDate><description><![CDATA[JSON的使用1.JSON通信协议的概念2.JSON的语法2.1JSON对象2.2JSON数组
1.JSON通信协议的概念
JavaScript 对象表示法（ JavaScript Object Notation） 。是一种轻量级的数据交换格式。 它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式， 但是也使用了类似于C语言家族的习惯（ 包括C、 C++、 C#、 Java、 JavaScript、 Perl、 Python等） 。这些特性使JSON成为理想的数据交换语言。 易于人]]></description><category></category></item><item><title><![CDATA[Linux下用Gitee（码云）对文件的管理]]></title><link>https://blog.youkuaiyun.com/AJIEIT/article/details/107284917</link><guid>https://blog.youkuaiyun.com/AJIEIT/article/details/107284917</guid><author>AJIEIT</author><pubDate>Sat, 11 Jul 2020 16:29:08 +0800</pubDate><description><![CDATA[码云1.什么是码云2.码云的功能3.码云协作模式4.版本和版本控制系统5.创建仓库6.Linux下上传文件7.删除文件
此前用做项目的时候码云是配置好的，一直就是直接用的。但是现在登陆一个新的系统要重新配置就忘了步骤了，而且上次是作为一个仓库里的成员，所以并没有很复杂，这次自己搞一个仓库有些步骤还是很关键的，现在总结一下。
说到码云，大家第一时间想到的应该是那位“对钱没有兴趣的马云”吧！但是这个码云也是比较有名的，我们一起来了解一下
1.什么是码云
码云（Gitee.com）是专为开发者提供的稳定、高效、安]]></description><category></category></item><item><title><![CDATA[AT指令之收发短信]]></title><link>https://blog.youkuaiyun.com/AJIEIT/article/details/107085383</link><guid>https://blog.youkuaiyun.com/AJIEIT/article/details/107085383</guid><author>AJIEIT</author><pubDate>Fri, 03 Jul 2020 11:51:12 +0800</pubDate><description><![CDATA[收发短信1.Text模式和PDU模式2.英文短信3.中文短信4.注意：
在上一篇分析了一些常用的AT指令后，我们就可以用这些AT指令来打电话或者发短信，那么短信又分为英文短信和中文短信，英文短信比较简单，输入要发的信息就好了，但是中文短信的话就比较复杂了。
注意：在有些时候输入的AT指令是不显示的，需要用‘ate1’来显示命令。
1.Text模式和PDU模式
AT指令收发短信主要有两种模式：Text模式和PDU（Protocol data Unit，协议数据单元）模式。使用Text模式收发短信代码非常简单，]]></description><category></category></item><item><title><![CDATA[常用的AT指令及小烦恼]]></title><link>https://blog.youkuaiyun.com/AJIEIT/article/details/107079512</link><guid>https://blog.youkuaiyun.com/AJIEIT/article/details/107079512</guid><author>AJIEIT</author><pubDate>Thu, 02 Jul 2020 13:22:56 +0800</pubDate><description><![CDATA[常用的AT指令1.AT指令的概念
1.AT指令的概念
AT（Attention）指令集是从终端设备（Terminal Equipment，TE)或数据终端设备（Data Terminal Equipment，DTE)向终端适配器(Terminal Adapter，TA)或数据电路终端设备(Data Circuit Terminal Equipment，DCE)发送的指令。即是应用于终端设备与PC应用之间的连接与通信的指令。
其对所传输的数据包大小有定义：即对于AT指令的发送，除AT两个字符外，最多可以接收1]]></description><category></category></item><item><title><![CDATA[串口通信的小见解]]></title><link>https://blog.youkuaiyun.com/AJIEIT/article/details/107034789</link><guid>https://blog.youkuaiyun.com/AJIEIT/article/details/107034789</guid><author>AJIEIT</author><pubDate>Tue, 30 Jun 2020 10:45:10 +0800</pubDate><description><![CDATA[串口通信1.串口通信的基本原理1.1同步和异步传输2.串口通信的基本结构3.接口标准
串口通信的接口是串行接口，是一种可以将接受来自CPU的并行数据字符转换为连续的串行数据流发送出去，同时可将接受的串行数据流转换为并行的数据字符供给CPU的器件。一般完成这种功能的电路，我们称为串行接口电路。
在我看来这就是一个转换器，把并行的数据换个方法发送给其他设备，当然这个方法也有它的优点和缺点，只是运用在不同的地方而已。

1.串口通信的基本原理
串口 通信（Serial Communications）的概念非常简单]]></description><category></category></item><item><title><![CDATA[Linux下的文件权限与目录配置]]></title><link>https://blog.youkuaiyun.com/AJIEIT/article/details/106903192</link><guid>https://blog.youkuaiyun.com/AJIEIT/article/details/106903192</guid><author>AJIEIT</author><pubDate>Tue, 23 Jun 2020 10:16:57 +0800</pubDate><description><![CDATA[最近看了《鸟哥的Linux私房菜》之后，对文件的权限管理有了新的认识，对文件和目录的权限也有了系统的认知，其中最让我容易混淆的就是“x”权限了！
1.用户和用户组
在我们要学习文件权限的时候，用户和用户组是一个非常基础并且比较重要的概念，这里其实还有个“第三者”，也就是其他人的概念。
由于Linux是个多人多任务的系统，因此可能常常会有很多人同时使用一台主机来进行工作的情况发生，为了考虑到每个人的隐私权和每个人喜好的工作环境，因此文件拥有者（用户）相关的权限设置就显得相当重要。
下面通过一个例子来阐述文件拥]]></description><category></category></item><item><title><![CDATA[linux下同时创建多个进程]]></title><link>https://blog.youkuaiyun.com/AJIEIT/article/details/106644723</link><guid>https://blog.youkuaiyun.com/AJIEIT/article/details/106644723</guid><author>AJIEIT</author><pubDate>Tue, 09 Jun 2020 17:19:59 +0800</pubDate><description><![CDATA[同时创建多个进程
好久没有写博客了，最近在学校做实验的时候遇到一个同时创建两个进程的实验，让我对多进程编程有了新的认识，就一个进程退出的问题让我纠结了几天！
刚开始创建进程时总会出现乱码，进程抢占的问题没有规定，也就是究竟哪个进程先运行没有约定，所以运行的结果是乱的


...]]></description><category></category></item><item><title><![CDATA[归并排序、快速排序和堆排序及C代码]]></title><link>https://blog.youkuaiyun.com/AJIEIT/article/details/105979224</link><guid>https://blog.youkuaiyun.com/AJIEIT/article/details/105979224</guid><author>AJIEIT</author><pubDate>Thu, 07 May 2020 19:16:16 +0800</pubDate><description><![CDATA[排序1.归并排序1.1归并排序的概念1.2算法步骤1.3代码示例2.快速排序2.1快速排序的概念2.2算法步骤2.3代码示例3.堆排序3.1堆排序的概念3.2算法步骤3.3代码示例
1.归并排序
1.1归并排序的概念
归并排序（Merge sort）是建立在归并操作上的一种有效的排序算法。该算法是采用分治法（Divide and Conquer）的一个非常典型的应用。
作为一种典型的分而治之思想的...]]></description><category></category></item><item><title><![CDATA[冒泡排序、选择排序和插入排序及C代码示例]]></title><link>https://blog.youkuaiyun.com/AJIEIT/article/details/105934062</link><guid>https://blog.youkuaiyun.com/AJIEIT/article/details/105934062</guid><author>AJIEIT</author><pubDate>Tue, 05 May 2020 16:23:44 +0800</pubDate><description><![CDATA[排序1.冒泡排序1.1冒泡排序的概念1.2算法步骤1.3代码示例2.选择排序2.1选择排序的概念2.2算法步骤2.3代码示例3.插入排序3.1插入排序的概念3.2算法步骤3.3代码示例
1.冒泡排序
1.1冒泡排序的概念
冒泡排序（Bubble Sort）也是一种简单直观的排序算法。它重复地走访过要排序的数列，一次比较两个元素，如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有...]]></description><category></category></item><item><title><![CDATA[排序的时间复杂度和空间复杂度]]></title><link>https://blog.youkuaiyun.com/AJIEIT/article/details/105933453</link><guid>https://blog.youkuaiyun.com/AJIEIT/article/details/105933453</guid><author>AJIEIT</author><pubDate>Tue, 05 May 2020 15:38:25 +0800</pubDate><description><![CDATA[时间复杂度和空间复杂度1.时间复杂度2.空间复杂度3.各类排序
1.时间复杂度
在计算机科学中，算法的时间复杂度是一个函数，它定性描述该算法的运行时间。这是一个代表算法输入值的字符串的长度的函数。时间复杂度常用大O符号表述，不包括这个函数的低阶项和首项系数。使用这种方式时，时间复杂度可被称为是渐近的，亦即考察输入值大小趋近无穷时的情况。例如，如果一个算法对于任何大小为 n （必须比 n0 大）的输...]]></description><category></category></item><item><title><![CDATA[TCP三路握手和四路挥手及常考面试题]]></title><link>https://blog.youkuaiyun.com/AJIEIT/article/details/105932662</link><guid>https://blog.youkuaiyun.com/AJIEIT/article/details/105932662</guid><author>AJIEIT</author><pubDate>Tue, 05 May 2020 14:56:43 +0800</pubDate><description><![CDATA[TCP
常见面试题

为什么连接的时候是三次握手，关闭的时候却是四次握手？
答：因为当Server端收到Client端的SYN连接请求报文后，可以直接发送SYN+ACK报文。其中ACK报文是用来应答的，SYN报文是用来同步的。但是关闭连接时，当Server端收到FIN报文时，很可能并不会立即关闭SOCKET，所以只能先回复一个ACK报文，告诉Client端，“你发的FIN报文我收到了”。只有等到我...]]></description><category></category></item><item><title><![CDATA[C语言中的大小端字节序]]></title><link>https://blog.youkuaiyun.com/AJIEIT/article/details/105931324</link><guid>https://blog.youkuaiyun.com/AJIEIT/article/details/105931324</guid><author>AJIEIT</author><pubDate>Tue, 05 May 2020 14:37:41 +0800</pubDate><description><![CDATA[大小端字节序1.大小端的概念2.为什么有大小端之分3.相关函数3.1htonl()函数3.2
C语言中数据是存储在内存中的，而内存空间又被划分为以字节为单位的连续地址空间，那么，我们定义的变量是在内存中如何存储的呢。我们把变量在内存中的存储分为两种，大端字节序存储与小端字节序存储。
网络字节序都是大端字节序
主机字节序看本身电脑的情况，有可能是大端有可能是小端
1.大小端的概念
大小端字节序的概念...]]></description><category></category></item><item><title><![CDATA[深拷贝与浅拷贝的区别----------C语言]]></title><link>https://blog.youkuaiyun.com/AJIEIT/article/details/105688959</link><guid>https://blog.youkuaiyun.com/AJIEIT/article/details/105688959</guid><author>AJIEIT</author><pubDate>Wed, 22 Apr 2020 18:51:22 +0800</pubDate><description><![CDATA[深浅拷贝1.深拷贝2.浅拷贝3.二者的区别4.代码示例
深拷贝和浅拷贝是只针对Object和Array这样的引用数据类型的。
1.深拷贝
深拷贝是指源对象与拷贝对象互相独立，其中任何一个对象的改动都不会对另外一个对象造成影响。
就比如在我们的日常生活中，张三想要李四的资料，然后张三就在李四这里复制过去，这时张三和李四手里都有相同的一份资料，但这两份资料相互独立，不管是谁修改了他自己手里的内容都对另...]]></description><category></category></item><item><title><![CDATA[TLV通信协议以及简单的函数封装]]></title><link>https://blog.youkuaiyun.com/AJIEIT/article/details/105661475</link><guid>https://blog.youkuaiyun.com/AJIEIT/article/details/105661475</guid><author>AJIEIT</author><pubDate>Tue, 21 Apr 2020 18:56:17 +0800</pubDate><description><![CDATA[TLV1.什么是TLV2.字节流和字符流2.1字节流2.2 字符流
1.什么是TLV
通信协议可以理解两个节点之间为了协同工作实现信息交换，协商一定的规则和约定，例如规定字节序，各个字段类型，使用什么压缩算法或加密算法等。常 见的有tcp，udo，http，sip等常见协议。协议有流程规范和编码规范。流程如呼叫流程等信令流程，编码规范规定所有信令和数据如何打包/解包。
编码规范就是我们通常所说的编...]]></description><category></category></item><item><title><![CDATA[嵌入式数据库SQLite的基本使用]]></title><link>https://blog.youkuaiyun.com/AJIEIT/article/details/105589652</link><guid>https://blog.youkuaiyun.com/AJIEIT/article/details/105589652</guid><author>AJIEIT</author><pubDate>Fri, 17 Apr 2020 23:14:31 +0800</pubDate><description><![CDATA[SQLite1.SQLite的优点2.常用命令介绍2.1.sqlite3 指令（通常以 . 开头）2.2SQL命令（每个命令以 ；结束）3.SQLite编程函数3.1sqlite3_open()3.2sqlite3_close()3.3sqlite3_errmsg()3.4sqlite3_exec()
1.SQLite的优点
SQLite是一个非常轻量级自包含(lightweight and se...]]></description><category></category></item></channel></rss>