<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/yanook</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; yanook]]></copyright><item><title><![CDATA[深入理解inode]]></title><link>https://blog.youkuaiyun.com/yanook/article/details/38729079</link><guid>https://blog.youkuaiyun.com/yanook/article/details/38729079</guid><author>yanook</author><pubDate>Thu, 21 Aug 2014 14:03:42 +0800</pubDate><description><![CDATA[一、inode是什么？

理解inode，要从文件储存说起。

文件储存在硬盘上，硬盘的最小存储单位叫做"扇区"（Sector）。每个扇区储存512字节（相当于0.5KB）。

操作系统读取硬盘的时候，不会一个个扇区地读取，这样效率太低，而是一次性连续读取多个扇区，即一次性读取一个"块"（block）。这种由多个扇区组成的"块"，是文件存取的最小单位。"块"的大小，最常见的是4KB，即]]></description><category></category></item><item><title><![CDATA[static const char sep[256] = { [' ']=1, ['.']=1, ['-']=1, ['_']=1 };]]></title><link>https://blog.youkuaiyun.com/yanook/article/details/36696799</link><guid>https://blog.youkuaiyun.com/yanook/article/details/36696799</guid><author>yanook</author><pubDate>Thu, 03 Jul 2014 20:52:16 +0800</pubDate><description><![CDATA[static const char sep[256] = { [' ']=1, ['.']=1, ['-']=1, ['_']=1 };//gcc能编译通过，vs不支持此格式

意思是定义1个数组，并进行初始化赋值，被赋值元素的下标为字符所对应的ASCII码。]]></description><category></category></item><item><title><![CDATA[Hive和Hbase作用于]]></title><link>https://blog.youkuaiyun.com/yanook/article/details/18734675</link><guid>https://blog.youkuaiyun.com/yanook/article/details/18734675</guid><author>yanook</author><pubDate>Fri, 24 Jan 2014 14:54:10 +0800</pubDate><description><![CDATA[Hive和Hbase有各自的不同特性：

hive是高延迟，结构化和面向分析的，hbase是低延迟，非结构化和面向编程的。

hive数据仓库在hadoop上时高延迟的，hive集成hbase就是为了使用hbase的一些特性，hive集成hbase可以有效利用habse数据库的存储特性，如行更新和列索引等，在集成的过程中注意维持hbase jar包的一致性。hive集成hbase需要在hi]]></description><category></category></item><item><title><![CDATA[mrsync]]></title><link>https://blog.youkuaiyun.com/yanook/article/details/12120971</link><guid>https://blog.youkuaiyun.com/yanook/article/details/12120971</guid><author>yanook</author><pubDate>Sat, 28 Sep 2013 10:18:35 +0800</pubDate><description><![CDATA[mrsync a tool to transfer files from a master to many remote machines in LAN using Unix socket's multicast. It dynamically adjusts its speed of
 transfering to ease on the network and to leave no one]]></description><category></category></item><item><title><![CDATA[Fanotify]]></title><link>https://blog.youkuaiyun.com/yanook/article/details/12120515</link><guid>https://blog.youkuaiyun.com/yanook/article/details/12120515</guid><author>yanook</author><pubDate>Sat, 28 Sep 2013 10:07:05 +0800</pubDate><description><![CDATA[引子

Fanotify (fscking all notifiction and file access system) 是一个 notifier，即一种对文件系统变化产生通知的机制。

我第一次看到 Fanotify 是在 2009 年，Eric Paris 在 lkml 上努力地向大家说明 fanotify 的特性。但在当时有影响力的内核开发人员都认为这只是一个拿了报酬的程序员为 A]]></description><category></category></item><item><title><![CDATA[sersync]]></title><link>https://blog.youkuaiyun.com/yanook/article/details/12120491</link><guid>https://blog.youkuaiyun.com/yanook/article/details/12120491</guid><author>yanook</author><pubDate>Sat, 28 Sep 2013 10:05:58 +0800</pubDate><description><![CDATA[公司最近业务需求，要实时同步windows与linux，linux与linux之间的数据。我们使用是sersync这个开源的软件，是由金山才子所写。项目详情请访问：http://code.google.com/p/sersync/  qq群：37499077
 欢迎讨论

 

