<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[hepeng597的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/hepeng597</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; hepeng597]]></copyright><item><title><![CDATA[git 详细教程，从头开始，看简单英文比中文好懂]]></title><link>https://blog.youkuaiyun.com/hepeng597/article/details/24649717</link><guid>https://blog.youkuaiyun.com/hepeng597/article/details/24649717</guid><author>hepeng597</author><pubDate>Fri, 11 Jul 2014 14:53:44 +0800</pubDate><description><![CDATA[Beginner

 

PLEASE NOTE, Section I and II below, are not to be followed in order, they are 2 separate Actions (one to create a new local git repo to push to remote GIT, and the other to obtain "c]]></description><category></category></item><item><title><![CDATA[配置中转linux机器，使连接该机器上的两个网络的两台主机可以互ping通]]></title><link>https://blog.youkuaiyun.com/hepeng597/article/details/11290687</link><guid>https://blog.youkuaiyun.com/hepeng597/article/details/11290687</guid><author>hepeng597</author><pubDate>Sat, 07 Sep 2013 09:59:45 +0800</pubDate><description><![CDATA[一、网络环境：

网络1：

主机A:

eth0 ip:168.1.1.76

gateway: 168.1.1.1

 

网络2:

主机B:

eth0 ip:172.18.128.23

gateway:172.18.128.1

 

中转机：

eth0 ip1:168.1.1.7  与网络1主机A互通

eth1 ip2:172.]]></description><category></category></item><item><title><![CDATA[linux syslog服务器配置，自动发日志到另一台日志服务器]]></title><link>https://blog.youkuaiyun.com/hepeng597/article/details/11290283</link><guid>https://blog.youkuaiyun.com/hepeng597/article/details/11290283</guid><author>hepeng597</author><pubDate>Sat, 07 Sep 2013 09:53:59 +0800</pubDate><description><![CDATA[1.客户端:168.1.20.66
修改/etc/syslog.conf  添加
syslog.info   @168.1.80.30

2.日志服务器:168.1.80.30
修改/etc/sysconf/syslog 修改SYSLOGD_OPTIONS为 "-r -x -m 0"   #-r表示允许接收外来的消息，-x表示不解析DNS,

#-m 0表示时间戳标记间隔,如果指定只]]></description><category></category></item><item><title><![CDATA[字符串公共串]]></title><link>https://blog.youkuaiyun.com/hepeng597/article/details/11266985</link><guid>https://blog.youkuaiyun.com/hepeng597/article/details/11266985</guid><author>hepeng597</author><pubDate>Fri, 06 Sep 2013 22:44:19 +0800</pubDate><description><![CDATA[一、找出最长公共子序列的长度


题：求字符串str1,str2的最长公共子序列的长度（可以不连续）。



解：定义二元函数函数f(m,n)：分别以str1[m],str2[n]结尾的连续公共子序列的长度

而对于f(m,n) 有以下两种情况

1.str1[m] != str2[n],则有f(m,n) = max(f(m-1,n), f(m, n-1))

2.str]]></description><category></category></item><item><title><![CDATA[Linux 启动详解1]]></title><link>https://blog.youkuaiyun.com/hepeng597/article/details/10033149</link><guid>https://blog.youkuaiyun.com/hepeng597/article/details/10033149</guid><author>hepeng597</author><pubDate>Sat, 17 Aug 2013 19:22:45 +0800</pubDate><description><![CDATA[在了解启动流程之前，我们应该先知道系统的几个重要脚本和配置文件，他们对应的路径为：

     1. /sbin/init
     2. /etc/inittab
     3. /etc/rc.d/rc.sysinit
     4. /etc/rc.d/rcN.d //这是几个文件夹N代表数字1,2,3,4..
     5. /etc/fstab

文件介绍：

1.关]]></description><category></category></item><item><title><![CDATA[求一个数组中满足一定条件的两个元素的最大差值]]></title><link>https://blog.youkuaiyun.com/hepeng597/article/details/9961063</link><guid>https://blog.youkuaiyun.com/hepeng597/article/details/9961063</guid><author>hepeng597</author><pubDate>Wed, 14 Aug 2013 11:18:10 +0800</pubDate><description><![CDATA[之前在面的时候碰到一道题，要求找出一个互异数组中两个元素的最大差值。具体描述如下：

