<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[aalef64626的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/aalef64626</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; aalef64626]]></copyright><item><title><![CDATA[web开发中的mysql使用]]></title><link>https://blog.youkuaiyun.com/aalef64626/article/details/102440848</link><guid>https://blog.youkuaiyun.com/aalef64626/article/details/102440848</guid><author>aalef64626</author><pubDate>Tue, 12 Feb 2019 22:28:00 +0800</pubDate><description><![CDATA[一.单机mysql与mysql集群
1. 单机mysql很好理解，在一台物理机上安装好mysql服务端程序，使用这一台机器的硬件（cpu，内存，硬盘）进行数据的处理。
2.mysql集群

MySQL集群是一个无共享的(shared-nothing)、分布式节点架构的存储方案，其目的是提供容错性和高性能。

按照如上mysql集群的解释，我的理解是mysql集群主要是用来解...]]></description><category></category></item><item><title><![CDATA[Linux 网络编程中的read和write函数正确的使用方式]]></title><link>https://blog.youkuaiyun.com/aalef64626/article/details/102440846</link><guid>https://blog.youkuaiyun.com/aalef64626/article/details/102440846</guid><author>aalef64626</author><pubDate>Tue, 26 Sep 2017 17:20:00 +0800</pubDate><description><![CDATA[字节流套接字上的read和write函数所表现的行为不同于通常的文件IO，字节流套接字上调用read和write输入或输出的可能比请求的数量少，然而这不是出错的状态，例如某个中端使read和write提前返回，这时就应该继续读和写而不是出错返回了，下面是unp中对read和write函数在socket中的使用的封装。

#include &lt;stdio.h&gt;
#include...]]></description><category></category></item><item><title><![CDATA[Linux  使用tcpdump观察arp通信过程]]></title><link>https://blog.youkuaiyun.com/aalef64626/article/details/102440835</link><guid>https://blog.youkuaiyun.com/aalef64626/article/details/102440835</guid><author>aalef64626</author><pubDate>Tue, 26 Sep 2017 14:52:00 +0800</pubDate><description><![CDATA[ARP协议简介：
ARP协议能实现任意网络层地址到任意物理地址的转换，此次讨论从IP地址到以太网地址（MAC地址）的转换。其工作原理是：主机向自己所在的网络广播一个ARP请求，该请求包含目标机器的网络地址。此网络上的其他机器都将收到这个请求，但只有被请求的目标机器会回应一个ARP应答，其中包含自己的物理地址。
1.搭建网络环境，见下图


用了两个虚拟...]]></description><category></category></item><item><title><![CDATA[Linux 开启echo等服务]]></title><link>https://blog.youkuaiyun.com/aalef64626/article/details/102440844</link><guid>https://blog.youkuaiyun.com/aalef64626/article/details/102440844</guid><author>aalef64626</author><pubDate>Tue, 26 Sep 2017 14:27:00 +0800</pubDate><description><![CDATA[第一步： 需要安装xinetd服务(其实daytime就包含在xinetd服务中)，安装就直接在“新立得软件管理器“里搜索，安装。

　　 sudo apt-get install xinetd

    第二步： 修改 /etc/xinetd.d/daytime以及/etc/xinetd.d/echo文件。 将这两个文件中的两个disable的值yes...]]></description><category></category></item><item><title><![CDATA[Linux send和recv]]></title><link>https://blog.youkuaiyun.com/aalef64626/article/details/102440842</link><guid>https://blog.youkuaiyun.com/aalef64626/article/details/102440842</guid><author>aalef64626</author><pubDate>Mon, 25 Sep 2017 18:12:00 +0800</pubDate><description><![CDATA[1.send 函数

intsend(SOCKETs, constcharFAR*buf, intlen, intflags);
 不论是客户还是服务器应用程序都用send函数来向TCP连接的另一端发送数据。客户程序一般用send函数向服务器发送请求，而服务器则通常用send函数来向客户程序发送应答。
 该函数的第一个参数指定发送端套接字描述符；
...]]></description><category></category></item><item><title><![CDATA[自己动手写http服务器——主程序（三）]]></title><link>https://blog.youkuaiyun.com/aalef64626/article/details/102440841</link><guid>https://blog.youkuaiyun.com/aalef64626/article/details/102440841</guid><author>aalef64626</author><pubDate>Fri, 15 Sep 2017 15:28:00 +0800</pubDate><description><![CDATA[功能：目前只支持对资源的访问.
使用的模型：多线程加epoll，与传统的一个连接请求一个线程处理不同的是，这个模型只为那些需要服务的连接请求调用线程进行处理，
整个模型的大致流程

