<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ColZer的专栏]]></title><description><![CDATA[专注云平台，基础平台架构和开发]]></description><link>https://blog.youkuaiyun.com/ColZer</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ColZer]]></copyright><item><title><![CDATA[HDFS中的集中缓存(Centralized Cache Management in HDFS)]]></title><link>https://blog.youkuaiyun.com/ColZer/article/details/24786283</link><guid>https://blog.youkuaiyun.com/ColZer/article/details/24786283</guid><author>ColZer</author><pubDate>Wed, 30 Apr 2014 13:49:16 +0800</pubDate><description><![CDATA[集中缓存有两层概念：

第一层是缓存，即为存储在HDFS中文件提供缓存的机制，从而可以加速DFSClient对文件的读操作；第二层概念是集中式的管理，传统的HDFS缓存依赖了OS本身的缓存机制，但是这种缓存机制不能被管理员或中央节点进行管理，不能自由的控制哪些文件缓存，哪些文件不进行缓存；集中式的管理可以提高了对缓存内存的可控性；
HDFS中集中缓存架构如下所示：




User]]></description><category></category></item><item><title><![CDATA[Hadoop 2.3.0编译]]></title><link>https://blog.youkuaiyun.com/ColZer/article/details/24771141</link><guid>https://blog.youkuaiyun.com/ColZer/article/details/24771141</guid><author>ColZer</author><pubDate>Wed, 30 Apr 2014 09:59:13 +0800</pubDate><description><![CDATA[下载版本：
http://svn.apache.org/repos/asf/hadoop/common/tags/release-2.3.0


安装maven和java
安装版本为：Apache Maven 3.0.4，2.×版本会出现编译错误
安装java，设置path环境变量


安装protobuf
注意hadoop对protobuf有版本要求，需要安装2.5.0，如果]]></description><category></category></item><item><title><![CDATA[我也学php：编码规范/翻译自PSR]]></title><link>https://blog.youkuaiyun.com/ColZer/article/details/9079325</link><guid>https://blog.youkuaiyun.com/ColZer/article/details/9079325</guid><author>ColZer</author><pubDate>Wed, 12 Jun 2013 15:27:55 +0800</pubDate><description><![CDATA[PHP社区百花齐放，拥有大量的函数库、框架和组件。PHP开发者通常会在自己的项目中使用若干个外部库，因而PHP代码遵循或尽量接近同一个代码风格就非常重要，可以让开发者方便地把多个代码库集成在自己的项目中。
框架互操作组(即PHP标准组)发布了一系列代码风格推荐标准，即PSR-0，PSR-1，PSR-2和PSR-3。 不要让这些名称所混淆，这些推荐仅是一些被其它项目所遵循的规则，如Drupal,]]></description><category></category></item><item><title><![CDATA[我也学php：类型判断和NULL，空值检查]]></title><link>https://blog.youkuaiyun.com/ColZer/article/details/9010657</link><guid>https://blog.youkuaiyun.com/ColZer/article/details/9010657</guid><author>ColZer</author><pubDate>Mon, 03 Jun 2013 11:37:23 +0800</pubDate><description><![CDATA[PHP是一种宽松类型的编程语言，在函数中对传入的参数值的“类型”以及”值是否为空或者NULL“进行检查是不可缺少的步骤。


类型检查
从PHP5开始，PHP允许对函数的参数进行类型约束，即可以约束参数的类型为对象，接口，数组(PHP 5.1开始)或者callable(PHP5.4起)，但是不可以约束参数类型为标量类型（如int ，string，bool），也不可以约束为Traits类型。]]></description><category></category></item><item><title><![CDATA[HTTP Session和Cookie工作原理]]></title><link>https://blog.youkuaiyun.com/ColZer/article/details/8686966</link><guid>https://blog.youkuaiyun.com/ColZer/article/details/8686966</guid><author>ColZer</author><pubDate>Mon, 18 Mar 2013 14:48:20 +0800</pubDate><description><![CDATA[session的工作原理 
术语session 
在我的经验里，session这个词被滥用的程度大概仅次于transaction，更加有趣的是transaction与session在某些语境下的含义是相同的。 

