<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[gbjj123的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/gbjj123</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; gbjj123]]></copyright><item><title><![CDATA[web缓存技术]]></title><link>https://blog.youkuaiyun.com/gbjj123/article/details/29233139</link><guid>https://blog.youkuaiyun.com/gbjj123/article/details/29233139</guid><author>gbjj123</author><pubDate>Sat, 07 Jun 2014 21:00:58 +0800</pubDate><description><![CDATA[1 web缓存的简介
1.1 采取Web加速技术措施
 采取Web加速技术，减少用户访问的延迟。如采用Web缓存[8](Web Caching )技术、Web预取(Web
 Prefetching)技术、CDN ( Content Delivery Network)技术等，以此来降低用户可感知的网络访问延迟，提高网络服务质量。
 
典型的缓存体系结构有IRCache, Summary C]]></description><category></category></item><item><title><![CDATA[UNP学习笔记（2）]]></title><link>https://blog.youkuaiyun.com/gbjj123/article/details/27189717</link><guid>https://blog.youkuaiyun.com/gbjj123/article/details/27189717</guid><author>gbjj123</author><pubDate>Tue, 27 May 2014 15:41:49 +0800</pubDate><description><![CDATA[接着前几天的UNP学习，由于中间的章节之前在其它书上都看过，所以直接k]]></description><category></category></item><item><title><![CDATA[UNP学习笔记（1）]]></title><link>https://blog.youkuaiyun.com/gbjj123/article/details/26683155</link><guid>https://blog.youkuaiyun.com/gbjj123/article/details/26683155</guid><author>gbjj123</author><pubDate>Fri, 23 May 2014 11:55:20 +0800</pubDate><description><![CDATA[这几天开始阅读UNP《UNIX 网络编程》这本书，书]]></description><category></category></item><item><title><![CDATA[分布式数据同步之Merkle Tree]]></title><link>https://blog.youkuaiyun.com/gbjj123/article/details/25702717</link><guid>https://blog.youkuaiyun.com/gbjj123/article/details/25702717</guid><author>gbjj123</author><pubDate>Tue, 13 May 2014 21:48:00 +0800</pubDate><description><![CDATA[这两天在看Dynamo数据库的数据同步机制，涉及到了一种数据结]]></description><category></category></item><item><title><![CDATA[erlang学习1 -- 入门]]></title><link>https://blog.youkuaiyun.com/gbjj123/article/details/25417139</link><guid>https://blog.youkuaiyun.com/gbjj123/article/details/25417139</guid><author>gbjj123</author><pubDate>Fri, 09 May 2014 18:43:20 +0800</pubDate><description><![CDATA[今天下载了JOE ARMSTRONG的《Erlang程序设计》一书，没想到JOE ARMSTRONG的博士论文我曾经下载过，可惜]]></description><category></category></item><item><title><![CDATA[2014腾讯暑期实习生面试-TST计划]]></title><link>https://blog.youkuaiyun.com/gbjj123/article/details/25331507</link><guid>https://blog.youkuaiyun.com/gbjj123/article/details/25331507</guid><author>gbjj123</author><pubDate>Thu, 08 May 2014 19:20:26 +0800</pubDate><description><![CDATA[腾讯面试终于告一段落，顺利通过TST的渠道拿到了实习生OFFER，一]]></description><category></category></item><item><title><![CDATA[Linux下利用线程池模型+epoll实现简单的HTTP服务器]]></title><link>https://blog.youkuaiyun.com/gbjj123/article/details/25323581</link><guid>https://blog.youkuaiyun.com/gbjj123/article/details/25323581</guid><author>gbjj123</author><pubDate>Thu, 08 May 2014 17:51:42 +0800</pubDate><description><![CDATA[本文利用前文所述的半同步/半反应堆线程线模板，实现高并发的HTTP服务器，支持简单的HTTP协议。
首先mhgk]]></description><category></category></item><item><title><![CDATA[高性能服务器编程半同步/半反应堆的线程池模板]]></title><link>https://blog.youkuaiyun.com/gbjj123/article/details/25285445</link><guid>https://blog.youkuaiyun.com/gbjj123/article/details/25285445</guid><author>gbjj123</author><pubDate>Thu, 08 May 2014 11:06:31 +0800</pubDate><description><![CDATA[#ifndef THREADPOOL_H
#define THREADPOOL_H

