<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[stone]]></title><description><![CDATA[一个人的知识，通过学习可以得到；一个人的成长，必须通过磨练。]]></description><link>https://blog.youkuaiyun.com/chennut0802</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; chennut0802]]></copyright><item><title><![CDATA[Quorum的NRW策略]]></title><link>https://blog.youkuaiyun.com/chennut0802/article/details/49029165</link><guid>https://blog.youkuaiyun.com/chennut0802/article/details/49029165</guid><author>chennut0802</author><pubDate>Sat, 10 Oct 2015 20:30:24 +0800</pubDate><description><![CDATA[分布式系统的设计中会涉及到许多的协议、机制用来解决可靠性问题、数据一致性问题等，Quorum 机制就是其中的一种。我们通过分布式系统中的读写模型来简单介绍它。

分布式系统中的读写模型


　　分布式系统是由多个节点（指代一台服务器、存储设备等）构成，由于网络异常、宕机等节点并不能保证正常工作，特别是在节点数量很大的时候，出现异常状况的节点几乎是肯定的。为了保证系统的正常运行，能够提供可]]></description><category></category></item><item><title><![CDATA[爬虫学习笔记]]></title><link>https://blog.youkuaiyun.com/chennut0802/article/details/48414161</link><guid>https://blog.youkuaiyun.com/chennut0802/article/details/48414161</guid><author>chennut0802</author><pubDate>Sun, 13 Sep 2015 11:55:24 +0800</pubDate><description><![CDATA[这里是维基百科对网络爬虫的词条页面。网络爬虫以叫网络蜘蛛，网络机器人，这是一个程序，其会自动的通过网络抓取互联网上的网页，这种技术一般可能用来检查你的站点上所有的链接是否是都是有效的。当然，更为高级的技术是把网页中的相关数据保存下来，可以成为搜索引擎。

从技术来说，实现抓取网页可能并不是一件很困难的事情，困难的事情是对网页的分析和整理，那是一件需要有轻量智能，需要大量数学计算的程序才能做的事]]></description><category></category></item><item><title><![CDATA[MySQL存储引擎MyISAM与InnoDB的优劣]]></title><link>https://blog.youkuaiyun.com/chennut0802/article/details/25152055</link><guid>https://blog.youkuaiyun.com/chennut0802/article/details/25152055</guid><author>chennut0802</author><pubDate>Tue, 06 May 2014 17:51:04 +0800</pubDate><description><![CDATA[使用MySQL当然会接触到MySQL的存储引擎，在新建数据库和新建数据表的时候都会看到。

MySQL默认的存储引擎是MyISAM，其他常用的就是InnoDB了。

至于到底用哪种存储引擎比较好？这个问题是没有定论的，需要根据你的需求和环境来衡量。所以对这两种引擎的概念、原理、异同和各自的优劣点有了详细的了解之后，再根据自己的情况选择起来就容易多了。




 

MyISA]]></description><category></category></item><item><title><![CDATA[无锁队列的实现]]></title><link>https://blog.youkuaiyun.com/chennut0802/article/details/25078053</link><guid>https://blog.youkuaiyun.com/chennut0802/article/details/25078053</guid><author>chennut0802</author><pubDate>Mon, 05 May 2014 21:31:45 +0800</pubDate><description><![CDATA[关于CAS等原子操作

在开始说无锁队列之前，我们需要知道一个很重要的技术就是CAS操作——Compare
 & Set，或是 Compare & Swap，现在几乎所有的CPU指令都支持CAS的原子操作，X86下对应的是 CMPXCHG 汇编指令。有了这个原子操作，我们就可以用其来实现各种无锁（lock free）的数据结构。

这个操作用C语言来描述就是下面这个样子：（代码来自Wik]]></description><category></category></item><item><title><![CDATA[Copy-on-write]]></title><link>https://blog.youkuaiyun.com/chennut0802/article/details/10831529</link><guid>https://blog.youkuaiyun.com/chennut0802/article/details/10831529</guid><author>chennut0802</author><pubDate>Sun, 01 Sep 2013 17:22:10 +0800</pubDate><description><![CDATA[摘自： http://www.cnblogs.com/promise6522/archive/2012/03/22/2412686.html




