<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[yanziguilai的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/yanziguilai</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; yanziguilai]]></copyright><item><title><![CDATA[nginx单独模块编译的makefile编写]]></title><link>https://blog.youkuaiyun.com/yanziguilai/article/details/55803281</link><guid>https://blog.youkuaiyun.com/yanziguilai/article/details/55803281</guid><author>yanziguilai</author><pubDate>Sun, 19 Feb 2017 12:00:41 +0800</pubDate><description><![CDATA[nginx单独模块编译的makefile编写由于开发一个nginx模块时，需要编译本模块的代码，在未开发完，需要单独编译编写的代码，就弄个单独的makefile。代码makefile代码如下：CXX = gcc
CXXFLAGS +=-g -Wall -WextraNGX_ROOT =/usr/home/yupei1/study/my_test/nginx_0761TARGETS =ngx_http]]></description><category></category></item><item><title><![CDATA[安装phpredis]]></title><link>https://blog.youkuaiyun.com/yanziguilai/article/details/50195109</link><guid>https://blog.youkuaiyun.com/yanziguilai/article/details/50195109</guid><author>yanziguilai</author><pubDate>Sun, 06 Dec 2015 15:09:25 +0800</pubDate><description><![CDATA[第一步 安装phpredis
           下载
           git clone https://github.com/phpredis/phpredis.git
           进入phpredis：
          cd phpredis
          用phpize命令生成configure配置文件
          phpize
     ]]></description><category></category></item><item><title><![CDATA[并发编程网]]></title><link>https://blog.youkuaiyun.com/yanziguilai/article/details/50044523</link><guid>https://blog.youkuaiyun.com/yanziguilai/article/details/50044523</guid><author>yanziguilai</author><pubDate>Wed, 25 Nov 2015 23:42:20 +0800</pubDate><description><![CDATA[http://ifeve.com/]]></description><category></category></item><item><title><![CDATA[同一进程的线程共享的资源和独有的资源]]></title><link>https://blog.youkuaiyun.com/yanziguilai/article/details/44702763</link><guid>https://blog.youkuaiyun.com/yanziguilai/article/details/44702763</guid><author>yanziguilai</author><pubDate>Sat, 28 Mar 2015 16:50:51 +0800</pubDate><description><![CDATA[线程共享的环境包括：进程代码段、进程的公有数据(利用这些共享的数据，线程很容易的实现相互之间的通讯)、进程打开的文件描述符、信号的处理器、进程的当前目录和进程用户ID与进程组ID。
 
    进程拥有这许多共性的同时，还拥有自己的个性。有了这些个性，线程才能实现并发性。这些个性包括：

    1.线程ID
      每个线程都有自己的线程ID，这个ID在本进程中是唯一的。进程用此来]]></description><category></category></item><item><title><![CDATA[windows TLS （线程本地存储）]]></title><link>https://blog.youkuaiyun.com/yanziguilai/article/details/43158713</link><guid>https://blog.youkuaiyun.com/yanziguilai/article/details/43158713</guid><author>yanziguilai</author><pubDate>Mon, 26 Jan 2015 20:28:11 +0800</pubDate><description><![CDATA[windows TLS （线程本地存储）



一、TLS简述和分类

我们知道在一个进程中，所有线程是共享同一个地址空间的。所以，如果一个变量是全局的或者是静态的，那么所有线程访问的是同一份，如果某一个线程对其进行了修改，也就会影响到其他所有的线程。不过我们可能并不希望这样，所以更多的推荐用基于堆栈的自动变量或函数参数来访问数据，因为基于堆栈的变量总是和特定的线程相联系的。