有一个整数数组d[0,...,n-1]，并且数组满足不存在相同的元素，要求找出

1) max{d[i] - d[j]} 且 i > j;(对应实际生活中的股票买卖，找出可能的最大收益)

2) max{d[i] - d[j]} 且 i 

思路有很多种，用动态规划最简单，时间复杂度都是O(n)，]]></description><category></category></item><item><title><![CDATA[KMP算法详解及各种应用]]></title><link>https://blog.youkuaiyun.com/hepeng597/article/details/9929951</link><guid>https://blog.youkuaiyun.com/hepeng597/article/details/9929951</guid><author>hepeng597</author><pubDate>Mon, 12 Aug 2013 20:11:20 +0800</pubDate><description><![CDATA[KMP算法详解：
KMP算法之所以叫做KMP算法是因为这个算法是由三个人共同提出来的，就取三个人名字的首字母作为该算法的名字。其实KMP算法与BF算法的区别就在于KMP算法巧妙的消除了指针i的回溯问题，只需确定下次匹配j的位置即可，使得问题的复杂度由O(mn)下降到O(m+n)。
在KMP算法中，为了确定在匹配不成功时，下次匹配时j的位置，引入了next[]数组，next[j]的值表示P[0.]]></description><category></category></item><item><title><![CDATA[实战Nginx与PHP（FastCGI）的安装、配置与优化]]></title><link>https://blog.youkuaiyun.com/hepeng597/article/details/9841061</link><guid>https://blog.youkuaiyun.com/hepeng597/article/details/9841061</guid><author>hepeng597</author><pubDate>Thu, 08 Aug 2013 20:01:42 +0800</pubDate><description><![CDATA[一、什么是 FastCGI

FastCGI是一个可伸缩地、高速地在HTTP server和动态脚本语言间通信的接口。多数流行的HTTP server都支持FastCGI，包括Apache、Nginx和lighttpd等，同时，FastCGI也被许多脚本语言所支持，其中就有PHP。

 

FastCGI是从CGI发展改进而来的。传统CGI接口方式的主要缺点是性能很差，因为每次HTTP]]></description><category></category></item><item><title><![CDATA[fastcgi与cgi的区别]]></title><link>https://blog.youkuaiyun.com/hepeng597/article/details/9837387</link><guid>https://blog.youkuaiyun.com/hepeng597/article/details/9837387</guid><author>hepeng597</author><pubDate>Thu, 08 Aug 2013 15:46:36 +0800</pubDate><description><![CDATA[先讲下cgi：
cgi在2000年或更早的时候用得比较多， 以前web服务器一般只处理静态的请求，如果碰到一个动态请求怎么办呢？web服务器会根据这次请求的内容，然后会fork一个新进程来运行外部c程序（或perl脚本...）， 这个进程会把处理完的数据返回给web服务器，最后web服务器把内容发送给用户，刚才fork的进程也随之退出。 如果下次用户还请求改动态脚本，那么web服务器又再次for]]></description><category></category></item><item><title><![CDATA[daemon 进程为什么要fork两次，与后台运行程序区别？]]></title><link>https://blog.youkuaiyun.com/hepeng597/article/details/9816751</link><guid>https://blog.youkuaiyun.com/hepeng597/article/details/9816751</guid><author>hepeng597</author><pubDate>Wed, 07 Aug 2013 14:30:02 +0800</pubDate><description><![CDATA[daemon进程是后台守护进程，有时候也叫精灵进程(agent).linux 下server都是daemon进程。相信大部分开发人员都知道如何去写一个daemon进程。但是另一方面，大部分人不知道为什么要这么做，不少人是从某个地方copy一个函数，拿来主义。但是具体为什么这么实现，却不是很透彻。




  见过一些面试官或被面试人。很多人解释daemon进程存在的理由是因为僵死进程。或]]></description><category></category></item><item><title><![CDATA[Nginx内核参数相关的优化设定]]></title><link>https://blog.youkuaiyun.com/hepeng597/article/details/9787711</link><guid>https://blog.youkuaiyun.com/hepeng597/article/details/9787711</guid><author>hepeng597</author><pubDate>Tue, 06 Aug 2013 10:39:12 +0800</pubDate><description><![CDATA[转自：http://developer.51cto.com/art/201003/191603.htm

