<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[LonelyWinter的专栏]]></title><description><![CDATA[——Developing]]></description><link>https://blog.youkuaiyun.com/lonelywinter340</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; lonelywinter340]]></copyright><item><title><![CDATA[Nginx 内存池（pool）分析]]></title><link>https://blog.youkuaiyun.com/lonelywinter340/article/details/16851541</link><guid>https://blog.youkuaiyun.com/lonelywinter340/article/details/16851541</guid><author>lonelywinter340</author><pubDate>Wed, 20 Nov 2013 22:10:04 +0800</pubDate><description><![CDATA[转自：http://www.linuxidc.com/Linux/2011-08/41860.htm


Nginx 内存池管理的源码在src/core/ngx_palloc.h、src/core/ngx_palloc.c 两个文件中。
先将我整理的注释等内容贴上，方便下面分析：
ngx_create_pool：创建pool
ngx_destory_pool：销毁 pool
ngx_]]></description><category></category></item><item><title><![CDATA[Unix网络编程学习笔记——close与shutdown]]></title><link>https://blog.youkuaiyun.com/lonelywinter340/article/details/16370999</link><guid>https://blog.youkuaiyun.com/lonelywinter340/article/details/16370999</guid><author>lonelywinter340</author><pubDate>Sun, 17 Nov 2013 18:21:40 +0800</pubDate><description><![CDATA[在linux网络程序中有两个函数都可以发起终端TCP连接的请求，close与shutdown，那么这两个函数到底有什么区别呢？


int close(int sockfd);


close函数的缺省功能是将套接口做上”已关闭“标记，并立即返回到进程，这个套接字本身不能被该进程使用：它不能被用作read和write的参数，但TCP将试着发送以排队待发的任何数据，然后按照正常的TCP终]]></description><category></category></item><item><title><![CDATA[Unix网络编程学习笔记——Select函数的返回条件]]></title><link>https://blog.youkuaiyun.com/lonelywinter340/article/details/16368421</link><guid>https://blog.youkuaiyun.com/lonelywinter340/article/details/16368421</guid><author>lonelywinter340</author><pubDate>Sun, 17 Nov 2013 11:54:43 +0800</pubDate><description><![CDATA[int select(int maxfdp,fd_set *readfds,fd_set *writefds,fd_set *errorfds,struct timeval *timeout); 


在select函数的定义中，中间三个参数用于指定我们需要内核帮助测试是否可读、可写和异常条件的描述字。
那么描述字在哪些情况下才会被认为准备好呢？


下面四个条件任何一个满足的时候套]]></description><category></category></item><item><title><![CDATA[链表常用操作的实现-C++模板实现]]></title><link>https://blog.youkuaiyun.com/lonelywinter340/article/details/14491515</link><guid>https://blog.youkuaiyun.com/lonelywinter340/article/details/14491515</guid><author>lonelywinter340</author><pubDate>Thu, 07 Nov 2013 22:02:55 +0800</pubDate><description><![CDATA[注：该贴为本人在温习数据结构的过程中自娱自乐编写的代码，如有错误欢迎纠正：）
链表节点声明

template 
class LinkNode
{
public:
    LinkNode(T v) { value=v; }
    T value;
    LinkNode* next;
};

链表类的声明


template 
class LinkList
{
    pu]]></description><category></category></item><item><title><![CDATA[链表笔试面试题]]></title><link>https://blog.youkuaiyun.com/lonelywinter340/article/details/14053363</link><guid>https://blog.youkuaiyun.com/lonelywinter340/article/details/14053363</guid><author>lonelywinter340</author><pubDate>Sat, 02 Nov 2013 11:33:46 +0800</pubDate><description><![CDATA[1.已知链表的头结点head,写一个函数把这个链表逆序





[cpp] view
 plaincopy






void List::reverse()  
{  
        list_node * p = head;  
        list_node * q = p->next;  
        list_node * r = NUL]]></description><category></category></item><item><title><![CDATA[各种排序算法的总结和比较]]></title><link>https://blog.youkuaiyun.com/lonelywinter340/article/details/13161835</link><guid>https://blog.youkuaiyun.com/lonelywinter340/article/details/13161835</guid><author>lonelywinter340</author><pubDate>Sat, 26 Oct 2013 23:30:06 +0800</pubDate><description><![CDATA[1 快速排序（QuickSort）
 