不]]></description><category></category></item><item><title><![CDATA[boost::asio::io_service(之一)]]></title><link>https://blog.youkuaiyun.com/yanziguilai/article/details/43125525</link><guid>https://blog.youkuaiyun.com/yanziguilai/article/details/43125525</guid><author>yanziguilai</author><pubDate>Sun, 25 Jan 2015 23:46:20 +0800</pubDate><description><![CDATA[boost::asio::io_service
/// Provides core I/O functionality.
/**
 * The io_service class provides the core I/O functionality for users of the
 * asynchronous I/O objects, including:
 * io_service]]></description><category></category></item><item><title><![CDATA[boost::deadline_timer]]></title><link>https://blog.youkuaiyun.com/yanziguilai/article/details/43025555</link><guid>https://blog.youkuaiyun.com/yanziguilai/article/details/43025555</guid><author>yanziguilai</author><pubDate>Thu, 22 Jan 2015 20:44:14 +0800</pubDate><description><![CDATA[boost::deadline_timer
定义
typedef basic_deadline_timer deadline_timer;
basic_deadline_timer是个模板类。


构造函数
deadline_timer有三个构造函数：
1 explicit basic_deadline_timer(boost::asio::io_service& io_servi]]></description><category></category></item><item><title><![CDATA[boost::checked_delete]]></title><link>https://blog.youkuaiyun.com/yanziguilai/article/details/42967823</link><guid>https://blog.youkuaiyun.com/yanziguilai/article/details/42967823</guid><author>yanziguilai</author><pubDate>Wed, 21 Jan 2015 14:28:10 +0800</pubDate><description><![CDATA[先看一段能够正常执行的代码，但会造成内存泄漏：
deleteObject.h 
实现删除一个CObjectItem的派生类的指针所指的内存
#pragma once

namespace smtlCheck
{
	class CObjectItem;

	class CDeleteObject
	{
	public:
		CDeleteObject(void);
		~CDeleteObje]]></description><category></category></item><item><title><![CDATA[036二叉树的镜像(keep it up)]]></title><link>https://blog.youkuaiyun.com/yanziguilai/article/details/41322797</link><guid>https://blog.youkuaiyun.com/yanziguilai/article/details/41322797</guid><author>yanziguilai</author><pubDate>Thu, 20 Nov 2014 22:02:32 +0800</pubDate><description><![CDATA[剑指offer中题目：http://ac.jobdu.com/problem.php?pid=1521


题目描述：

输入一个二叉树，输出其镜像。






输入：

输入可能包含多个测试样例，输入以EOF结束。
对于每个测试案例，输入的第一行为一个整数n(0
Ci=’d’表示第i个节点有两子孩子，紧接着是左孩子编号和右孩子编号。
Ci=’l’表示第i个节点]]></description><category></category></item><item><title><![CDATA[035树的子结构(keep it up)]]></title><link>https://blog.youkuaiyun.com/yanziguilai/article/details/41122781</link><guid>https://blog.youkuaiyun.com/yanziguilai/article/details/41122781</guid><author>yanziguilai</author><pubDate>Fri, 14 Nov 2014 20:39:41 +0800</pubDate><description><![CDATA[剑指offer中题目：http://ac.jobdu.com/problem.php?pid=1520


题目描述：

输入两颗二叉树A，B，判断B是不是A的子结构。




输入：

输入可能包含多个测试样例，输入以EOF结束。
对于每个测试案例，输入的第一行一个整数n,m(1




输出：

对应每个测试案例，
若B是A的子树输出”YES”(不包含]]></description><category></category></item><item><title><![CDATA[034链表中倒数第k个结点(keep it up)]]></title><link>https://blog.youkuaiyun.com/yanziguilai/article/details/41015805</link><guid>https://blog.youkuaiyun.com/yanziguilai/article/details/41015805</guid><author>yanziguilai</author><pubDate>Tue, 11 Nov 2014 19:26:55 +0800</pubDate><description><![CDATA[剑指offer中题目：http://ac.jobdu.com/problem.php?pid=1517


题目描述：

输入一个链表，输出该链表中倒数第k个结点。
(hint: 请务必使用链表。)




输入：

输入可能包含多个测试样例，输入以EOF结束。
对于每个测试案例，输入的第一行为两个整数n和k(0
输入的第二行包括n个数t(1




输出：]]></description><category></category></item><item><title><![CDATA[033 调整数组顺序使奇数位于偶数前面(keep it up)]]></title><link>https://blog.youkuaiyun.com/yanziguilai/article/details/41008717</link><guid>https://blog.youkuaiyun.com/yanziguilai/article/details/41008717</guid><author>yanziguilai</author><pubDate>Tue, 11 Nov 2014 11:20:07 +0800</pubDate><description><![CDATA[剑指offer中题目：http://ac.jobdu.com/problem.php?pid=1516


题目描述：

输入一个整数数组，实现一个函数来调整该数组中数字的顺序，使得所有的奇数位于数组的前半部分，所有的偶数位于位于数组的后半部分，并保证奇数和奇数，偶数和偶数之间的相对位置不变。




输入：

每个输入文件包含一组测试案例。
对于每个测试案例，第一行输入]]></description><category></category></item><item><title><![CDATA[032数值的整数次方(keep it up)]]></title><link>https://blog.youkuaiyun.com/yanziguilai/article/details/40985551</link><guid>https://blog.youkuaiyun.com/yanziguilai/article/details/40985551</guid><author>yanziguilai</author><pubDate>Mon, 10 Nov 2014 19:54:34 +0800</pubDate><description><![CDATA[剑指offer中题目：http://ac.jobdu.com/problem.php?pid=1514


题目描述：

给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。




输入：

输入可能包含多个测试样例。
对于每个输入文件，第一行输入一个整数T，表示测试案例的数目，接下来的T行每行输入一个浮点数ba]]></description><category></category></item><item><title><![CDATA[031 二进制中1的个数(keep it up, 看到这个题刚开始有点蒙)]]></title><link>https://blog.youkuaiyun.com/yanziguilai/article/details/40985493</link><guid>https://blog.youkuaiyun.com/yanziguilai/article/details/40985493</guid><author>yanziguilai</author><pubDate>Mon, 10 Nov 2014 19:51:43 +0800</pubDate><description><![CDATA[剑指offer中题目：http://ac.jobdu.com/problem.php?pid=1513




题目描述：

输入一个整数，输出该数二进制表示中1的个数。其中负数用补码表示。




输入：

输入可能包含多个测试样例。
对于每个输入文件，第一行输入一个整数T，代表测试样例的数量。对于每个测试样例输入为一个整数。
。n保证是int范围内的一个整数。]]></description><category></category></item><item><title><![CDATA[boost::signals::signal的用法]]></title><link>https://blog.youkuaiyun.com/yanziguilai/article/details/40977481</link><guid>https://blog.youkuaiyun.com/yanziguilai/article/details/40977481</guid><author>yanziguilai</author><pubDate>Mon, 10 Nov 2014 11:06:51 +0800</pubDate><description><![CDATA[吃力的讲完boost::signals的ppt，然后接着就是做练习题。通过讲ppt，发现有一句话说的真好：你自己知道是一回事，你能给别人讲明白又是另外一回事。真的有些东西你自己理解，但是用语言去很难表达，是不是用语言难以表达暴露出自己对所理解的东西不是真正的理解？。。。。orz，不过讲完ppt之后，真的对boost::singals的理解又加深一层。好了废话不多说了，现在来看两个习题（ppt的内容]]></description><category></category></item><item><title><![CDATA[030变态跳台阶(keep it up)]]></title><link>https://blog.youkuaiyun.com/yanziguilai/article/details/40958009</link><guid>https://blog.youkuaiyun.com/yanziguilai/article/details/40958009</guid><author>yanziguilai</author><pubDate>Sun, 09 Nov 2014 22:41:35 +0800</pubDate><description><![CDATA[剑指offer中题目：http://ac.jobdu.com/problem.php?pid=1389

题目描述：
一只青蛙一次可以跳上1级台阶，也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

输入：
输入可能包含多个测试样例，对于每个测试案例，
输入包括一个整数n(1

输出：
对应每个测试案例，
输出该青蛙跳上一个n级的台阶总共有多少]]></description><category></category></item><item><title><![CDATA[029斐波那契数列的矩阵解法(keep it up)]]></title><link>https://blog.youkuaiyun.com/yanziguilai/article/details/40955573</link><guid>https://blog.youkuaiyun.com/yanziguilai/article/details/40955573</guid><author>yanziguilai</author><pubDate>Sun, 09 Nov 2014 22:05:08 +0800</pubDate><description><![CDATA[剑指offer中题目：http://ac.jobdu.com/problem.php?pid=1387

题目描述：
大家都知道斐波那契数列，现在要求输入一个整数n，请你输出斐波那契数列的第n项。斐波那契数列的定义如下：


输入：
输入可能包含多个测试样例，对于每个测试案例，
输入包括一个整数n(1

输出：
对应每个测试案例，
输出第n项斐波那契数列的值。

样例输]]></description><category></category></item><item><title><![CDATA[028用两个栈实现队列(keep it up)]]></title><link>https://blog.youkuaiyun.com/yanziguilai/article/details/40926929</link><guid>https://blog.youkuaiyun.com/yanziguilai/article/details/40926929</guid><author>yanziguilai</author><pubDate>Sat, 08 Nov 2014 21:35:55 +0800</pubDate><description><![CDATA[剑指offer中题目：http://ac.jobdu.com/problem.php?pid=15


题目描述：

用两个栈来实现一个队列，完成队列的Push和Pop操作。
队列中的元素为int类型。




输入：

每个输入文件包含一个测试样例。
对于每个测试样例，第一行输入一个n(1
接下来的n行，每行输入一个队列操作：
1. PUSH X 向队列中push]]></description><category></category></item><item><title><![CDATA[027根据前序遍历和中序遍历，重建二叉树(keep it up)]]></title><link>https://blog.youkuaiyun.com/yanziguilai/article/details/40923933</link><guid>https://blog.youkuaiyun.com/yanziguilai/article/details/40923933</guid><author>yanziguilai</author><pubDate>Sat, 08 Nov 2014 19:33:12 +0800</pubDate><description><![CDATA[剑指offer中题目：http://ac.jobdu.com/problem.php?pid=1385


题目描述：
输入某二叉树的前序遍历和中序遍历的结果，请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6}，则重建二叉树并输出它的后序遍历序列。



输入]]></description><category></category></item><item><title><![CDATA[026从尾到头打印链表(keep it up)]]></title><link>https://blog.youkuaiyun.com/yanziguilai/article/details/40919695</link><guid>https://blog.youkuaiyun.com/yanziguilai/article/details/40919695</guid><author>yanziguilai</author><pubDate>Sat, 08 Nov 2014 12:32:01 +0800</pubDate><description><![CDATA[剑指offer中题目：http://ac.jobdu.com/problem.php?pid=1511


题目描述：

输入一个链表，从尾到头打印链表每个节点的值。




输入：

每个输入文件仅包含一组测试样例。
每一组测试案例包含多行，每行一个大于0的整数，代表一个链表的节点。第一行是链表第一个节点的值，依次类推。当输入到-1时代表链表输入完毕。-1本身不属于链表]]></description><category></category></item></channel></rss>