session，中文经常翻译为会话，其本来的含义是指有始有终的一系列动作/消息，比如打电话时从拿起电话拨号到挂断电话这中间的一系列过程可以称之为一个session。有时候我们可以]]></description><category></category></item><item><title><![CDATA[[RabbitMQ+Python入门经典] 兔子和兔子窝]]></title><link>https://blog.youkuaiyun.com/ColZer/article/details/8655423</link><guid>https://blog.youkuaiyun.com/ColZer/article/details/8655423</guid><author>ColZer</author><pubDate>Sun, 10 Mar 2013 09:46:35 +0800</pubDate><description><![CDATA[RabbitMQ作为一个工业级的消息队列服务器，在其客户端手册列表的Python段当中推荐了一篇blog，作为RabbitMQ+Python的入门手册再合适不过了。不过，正如其标题Rabbit
 and Warrens（兔子和养兔场）一样，这篇英文写的相当俏皮，以至于对于我等非英文读者来说不像一般的技术文档那么好懂，所以，翻译一下吧。翻译过了，希望其他人可以少用一些时间。翻译水平有限，不可能像原]]></description><category></category></item><item><title><![CDATA[YII解析：Module模块使用]]></title><link>https://blog.youkuaiyun.com/ColZer/article/details/8443042</link><guid>https://blog.youkuaiyun.com/ColZer/article/details/8443042</guid><author>ColZer</author><pubDate>Fri, 28 Dec 2012 16:53:44 +0800</pubDate><description><![CDATA[模块结构

在YII中，程序入口是一个继承CApplication的CWebApplication的应用程序，在一个web请求的整个过程中，控制器，模型和视图都是由Application进行创建和控制。首先我们来看一下CWebApplication的类的继承结构：

从上面我们可以看到CWebApplication本身也是一个CModue。在YII中，模块之间是一个树形结构。即每一个模块都]]></description><category></category></item><item><title><![CDATA[linux基础编程：多线程基础总结：线程创建 终止 线程同步/互斥量/条件变量/信号灯]]></title><link>https://blog.youkuaiyun.com/ColZer/article/details/8199265</link><guid>https://blog.youkuaiyun.com/ColZer/article/details/8199265</guid><author>ColZer</author><pubDate>Tue, 20 Nov 2012 10:48:55 +0800</pubDate><description><![CDATA[看了很多关于linux下面多线程开发的博客和书籍，最后还是觉得杨沙洲在IBM developerWorks 中国发表的关于Posix线程编程的专栏差不多是最好的吧，本文就以该专栏来一步一步来学习多线程开发。


第一篇线程的创建与取消


相对进程而言，线程是一个更加接近于执行体的概念，与其他线程共享数据，但拥有自己的栈空间，拥有独立的执行序列。线程和进程在使用上各有优缺点：线程执行开]]></description><category></category></item><item><title><![CDATA[linux基础编程：进程通信之套接字]]></title><link>https://blog.youkuaiyun.com/ColZer/article/details/8183291</link><guid>https://blog.youkuaiyun.com/ColZer/article/details/8183291</guid><author>ColZer</author><pubDate>Thu, 15 Nov 2012 15:35:57 +0800</pubDate><description><![CDATA[在文章《linux基础编程：进程通信之System V IPC：消息队列，信号量，共享内存》开头部分，我们介绍了linux环境下的进程通信方式IPC分类。本节我们将介绍由贝尔实验室及BSD（加州大学伯克利分校的伯克利软件发布中心）提出的IPC工具：套接字接口。
套接字机制是管道概念的一个扩展。凭借这种机制，客户或者服务器系统的开发工作既可以在本地单机运行，也可以跨网络进行分布式进程间进行。但是套]]></description><category></category></item><item><title><![CDATA[linux基础编程：IO模型：阻塞/非阻塞/IO复用 同步/异步 Select/Epoll/AIO]]></title><link>https://blog.youkuaiyun.com/ColZer/article/details/8169075</link><guid>https://blog.youkuaiyun.com/ColZer/article/details/8169075</guid><author>ColZer</author><pubDate>Tue, 13 Nov 2012 13:28:30 +0800</pubDate><description><![CDATA[IO概念