Nginx内核参数一个长时间困扰着网管员的问题，在实际的操作中各种小技巧还是需要我们引起注意。下面我们就详细的看看如何进行。

Nginx内核参数在使用的时候有不少问题需要我们解决，其中在优化方面就需要我们格外的注意。在下面就是对Nginx内核参数优化的详细介绍，希望大家有所收获。]]></description><category></category></item><item><title><![CDATA[LVS 虚拟服务器三种模式例子]]></title><link>https://blog.youkuaiyun.com/hepeng597/article/details/9774605</link><guid>https://blog.youkuaiyun.com/hepeng597/article/details/9774605</guid><author>hepeng597</author><pubDate>Mon, 05 Aug 2013 23:00:28 +0800</pubDate><description><![CDATA[NAT模式 
1.模拟环境: 
LVS服务器有两块网卡,连接外网(用户端)和内网(服务器),充当"交警"角色. 
优点: 节省ip开销 
缺点: LVS服务器负载过高,数据吞吐量降低 
三台Linux虚拟机: 
LVS服务器(vmnet1 ip: 200.168.10.10 , vmnet2 ip: 192.168.10.1) 
WEB服务器1(vmnet2 ip: 192.168.]]></description><category></category></item><item><title><![CDATA[LVS 三种工作模式的优缺点比较]]></title><link>https://blog.youkuaiyun.com/hepeng597/article/details/9772689</link><guid>https://blog.youkuaiyun.com/hepeng597/article/details/9772689</guid><author>hepeng597</author><pubDate>Mon, 05 Aug 2013 21:10:42 +0800</pubDate><description><![CDATA[LVS 三种工作模式的优缺点比较


一、Virtual server via NAT（VS-NAT）


优点：集群中的物理服务器可以使用任何支持TCP/IP操作系统，物理服务器可以分配Internet的保留私有地址，只有负载均衡器需要一个合法的IP地址。


缺点：扩展性有限。当服务器节点（普通PC服务器）数据增长到20个或更多时,负载均衡器将成为整个系统的瓶颈，因为所有的请]]></description><category></category></item><item><title><![CDATA[海量数据处理算法总结]]></title><link>https://blog.youkuaiyun.com/hepeng597/article/details/9635111</link><guid>https://blog.youkuaiyun.com/hepeng597/article/details/9635111</guid><author>hepeng597</author><pubDate>Tue, 30 Jul 2013 22:55:59 +0800</pubDate><description><![CDATA[1. Bloom Filter