Copy-on-write（以下简称COW）是一种很重要的优化手段。它的核心思想是懒惰处理多个实体的资源请求，在多个实体之间共享某些资源，直到有实体需要对资源进行修改时，才真正为该实体分配私有的资源。

COW技术的一个经典应用在于Li]]></description><category></category></item><item><title><![CDATA[面向对象设计的基本原则]]></title><link>https://blog.youkuaiyun.com/chennut0802/article/details/9671603</link><guid>https://blog.youkuaiyun.com/chennut0802/article/details/9671603</guid><author>chennut0802</author><pubDate>Wed, 31 Jul 2013 18:59:51 +0800</pubDate><description><![CDATA[转自 http://f.dataguru.cn/thread-123555-1-1.html
面向对象的设计：
* 将属于一类的对象放在一起。如果一个函数操纵一个全局变量，那么两者最好都在类内作为特性和方法出现。
* 不要让对象过于亲密。方法应该只光心自己实例的特性。让其他实例管理自己的状态。
* 要小心继承，尤其是多重继承。继承机制有时很有用，但也会在某些情况下让事情变得过于复杂。多重继]]></description><category></category></item><item><title><![CDATA[Implementing a simple smart pointer in C++]]></title><link>https://blog.youkuaiyun.com/chennut0802/article/details/9227495</link><guid>https://blog.youkuaiyun.com/chennut0802/article/details/9227495</guid><author>chennut0802</author><pubDate>Tue, 02 Jul 2013 18:41:00 +0800</pubDate><description><![CDATA[摘自：http://www.codeproject.com/Articles/15351/Implementing-a-simple-smart-pointer-in-c

Introduction
What are smart pointers? The answer is fairly simple; a smart pointer is a pointer which is smart]]></description><category></category></item><item><title><![CDATA[影响网络应用程序性能的因素(转)]]></title><link>https://blog.youkuaiyun.com/chennut0802/article/details/8923264</link><guid>https://blog.youkuaiyun.com/chennut0802/article/details/8923264</guid><author>chennut0802</author><pubDate>Mon, 13 May 2013 23:36:14 +0800</pubDate><description><![CDATA[随着网络的发展，越来越多的应用程序需要依赖于网络，所以网络的性能直接影响到我们应用程序的性能。那么都有那些因素影响到网络程序的性能来？

我们以Windows平台上的应用程序来分析，首先将影响因素分为两个部分：基础网络部分，应用程序的网络驱动部分。

基础网络部分指物理的网络结构和链路，主要有下面几个方面的因素：

网络的速率和带宽。这是一个根本的问题，如果网络的基础设施不够快的话，那]]></description><category></category></item><item><title><![CDATA[如何在linux下检测内存泄漏]]></title><link>https://blog.youkuaiyun.com/chennut0802/article/details/7746412</link><guid>https://blog.youkuaiyun.com/chennut0802/article/details/7746412</guid><author>chennut0802</author><pubDate>Sat, 14 Jul 2012 12:06:02 +0800</pubDate><description><![CDATA[摘自 http://www.ibm.com/developerworks/cn/linux/l-mleak/index.html




1．开发背景

