<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title> &#187; 未分类</title>
	<atom:link href="http://www.liguosong.com/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.liguosong.com</link>
	<description></description>
	<lastBuildDate>Tue, 08 May 2018 01:02:19 +0000</lastBuildDate>
	<language>zh-CN</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.2</generator>
		<item>
		<title>centos 查询、设置、删除yum 源</title>
		<link>http://www.liguosong.com/2016/11/14/centos-%e6%9f%a5%e8%af%a2%e3%80%81%e8%ae%be%e7%bd%ae%e3%80%81%e5%88%a0%e9%99%a4yum-%e6%ba%90/</link>
		<comments>http://www.liguosong.com/2016/11/14/centos-%e6%9f%a5%e8%af%a2%e3%80%81%e8%ae%be%e7%bd%ae%e3%80%81%e5%88%a0%e9%99%a4yum-%e6%ba%90/#comments</comments>
		<pubDate>Mon, 14 Nov 2016 03:44:23 +0000</pubDate>
		<dc:creator>lgs</dc:creator>
				<category><![CDATA[centos]]></category>
		<category><![CDATA[未分类]]></category>

		<guid isPermaLink="false">http://www.liguosong.com/?p=600</guid>
		<description><![CDATA[查询是否安装了 某个yum源 rpm -qa &#124;grep -i repo-name 删除该yum源 rpm - [...]]]></description>
				<content:encoded><![CDATA[<p>查询是否安装了 某个yum源</p>
<p>rpm -qa |grep -i repo-name</p>
<p>删除该yum源</p>
<p>rpm -e repo-name</p>
<p>安装yum源</p>
<p>&nbsp;</p>
<pre>rpm -Uvh https:<strong>//</strong>mirror.webtatic.com<strong>/</strong>yum<strong>/</strong>el6<strong>/</strong>latest.rpm</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.liguosong.com/2016/11/14/centos-%e6%9f%a5%e8%af%a2%e3%80%81%e8%ae%be%e7%bd%ae%e3%80%81%e5%88%a0%e9%99%a4yum-%e6%ba%90/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>nginx: [emerg] socket() [::]:80 failed (97: Address family not supported by protocol)</title>
		<link>http://www.liguosong.com/2016/11/14/nginx-emerg-socket-80-failed-97-address-family-not-supported-by-protocol/</link>
		<comments>http://www.liguosong.com/2016/11/14/nginx-emerg-socket-80-failed-97-address-family-not-supported-by-protocol/#comments</comments>
		<pubDate>Mon, 14 Nov 2016 03:18:34 +0000</pubDate>
		<dc:creator>lgs</dc:creator>
				<category><![CDATA[Nginx]]></category>
		<category><![CDATA[未分类]]></category>

		<guid isPermaLink="false">http://www.liguosong.com/?p=596</guid>
		<description><![CDATA[centos6.5环境 yum 安装nginx后（版本nginx1.10.1） 启动报错： nginx: [e [...]]]></description>
				<content:encoded><![CDATA[<p>centos6.5环境 yum 安装nginx后（版本nginx1.10.1）</p>
<p>启动报错：</p>
<p>nginx: [emerg] socket() [::]:80 failed (97: Address family not supported by protocol)</p>
<p>解决办法：</p>
<p>vim /etc/nginx/conf.d/default.conf</p>
<p>将</p>
<pre class="brush:other">listen       80 default_server;
listen       [::]:80 default_server;</pre>
<p>改为：</p>
<pre class="brush:other">listen       80;
#listen       [::]:80 default_server;</pre>
<p>启动nginx就行了。。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.liguosong.com/2016/11/14/nginx-emerg-socket-80-failed-97-address-family-not-supported-by-protocol/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Git 版本管理</title>
		<link>http://www.liguosong.com/2016/10/02/git-%e7%89%88%e6%9c%ac%e7%ae%a1%e7%90%86/</link>
		<comments>http://www.liguosong.com/2016/10/02/git-%e7%89%88%e6%9c%ac%e7%ae%a1%e7%90%86/#comments</comments>
		<pubDate>Sun, 02 Oct 2016 02:00:08 +0000</pubDate>
		<dc:creator>lgs</dc:creator>
				<category><![CDATA[未分类]]></category>

		<guid isPermaLink="false">http://www.liguosong.com/?p=585</guid>
		<description><![CDATA[Git是一款免费、开源的分布式版本控制系统，可以有效、高速的处理从很小到非常大的项目版本管理。 Git 是用于 [...]]]></description>
				<content:encoded><![CDATA[<p>Git是一款免费、开源的分布式版本控制系统，可以有效、高速的处理从很小到非常大的项目版本管理。</p>
<p>Git 是用于 Linux内核开发的版本控制工具。与常用的版本控制工具 CVS, Subversion 等不同，它采用了分布式版本库的方式，不必服务器端软件支持，使源代码的发布和交流极其方便。 Git 的速度很快。</p>
<h2><strong>Git flow 工作流</strong></h2>
<div>
<ul>
<li>master 主要分支，存放对外发布的版本，任何时候这个分支，都是稳定的分布版</li>
<li>develop日常开发，存放最新的开发版</li>
<li>release  预发布分支</li>
<li>hotfix  紧急修复分支</li>
<li>feature 功能分支</li>
</ul>
<h3>master分支</h3>
<p>最基础，最稳定的分支。存放对外发布的版本，任何时候这个分支，都是稳定的分布版，即可以随时对外发布的分支。<span style="color: #ff0000;">****任何时候，不能再master分支上做代码修改***</span></p>
<h3>develop分支</h3>
<p>开发分支，最初从master复制过来。日常存放的是最新的开发，也是随时准备生成release版本的代码。<span style="color: #ff0000;">****除非紧急情况，否则不能再develop分支上做代码修改***</span></p>
<h3>release分支</h3>
<p>预发布分支，是从develop clone过来。准备合并到master分支的代码。<span style="color: #ff0000;">****除非紧急情况，否则不能再release分支上做代码修改***</span></p>
<h3>feature分支</h3>
<p>功能分支，从develop clone过来。主要用于在项目新增加一个功能的时候产生，等功能开发、测试完成后，合并到develop，对应的功能分支删除。<span style="color: #ff0000;">****功能分支要每天合并develop代码***</span></p>
<h3>hotfix分支</h3>
<p>紧急修复分支，主要在线上版本出现问题，从master派生过来，问题修复完成，hotfix分支功能关闭，代码合并到master、develop。</p>
<p>这几个分支关系，如下图：</p>
<p><a href="http://www.liguosong.com/wp-content/uploads/2016/10/git-model@2x.png"><img class="alignnone size-full wp-image-586" alt="git-model@2x" src="http://www.liguosong.com/wp-content/uploads/2016/10/git-model@2x.png" width="1150" height="1524" /></a></p>
<p>&nbsp;</p>
<h3>git 常用命令</h3>
<ul>
<li>克隆(clone)：从远程仓库URL加载创建一个与远程仓库一样的本地仓库</li>
<li>提交(commit)：将暂存文件上传到本地仓库</li>
<li> 检出(checkout)：切换不同分支</li>
<li>添加（add）：添加文件到缓存区</li>
<li>暂存(git stash)：保存工作现场</li>
<li>重置(reset)：回到最近添加(add)/提交(commit)状态</li>
<li>标签(tag):给项目增添标签</li>
<li>合并(merge)：将多个同名文件合并为一个文件，该文件包含多个同名文件的所有内容，相同内容抵消</li>
<li>抓取(fetch)：从远程仓库获取信息并同步至本地仓库</li>
<li>拉取(pull)：从远程仓库获取信息并同步至本地仓库，并且自动执行合并（merge）操作，即 pull=fetch+merge</li>
<li>推送(push)：将本地仓库同步至远程仓库，一般推送前先拉取一次，确保一致</li>
<li> 分支(branch)：创建/修改/删除分枝</li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.liguosong.com/2016/10/02/git-%e7%89%88%e6%9c%ac%e7%ae%a1%e7%90%86/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>删除软连接</title>
		<link>http://www.liguosong.com/2016/02/25/%e5%88%a0%e9%99%a4%e8%bd%af%e8%bf%9e%e6%8e%a5/</link>
		<comments>http://www.liguosong.com/2016/02/25/%e5%88%a0%e9%99%a4%e8%bd%af%e8%bf%9e%e6%8e%a5/#comments</comments>
		<pubDate>Thu, 25 Feb 2016 10:29:40 +0000</pubDate>
		<dc:creator>lgs</dc:creator>
				<category><![CDATA[未分类]]></category>

		<guid isPermaLink="false">http://www.liguosong.com/?p=575</guid>
		<description><![CDATA[在用ln -s 创建软连接之后，删除软连接的方法 rm symbolic_name 注意不要加-rf参数，如果 [...]]]></description>
				<content:encoded><![CDATA[<p>在用ln -s 创建软连接之后，删除软连接的方法</p>
<pre class="brush:other">rm symbolic_name</pre>
<p><strong><span style="color: #ff0000;">注意不要加-rf参数，如果加了不要在连接后面加斜线。如：rm -rf symbolic_name/ </span> <span style="color: #ff0000;">切记注意不要加后面的斜线，否则会把连接目录下的文件都删掉。。</span></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.liguosong.com/2016/02/25/%e5%88%a0%e9%99%a4%e8%bd%af%e8%bf%9e%e6%8e%a5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FastCgi与PHP-fpm之间是个什么样的关系</title>
		<link>http://www.liguosong.com/2015/11/04/fastcgi%e4%b8%8ephp-fpm%e4%b9%8b%e9%97%b4%e6%98%af%e4%b8%aa%e4%bb%80%e4%b9%88%e6%a0%b7%e7%9a%84%e5%85%b3%e7%b3%bb/</link>
		<comments>http://www.liguosong.com/2015/11/04/fastcgi%e4%b8%8ephp-fpm%e4%b9%8b%e9%97%b4%e6%98%af%e4%b8%aa%e4%bb%80%e4%b9%88%e6%a0%b7%e7%9a%84%e5%85%b3%e7%b3%bb/#comments</comments>
		<pubDate>Wed, 04 Nov 2015 10:23:02 +0000</pubDate>
		<dc:creator>lgs</dc:creator>
				<category><![CDATA[apache]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[未分类]]></category>

		<guid isPermaLink="false">http://www.liguosong.com/?p=540</guid>
		<description><![CDATA[首先，CGI是干嘛的？CGI是为了保证web server传递过来的数据是标准格式的，方便CGI程序的编写者。 [...]]]></description>
				<content:encoded><![CDATA[<p>首先，CGI是干嘛的？CGI是为了保证web server传递过来的数据是标准格式的，方便CGI程序的编写者。</p>
<blockquote><p>web server（比如说nginx）只是内容的分发者。比如，如果请求<code>/index.html</code>，那么web server会去文件系统中找到这个文件，发送给浏览器，这里分发的是静态数据。好了，如果现在请求的是<code>/index.php</code>，根据配置文件，nginx知道这个不是静态文件，需要去找PHP解析器来处理，那么他会把这个请求简单处理后交给PHP解析器。Nginx会传哪些数据给PHP解析器呢？url要有吧，查询字符串也得有吧，POST数据也要有，HTTP header不能少吧，好的，CGI就是规定要传哪些数据、以什么样的格式传递给后方处理这个请求的协议。仔细想想，你在PHP代码中使用的用户从哪里来的。</p>
<p>当web server收到<code>/index.php</code>这个请求后，会启动对应的CGI程序，这里就是PHP的解析器。接下来PHP解析器会解析php.ini文件，初始化执行环境，然后处理请求，再以规定CGI规定的格式返回处理后的结果，退出进程。web server再把结果返回给浏览器。</p></blockquote>
<p>好了，CGI是个协议，跟进程什么的没关系。那fastcgi又是什么呢？Fastcgi是用来提高CGI程序性能的。</p>
<blockquote><p>提高性能，那么CGI程序的性能问题在哪呢？&#8221;PHP解析器会解析php.ini文件，初始化执行环境&#8221;，就是这里了。标准的CGI对每个请求都会执行这些步骤（不闲累啊！启动进程很累的说！），所以处理每个时间的时间会比较长。这明显不合理嘛！那么Fastcgi是怎么做的呢？首先，Fastcgi会先启一个master，解析配置文件，初始化执行环境，然后再启动多个worker。当请求过来时，master会传递给一个worker，然后立即可以接受下一个请求。这样就避免了重复的劳动，效率自然是高。而且当worker不够用时，master可以根据配置预先启动几个worker等着；当然空闲worker太多时，也会停掉一些，这样就提高了性能，也节约了资源。这就是fastcgi的对进程的管理。</p></blockquote>
<p>那PHP-FPM又是什么呢？是一个实现了Fastcgi的程序，被PHP官方收了。</p>
<blockquote><p>大家都知道，PHP的解释器是php-cgi。php-cgi只是个CGI程序，他自己本身只能解析请求，返回结果，不会进程管理（皇上，臣妾真的做不到啊！）所以就出现了一些能够调度php-cgi进程的程序，比如说由lighthttpd分离出来的spawn-fcgi。好了PHP-FPM也是这么个东东，在长时间的发展后，逐渐得到了大家的认可（要知道，前几年大家可是抱怨PHP-FPM稳定性太差的），也越来越流行。</p></blockquote>
<p>网上有的说，fastcgi是一个协议，php-fpm实现了这个协议</p>
<blockquote><p>对。</p></blockquote>
<p>有的说，php-fpm是fastcgi进程的管理器，用来管理fastcgi进程的</p>
<blockquote><p>对。php-fpm的管理对象是php-cgi。但不能说php-fpm是fastcgi进程的管理器，因为前面说了fastcgi是个协议，似乎没有这么个进程存在，就算存在php-fpm也管理不了他（至少目前是）。 有的说，php-fpm是php内核的一个补丁</p>
<p>以前是对的。因为最开始的时候php-fpm没有包含在PHP内核里面，要使用这个功能，需要找到与源码版本相同的php-fpm对内核打补丁，然后再编译。后来PHP内核集成了PHP-FPM之后就方便多了，使用<code>--enalbe-fpm</code>这个编译参数即可。</p></blockquote>
<p>有的说，修改了php.ini配置文件后，没办法平滑重启，所以就诞生了php-fpm</p>
<blockquote><p>是的，修改php.ini之后，php-cgi进程的确是没办法平滑重启的。php-fpm对此的处理机制是新的worker用新的配置，已经存在的worker处理完手上的活就可以歇着了，通过这种机制来平滑过度。</p></blockquote>
<p>还有的说PHP-CGI是PHP自带的FastCGI管理器，那这样的话干吗又弄个php-fpm出</p>
<blockquote><p>不对。php-cgi只是解释PHP脚本的程序而已。</p></blockquote>
<p>原文引自</p>
<h1 id="questionTitle" data-id="1010000000256516"><a href="http://segmentfault.com/q/1010000000256516">搞不清FastCgi与PHP-fpm之间是个什么样的关系</a></h1>
]]></content:encoded>
			<wfw:commentRss>http://www.liguosong.com/2015/11/04/fastcgi%e4%b8%8ephp-fpm%e4%b9%8b%e9%97%b4%e6%98%af%e4%b8%aa%e4%bb%80%e4%b9%88%e6%a0%b7%e7%9a%84%e5%85%b3%e7%b3%bb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>golang在linux系统上获取terminal终端的宽度</title>
		<link>http://www.liguosong.com/2015/08/11/golang%e5%9c%a8linux%e7%b3%bb%e7%bb%9f%e4%b8%8a%e8%8e%b7%e5%8f%96terminal%e7%bb%88%e7%ab%af%e7%9a%84%e5%ae%bd%e5%ba%a6/</link>
		<comments>http://www.liguosong.com/2015/08/11/golang%e5%9c%a8linux%e7%b3%bb%e7%bb%9f%e4%b8%8a%e8%8e%b7%e5%8f%96terminal%e7%bb%88%e7%ab%af%e7%9a%84%e5%ae%bd%e5%ba%a6/#comments</comments>
		<pubDate>Tue, 11 Aug 2015 07:21:01 +0000</pubDate>
		<dc:creator>lgs</dc:creator>
				<category><![CDATA[未分类]]></category>

		<guid isPermaLink="false">http://www.liguosong.com/?p=516</guid>
		<description><![CDATA[这个方法是在github.com/rakyll/pb的程序中发现的，闲话少说，直接贴代码： package m [...]]]></description>
				<content:encoded><![CDATA[<p>这个方法是在github.com/rakyll/pb的程序中发现的，闲话少说，直接贴代码：</p>
<pre class="brush:other">package main

import (
	"fmt"
	"runtime"
	"syscall"
	"unsafe"
)

const (
	TIOCGWINSZ     = 0x5413
	TIOCGWINSZ_OSX = 1074295912
)

type window struct {
	Row    uint16
	Col    uint16
	Xpixel uint16
	Ypixel uint16
}

func terminalWidth() (int, error) {
	w := new(window)
	tio := syscall.TIOCGWINSZ
	if runtime.GOOS == "darwin" {
		tio = TIOCGWINSZ_OSX
	}
	res, _, err := syscall.Syscall(syscall.SYS_IOCTL,
		uintptr(syscall.Stdin),
		uintptr(tio),
		uintptr(unsafe.Pointer(w)),
	)
	if int(res) == -1 {
		return 0, err
	}
	return int(w.Col), nil
}

func main() {
	width, _ := terminalWidth()
	fmt.Print(width)
}</pre>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.liguosong.com/2015/08/11/golang%e5%9c%a8linux%e7%b3%bb%e7%bb%9f%e4%b8%8a%e8%8e%b7%e5%8f%96terminal%e7%bb%88%e7%ab%af%e7%9a%84%e5%ae%bd%e5%ba%a6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>imagecopyresized和imagecopyresampled的区别</title>
		<link>http://www.liguosong.com/2015/06/30/imagecopyresized%e5%92%8cimagecopyresampled%e7%9a%84%e5%8c%ba%e5%88%ab/</link>
		<comments>http://www.liguosong.com/2015/06/30/imagecopyresized%e5%92%8cimagecopyresampled%e7%9a%84%e5%8c%ba%e5%88%ab/#comments</comments>
		<pubDate>Tue, 30 Jun 2015 08:33:22 +0000</pubDate>
		<dc:creator>lgs</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[未分类]]></category>

		<guid isPermaLink="false">http://www.liguosong.com/?p=499</guid>
		<description><![CDATA[imagecopyresized和imagecopyresampled都是拷贝部分图像并调整大小，但是这两个函 [...]]]></description>
				<content:encoded><![CDATA[<p>imagecopyresized和imagecopyresampled都是拷贝部分图像并调整大小，但是这两个函数有一个很大的区别，就是imagecopyresized生成的图像不如imagecopyresampled清晰，但是imagecopyresized生成的速度要比imagecopyresampled快，图片要比imagecopyresampled小。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.liguosong.com/2015/06/30/imagecopyresized%e5%92%8cimagecopyresampled%e7%9a%84%e5%8c%ba%e5%88%ab/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ubuntu运行locale命令报错</title>
		<link>http://www.liguosong.com/2015/06/17/ubuntu%e8%bf%90%e8%a1%8clocale%e5%91%bd%e4%bb%a4%e6%8a%a5%e9%94%99/</link>
		<comments>http://www.liguosong.com/2015/06/17/ubuntu%e8%bf%90%e8%a1%8clocale%e5%91%bd%e4%bb%a4%e6%8a%a5%e9%94%99/#comments</comments>
		<pubDate>Wed, 17 Jun 2015 07:37:22 +0000</pubDate>
		<dc:creator>lgs</dc:creator>
				<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[未分类]]></category>

		<guid isPermaLink="false">http://www.liguosong.com/?p=490</guid>
		<description><![CDATA[报错如下： root@AY1211110910427107334:~# locale locale: Cann [...]]]></description>
				<content:encoded><![CDATA[<p>报错如下：</p>
<pre class="brush:bash">root@AY1211110910427107334:~# locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE=zh_CN.UTF-8
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=</pre>
<p>解决方案：</p>
<pre class="brush:other">sudo locale-gen zh_CN.UTF-8
sudo dpkg-reconfigure locales</pre>
<p>如果上面命令还是提示失败，还一下语言。比如：</p>
<pre class="brush:other">sudo locale-gen en_US.UTF-8
sudo dpkg-reconfigure locales</pre>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.liguosong.com/2015/06/17/ubuntu%e8%bf%90%e8%a1%8clocale%e5%91%bd%e4%bb%a4%e6%8a%a5%e9%94%99/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mac install wget</title>
		<link>http://www.liguosong.com/2015/01/08/mac-install-wget/</link>
		<comments>http://www.liguosong.com/2015/01/08/mac-install-wget/#comments</comments>
		<pubDate>Thu, 08 Jan 2015 13:36:06 +0000</pubDate>
		<dc:creator>lgs</dc:creator>
				<category><![CDATA[mac]]></category>
		<category><![CDATA[未分类]]></category>

		<guid isPermaLink="false">http://www.liguosong.com/?p=473</guid>
		<description><![CDATA[刚才想用wget下载一个文件，结果发现wget命令找不到了。去bin目录下，没有找到。记得原来用过这个命令，不 [...]]]></description>
				<content:encoded><![CDATA[<p>刚才想用wget下载一个文件，结果发现wget命令找不到了。去bin目录下，没有找到。记得原来用过这个命令，不知道怎么就突然没了。。那就重新安装吧。</p>
<pre class="brush:bash">curl -O http://ftp.gnu.org/gnu/wget/wget-1.13.4.tar.gz
tar -xzvf wget-1.13.4.tar.gz
cd wget-1.13.4
./configure --with-ssl=openssl
make
sudo make install</pre>
<p>如果上面的文件不能下载，可以点击这个连接 <a href="http://www.liguosong.com/wp-content/uploads/2015/01/wget-1.13.4.tar.gz">wget-1.13.4.tar</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.liguosong.com/2015/01/08/mac-install-wget/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>php 快速排序</title>
		<link>http://www.liguosong.com/2014/11/04/php-%e5%bf%ab%e9%80%9f%e6%8e%92%e5%ba%8f/</link>
		<comments>http://www.liguosong.com/2014/11/04/php-%e5%bf%ab%e9%80%9f%e6%8e%92%e5%ba%8f/#comments</comments>
		<pubDate>Tue, 04 Nov 2014 10:03:11 +0000</pubDate>
		<dc:creator>lgs</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[未分类]]></category>

		<guid isPermaLink="false">http://www.liguosong.com/?p=461</guid>
		<description><![CDATA[之前写冒泡，选择排序的算法。今天就抽空看看快速排序，快速排序先选择一个基数，将数组中的数据分别与这个基数对比。 [...]]]></description>
				<content:encoded><![CDATA[<p>之前写冒泡，选择排序的算法。今天就抽空看看快速排序，快速排序先选择一个基数，将数组中的数据分别与这个基数对比。小于基数的放在一组，大于基数的放在一组。最后在递归对这两个数组继续排序。最后merge返回就是排序好的数据了。</p>
<pre class="brush:php">function quick_sort(array $arr) {
    $length = count($arr);

    if ($length &lt;= 1) return $arr;

    $leftArr = $rightArr = array();
    $baseValue = $arr[0];

    for ($i = 1; $i &lt;= $length - 1; $i++) {
        if ($arr[$i] &lt;= $baseValue)
            $leftArr[] = $arr[$i];
        else
            $rightArr[] = $arr[$i];
    }

    return array_merge(quick_sort($leftArr), array($baseValue), quick_sort($rightArr));
}

print_r(quick_sort(array(1,5,3,6,7,2)));</pre>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div id="xunlei_com_thunder_helper_plugin_d462f475-c18e-46be-bd10-327458d045bd"></div>
<div id="xunlei_com_thunder_helper_plugin_d462f475-c18e-46be-bd10-327458d045bd"></div>
]]></content:encoded>
			<wfw:commentRss>http://www.liguosong.com/2014/11/04/php-%e5%bf%ab%e9%80%9f%e6%8e%92%e5%ba%8f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