Linux的内核将所有外部设备都可以看做一个文件来操作。那么我们对与外部设备的操作都可以看做对文件进行操作。我们对一个文件的读写，都通过调用内核提供的系统调用；内核给我们返回一个file descriptor（fd,文件描述符）。而对一个socket的读写也会有相应的描述符，称为socketfd(socket描述符）。描述符就是一个数字，指向内核中一个结构体（文件路径，数据区，]]></description><category></category></item><item><title><![CDATA[linux基础编程：进程通信之System V IPC：消息队列，信号量，共享内存]]></title><link>https://blog.youkuaiyun.com/ColZer/article/details/8146138</link><guid>https://blog.youkuaiyun.com/ColZer/article/details/8146138</guid><author>ColZer</author><pubDate>Mon, 05 Nov 2012 17:19:59 +0800</pubDate><description><![CDATA[Linux下的进程通信基本上是从Unix平台上的进程通信手段继承而来的。而对Unix发展做出重大贡献的两大主力AT&T的贝尔实验室及BSD（加州大学伯克利分校的伯克利软件发布中心）在进程间通信方面的侧重点有所不同。前者对Unix早期的进程间通信手段进行了系统的改进和扩 充，形成了“system V IPC”，通信进程局限在单个计算机内；后者则跳过了该限制，形成了基于套接口（socket）的进程间通]]></description><category></category></item><item><title><![CDATA[linux基础编程：进程通信之管道]]></title><link>https://blog.youkuaiyun.com/ColZer/article/details/8144297</link><guid>https://blog.youkuaiyun.com/ColZer/article/details/8144297</guid><author>ColZer</author><pubDate>Sat, 03 Nov 2012 20:40:18 +0800</pubDate><description><![CDATA[在文章《linux基础编程：进程通信之信号》中，我们看到信号作为进程之间的通信方式。但是传送的信息之限于一个信号值。而本文将会介绍Linux支持的最初Unix IPC之一：管道和命名管道，它允许进程之间交换更多的数据，管道指的是从一个进程连接数据流到另一个进程。它具有以下特点：


管道是半双工的，数据只能向一个方向流动；需要双方通信时，需要建立起两个管道；只能用于父子进程或者兄弟进程之间（]]></description><category></category></item><item><title><![CDATA[linux基础编程：进程通信之信号]]></title><link>https://blog.youkuaiyun.com/ColZer/article/details/8135542</link><guid>https://blog.youkuaiyun.com/ColZer/article/details/8135542</guid><author>ColZer</author><pubDate>Sat, 03 Nov 2012 16:45:28 +0800</pubDate><description><![CDATA[信号本质


信号是在软件层次上对硬件的中断机制的一种模拟，在原理上，一个进程接受到一个信号和处理器接受到中断请求可以说是一样。信号是异步的，一个进程不必通过任何操作来等待信号的到达，事实上，进程也不知道信号到底什么时候到达。信号是进程间通信机制中唯一的异步通信机制，可以看作是异步通知，通知接收信号的进程有哪些事情发生了。信号机制经过POSIX实时扩展后，功能更加强大，除了基本通知功能外，还]]></description><category></category></item><item><title><![CDATA[十亿级别规模KV型数据持久性存储引擎：Leveldb实现原理]]></title><link>https://blog.youkuaiyun.com/ColZer/article/details/8139599</link><guid>https://blog.youkuaiyun.com/ColZer/article/details/8139599</guid><author>ColZer</author><pubDate>Fri, 02 Nov 2012 10:14:48 +0800</pubDate><description><![CDATA[LevelDb日知录之一：LevelDb
 101



　　说起LevelDb也许您不清楚，但是如果作为IT工程师，不知道下面两位大神级别的工程师，那您的领导估计会Hold不住了：Jeff
 Dean和Sanjay Ghemawat。这两位是Google公司重量级的工程师，为数甚少的Google
 Fellow之二。