一..linux之间的文件实时同步

sersync的设计用以替代inotify-tool工具，同样是调用]]></description><category></category></item><item><title><![CDATA[rsync实现大致流程描述]]></title><link>https://blog.youkuaiyun.com/yanook/article/details/10748257</link><guid>https://blog.youkuaiyun.com/yanook/article/details/10748257</guid><author>yanook</author><pubDate>Sat, 31 Aug 2013 17:01:04 +0800</pubDate><description><![CDATA[一、文件同步
不同主机之间的文件同步是服务器开发过程中一个重要的基础操作，它是cp及scp的一个扩充版本，能够实现不同主机之间的文件复制，能够提供增量复制，能够提供安全性验证。rsync的代码实现数量并不多，核心的文件更少，和很多理论作者的操作一样，该文件使用C语言编写，代码的编写、变量的命令、文档的编写都不是很全面。rsync的原理我在之前的一篇文章中大致有描述，也就是说原理并没有复杂到大家需]]></description><category></category></item><item><title><![CDATA[Rsync 实现原理]]></title><link>https://blog.youkuaiyun.com/yanook/article/details/10711979</link><guid>https://blog.youkuaiyun.com/yanook/article/details/10711979</guid><author>yanook</author><pubDate>Sat, 31 Aug 2013 08:16:46 +0800</pubDate><description><![CDATA[Rsync 实现原理

前言

关于rsync的原始文档 Rsync technical report 以及Andrew Tridgell的论文 Phd thesis
 (pdf) 都是关于rsync算法原理的极好的文档。但是，这些文档注重的是rsync算法本身，而对算 法的实现方法则描述较少。

本文试图对Linux/Unix下的rsync工具的实现进行分析，并将描述下列问题：
]]></description><category></category></item><item><title><![CDATA[nginx 健康检查和负载均衡机制分析]]></title><link>https://blog.youkuaiyun.com/yanook/article/details/10052869</link><guid>https://blog.youkuaiyun.com/yanook/article/details/10052869</guid><author>yanook</author><pubDate>Sun, 18 Aug 2013 22:03:43 +0800</pubDate><description><![CDATA[nginx 健康检查和负载均衡机制分析






nginx 是优秀的反向代理服务器，这里主要讲它的健康检查和负载均衡机制，以及这种机制带来的问题。所谓健康检查，就是当后端出现问题（具体什么叫出现问题，依赖于具体实现，各个实现定义不一样），不再往这个后端分发请求，并且做后续的检查，直到这个后端恢复正常。所谓负载均衡，就是选择后端的方式，如何（根据后端的能力）将请求均衡的分发到后端。]]></description><category></category></item><item><title><![CDATA[nginx rewrite 中brake last 区别]]></title><link>https://blog.youkuaiyun.com/yanook/article/details/10049117</link><guid>https://blog.youkuaiyun.com/yanook/article/details/10049117</guid><author>yanook</author><pubDate>Sun, 18 Aug 2013 17:20:07 +0800</pubDate><description><![CDATA[在使用nginx重写(即rewrite)机制时，大家一般会用到last和break，关于这两个指令的作用，网友问的挺多，网上的讨论也挺多，这里做个总结：
网友的给力解释：
last：
    重新将rewrite后的地址在server标签中执行
break：
    将rewrite后的地址在当前location标签中执行

nginx官方解释：last：    stops proc]]></description><category></category></item><item><title><![CDATA[Nginx 关于 location 的匹配规则详解]]></title><link>https://blog.youkuaiyun.com/yanook/article/details/9629561</link><guid>https://blog.youkuaiyun.com/yanook/article/details/9629561</guid><author>yanook</author><pubDate>Tue, 30 Jul 2013 16:28:06 +0800</pubDate><description><![CDATA[Nginx 关于 location 的匹配规则详解