【Bloom Filter】
Bloom Filter（BF）是一种空间效率很高的随机数据结构，它利用位数组很简洁地表示一个集合，并能判断一个元素是否属于这个集合。它是一个判断元素是否存在集合的快速的概率算法。Bloom Filter有可能会出现错误判断，但不会漏掉判断。也就是Bloom Filter判断元素不再集合，那肯定不在。如果判断元素存在集合中，]]></description><category></category></item><item><title><![CDATA[使用openssl的md5库]]></title><link>https://blog.youkuaiyun.com/hepeng597/article/details/8984797</link><guid>https://blog.youkuaiyun.com/hepeng597/article/details/8984797</guid><author>hepeng597</author><pubDate>Tue, 28 May 2013 15:14:18 +0800</pubDate><description><![CDATA[在linux机器上，有一个命令可以计算出文件的md5值，那就是md5sum，如果没有的话，就需要安装RPM包：coreutils。
现在我们使用openssl的库也可以方便的计算出文件的md5值。主要用到的函数是
int MD5_Init(MD5_CTX *c);
int MD5_Update(MD5_CTX *c, const void *data, size_t len);
int M]]></description><category></category></item><item><title><![CDATA[scp 断点续传]]></title><link>https://blog.youkuaiyun.com/hepeng597/article/details/8960885</link><guid>https://blog.youkuaiyun.com/hepeng597/article/details/8960885</guid><author>hepeng597</author><pubDate>Wed, 22 May 2013 16:14:55 +0800</pubDate><description><![CDATA[scp 是通过ssh协议传输数据，如果是想传输一个很大的数据，这几天我就遇到过，一个tar包，400G左右，通过scp拷贝时，有可能遇到服务器断电什么的悲剧问题，那么类似scp拷贝的另一个命令 rsync就可以实现意外中断后，下次继续传，命令如下：
rsync -P --rsh=ssh home.tar 192.168.205.34:/home/home.tar
-P: 是包含了 “–part]]></description><category></category></item><item><title><![CDATA[一份非常内行的Linux LVM HOWTO]]></title><link>https://blog.youkuaiyun.com/hepeng597/article/details/8955752</link><guid>https://blog.youkuaiyun.com/hepeng597/article/details/8955752</guid><author>hepeng597</author><pubDate>Tue, 21 May 2013 15:42:36 +0800</pubDate><description><![CDATA[1. 绪论 
欢迎你，亲爱的读者。 

写这个文档的目的是为了告诉你什么是LVM，它怎样工作，你怎样运用它使你的生活变得更容易。虽然有一份LVM FAQ，但仍是德文的，它是从不同的角度来描写的。它是一份“真的”HOWTO，在传授理解（有希望的）的时候也是非常内行的。 

我要说清楚我不是一个Linux逻辑卷管理器（Logical Volume Manager）的作者。我向那些作者表示敬意]]></description><category></category></item><item><title><![CDATA[linux中getmntent setmntent endmntent 用法例子]]></title><link>https://blog.youkuaiyun.com/hepeng597/article/details/8925506</link><guid>https://blog.youkuaiyun.com/hepeng597/article/details/8925506</guid><author>hepeng597</author><pubDate>Tue, 14 May 2013 14:44:13 +0800</pubDate><description><![CDATA[mntent 结构是在  中定义，如下：
              struct mntent {
                      char    *mnt_fsname;    /* name of mounted file system */
                      char    *mnt_dir;       /* file system path]]></description><category></category></item><item><title><![CDATA[linux大端，小端，网络字节序转换之可移植性代码]]></title><link>https://blog.youkuaiyun.com/hepeng597/article/details/8824455</link><guid>https://blog.youkuaiyun.com/hepeng597/article/details/8824455</guid><author>hepeng597</author><pubDate>Fri, 19 Apr 2013 16:00:07 +0800</pubDate><description><![CDATA[我们有时候经常被大端，小端，网络字节序搞得很迷糊，本文理清一些概念，并给出可移植的代码。
我们的主机字节序，即我们的机器存放内存里的顺序，有两种，一种是大端，另一种是小端，大部分的系统都是小端。
在小端存储格式中，低地址中存放的是字数据的低字节，高地址存放的是字数据的高字节，比如一个unsigned short的变量的值为十六进制"0x0a 0x0b"对应的十进制2571，这个变量跨了1个字节]]></description><category></category></item><item><title><![CDATA[net-snmp agent开发详解，非常简单]]></title><link>https://blog.youkuaiyun.com/hepeng597/article/details/8782868</link><guid>https://blog.youkuaiyun.com/hepeng597/article/details/8782868</guid><author>hepeng597</author><pubDate>Thu, 11 Apr 2013 15:51:10 +0800</pubDate><description><![CDATA[转载请标明出处 原文地址：http://blog.youkuaiyun.com/hepeng597/article/details/8782868


花了一两天时间测试和整理一下。
用net-snmp扩展MIB库，实现方法可归结为四种：
1）一是静态库方式，通过修改配置头文件，在相应地方包含新引入的mib模块的.c和.h文件，然后重新编译库文件和扩展代码；这种方式不够灵活，每次修改扩展的MIB后，]]></description><category></category></item></channel></rss>