创建一个线程持对象，将每一个线程池设为脱离线程，这样，在线程结束后，可以自动回收资源，每一个调用线程都在等一个信号，这个线程池有一个工作队列，每往里面加一个连接请求，就让信号量 加一，得到这个信号量的线程就...]]></description><category></category></item><item><title><![CDATA[http请求报文格式和响应报文格式]]></title><link>https://blog.youkuaiyun.com/aalef64626/article/details/102440839</link><guid>https://blog.youkuaiyun.com/aalef64626/article/details/102440839</guid><author>aalef64626</author><pubDate>Fri, 15 Sep 2017 14:44:00 +0800</pubDate><description><![CDATA[转载 出处

  
                                            
                        　　超文本传输协议(Hypertext Transfer Protocol，简称HTTP)是应用层协议。HTTP 是一种请求/响应式的协议，即一个客户端与服务器建立连接后，向服务器发送一个请求;服务器接到请求后，给予相应的响应信息...]]></description><category></category></item><item><title><![CDATA[自己动手写http服务器——线程池（一）]]></title><link>https://blog.youkuaiyun.com/aalef64626/article/details/102440836</link><guid>https://blog.youkuaiyun.com/aalef64626/article/details/102440836</guid><author>aalef64626</author><pubDate>Fri, 15 Sep 2017 14:44:00 +0800</pubDate><description><![CDATA[创建一个线程池，每有一个连接对象就将它添加到工作队列中，线程池中的线程通过竞争来取得任务并执行它（它是通过信号量实现的）。

//filename threadpool.h
#ifndef THREADPOOL_H
#define THREADPOOL_H