在 windows 下使用 VC 编程时，我们通常需要 DEBUG 模式下运行程序，而后调试器将在退出程序时，打印出程序运行过程中在堆上分配而没有释放的内存信息，其中包括代码文件名、行号以及内存大小。该功能是 MFC Framewo]]></description><category></category></item><item><title><![CDATA[#pragma once, extern]]></title><link>https://blog.youkuaiyun.com/chennut0802/article/details/7486292</link><guid>https://blog.youkuaiyun.com/chennut0802/article/details/7486292</guid><author>chennut0802</author><pubDate>Sun, 22 Apr 2012 12:40:46 +0800</pubDate><description><![CDATA[1,声明一个变量，必须加关键字extern
2,没有关键字extern，则就为变量的定义，无论这个变量定义时有没有初始化
3,只要定义变量时初始化了，即使前面加了关键字extern，也是定义，不是声明。（不过只有在函数体外时，才能够在定义且初始化时，加上extern关键字，这是为了const变量设定的）
4,多文件程序中，一个文件含有变量的定义，另外一个文件中含有变量的声明，定义只能有一次，]]></description><category></category></item><item><title><![CDATA[Specifications for a simple RTSP client]]></title><link>https://blog.youkuaiyun.com/chennut0802/article/details/7235291</link><guid>https://blog.youkuaiyun.com/chennut0802/article/details/7235291</guid><author>chennut0802</author><pubDate>Sun, 05 Feb 2012 20:13:00 +0800</pubDate><description><![CDATA[摘自 http://folk.uio.no/meccano/reflector/smallclient.html



Abstract
This document describes a simple implementation of the client side of an RTSP session, including the minimal requirements to c]]></description><category></category></item><item><title><![CDATA[RTSP协议参考资料汇总]]></title><link>https://blog.youkuaiyun.com/chennut0802/article/details/7235263</link><guid>https://blog.youkuaiyun.com/chennut0802/article/details/7235263</guid><author>chennut0802</author><pubDate>Sun, 05 Feb 2012 19:54:15 +0800</pubDate><description><![CDATA[摘自 
http://blog.chinaunix.net/u2/77292/showart_1922940.html

   RTSP（Real Time Streaming Protocol，实时流协议），是由RealNetwork和Netscape共同提出的如何有效地在IP网络上传输流媒体数据的应用层协议。RTSP提供一种可扩展的框架，能够提供可控制的，按需传输的实时数据，比如音频和视]]></description><category></category></item><item><title><![CDATA[c++ 字符类型总结区别wchar_t,char,WCHAR]]></title><link>https://blog.youkuaiyun.com/chennut0802/article/details/7194576</link><guid>https://blog.youkuaiyun.com/chennut0802/article/details/7194576</guid><author>chennut0802</author><pubDate>Wed, 11 Jan 2012 18:44:24 +0800</pubDate><description><![CDATA[摘自 http://hi.baidu.com/yangyangye2008/blog/item/d87b5ccb5874c04bf31fe733.html


1.区别wchar_t,char,WCHAR

   ANSI：即 char，可用字符串处理函数：strcat( ),strcpy( ), strlen( )等以str打头的函数。
   UNICODE：wchar_t是Unic]]></description><category></category></item><item><title><![CDATA[ACE Reactor框架处理事件及多个I/O流]]></title><link>https://blog.youkuaiyun.com/chennut0802/article/details/7005933</link><guid>https://blog.youkuaiyun.com/chennut0802/article/details/7005933</guid><author>chennut0802</author><pubDate>Wed, 23 Nov 2011 21:54:56 +0800</pubDate><description><![CDATA[摘自 http://hi.baidu.com/pass86/blog/item/1d908b16f21a0e53f2de320a.html

ACE Reactor框架设计的目标是，实现一种灵活的事件处理机制，使应用无需为了满足事件处理的需要而编写平台相关的中心代码。使用Reactor框架，应用要实现其事件处理只需要做三件事情。

ONE：从 ACE_Event_Handler 派生一个或]]></description><category></category></item><item><title><![CDATA[cygwin 使用]]></title><link>https://blog.youkuaiyun.com/chennut0802/article/details/6890792</link><guid>https://blog.youkuaiyun.com/chennut0802/article/details/6890792</guid><author>chennut0802</author><pubDate>Thu, 20 Oct 2011 15:10:34 +0800</pubDate><description><![CDATA[摘自 http://www.cppblog.com/dawnbreak/archive/2008/12/10/69087.html