http://iteye.com/eyesmore/

有些童鞋的误区

1、 location 的匹配顺序是“先匹配正则，再匹配普通”。

矫正： location 的匹配顺序其实是“先匹配普通，再匹配正则”。我这么说，大家一定会反驳我，因为按“先匹配普通，再匹配正则”解释不了大家平时习惯的按“先匹配正则，再匹配普通”的实践经]]></description><category></category></item><item><title><![CDATA[nginx 健康检查和负载均衡机制分析]]></title><link>https://blog.youkuaiyun.com/yanook/article/details/9526393</link><guid>https://blog.youkuaiyun.com/yanook/article/details/9526393</guid><author>yanook</author><pubDate>Sat, 27 Jul 2013 09:19:30 +0800</pubDate><description><![CDATA[nginx 是优秀的反向代理服务器，这里主要讲它的健康检查和负载均衡机制，以及这种机制带来的问题。所谓健康检查，就是当后端出现问题（具体什么叫出现问题，依赖于具体实现，各个实现定义不一样），不再往这个后端分发请求，并且做后续的检查，直到这个后端恢复正常。所谓负载均衡，就是选择后端的方式，如何（根据后端的能力）将请求均衡的分发到后端。此外，当请求某个后端失败时，要将该请求分发到其它后端（redisp]]></description><category></category></item><item><title><![CDATA[rsync核心算法]]></title><link>https://blog.youkuaiyun.com/yanook/article/details/9395823</link><guid>https://blog.youkuaiyun.com/yanook/article/details/9395823</guid><author>yanook</author><pubDate>Sun, 21 Jul 2013 08:20:22 +0800</pubDate><description><![CDATA[rsync是unix/linux下同步文件的一个高效算法，它能同步更新两处计算机的文件与目录，并适当利用查找文件中的不同块以减少数据传输。rsync中一项与其他大部分类似程序或协定中所未见的重要特性是镜像是只对有变更的部分进行传送。rsync可拷贝／显示目录属性，以及拷贝文件，并可选择性的压缩以及递归拷贝。rsync利用由澳洲电脑程式师Andrew Tridgell发明的算法。这里不介绍其使用方法]]></description><category></category></item><item><title><![CDATA[mysql 语句优化]]></title><link>https://blog.youkuaiyun.com/yanook/article/details/9256725</link><guid>https://blog.youkuaiyun.com/yanook/article/details/9256725</guid><author>yanook</author><pubDate>Sat, 06 Jul 2013 09:21:27 +0800</pubDate><description><![CDATA[mysql的性能优化包罗甚广：索引优化，查询优化，查询缓存，服务器设置优化，操作系统和硬件优化，应用层面优化（web服务器，缓存）等等。这里的记录的优化技巧更适用于开发人员，都是从网络上收集和自己整理的，主要是查询语句上面的优化，其它层面的优化技巧在此不做记录。查询的开销指标：执行时间检查的行数返回的行数建立索引的几个准则： 1、合理的建立索引能够加速数据读取效率，不合理的建立索引反而会拖慢数据库]]></description><category></category></item><item><title><![CDATA[HTTP协议详解]]></title><link>https://blog.youkuaiyun.com/yanook/article/details/9069599</link><guid>https://blog.youkuaiyun.com/yanook/article/details/9069599</guid><author>yanook</author><pubDate>Mon, 10 Jun 2013 09:15:28 +0800</pubDate><description><![CDATA[转自：http://www.cnblogs.com/TankXiao/archive/2012/02/13/2342672.html
 
HTTP协议详解