#include 
#include 
#include 
#include 
#include "locker.h"

template
class threadpool
{
public:
    threadpool( int thread_number = 8, int max_requests = 10]]></description><category></category></item><item><title><![CDATA[libevent中的hello-world.c解讯]]></title><link>https://blog.youkuaiyun.com/gbjj123/article/details/25189287</link><guid>https://blog.youkuaiyun.com/gbjj123/article/details/25189287</guid><author>gbjj123</author><pubDate>Wed, 07 May 2014 10:21:36 +0800</pubDate><description><![CDATA[/*
  This exmple program provides a trivial server program that listens for TCP
  connections on port 9995.  When they arrive, it writes a short message to
  each client connection, and closes each co]]></description><category></category></item><item><title><![CDATA[使用epoll+时间堆实现高性能定时器]]></title><link>https://blog.youkuaiyun.com/gbjj123/article/details/25155501</link><guid>https://blog.youkuaiyun.com/gbjj123/article/details/25155501</guid><author>gbjj123</author><pubDate>Tue, 06 May 2014 18:58:39 +0800</pubDate><description><![CDATA[在开发Linux网络程序时，通常需要维护多个定时器，如x]]></description><category></category></item><item><title><![CDATA[关于libevent的定时器]]></title><link>https://blog.youkuaiyun.com/gbjj123/article/details/25153931</link><guid>https://blog.youkuaiyun.com/gbjj123/article/details/25153931</guid><author>gbjj123</author><pubDate>Tue, 06 May 2014 18:17:07 +0800</pubDate><description><![CDATA[/* Common timeouts are special timeouts that are handled as queues rather than
 * in the minheap.  This is more efficient than the minheap if we happen to
 * know that we're going to get several tho]]></description><category></category></item><item><title><![CDATA[UML中关系图解]]></title><link>https://blog.youkuaiyun.com/gbjj123/article/details/18259411</link><guid>https://blog.youkuaiyun.com/gbjj123/article/details/18259411</guid><author>gbjj123</author><pubDate>Tue, 14 Jan 2014 11:29:50 +0800</pubDate><description><![CDATA[关系列表：

继承关系(Generalization)；实现关系(Realization)；依赖关系(Dependency)；关联关系(Association)；有方向的关联(DirectedAssociation)；聚合关系(Aggregation)；组合关系(Composition)；

继承关系（Generalization）：



Class B继承与Class A
]]></description><category></category></item><item><title><![CDATA[使用事件驱动模型实现高效稳定的网络服务器程序]]></title><link>https://blog.youkuaiyun.com/gbjj123/article/details/18258025</link><guid>https://blog.youkuaiyun.com/gbjj123/article/details/18258025</guid><author>gbjj123</author><pubDate>Tue, 14 Jan 2014 10:51:33 +0800</pubDate><description><![CDATA[前言

事件驱动为广大的程序员所熟悉，其最为人津津乐道的是在图形化界面编程中的应用；事实上，在网络编程中事件驱动也被广泛使用，并大规模部署在高连接数高吞吐量的服务器程序中，如 http 服务器程序、ftp 服务器程序等。相比于传统的网络编程方式，事件驱动能够极大的降低资源占用，增大服务接待能力，并提高网络传输效率。

关于本文提及的服务器模型，搜索网络可以查阅到很多的实现代码，所以，本文将]]></description><category></category></item><item><title><![CDATA[四层和七层负载均衡的区别介绍]]></title><link>https://blog.youkuaiyun.com/gbjj123/article/details/18181049</link><guid>https://blog.youkuaiyun.com/gbjj123/article/details/18181049</guid><author>gbjj123</author><pubDate>Sun, 12 Jan 2014 12:36:52 +0800</pubDate><description><![CDATA[简单理解四层和七层负载均衡:
①所谓四层就是基于IP+端口的负载均衡；七层就是基于URL等应用层信息的负载均衡；同理，还有基于MAC地址的二层负载均衡和基于IP地址的三层负载均衡。 换句换说，二层负载均衡会通过一个虚拟MAC地址接收请求，然后再分配到真实的MAC地址；三层负载均衡会通过一个虚拟IP地址接收请求，然后再分配到真实的IP地址；四层通过虚拟IP+端口接收请求，然后再分配到真实的服务器；]]></description><category></category></item><item><title><![CDATA[linux自旋锁和互斥体]]></title><link>https://blog.youkuaiyun.com/gbjj123/article/details/18180775</link><guid>https://blog.youkuaiyun.com/gbjj123/article/details/18180775</guid><author>gbjj123</author><pubDate>Sun, 12 Jan 2014 11:59:34 +0800</pubDate><description><![CDATA[内核同步措施