　　Jeff Dean其人：http://research]]></description><category></category></item><item><title><![CDATA[linux基础编程：进程基础总结]]></title><link>https://blog.youkuaiyun.com/ColZer/article/details/8126071</link><guid>https://blog.youkuaiyun.com/ColZer/article/details/8126071</guid><author>ColZer</author><pubDate>Tue, 30 Oct 2012 17:06:21 +0800</pubDate><description><![CDATA[简介
        程序是一组可执行的静态指令集，而进程(process)是一个执行中的程序实例。利用分时技术，在Linux操作系统上同时可以运行多个进程。分时技术的基本原理是把CPU的运行时间划分成一个个规定长度的时间片，让每个进程在一个时间片内运行。当进程的时间片用完时系统就利用调度程序切换到另一个进程去运行。因此实际上对于具体单个CPU的机器来说某一个时刻只能运行一个进程。但由于每个进程]]></description><category></category></item><item><title><![CDATA[linux 基础编程：文件操作总结]]></title><link>https://blog.youkuaiyun.com/ColZer/article/details/8107124</link><guid>https://blog.youkuaiyun.com/ColZer/article/details/8107124</guid><author>ColZer</author><pubDate>Wed, 24 Oct 2012 16:34:15 +0800</pubDate><description><![CDATA[最近在看底层系统相关开源代码的时候，发现自己linux下面的基础编程真的没有过关，重新捧起《linux程序设计，第三版》好好学习一下基础编程，文件编程当然是第一站咯，今天看完，好好总结一下吧。
小条例
一切皆文件：在linux操作系统中，文件为操作系统服务和设备提供了一个简单而统一的接口，即一切皆文件。应用程序可以像使用文件一样使用磁盘文件，串行口，打印机和其他设备。目录也是一种特殊文件。]]></description><category></category></item><item><title><![CDATA[FastCGI: A High-Performance Web Server Interface 中文翻译版本]]></title><link>https://blog.youkuaiyun.com/ColZer/article/details/8095249</link><guid>https://blog.youkuaiyun.com/ColZer/article/details/8095249</guid><author>ColZer</author><pubDate>Sun, 21 Oct 2012 14:30:57 +0800</pubDate><description><![CDATA[原文地址：http://www.fastcgi.com/devkit/doc/fastcgi-whitepaper/fastcgi.htm


         这篇文章是FastCgi的白皮书，在前言部分介绍CGI和服务器接口的优缺点，算是CGI/FastCGI中比较好的文章。所以就转过来。目的不是为了翻译，而是为了以后看起来比较清晰一点，http://home.educities.edu]]></description><category></category></item><item><title><![CDATA[Lighttpd 轻量级服务端]]></title><link>https://blog.youkuaiyun.com/ColZer/article/details/8093904</link><guid>https://blog.youkuaiyun.com/ColZer/article/details/8093904</guid><author>ColZer</author><pubDate>Sat, 20 Oct 2012 21:25:02 +0800</pubDate><description><![CDATA[前言
在lighttpd.net的官网上这样介绍这款服务器软件：
Security, speed, compliance, and flexibility -- all of these describe lighttpd (pron. lighty) which is rapidly redefining efficiency of a webserver; as it is designe]]></description><category></category></item><item><title><![CDATA[CGI运行机制和基本环境变量备忘]]></title><link>https://blog.youkuaiyun.com/ColZer/article/details/8093721</link><guid>https://blog.youkuaiyun.com/ColZer/article/details/8093721</guid><author>ColZer</author><pubDate>Sat, 20 Oct 2012 19:52:51 +0800</pubDate><description><![CDATA[前言
     读了三年的研究生，没有碰过web相关开发了。本科的三年的web开发经验都忘记完了。工作找好了，最近准备开始重新复习一下C和web相关的知识，以前做web开发的时候主要是主要是用PHP那几十个API来做系统开发，对PHP底层没有去学习过，最近打算从CGI出发，从本质上来了解一下web底层相关技术。
今天主要看了下面几个CGI入门的知识，还不错。
FastCGI实战：http:/]]></description><category></category></item><item><title><![CDATA[通过看linux环境相关源码学习编程（持续更新）]]></title><link>https://blog.youkuaiyun.com/ColZer/article/details/8054084</link><guid>https://blog.youkuaiyun.com/ColZer/article/details/8054084</guid><author>ColZer</author><pubDate>Tue, 09 Oct 2012 21:37:04 +0800</pubDate><description><![CDATA[第一条：结合枚举enum声明和宏定义来定义变量：这样可以不用去定义一个enum变量(Form Memcahced)

enum
  {
    DT_UNKNOWN = 0,
# define DT_UNKNOWN	DT_UNKNOWN
    DT_FIFO = 1,
# define DT_FIFO	DT_FIFO
    DT_CHR = 2,
# define DT_CHR		DT_C]]></description><category></category></item></channel></rss>