当今web程序的开发技术真是百家争鸣，ASP.NET, PHP, JSP，Perl, AJAX 等等。 无论Web技术在未来如何发展，理解Web程序之间通信的基本协议相当重要, 因为它让我们理解了Web应用程序的内部工作. 本文将对H]]></description><category></category></item><item><title><![CDATA[使用nginx后如何在web应用中获取用户ip及原理解释]]></title><link>https://blog.youkuaiyun.com/yanook/article/details/8952771</link><guid>https://blog.youkuaiyun.com/yanook/article/details/8952771</guid><author>yanook</author><pubDate>Mon, 20 May 2013 22:21:00 +0800</pubDate><description><![CDATA[问题背景：
在实际应用中，我们可能需要获取用户的ip地址，比如做异地登陆的判断，或者统计ip访问次数等，通常情况下我们使用request.getRemoteAddr()就可以获取到客户端ip，但是当我们使用了nginx作为反向代理后，使用request.getRemoteAddr()获取到的就一直是nginx服务器的ip的地址，那这时应该怎么办？
 
part1：解决方案
我在查阅资料时，]]></description><category></category></item><item><title><![CDATA[MYSQL互为主备配置]]></title><link>https://blog.youkuaiyun.com/yanook/article/details/8882714</link><guid>https://blog.youkuaiyun.com/yanook/article/details/8882714</guid><author>yanook</author><pubDate>Sat, 04 May 2013 09:11:07 +0800</pubDate><description><![CDATA[实战环境介绍：




       



服务器名
IP
系统
MySQL


odd.example.com
192.168.1.116
rhel-5.8
5.5.16


even.example.com
192.168.1.115
rhel-5.8
5.5.16






     假设要同步的库是 db_rocky]]></description><category></category></item><item><title><![CDATA[解析url地址字串,获得请求参数]]></title><link>https://blog.youkuaiyun.com/yanook/article/details/8882700</link><guid>https://blog.youkuaiyun.com/yanook/article/details/8882700</guid><author>yanook</author><pubDate>Sat, 04 May 2013 09:05:25 +0800</pubDate><description><![CDATA[解析url地址字串,获得请求参数


在项目中出现了要解析url地址字符串并获得请求的参数,故,写了这段小代码 
后注: 现在发现这个工具类还挺好用的,尤其在一些测试里,可以简单的模仿HttpServletRequest了 
解析类 


Java代码  



/** 
 * CopyRight (C) 2008-2009 yeyong 
 */  
package]]></description><category></category></item><item><title><![CDATA[UNIX/Linux:向进程发信号的3种方式]]></title><link>https://blog.youkuaiyun.com/yanook/article/details/8873073</link><guid>https://blog.youkuaiyun.com/yanook/article/details/8873073</guid><author>yanook</author><pubDate>Wed, 01 May 2013 21:32:16 +0800</pubDate><description><![CDATA[UNIX/Linux:向进程发信号的3种方式

问：怎么向另一个进程发信号？你能跟我解释下在UNIX/Linux环境向一个进程发信号的所有

可用的选项吗？

答：你可以用本文所说的任一种方法向进程发各种信号。

1.用Kill向进程发信号

使用kill命令向进程发信号。例如，你想向进程“a.out”发送USR1信号，如下所示。

$ ps -C a.out

PID]]></description><category></category></item><item><title><![CDATA[linux top命令查看内存及多核CPU的使用讲述]]></title><link>https://blog.youkuaiyun.com/yanook/article/details/8873035</link><guid>https://blog.youkuaiyun.com/yanook/article/details/8873035</guid><author>yanook</author><pubDate>Wed, 01 May 2013 21:16:03 +0800</pubDate><description><![CDATA[查看多核CPU命令mpstat -P ALL 和 sar -P ALL 
说明：sar -P ALL > aaa.txt 重定向输出内容到文件 aaa.txt
top命令经常用来监控linux的系统状况，比如cpu、内存的使用，程序员基本都知道这个命令，但比较奇怪的是能用好它的人却很少，例如top监控视图中内存数值的含义就有不少的曲解。

本文通过一个运行中的WEB服务器的top监控截图，]]></description><category></category></item></channel></rss>