#include &lt;list&gt;
#include &lt;cstdio&gt;
#include &lt;excep...]]></description><category></category></item><item><title><![CDATA[ubuntu16.04 Qt5.8 如何使用opecv3.2]]></title><link>https://blog.youkuaiyun.com/aalef64626/article/details/102440834</link><guid>https://blog.youkuaiyun.com/aalef64626/article/details/102440834</guid><author>aalef64626</author><pubDate>Sun, 10 Sep 2017 01:43:00 +0800</pubDate><description><![CDATA[关于opencv3.2的编译有一大堆教程。可自寻查看。在Qt中使用opencv需要在pro文件中添加 相应的头文件和 动态链接库。如下
INCLUDEPATH += .
INCLUDEPATH += /usr/local/include
INCLUDEPATH += /usr/local/include/opencv
INCLUDEPATH += /usr/local/include/o...]]></description><category></category></item><item><title><![CDATA[Qt 显示图片的三种方法]]></title><link>https://blog.youkuaiyun.com/aalef64626/article/details/102440833</link><guid>https://blog.youkuaiyun.com/aalef64626/article/details/102440833</guid><author>aalef64626</author><pubDate>Sun, 10 Sep 2017 01:41:00 +0800</pubDate><description><![CDATA[一.
直接用QLabel显示原图
   //单独显示的QLabel 其大小为内容即图片的大小，若将QLabel放入QMainWindow中则QLabel的大小为其初始大小。

    /*
    QLabel *label=new QLabel();
    QImage image("/home/ws/Pictures/cat.png");
    label-&gt;setPixm...]]></description><category></category></item><item><title><![CDATA[Markdown语法入门]]></title><link>https://blog.youkuaiyun.com/aalef64626/article/details/102440819</link><guid>https://blog.youkuaiyun.com/aalef64626/article/details/102440819</guid><author>aalef64626</author><pubDate>Sun, 03 Sep 2017 23:11:00 +0800</pubDate><description><![CDATA[本文内容参考与这里,本篇文档，用Markdown语法写成。

概述
宗旨
Markdown 的目标是实现「易读易写」。
可读性，无论如何，都是最重要的。一份使用 Markdown 格式撰写的文件应该可以直接以纯文本发布，并且看起来不会像是由许多标签或是格式指令所构成。Markdown 语法受到一些既有 text-to-HTML 格式的影响，包括 Setext、atx、Textile、r...]]></description><category></category></item><item><title><![CDATA[Linux网络编程]]></title><link>https://blog.youkuaiyun.com/aalef64626/article/details/102440823</link><guid>https://blog.youkuaiyun.com/aalef64626/article/details/102440823</guid><author>aalef64626</author><pubDate>Thu, 24 Aug 2017 19:36:00 +0800</pubDate><description><![CDATA[前言：整理下Linux下socket编程相关的一下API和知识点
流式套接字处理流程                                                  

数据报套接字处理流程

字节序：字节序有大端小端之分，不同的处理架构在存储一个多字节数字时...]]></description><category></category></item><item><title><![CDATA[Linux多线程编程——线程的同步]]></title><link>https://blog.youkuaiyun.com/aalef64626/article/details/102440817</link><guid>https://blog.youkuaiyun.com/aalef64626/article/details/102440817</guid><author>aalef64626</author><pubDate>Wed, 23 Aug 2017 11:54:00 +0800</pubDate><description><![CDATA[POSIX信号量
posix信号量不同于IPC中的信号量
常用的posix信号量函数

#include &lt;semaphore.h&gt;
int sem_init(sem_t* sem,int pshared,unsigned int value);
//初始化一个信号量，pshared参数指定信号量的类型，若为0,表示信号量为当前进程的局部信号量，否则，该信...]]></description><category></category></item><item><title><![CDATA[Linux多线程编程——线程的创建与退出]]></title><link>https://blog.youkuaiyun.com/aalef64626/article/details/102440822</link><guid>https://blog.youkuaiyun.com/aalef64626/article/details/102440822</guid><author>aalef64626</author><pubDate>Tue, 22 Aug 2017 19:37:00 +0800</pubDate><description><![CDATA[POSIX线程标准:该标准定义了创建和操纵线程的一整套API。在类Unix操作系统（Unix、Linux、Mac OS X等）中，都使用Pthreads作为操作系统的线程。Windows操作系统也有其移植版pthreads-win32。虽说现在c++11也把线程加入了标准库，但需要gcc4.8版本以上的编译器才能很好的支持，所以这里我们仍然学习posix线程标准，而且两者相差不大，学习多...]]></description><category></category></item><item><title><![CDATA[Linux 进程间通信(包含一个经典的生产者消费者实例代码）]]></title><link>https://blog.youkuaiyun.com/aalef64626/article/details/102440820</link><guid>https://blog.youkuaiyun.com/aalef64626/article/details/102440820</guid><author>aalef64626</author><pubDate>Tue, 22 Aug 2017 02:08:00 +0800</pubDate><description><![CDATA[前言：编写多进程程序时，有时不可避免的需要在多个进程之间传递数据，我们知道，进程的用户的地址空间是独立，父进程中对数据的修改并不会反映到子进程中，但内核是共享的，大多数进程间通信方式都是在内核中建立一块存储区域，用来实现进程间的通信(也可以将数据写进文件，通过文件操作，但文件操作的开销会比较大）。
一.管道通信方式：管道通信具有单向，无结构，先进先出的字节流特点;管道有2个端点，一个端...]]></description><category></category></item><item><title><![CDATA[Linux多进程编程实例]]></title><link>https://blog.youkuaiyun.com/aalef64626/article/details/102440816</link><guid>https://blog.youkuaiyun.com/aalef64626/article/details/102440816</guid><author>aalef64626</author><pubDate>Sun, 20 Aug 2017 00:30:00 +0800</pubDate><description><![CDATA[前言：编写多进程程序时，我们应该了解一下，创建一个子进程时，操作系统内核是怎样做的。当通过fork函数创建新的子进程时，内核将父进程的用户地址空间的内容复制给子进程，这样父子进程拥有各自独立的用户空间，当父进程修该变量的值时不会影响子进程中的相应变量。但为了提高效率，Linux采用了COW（copy on write）算法，子进程创建时，父子进程享有相同的地址空间，只是在页表中设置cow...]]></description><category></category></item><item><title><![CDATA[Linux 多进程多线程相关概念]]></title><link>https://blog.youkuaiyun.com/aalef64626/article/details/102440818</link><guid>https://blog.youkuaiyun.com/aalef64626/article/details/102440818</guid><author>aalef64626</author><pubDate>Fri, 18 Aug 2017 23:05:00 +0800</pubDate><description><![CDATA[进程：可执行程序是存储在磁盘设备上的由代码和数据按某种格式组织的静态实体，而进程是可被调度的代码的动态运行。在Linux系统中，每个进程都有各自的生命周期。在一个进程的生命周期中，都有各自的运行环境以及所需的资源，这些信息都记录在各自的进程控制块中，以便系统对这些进程进行有效的管理，进程控制块的结构如下图所示：

每个进程都有各自独立的虚拟地址空间，空间的大小与所基于的硬件体系结构有...]]></description><category></category></item></channel></rss>