<?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>Qing&#039; Blog &#187; PHP</title>
	<atom:link href="http://ddig.info/tag/php/feed" rel="self" type="application/rss+xml" />
	<link>http://ddig.info</link>
	<description>记录我的学习与生活</description>
	<lastBuildDate>Wed, 10 Feb 2010 07:15:41 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>新生的开源PHPCMS-Arlicle</title>
		<link>http://ddig.info/phpcms-arlicle</link>
		<comments>http://ddig.info/phpcms-arlicle#comments</comments>
		<pubDate>Thu, 29 Oct 2009 05:59:38 +0000</pubDate>
		<dc:creator>Qing</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[cms]]></category>

		<guid isPermaLink="false">/2009/10/29/phpcms-arlicle.html</guid>
		<description><![CDATA[Arlicle是小的，为中小企业，学校，个人的灵活建站，不是为门户类型的站来解决的问题，网站管理人员真正可以做到很方便的网站维护，一键备份，恢复，灵活的信息发布，要是你在外地出差，你也可以通过手机来发布信息......]]></description>
			<content:encoded><![CDATA[<blockquote><p>Arlicle是一个基于Arlicle 是开源并基于GNU GENERAL PUBLIC LICENSE Version 2协议发布的.它需要PHP5或者更高版本和Mysql数据库4.1以上版本, 同时需要PHP的GD2.0库(不用当心,一般的PHP服务器上都已经都有配置). &#8212;&#8212;引自Arlicle的介绍。</p></blockquote>
<p>机缘巧合遇到的aricle，是我在googlecode里面搜索phpcms搜索到的，基于GPL2.0协议，实在是难得，看到国内越来越多的真正开源的代码，感觉真的不错。大家可以参观下老鬼的这篇文件：<a title="Permanent Link to 国内这些开源的程序真的是开源了吗" rel="bookmark" href="http://www.laogui.com/80/">国内这些开源的程序真的是开源了吗？ </a>。</p>
<pre><span style="color: #808000;">svn checkout http://arlicle.googlecode.com/svn/trunk/</span>

<span style="font-size: medium;">官方主页：<a href="http://www.arlicle.com/">www.arlicle.com</a></span><span style="font-size: medium;">文档说明：<a href="http://www.arlicle.com/docs">www.arlicle.com/docs</a></span>

对程序的认识还很少，我用过改过一点东西，简单易用，最主要的是比较灵活，大家看一下<span style="font-size: medium;"><a href="http://www.arlicle.com/about">官方简介</a></span>。

QQ官方群：2303653群主就是作者，很热情</pre>
<h3>相关日志</h3><ul><li><a href="http://ddig.info/tihouzi" title="玩踢猴子的一个约瑟夫算法 2009.07.19">玩踢猴子的一个约瑟夫算法</a>(8)</li>
<li><a href="http://ddig.info/ie-iframe-cookie-xdomainrequestallowed" title="IE-Cookie跨域问题 2009.07.6">IE-Cookie跨域问题</a>(10)</li>
<li><a href="http://ddig.info/seepython" title="瞧瞧大蟒吧 2009.06.15">瞧瞧大蟒吧</a>(2)</li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://ddig.info/phpcms-arlicle/feed</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>玩踢猴子的一个约瑟夫算法</title>
		<link>http://ddig.info/tihouzi</link>
		<comments>http://ddig.info/tihouzi#comments</comments>
		<pubDate>Sat, 18 Jul 2009 23:32:11 +0000</pubDate>
		<dc:creator>Qing</dc:creator>
				<category><![CDATA[后端编程]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[算法]]></category>

		<guid isPermaLink="false">/2009/07/19/tihouzi.html</guid>
		<description><![CDATA[首先就给出题目了，大家先看看
一群猴子排成一圈，按1，2，...，n依次编号。然后从第1只开始数，数到第m只,把它踢出圈，从它后面再开始数，再数到第m只，在把它踢出去...，如此不停的进行下去，直到最后只剩下一只猴子为止，那只猴子就叫做大王。要求编程模拟此过程，输入m、n, 输出最后那个大王的编号]]></description>
			<content:encoded><![CDATA[<p>首先就给出题目了，大家先看看</p>
<blockquote><p>一群猴子排成一圈，按1，2，&#8230;，n依次编号。然后从第1只开始数，数到第m只,把它踢出圈，<br />
从它后面再开始数，再数到第m只，在把它踢出去&#8230;，如此不停的进行下去，<br />
直到最后只剩下一只猴子为止，那只猴子就叫做大王。要求编程模拟此过程，输入m、n,<br />
输出最后那个大王的编号</p></blockquote>
<p>这个题目是我面试的公司给出的一个题目，不要标准答案，要求有自己的想法，还允许有错误，\(^o^)/~</p>
<p>这道题杀死我N个脑细胞，刚开始写了一种算法，在一些特定的条件下总是导致踢猴子位置的获取错误</p>
<p>最终还是解决了，函数如下</p>
<blockquote><p>function getKing($n, $m){<br />
//强制转换为数值型<br />
$n = intval($n);<br />
$m = intval($m);</p>
<p>//让猴子排好队<br />
for($i=0; $i &lt; $n; $i++){<br />
$monkeys[$i] = $i+1;<br />
}</p>
<p>$start = 0;//初始化开始位置<br />
$step = $m &#8211; 1;<br />
for($i=0; $i &lt; $n; $i++){<br />
//判断猴子的个数，如果只剩一个就直接返回这只猴子<br />
$num_monkey = count($monkeys);<br />
if($num_monkey === 1) return $monkeys[0];</p>
<p>//如果这一圈找不到要踢的猴子，就在下一圈找到要踢的猴子<br />
if($start + $step &gt;= $num_monkey){<br />
$start = ($step+$start)%$num_monkey;<br />
}<br />
else{ //这一圈找到就直接踢它<br />
$start = $start + $step;<br />
}</p>
<p>unset($monkeys[$start]);    //踢猴子<br />
sort($monkeys);        //让猴子重新站好<br />
}<br />
}</p></blockquote>
<p>算法的思想就是，循环链表，但是我始终让猴子永远排成一横队，这样觉得更容易理解一点</p>
<p>猴子始终排成整齐的一排，中间不允许有空余的位置。</p>
<p>如果不用回头就能找到可以踢走的猴子，那就不回头一直在这一排往下踢</p>
<p>如果找了好长时间，找不到可以踢的猴子，我们还是不回头</p>
<p>而是重新开始从这排猴子的第一个开始找，这时候重要的是，这时候踢哪一个？</p>
<p>我们上次找猴子虽然没有找到，但是我们的花的功夫可不能白搭是吧，我们接着上次在找，我们知道还有几个猴子没有点名就行了，接着上一轮继续点，找到猴子，把它踢出去。</p>
<p>就是这样，一直循环下去，我踢踢踢，国王是不能踢的，等到踢不动了，就找到猴王了。</p>
<p>网上看到牛人写的算法，佩服</p>
<blockquote><p>function kickMonkey ($n,$m) {<br />
$s = 0;<br />
for ($i=2; $i &lt;=$n; $i++) {<br />
$s = ($s+$m)%$i;<br />
}<br />
$win = $s+1;<br />
return $win;<br />
}</p></blockquote>
<p>算法简化了很多，我还没有消化掉。</p>
<h3>相关日志</h3><ul><li><a href="http://ddig.info/phpcms-arlicle" title="新生的开源PHPCMS-Arlicle 2009.10.29">新生的开源PHPCMS-Arlicle</a>(21)</li>
<li><a href="http://ddig.info/ie-iframe-cookie-xdomainrequestallowed" title="IE-Cookie跨域问题 2009.07.6">IE-Cookie跨域问题</a>(10)</li>
<li><a href="http://ddig.info/seepython" title="瞧瞧大蟒吧 2009.06.15">瞧瞧大蟒吧</a>(2)</li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://ddig.info/tihouzi/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>IE-Cookie跨域问题</title>
		<link>http://ddig.info/ie-iframe-cookie-xdomainrequestallowed</link>
		<comments>http://ddig.info/ie-iframe-cookie-xdomainrequestallowed#comments</comments>
		<pubDate>Sun, 05 Jul 2009 19:46:54 +0000</pubDate>
		<dc:creator>Qing</dc:creator>
				<category><![CDATA[前端开发]]></category>
		<category><![CDATA[后端编程]]></category>
		<category><![CDATA[cookie]]></category>
		<category><![CDATA[iE]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">/2009/07/6/ie-iframe-cookie-XDomainRequestAllowed.html</guid>
		<description><![CDATA[我需要通过网站的后台嵌入iframe访问另一个网站的后台，但是两个网站的后台肯定都需要Session验证权限，Session又是基于Cookie实现的，在IE浏览器下是这样是不允许访问第三方Cookie的。

IE处于安全性和隐私考虑，默认情况下是禁止访问第三方Cookie的，我们可以通过ie浏览器的Internet 选项来设置是否允许访问第三方Cookie，但是这样只对自己有效，在别人的浏览器上就不一定行的通了。

现在介绍一种一劳永逸的方法，支持IE8。

<span class="readmore"><a href="http://ddig.info/ie-iframe-cookie-xdomainrequestallowed" title="IE-Cookie跨域问题">阅读全文——共577字</a></span>]]></description>
			<content:encoded><![CDATA[<p>我需要通过网站的后台嵌入iframe访问另一个网站的后台，但是两个网站的后台肯定都需要Session验证权限，Session又是基于Cookie实现的，在IE浏览器下是这样是不允许访问第三方Cookie的。</p>
<p>IE处于安全性和隐私考虑，默认情况下是禁止访问第三方Cookie的，我们可以通过ie浏览器的Internet 选项来设置是否允许访问第三方Cookie，但是这样只对自己有效，在别人的浏览器上就不一定行的通了。</p>
<p>现在介绍一种一劳永逸的方法，支持IE8。</p>
<p>在你创建Cookie或Session的PHP文件最上面加上</p>
<blockquote><p>header(&#8217;P3P: CP=CAO PSA OUR&#8217;);<br />
header(&#8217;XDomainRequestAllowed: 1&#8242;);</p></blockquote>
<p>这是在向客户端浏览器发送两条头信息</p>
<p>P3P：Platform for Privacy Preferences</p>
<p>这样我们就可以替用户设置本页面Cookie的隐私权限了，其实和用户自己设置IE的隐私权限是一样的。</p>
<p>XDomainRequestAllowed：IE8新支持的特性，XDomainRequestAllowed设置为1可以实现跨域请求，这样开发Ajax就不必为跨域而烦恼了。</p>
<p>但是这样又为安全问题带来的隐患，使跨站攻击变的更加容易，虽然可以通过一些手段限制可以跨站的域，但是不是万不得已或者这个页面不会带来负面影响最好不要这样做。</p>
<h3>相关日志</h3><ul><li><a href="http://ddig.info/phpcms-arlicle" title="新生的开源PHPCMS-Arlicle 2009.10.29">新生的开源PHPCMS-Arlicle</a>(21)</li>
<li><a href="http://ddig.info/jquery-json-ie-cache" title="Jquery-Json-IE缓存问题 2009.09.9">Jquery-Json-IE缓存问题</a>(20)</li>
<li><a href="http://ddig.info/tihouzi" title="玩踢猴子的一个约瑟夫算法 2009.07.19">玩踢猴子的一个约瑟夫算法</a>(8)</li>
<li><a href="http://ddig.info/seepython" title="瞧瞧大蟒吧 2009.06.15">瞧瞧大蟒吧</a>(2)</li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://ddig.info/ie-iframe-cookie-xdomainrequestallowed/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>瞧瞧大蟒吧</title>
		<link>http://ddig.info/seepython</link>
		<comments>http://ddig.info/seepython#comments</comments>
		<pubDate>Mon, 15 Jun 2009 04:49:27 +0000</pubDate>
		<dc:creator>Qing</dc:creator>
				<category><![CDATA[后端编程]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">/2009/06/15/seepython.html</guid>
		<description><![CDATA[一个在家确实无聊，好的电影也看的差不多了，最近心血来潮有空再看python，说它好的很多，说它差的很少，相比php是无法比的，说php不是的一搜要多少有多少。

但是相比之下，php的成功案例还是最多的

维基百科

<span class="readmore"><a href="http://ddig.info/seepython" title="瞧瞧大蟒吧">阅读全文——共262字</a></span>]]></description>
			<content:encoded><![CDATA[<p>一个在家确实无聊，好的电影也看的差不多了，最近心血来潮有空再看python，说它好的很多，说它差的很少，相比php是无法比的，说php不是的一搜要多少有多少。</p>
<p>但是相比之下，php的成功案例还是最多的</p>
<p>维基百科</p>
<p>facebook</p>
<p>实在举不胜数，其实优点还是很多滴</p>
<p>还有做为呈现结果和接受用户的旨意也是很方便的。</p>
<p>但我还是想要学一下python，因为我想要再学习一门语言。</p>
<p>ror能做什么？企业站，算了吧！</p>
<p>Java？很好！但是要花费太大的精力，等学会了py再说吧</p>
<p>.net？NO!我不喜欢，因为我希望夸平台。</p>
<p>那就抄起家伙，来学python吧！</p>
<h3>相关日志</h3><ul><li><a href="http://ddig.info/phpcms-arlicle" title="新生的开源PHPCMS-Arlicle 2009.10.29">新生的开源PHPCMS-Arlicle</a>(21)</li>
<li><a href="http://ddig.info/tihouzi" title="玩踢猴子的一个约瑟夫算法 2009.07.19">玩踢猴子的一个约瑟夫算法</a>(8)</li>
<li><a href="http://ddig.info/google-app-engine-301" title="Google App Engine 301 永久重定向 2009.07.7">Google App Engine 301 永久重定向</a>(24)</li>
<li><a href="http://ddig.info/ie-iframe-cookie-xdomainrequestallowed" title="IE-Cookie跨域问题 2009.07.6">IE-Cookie跨域问题</a>(10)</li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://ddig.info/seepython/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