快速排序是一个就地排序，分而治之，大规模递归的算法。从本质上来说，它是归并排序的就地版本。快速排序可以由下面四步组成。
 
（1） 如果不多于1个数据，直接返回。
（2） 一般选择序列最左边的值作为支点数据。
（3） 将序列分成2部分，一部分都大于支点数据，另外一部分都小于支点数据。
（4） 对两边利用递归排序数列。
 
快速排序比大部分排]]></description><category></category></item><item><title><![CDATA[Windows Socket五种I/O模型（二）——异步选择 ]]></title><link>https://blog.youkuaiyun.com/lonelywinter340/article/details/3468895</link><guid>https://blog.youkuaiyun.com/lonelywinter340/article/details/3468895</guid><author>lonelywinter340</author><pubDate>Sun, 07 Dec 2008 20:27:00 +0800</pubDate><description><![CDATA[Winsock 提供了一个有用的异步I/O模型。利用这个模型，应用程序可在一个套接字上，接收以Windows消息为基础的网络事件通知。具体的做法是在建好一个套接字后，调用WSAAsyncSelect函数。该模型最早出现于Winsock的1.1版本中，用于帮助应用程序开发者面向一些早期的16位 Windows平台（如Windows for Workgroups），适应其“落后”的多任务消息环境。应用]]></description><category></category></item><item><title><![CDATA[微软打算建造巨型计算中心群]]></title><link>https://blog.youkuaiyun.com/lonelywinter340/article/details/3413591</link><guid>https://blog.youkuaiyun.com/lonelywinter340/article/details/3413591</guid><author>lonelywinter340</author><pubDate>Sun, 30 Nov 2008 11:49:00 +0800</pubDate><description><![CDATA[转自：http://blog.sina.com.cn/s/blog_4e8581890100bmza.html 今年2月1日，微软突然宣布，欲巨资（446亿美元）收购雅虎，雅虎杨致远“不识相”，扭扭捏捏，坐失良机，导致微软放弃（5月4日）该项收购计划。近日，杨致远终于“下课”，早该如此。于是，微软决心走自己的路，而不是向美国政府伸手要补助。         微软打算建造自己的“巨型计算]]></description><category></category></item><item><title><![CDATA[Windows Socket五种I/O模型（一）——选择模型（Select）]]></title><link>https://blog.youkuaiyun.com/lonelywinter340/article/details/3352569</link><guid>https://blog.youkuaiyun.com/lonelywinter340/article/details/3352569</guid><author>lonelywinter340</author><pubDate>Sat, 22 Nov 2008 23:19:00 +0800</pubDate><description><![CDATA[如果你想在Windows平台上构建服务器应用，那么I/O模型是你必须考虑的。Windows操作系统提供了选择（Select）、异步选择（WSAAsyncSelect）、事件选择（WSAEventSelect）、重叠I/O（Overlapped I/O）和完成端口（Completion Port)共五种I/O模型。每一种模型均适用于一种特定的应用场景。程序员应该对自己的应用需求非常明确，而且综合考虑]]></description><category></category></item><item><title><![CDATA[《STL源码剖析》学习笔记4——迭代器（Iterator）]]></title><link>https://blog.youkuaiyun.com/lonelywinter340/article/details/3327700</link><guid>https://blog.youkuaiyun.com/lonelywinter340/article/details/3327700</guid><author>lonelywinter340</author><pubDate>Tue, 18 Nov 2008 18:42:00 +0800</pubDate><description><![CDATA[标签：STL,源码,iterator,迭代器,traits,容器,算法,Container,Algorithm   STL设计的精髓在于，把容器（Containers）和算法（Algorithms）分开，彼此独立设计，最后再用迭代器（Iterator）把他们粘合在一起。可见迭代器在STL中的重要程度。迭代器已经作为一种设计思想被记录与《设计模式》中，它的意图在于“提供一种方法顺序访问一个聚]]></description><category></category></item><item><title><![CDATA[聊聊云计算]]></title><link>https://blog.youkuaiyun.com/lonelywinter340/article/details/3319942</link><guid>https://blog.youkuaiyun.com/lonelywinter340/article/details/3319942</guid><author>lonelywinter340</author><pubDate>Mon, 17 Nov 2008 15:24:00 +0800</pubDate><description><![CDATA[转自：http://blog.joycode.com/joy/archive/2008/07/04/115163.aspx标签：B/S, C/S, SaaS, 云计算, Cloud, Google, Amazon   IT界是一个特别适合“创新”的地方，尤其是各种各样的术语。各大厂商为了自己的利益，不断的推出一些新的术语，而媒体们也在不断的站队，跟着一些忽悠，搞得我们这些IT界的前线战]]></description><category></category></item><item><title><![CDATA[关于程序员如何提高自己的一些感言]]></title><link>https://blog.youkuaiyun.com/lonelywinter340/article/details/3317257</link><guid>https://blog.youkuaiyun.com/lonelywinter340/article/details/3317257</guid><author>lonelywinter340</author><pubDate>Mon, 17 Nov 2008 08:13:00 +0800</pubDate><description><![CDATA[标签：程序员, 提高, 高手, 目标, 基本功, 源码, 思考, 交流, 编程风格         我个人有接三年的软件开发经验，也做过不少大中型的项目，尝过成功的滋味，也体验过失败的痛苦，自己感觉还达不到高手的境界，和真正的高手还有不小的差距。要想提高自己首先不能满足于现状，我始终相信better enough is not better enough，要为自己树立一个更高的目标。有了目]]></description><category></category></item><item><title><![CDATA[中国手机未来：高通时代还是联发科时代？]]></title><link>https://blog.youkuaiyun.com/lonelywinter340/article/details/3305934</link><guid>https://blog.youkuaiyun.com/lonelywinter340/article/details/3305934</guid><author>lonelywinter340</author><pubDate>Sat, 15 Nov 2008 18:30:00 +0800</pubDate><description><![CDATA[转自：http://blog.sina.com.cn/s/blog_4fbe74850100bgwn.html标签：联发科 mtk 山寨机 wcdma td-scdma cdma 3g 中兴 华为 it       当德州仪器、飞思卡尔、杰尔、ADI、NXP等一批元老级手机基带芯片厂商纷纷退出历史舞台后，第一梯队的手机芯片厂商就只剩下高通、联发科以及ST-NXP-EMP这三家了。ST-NXP-EM]]></description><category></category></item><item><title><![CDATA[关于23种设计模式的有趣见解]]></title><link>https://blog.youkuaiyun.com/lonelywinter340/article/details/3305047</link><guid>https://blog.youkuaiyun.com/lonelywinter340/article/details/3305047</guid><author>lonelywinter340</author><pubDate>Sat, 15 Nov 2008 14:00:00 +0800</pubDate><description><![CDATA[标签：设计模式, 见解, Design Pattern, 创建型, 行为 创建型模式1、FACTORY—追MM少不了请吃饭了，麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西，虽然口味有所不同，但不管你带MM去麦当劳或肯德基，只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory工厂模式：客户类和工厂类分开。消费者任何时候需要某种产品，只需向工厂请求即可。消费者]]></description><category></category></item><item><title><![CDATA[《STL源码剖析》学习笔记3——内存配置器alloc]]></title><link>https://blog.youkuaiyun.com/lonelywinter340/article/details/3304540</link><guid>https://blog.youkuaiyun.com/lonelywinter340/article/details/3304540</guid><author>lonelywinter340</author><pubDate>Sat, 15 Nov 2008 10:32:00 +0800</pubDate><description><![CDATA[标签：C,C++,STL,源码,学习,笔记,内存,配置器   虽然STL的内存配置器在我们的实际应用中几乎不用涉及，但它却在STL的各种容器背后默默做了大量的工作，STL内存配置器为容器分配并管理内存。统一的内存管理使得STL库的可用性、可移植行、以及效率都有了很大的提升，因此STL内存配置器是STL库中最重要的组成部分之一。 1、Constructor和Destroy 我]]></description><category></category></item><item><title><![CDATA[《STL源码剖析》学习笔记2——神奇的__type_traits]]></title><link>https://blog.youkuaiyun.com/lonelywinter340/article/details/3297892</link><guid>https://blog.youkuaiyun.com/lonelywinter340/article/details/3297892</guid><author>lonelywinter340</author><pubDate>Fri, 14 Nov 2008 12:17:00 +0800</pubDate><description><![CDATA[标签：C,C++,STL,学习,笔记   在STL中为了提供通用的操作而又不损失效率，我们用到了一种特殊的技巧，叫traits编程技巧。具体的来说，traits就是通过定义一些结构体或类，并利用模板类特化和偏特化的能力，给类型赋予一些特性，这些特性根据类型的不同而异。在程序设计中可以使用这些traits来判断一个类型的一些特性，引发C++的函数重载机制，实现同一种操作因类型不同而异的效果。]]></description><category></category></item><item><title><![CDATA[《STL源码剖析》学习笔记1——stl_config.h中和编译器相关的一些宏定义的解释]]></title><link>https://blog.youkuaiyun.com/lonelywinter340/article/details/3297800</link><guid>https://blog.youkuaiyun.com/lonelywinter340/article/details/3297800</guid><author>lonelywinter340</author><pubDate>Fri, 14 Nov 2008 12:05:00 +0800</pubDate><description><![CDATA[标签：C,C++,STL,学习,笔记 在SGI STL 中的config.h文件中有一些宏定义，这些宏定义可能会让你感到困惑，其实它们的主要作用就是为了区分不同编译器对C++ Standard的支持程度。  1. __STL_STATIC_TEMPLATE_MEMBER_BUG#   if __GNUC__ == 2 && __GNUC_MINOR__ #     defi]]></description><category></category></item><item><title><![CDATA[C++中的四种类型转换]]></title><link>https://blog.youkuaiyun.com/lonelywinter340/article/details/3297067</link><guid>https://blog.youkuaiyun.com/lonelywinter340/article/details/3297067</guid><author>lonelywinter340</author><pubDate>Fri, 14 Nov 2008 10:27:00 +0800</pubDate><description><![CDATA[ 类型转换有c风格的，当然还有c++风格的。c风格的转换的格式很简单（TYPE）EXPRESSION；   但是c风格的类型转换有不少的缺点，有的时候用c风格的转换是不合适的，因为它可以在任意类型之间转换，比如你可以把一个指向const对象的指针转换成指向非const对象的指针，把一个指向基类对象的指针转换成指向一个派生类对象的指针，这两种转换之间的差别是巨大的，但是传统的c语言风格的]]></description><category></category></item><item><title><![CDATA[C/C++中的可变参函数]]></title><link>https://blog.youkuaiyun.com/lonelywinter340/article/details/3297002</link><guid>https://blog.youkuaiyun.com/lonelywinter340/article/details/3297002</guid><author>lonelywinter340</author><pubDate>Fri, 14 Nov 2008 10:18:00 +0800</pubDate><description><![CDATA[C语言编程中有时会遇到一些参数个数可变的函数,例如printf()函数,其函数原型为：int printf( const char* format, ...);它除了有一个参数format固定以外,后面跟的参数的个数和类型是可变的（用三个点“…”做参数占位符）,实际调用时可以有以下的形式：printf("%d",i); printf("%s",s); printf("the num]]></description><category></category></item><item><title><![CDATA[微软不再抵制开源 将开发相应平台]]></title><link>https://blog.youkuaiyun.com/lonelywinter340/article/details/3296859</link><guid>https://blog.youkuaiyun.com/lonelywinter340/article/details/3296859</guid><author>lonelywinter340</author><pubDate>Fri, 14 Nov 2008 09:55:00 +0800</pubDate><description><![CDATA[          一些业内人士认为专有软件厂商和开源提供商之间的分工并不是很清楚。随着越来越多的企业考虑采用开源技术，即使传统的软件厂商如微软也已采取措施应对这种客户的需求。　　“开源并不是一个产品，而是一种软件开发的方法，”微软新加坡平台战略经理Matthew Hardman说。“微软并没有与开源竞争，就像耐克没有与奔跑在竞争一样。”　　Hardman说，软件巨头旨在为开源软件运行提供]]></description><category></category></item></channel></rss>