自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ColZer的专栏

专注云平台,基础平台架构和开发

  • 博客(22)
  • 收藏
  • 关注

原创 HDFS中的集中缓存(Centralized Cache Management in HDFS)

集中缓存有两层概念:第一层是缓存,即为存储在HDFS中文件提供缓存的机制,从而可以加速DFSClient对文件的读操作;第二层概念是集中式的管理,传统的HDFS缓存依赖了OS本身的缓存机制,但是这种缓存机制不能被管理员或中央节点进行管理,不能自由的控制哪些文件缓存,哪些文件不进行缓存;集中式的管理可以提高了对缓存内存的可控性;HDFS中集中缓存架构如下所示:User

2014-04-30 13:49:16 5500

原创 Hadoop 2.3.0编译

下载版本: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,如果

2014-04-30 09:59:13 2157

原创 我也学php:编码规范/翻译自PSR

PHP社区百花齐放,拥有大量的函数库、框架和组件。PHP开发者通常会在自己的项目中使用若干个外部库,因而PHP代码遵循或尽量接近同一个代码风格就非常重要,可以让开发者方便地把多个代码库集成在自己的项目中。框架互操作组(即PHP标准组)发布了一系列代码风格推荐标准,即PSR-0,PSR-1,PSR-2和PSR-3。 不要让这些名称所混淆,这些推荐仅是一些被其它项目所遵循的规则,如Drupal,

2013-06-12 15:27:55 4530

原创 我也学php:类型判断和NULL,空值检查

PHP是一种宽松类型的编程语言,在函数中对传入的参数值的“类型”以及”值是否为空或者NULL“进行检查是不可缺少的步骤。类型检查从PHP5开始,PHP允许对函数的参数进行类型约束,即可以约束参数的类型为对象,接口,数组(PHP 5.1开始)或者callable(PHP5.4起),但是不可以约束参数类型为标量类型(如int ,string,bool),也不可以约束为Traits类型。

2013-06-03 11:37:23 21271

转载 HTTP Session和Cookie工作原理

session的工作原理 术语session 在我的经验里,session这个词被滥用的程度大概仅次于transaction,更加有趣的是transaction与session在某些语境下的含义是相同的。 session,中文经常翻译为会话,其本来的含义是指有始有终的一系列动作/消息,比如打电话时从拿起电话拨号到挂断电话这中间的一系列过程可以称之为一个session。有时候我们可以

2013-03-18 14:48:20 16405 1

转载 [RabbitMQ+Python入门经典] 兔子和兔子窝

RabbitMQ作为一个工业级的消息队列服务器,在其客户端手册列表的Python段当中推荐了一篇blog,作为RabbitMQ+Python的入门手册再合适不过了。不过,正如其标题Rabbit and Warrens(兔子和养兔场)一样,这篇英文写的相当俏皮,以至于对于我等非英文读者来说不像一般的技术文档那么好懂,所以,翻译一下吧。翻译过了,希望其他人可以少用一些时间。翻译水平有限,不可能像原

2013-03-10 09:46:35 1770

原创 YII解析:Module模块使用

模块结构在YII中,程序入口是一个继承CApplication的CWebApplication的应用程序,在一个web请求的整个过程中,控制器,模型和视图都是由Application进行创建和控制。首先我们来看一下CWebApplication的类的继承结构:从上面我们可以看到CWebApplication本身也是一个CModue。在YII中,模块之间是一个树形结构。即每一个模块都

2012-12-28 16:53:44 20604

原创 linux基础编程:多线程基础总结:线程创建 终止 线程同步/互斥量/条件变量/信号灯

看了很多关于linux下面多线程开发的博客和书籍,最后还是觉得杨沙洲在IBM developerWorks 中国发表的关于Posix线程编程的专栏差不多是最好的吧,本文就以该专栏来一步一步来学习多线程开发。第一篇线程的创建与取消相对进程而言,线程是一个更加接近于执行体的概念,与其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。线程和进程在使用上各有优缺点:线程执行开

2012-11-20 10:48:55 1971

原创 linux基础编程:进程通信之套接字

在文章《linux基础编程:进程通信之System V IPC:消息队列,信号量,共享内存》开头部分,我们介绍了linux环境下的进程通信方式IPC分类。本节我们将介绍由贝尔实验室及BSD(加州大学伯克利分校的伯克利软件发布中心)提出的IPC工具:套接字接口。套接字机制是管道概念的一个扩展。凭借这种机制,客户或者服务器系统的开发工作既可以在本地单机运行,也可以跨网络进行分布式进程间进行。但是套

2012-11-15 15:35:57 1873

原创 linux基础编程:IO模型:阻塞/非阻塞/IO复用 同步/异步 Select/Epoll/AIO