对于经常在Windows编程的使用者，想体验*nix编程可以选择vw，vpc，双系统，而对于真正的开发者而言一个*nix shell加上GCC
GDB MAKE以及相关的函数库文件足以，哦，也许加上DEVDOC才算完整，也就是可以使用man，所有这些c]]></description><category></category></item><item><title><![CDATA[线程同步互斥的控制方法]]></title><link>https://blog.youkuaiyun.com/chennut0802/article/details/6890160</link><guid>https://blog.youkuaiyun.com/chennut0802/article/details/6890160</guid><author>chennut0802</author><pubDate>Thu, 20 Oct 2011 12:03:07 +0800</pubDate><description><![CDATA[摘自 http://hi.baidu.com/cnrjm/blog/item/5d217e54ff863550564e00b9.html

四种进程或线程同步互斥的控制方法
    1、临界区:通过对多线程的串行化来访问公共资源或一段代码，速度快，适合控制数据访问。 
　　2、互斥量:为协调共同对一个共享资源的单独访问而设计的。 
　　3、信号量:为控制一个具有有限数量用户资源而设计。]]></description><category></category></item><item><title><![CDATA[C++ 字符类型总结]]></title><link>https://blog.youkuaiyun.com/chennut0802/article/details/6830577</link><guid>https://blog.youkuaiyun.com/chennut0802/article/details/6830577</guid><author>chennut0802</author><pubDate>Wed, 28 Sep 2011 15:52:39 +0800</pubDate><description><![CDATA[摘自 http://blog.21ic.com/user1/5585/archives/2009/59431.html



1.区别wchar_t,char,WCHAR

  ANSI：即 char，可用字符串处理函数：strcat( ),strcpy( ), st]]></description><category></category></item><item><title><![CDATA[Windows消息机制概述]]></title><link>https://blog.youkuaiyun.com/chennut0802/article/details/6767823</link><guid>https://blog.youkuaiyun.com/chennut0802/article/details/6767823</guid><author>chennut0802</author><pubDate>Sun, 11 Sep 2011 18:23:50 +0800</pubDate><description><![CDATA[摘自：http://www.cppblog.com/suiaiguo/archive/2009/07/18/90412.html



消息是指什么？
     消息系统对于一个win32程序来说十分重要，它是一个程序运行的动力源泉。一个消息，是系统定义的一个32位的值，他唯一的定义了一个事件，向 Windows发出一个通知，告诉应用程序某个事情发生了。例如，单击鼠标、改变窗口尺寸、按下]]></description><category></category></item><item><title><![CDATA[浅谈C/C++中的顺序点和副作用]]></title><link>https://blog.youkuaiyun.com/chennut0802/article/details/6766588</link><guid>https://blog.youkuaiyun.com/chennut0802/article/details/6766588</guid><author>chennut0802</author><pubDate>Sat, 10 Sep 2011 21:58:47 +0800</pubDate><description><![CDATA[摘自：http://www.cnblogs.com/dolphin0520/archive/2011/04/20/2022330.html




一.副作用(side effect)
    表达式有两种功能:每个表达式都产生一个值( value )，同时可能包含副]]></description><category></category></item><item><title><![CDATA[VC windows api 多线程---互斥量、信号量、临界值]]></title><link>https://blog.youkuaiyun.com/chennut0802/article/details/6747520</link><guid>https://blog.youkuaiyun.com/chennut0802/article/details/6747520</guid><author>chennut0802</author><pubDate>Sun, 04 Sep 2011 18:08:54 +0800</pubDate><description><![CDATA[以下摘自 http://blog.sina.com.cn/s/blog_5040a4e90100gntv.html

互斥量的用途和临界区很像。它与临界区的差别在于可以跨线程使用，可以用来同步进行多个线程间的数据访问，但是是以牺牲速度为代价的。只有临界区是非核心对象，那么互斥量就是一个核心对象了。核心对象的特点是有所谓的引用计数。所著一个未被拥有的互斥量，比锁住一个未被拥有的临界区需要花费几乎]]></description><category></category></item></channel></rss>