为了避免并发，防止竞争。内核提供了一组同步方法来提供对共享数据的保护。 我们的重点不是介绍这些方法的详细用法，而是强调为什么使用这些方法和它们之间的差别。
Linux 使用的同步机制可以说从2.0到2.6以来不断发展完善。从最初的原子操作，到后来的信号量，从大内核锁到今天的自旋锁。这些同步机制的发展伴随 Linux从单处理器到对称多处理器的过度；伴随着从非抢占内核到抢占内核的]]></description><category></category></item><item><title><![CDATA[Linux通过改进的epoll实现对不同超时时间的数据包重传]]></title><link>https://blog.youkuaiyun.com/gbjj123/article/details/18097237</link><guid>https://blog.youkuaiyun.com/gbjj123/article/details/18097237</guid><author>gbjj123</author><pubDate>Fri, 10 Jan 2014 22:26:07 +0800</pubDate><description><![CDATA[应用背景：	epoll模型是当前Linux网络编程的主流模型，可以高效解决多个事件并发的问题。在进行网络编程时，往往要对每一个发出的数据包进行ACK确认，若在指定的时间内没有收到ACK，则需要重传或者丢弃该数据包。那么如果在epoll模型中实现该功能呢？
先来看看传统的做法：程序维护一个“已发出但是没收到ACK”的数据包记录R，记录包括数据包内容、数据包发送的时间戳t以及超时时间T。当需要进行数]]></description><category></category></item><item><title><![CDATA[网络编程：Reactor与Proactor的概念]]></title><link>https://blog.youkuaiyun.com/gbjj123/article/details/17578367</link><guid>https://blog.youkuaiyun.com/gbjj123/article/details/17578367</guid><author>gbjj123</author><pubDate>Thu, 26 Dec 2013 10:50:25 +0800</pubDate><description><![CDATA[1、标准定义

两种I/O多路复用模式：Reactor和Proactor

一般地,I/O多路复用机制都依赖于一个事件多路分离器(Event Demultiplexer)。分离器对象可将来自事件源的I/O事件分离出来，并分发到对应的read/write事件处理器(Event Handler)。开发人员预先注册需要处理的事件及其事件处理器（或回调函数）；事件分离器负责将请求事件传递给事件处理]]></description><category></category></item><item><title><![CDATA[boost智能指针系列：shared_ptr]]></title><link>https://blog.youkuaiyun.com/gbjj123/article/details/17147579</link><guid>https://blog.youkuaiyun.com/gbjj123/article/details/17147579</guid><author>gbjj123</author><pubDate>Thu, 05 Dec 2013 19:25:54 +0800</pubDate><description><![CDATA[shared_ptr是一个最像指针的"智能指针"。
shared_ptr与scoped_ptr一样包装了new操作符在堆上分配的动态对象，但它实现的是引用计数型的智能指针，可以被自由的拷贝和赋值，在任意的地方共享它，当没有代码使用(引用计数为0)它时才能删除被包装的动态分配的对象。shared_ptr也可以安全地放到标准容器中，并弥补了auto_ptr因为转移语义而不能把指针做为STL容器元素的]]></description><category></category></item><item><title><![CDATA[boost智能指针系列：scoped_ptr]]></title><link>https://blog.youkuaiyun.com/gbjj123/article/details/17137363</link><guid>https://blog.youkuaiyun.com/gbjj123/article/details/17137363</guid><author>gbjj123</author><pubDate>Thu, 05 Dec 2013 10:35:47 +0800</pubDate><description><![CDATA[boost.smart_ptr库提供六种智能指针，分别为shared_ptr、weak_ptr、scoped_ptr、scoped_array、shared_array和instrusive_ptr。它们都是很轻量级的对象，速度与原始指针相差无几，都是异常安全的（exception safe），要求：类型T的析构函数不能抛出异常。
这些智能指针都位于名字空间boost，为了使用smart_ptr]]></description><category></category></item></channel></rss>