IO概念Linux的内核将所有外部设备都可以看做一个文件来操作。那么我们对与外部设备的操作都可以看做对文件进行操作。我们对一个文件的读写,都通过调用内核提供的系统调用;内核给我们返回一个file descriptor(fd,文件描述符)。而对一个socket的读写也会有相应的描述符,称为socketfd(socket描述符)。描述符就是一个数字,指向内核中一个结构体(文件路径,数据区,

2012-11-13 13:28:30 11259 1

原创 linux基础编程:进程通信之System V IPC:消息队列,信号量,共享内存

Linux下的进程通信基本上是从Unix平台上的进程通信手段继承而来的。而对Unix发展做出重大贡献的两大主力AT&T的贝尔实验室及BSD(加州大学伯克利分校的伯克利软件发布中心)在进程间通信方面的侧重点有所不同。前者对Unix早期的进程间通信手段进行了系统的改进和扩 充,形成了“system V IPC”,通信进程局限在单个计算机内;后者则跳过了该限制,形成了基于套接口(socket)的进程间通

2012-11-05 17:19:59 5945 1

原创 linux基础编程:进程通信之管道

在文章《linux基础编程:进程通信之信号》中,我们看到信号作为进程之间的通信方式。但是传送的信息之限于一个信号值。而本文将会介绍Linux支持的最初Unix IPC之一:管道和命名管道,它允许进程之间交换更多的数据,管道指的是从一个进程连接数据流到另一个进程。它具有以下特点:管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道;只能用于父子进程或者兄弟进程之间(

2012-11-03 20:40:18 1311

原创 linux基础编程:进程通信之信号

信号本质信号是在软件层次上对硬件的中断机制的一种模拟,在原理上,一个进程接受到一个信号和处理器接受到中断请求可以说是一样。信号是异步的,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达。信号是进程间通信机制中唯一的异步通信机制,可以看作是异步通知,通知接收信号的进程有哪些事情发生了。信号机制经过POSIX实时扩展后,功能更加强大,除了基本通知功能外,还

2012-11-03 16:45:28 1676

转载 十亿级别规模KV型数据持久性存储引擎:Leveldb实现原理

LevelDb日知录之一:LevelDb 101  说起LevelDb也许您不清楚,但是如果作为IT工程师,不知道下面两位大神级别的工程师,那您的领导估计会Hold不住了:Jeff Dean和Sanjay Ghemawat。这两位是Google公司重量级的工程师,为数甚少的Google Fellow之二。  Jeff Dean其人:http://research

2012-11-02 10:14:48 11409

原创 linux基础编程:进程基础总结

简介        程序是一组可执行的静态指令集,而进程(process)是一个执行中的程序实例。利用分时技术,在Linux操作系统上同时可以运行多个进程。分时技术的基本原理是把CPU的运行时间划分成一个个规定长度的时间片,让每个进程在一个时间片内运行。当进程的时间片用完时系统就利用调度程序切换到另一个进程去运行。因此实际上对于具体单个CPU的机器来说某一个时刻只能运行一个进程。但由于每个进程

2012-10-30 17:06:21 1014

原创 linux 基础编程:文件操作总结

最近在看底层系统相关开源代码的时候,发现自己linux下面的基础编程真的没有过关,重新捧起《linux程序设计,第三版》好好学习一下基础编程,文件编程当然是第一站咯,今天看完,好好总结一下吧。小条例一切皆文件:在linux操作系统中,文件为操作系统服务和设备提供了一个简单而统一的接口,即一切皆文件。应用程序可以像使用文件一样使用磁盘文件,串行口,打印机和其他设备。目录也是一种特殊文件。

2012-10-24 16:34:15 1331

翻译 FastCGI: A High-Performance Web Server Interface 中文翻译版本

原文地址:http://www.fastcgi.com/devkit/doc/fastcgi-whitepaper/fastcgi.htm         这篇文章是FastCgi的白皮书,在前言部分介绍CGI和服务器接口的优缺点,算是CGI/FastCGI中比较好的文章。所以就转过来。目的不是为了翻译,而是为了以后看起来比较清晰一点,http://home.educities.edu

2012-10-21 14:30:57 2085

原创 Lighttpd 轻量级服务端

前言在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

2012-10-20 21:25:02 707

原创 CGI运行机制和基本环境变量备忘

前言     读了三年的研究生,没有碰过web相关开发了。本科的三年的web开发经验都忘记完了。工作找好了,最近准备开始重新复习一下C和web相关的知识,以前做web开发的时候主要是主要是用PHP那几十个API来做系统开发,对PHP底层没有去学习过,最近打算从CGI出发,从本质上来了解一下web底层相关技术。今天主要看了下面几个CGI入门的知识,还不错。FastCGI实战:http:/

2012-10-20 19:52:51 2017

原创 通过看linux环境相关源码学习编程(持续更新)

第一条:结合枚举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

2012-10-09 21:37:04 1097

转载 linux 常用头文件

//头文件位于目录:/usr/include/i386-linux-gnu/sys下面1、  一些头文件的作用::ANSI C。提供断言,assert(表达式):GCC。GTK,GNOME的基础库,提供很多有用的函数,如有数据结构操作函数。使用glib只需要包含:GCC。文件夹操作函数。struct dirent,struct DIR,opendir(),closedir(

2012-10-09 21:07:13 1120

转载 linux库:静态库和动态库

linux环境下,库文件包含静态函数库和动态函数库两种:静态函数库:   这类库的名字一般是libxxx.a;利用静态函数库编译成的文件比较大,因为整个函数库的所有数据都会被整合进目标代码中,他的优点就显而易见了,即编译后的执行程序不需要外部的函数库支持,因为所有使用的函数都已经被编译进可执行文件了。当然这也会成为他的缺点,因为如果静态函数库改变了,那么你的程序必须重新编译,而且体积也较

2012-10-09 15:17:23 1004

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除