<?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://tinydoo.cn/category/study/feed" rel="self" type="application/rss+xml" />
	<link>http://tinydoo.cn</link>
	<description>记录生活学习点滴</description>
	<lastBuildDate>Thu, 10 Dec 2009 14:43:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>关于框架</title>
		<link>http://tinydoo.cn/2009/403.html</link>
		<comments>http://tinydoo.cn/2009/403.html#comments</comments>
		<pubDate>Thu, 10 Dec 2009 14:36:03 +0000</pubDate>
		<dc:creator>小杜</dc:creator>
				<category><![CDATA[学习笔记]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[smarty]]></category>
		<category><![CDATA[Thinkphp]]></category>
		<category><![CDATA[YII]]></category>
		<category><![CDATA[YUI]]></category>
		<category><![CDATA[框架]]></category>
		<category><![CDATA[模板引擎]]></category>

		<guid isPermaLink="false">http://tinydoo.cn/2009/403.html</guid>
		<description><![CDATA[当我们开始思考写一个系统时，会使用到什么工具呢？
不是简单的PHP、Mysql而已
我们会想到诸如smarty 、jQuery等一个个所谓的框架( Framework).
在原始的时代，我们一切都要靠自己 ,于是我们需要掌握诸如HTML、JavaScript、CSS、PHP等等技能，而在框架的时代，我们所需要的，就是把最优秀的代码，用我们的思路和想法，“垒成”一个完整的系统。
<span class="readmore"><a href="http://tinydoo.cn/2009/403.html" title="关于框架" target="_blank">阅读全文——共744字</a></span>]]></description>
			<content:encoded><![CDATA[<p>当我们开始思考写一个系统时，会使用到什么工具呢？<br />
不是简单的<a href="http://www.PHP.net" target="_blank">PHP</a>、<a href="http://www.mysql.com" target="_blank">Mysql</a>而已<br />
我们会想到诸如<a href="http://www.smarty.net/" target="_blank">smarty</a> 、<a href="http://jquery.com/">jQuery</a>等一个个所谓的框架( Framework).</p>
<p>在原始的时代，我们一切都要靠自己 ,于是我们需要掌握诸如HTML、JavaScript、CSS、PHP等等技能，而在框架的时代，我们所需要的，就是把最优秀的代码，用我们的思路和想法，“垒成”一个完整的系统。</p>
<p><strong>PHP框架</strong></p>
<p>PHP框架也有很多，据说是受到了一些其他编程语言比如<a href="http://www.python.org/" target="_blank">python</a>的启发。最正统的PHP框架当然是 <a href="http://framework.zend.com/" target="_blank">Zend framework</a> ，由于系出名门，血缘正统，被很多专家推荐，学习的人非常多 。</p>
<p>国外优秀的PHP框架有：<a href="http://www.yiiframework.com/" target="_blank">YII</a>，<a href="http://cakephp.org/" target="_blank">CakePHP</a>，<a href="http://codeigniter.com/" target="_blank">codeigniter</a> 等，而国内最知名的，当属 <a href="http://www.thinkphp.cn/" target="_blank">ThinkPHP</a> 和<a href="http://qeephp.com/" target="_blank">QeePHP</a>(FleaPHP)</p>
<p><strong>CSS框架</strong></p>
<p><span style="background-color: #ffffff;">1. <a href="http://960.gs/" target="_blank">960 Grid System</a> &#8211; 当960像素的页面宽度成为设计师通用的标准时，相信这个框架，更能代表前端设计师的一些想法</span></p>
<p><span style="background-color: #ffffff;">2.<a href="http://developer.yahoo.com/yui/" target="_blank">YUI Grids CSS</a> &#8211; 是YUI Library的一个组成部分，有Yahoo! 工程师开发</span></p>
<p><span style="background-color: #ffffff;">3.<a href="http://www.blueprintcss.org/" target="_blank">Blueprint </a>- 是一款成熟的 CSS 框架</span></p>
<p><span style="background-color: #ffffff;">其他类似的框架还有  Elements CSS Frameworks 、 YAML CSS Framework、 CleverCSS  等</span></p>
<p><strong>JavaScript框架</strong></p>
<p>国内目前最流行的有jQuery 、 YUI 、ExtJS等</p>
<p><strong>模板引擎</strong></p>
<p>最常用的模板引擎当然是smarty ，算是官方模板引擎。其他类似的也有很多，很多程序使用了自己的模板引擎，比如discuz。另外，TinybutStrong（俗称小强）是一个小巧但是功能强大的模板引擎，大家也可以试试:)</p>
<p>关于框架，暂时就想到这么多，算是一个开场白吧，希望能在以后更多的时间，继续讨论和研究这些东西。</p>
]]></content:encoded>
			<wfw:commentRss>http://tinydoo.cn/2009/403.html/feed</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
		<item>
		<title>DISUCZ服务器出事故</title>
		<link>http://tinydoo.cn/2009/395.html</link>
		<comments>http://tinydoo.cn/2009/395.html#comments</comments>
		<pubDate>Wed, 02 Dec 2009 13:30:58 +0000</pubDate>
		<dc:creator>小杜</dc:creator>
				<category><![CDATA[学习笔记]]></category>

		<guid isPermaLink="false">http://tinydoo.cn/2009/395.html</guid>
		<description><![CDATA[discuz的主页现在打不开了，官方给出的解释是，江苏机房出现“不可抗原因”

不知道所谓的“不可抗原因”是？
]]></description>
			<content:encoded><![CDATA[<p>discuz的主页现在打不开了，官方给出的解释是，江苏机房出现“不可抗原因”</p>
<p><a href="http://tinydoo.cn/wp-content/uploads/2009/12/discuz.jpg"><img class="alignleft size-large wp-image-394" title="discuz" src="http://tinydoo.cn/wp-content/uploads/2009/12/discuz-1024x197.jpg" alt="discuz" width="376" height="72" /></a></p>
<p>不知道所谓的“不可抗原因”是？</p>
]]></content:encoded>
			<wfw:commentRss>http://tinydoo.cn/2009/395.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>飞信服务器地址更换</title>
		<link>http://tinydoo.cn/2009/384.html</link>
		<comments>http://tinydoo.cn/2009/384.html#comments</comments>
		<pubDate>Wed, 18 Nov 2009 16:06:32 +0000</pubDate>
		<dc:creator>小杜</dc:creator>
				<category><![CDATA[学习笔记]]></category>

		<guid isPermaLink="false">http://tinydoo.cn/?p=384</guid>
		<description><![CDATA[一直在用Fetion Class 给自己定时短信，最近两天发现不灵了，刚开始怀疑是我的密码出问题了
下载了官方的飞信客户端，可以登录，密码没有问题。怀疑是服务器出现
刚看到新闻Libfetion发布了新版，解决了飞信服务器地址更换导致不能登录问题，果然。
有朋友已经抓包得到新的地址
<span class="readmore"><a href="http://tinydoo.cn/2009/384.html" title="飞信服务器地址更换" target="_blank">阅读全文——共220字</a></span>]]></description>
			<content:encoded><![CDATA[<p>一直在用Fetion Class 给自己定时短信，最近两天发现不灵了，刚开始怀疑是我的密码出问题了</p>
<p>下载了官方的飞信客户端，可以登录，密码没有问题。怀疑是服务器出现</p>
<p>刚看到新闻<a href="http://www.libfetion.cn/" target="_blank">Libfetion</a>发布了新版，解决了飞信服务器地址更换导致不能登录问题，果然。</p>
<p>有朋友已经抓包得到新的地址</p>
<blockquote><p>http://221.176.31.42/ht/sd.aspx<br style="padding: 0px; margin: 0px;" />https://uid.fetion.com.cn/ssiportal/SSIAppSignIn.aspx</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://tinydoo.cn/2009/384.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>基于CURL的新浪微博接口</title>
		<link>http://tinydoo.cn/2009/376.html</link>
		<comments>http://tinydoo.cn/2009/376.html#comments</comments>
		<pubDate>Sun, 15 Nov 2009 14:09:22 +0000</pubDate>
		<dc:creator>小杜</dc:creator>
				<category><![CDATA[学习笔记]]></category>

		<guid isPermaLink="false">http://tinydoo.cn/2009/376.html</guid>
		<description><![CDATA[一个基于CURL写的，发布内容到新浪围脖的函数


/*
<span class="readmore"><a href="http://tinydoo.cn/2009/376.html" title="基于CURL的新浪微博接口" target="_blank">阅读全文——共1268字</a></span>]]></description>
			<content:encoded><![CDATA[<p>一个基于CURL写的，发布内容到新浪围脖的函数</p>
<p><span id="more-376"></span></p>
<pre name="code"   class="php">
/*
-------------------------------------------------------
@名称:基于CURL的新浪微博接口
@演示:http://demos.fengyin.name/apps/sina-microblog-api.php
@作者:风吟
@博客:http://fengyin.name/
@更新:2009年11月6日 17:15:54
@版权:Copyright (c) 风吟版权所有转载请保留注释，本程序为开源程序(开放源代码)。
只要你遵守 MIT licence 协议.您就可以自由地传播和修改源码以及创作衍生作品.
-------------------------------------------------------
调用方式:
sendmicroblog([帐号],[密码],[内容]);
*/
function sendmicroblog($a, $b, $c) {
$d = tempnam('./', 'cookie.txt'); //创建随机临时文件保存cookie.
$ch = curl_init("https://login.sina.com.cn/sso/login.php?username=$a&amp;password=$b&amp;returntype=TEXT");
curl_setopt($ch, CURLOPT_COOKIEJAR, $d);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_USERAGENT, "FengYin");
curl_exec($ch);
curl_close($ch);
unset($ch);
$ch = curl_init($ch);
curl_setopt($ch, CURLOPT_URL, "http://t.sina.com.cn/mblog/publish.php");
curl_setopt($ch, CURLOPT_REFERER, "http://t.sina.com.cn");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "content=".urlencode($c));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIEFILE, $d);
curl_exec($ch);
curl_close($ch);
unlink($d);//删除临时文件.
}
/*
使用方式:
sendmicroblog('YourId','password','测试发帖');
*/
</pre>
]]></content:encoded>
			<wfw:commentRss>http://tinydoo.cn/2009/376.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>收到google wave</title>
		<link>http://tinydoo.cn/2009/375.html</link>
		<comments>http://tinydoo.cn/2009/375.html#comments</comments>
		<pubDate>Thu, 12 Nov 2009 04:56:39 +0000</pubDate>
		<dc:creator>小杜</dc:creator>
				<category><![CDATA[学习笔记]]></category>
		<category><![CDATA[google wave]]></category>

		<guid isPermaLink="false">http://tinydoo.cn/2009/375.html</guid>
		<description><![CDATA[看着华丽丽的界面，有些茫然，不知道怎么用捏？
已经在用的可以联系俺，交流一下:xiaodu5@googlewave.com
]]></description>
			<content:encoded><![CDATA[<p>看着华丽丽的界面，有些茫然，不知道怎么用捏？<br />
已经在用的可以联系俺，交流一下:xiaodu5@googlewave.com</p>
]]></content:encoded>
			<wfw:commentRss>http://tinydoo.cn/2009/375.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>代替bash，书写PHP daemon (后台程序)</title>
		<link>http://tinydoo.cn/2009/367.html</link>
		<comments>http://tinydoo.cn/2009/367.html#comments</comments>
		<pubDate>Sun, 27 Sep 2009 05:45:36 +0000</pubDate>
		<dc:creator>小杜</dc:creator>
				<category><![CDATA[学习笔记]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://tinydoo.cn/?p=367</guid>
		<description><![CDATA[来源：http://www.cnblogs.com/niniwzw/archive/2009/09/07/1561668.html
最近在雅虎的一个朋友和我说，以前用bash csh 写脚本, 它现在都在用PHP 写后台程序，觉得PHP的函数最全，而且很容易用 shell_exec 很容易调用系统内核。
我和他交流了一下写后台程序的一些原则，归纳如下。
首先，要去掉以前写网页脚本的一些思维习惯。网页脚本运行一次以后，就马上释放内存。而daemon 程序不一样，它会一直运行一年，甚至几年。
<span class="readmore"><a href="http://tinydoo.cn/2009/367.html" title="代替bash，书写PHP daemon (后台程序)" target="_blank">阅读全文——共1068字</a></span>]]></description>
			<content:encoded><![CDATA[<p>来源：<a href="http://www.cnblogs.com/niniwzw/archive/2009/09/07/1561668.html" target="_blank">http://www.cnblogs.com/niniwzw/archive/2009/09/07/1561668.html</a></p>
<p>最近在雅虎的一个朋友和我说，以前用bash csh 写脚本, 它现在都在用PHP 写后台程序，觉得PHP的函数最全，而且很容易用 shell_exec 很容易调用系统内核。<br />
我和他交流了一下写后台程序的一些原则，归纳如下。<br />
首先，要去掉以前写网页脚本的一些思维习惯。网页脚本运行一次以后，就马上释放内存。而daemon 程序不一样，它会一直运行一年，甚至几年。<br />
1.  作为一个好的习惯，一定要在while (1) {} 这样一个死循环里面运行代码。这样，只要代码不出状况，脚本就不会停止。<br />
2.  echo 不能用，而是用log 代替。用写日志的方法代替echo。因为echo 是 向 屏幕输出一个字符，如果没有任何输出的对象，就会报一个致命错误。<br />
3.  如果MYSQL，要每次重新连接MYSQL。</p>
<div><!--</p>
<p>Code highlighting produced by Actipro CodeHighlighter (freeware)</p>
<p>http://www.CodeHighlighter.com/</p>
<p>--></p></div>
<blockquote>
<div><span style="color: #0000ff;">function</span><span style="color: #000000;"> connnect()<br />
{<br />
</span><span style="color: #0000ff;">global</span><span style="color: #000000;"> </span><span style="color: #800080;">$db</span><span style="color: #000000;">;<br />
</span><span style="color: #0000ff;">if</span><span style="color: #000000;"> (</span><span style="color: #008080;">is_resource</span><span style="color: #000000;">(</span><span style="color: #800080;">$db</span><span style="color: #000000;">)) {<br />
</span><span style="color: #008080;">mysqli_close</span><span style="color: #000000;">(</span><span style="color: #800080;">$db</span><span style="color: #000000;">);<br />
}<br />
</span><span style="color: #800080;">$db</span><span style="color: #000000;"> </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #008080;">mysqli_connect</span><span style="color: #000000;">(</span><span style="color: #000000;">&#8220;</span><span style="color: #000000;">122.225.96.142</span><span style="color: #000000;">&#8220;</span><span style="color: #000000;">,</span><span style="color: #000000;"> </span><span style="color: #000000;">&#8216;</span><span style="color: #000000;">waihui</span><span style="color: #000000;">&#8216;</span><span style="color: #000000;">,</span><span style="color: #000000;"> </span><span style="color: #000000;">&#8216;</span><span style="color: #000000;">freebsd@fzm</span><span style="color: #000000;">&#8216;</span><span style="color: #000000;">,</span><span style="color: #000000;"> </span><span style="color: #000000;">&#8216;</span><span style="color: #000000;">waihui</span><span style="color: #000000;">&#8216;</span><span style="color: #000000;">);<br />
}</span></div>
</blockquote>
<p>上面就是连接的一个例子。这个代码曾经被一个高手狠狠的批评了一顿。这个主要是为了防止下面的事情：<br />
mysql 重启了，$db 变量肯定还是个资源，但是这个资源已经无效了。如果再执行代码就会发生：<br />
mysql has go away 这样的错误。这个会向屏幕输出，即时关闭错误报告也一样会输出。这样导致整个<br />
脚本运行错误，和echo 产生的错误一样。<br />
虽然每次连接数据库有些浪费，但是也只能宁可错杀1000，也不放过一个。这个错误，是大多数朋友都会犯的<br />
错误，很多人和我说这个是mysql的bug，因为，本来写文件好好的，后来连接带mysql就出错了。<br />
其实不是mysql的bug。</p>
<p>4. 新产生的变量，如果不是自动释放的，要马上释放。否则日积月累，程序就要崩溃。很多PHP程序员没有一点<br />
内存管理的概念，觉得内存是无限的，随便用，写后台程序一定要注意内存的管理。</p>
<p>5. 如果要访问文件，首先要 clearstatcache, 否则很有可能会不精确的统计，或者<br />
判断文件是否存在变的不准确了。更要命的是，如果你频繁打开文件，文件的handle 值会<br />
不断增加，等到超过整数的最大值，程序就无法打开文件。很多人的程序，3个月挂一次，<br />
没有出现错误，也没有出现内存问题，很有可能就是每次操作文件前，没有清除statcache。</p>
]]></content:encoded>
			<wfw:commentRss>http://tinydoo.cn/2009/367.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>如何获悉mysql的show processlist显示的进程状态</title>
		<link>http://tinydoo.cn/2009/366.html</link>
		<comments>http://tinydoo.cn/2009/366.html#comments</comments>
		<pubDate>Sat, 26 Sep 2009 13:14:45 +0000</pubDate>
		<dc:creator>小杜</dc:creator>
				<category><![CDATA[学习笔记]]></category>

		<guid isPermaLink="false">http://tinydoo.cn/2009/366.html</guid>
		<description><![CDATA[当MySQL繁忙的时候运行show processlist，会发现有很多行输出，每行输出对应一个MySQL连接。怎么诊断发起连接的进程是哪个？它当前正在干嘛呢？
首先，需要通过TCP Socket而不是Unix Socket连接MySQL，这样在show processlist的输出中就会有来源端口号。如下，
mysql&#62; show processlist;+——–+——–+—————–+——+———+——+——-+——————+&#124; Id &#124; User &#124; Host &#124; db &#124; Command &#124; Time &#124; State &#124; Info &#124;+——–+——–+—————–+——+———+——+——-+——————+&#124; 277801 &#124; mydbuser &#124; localhost:35558 &#124; mydb &#124; Sleep &#124; 1 &#124; &#124; NULL &#124;&#124; 277804 &#124; mydbuser &#124; localhost:35561 &#124; mydb &#124; Sleep &#124; 1 &#124; &#124; NULL &#124;&#124; 277805 &#124; mydbuser &#124; localhost:35562 &#124; mydb &#124; Sleep &#124; 0 &#124; &#124; NULL &#124;+——–+——–+—————–+——+———+——+——-+——————+
<span class="readmore"><a href="http://tinydoo.cn/2009/366.html" title="如何获悉mysql的show processlist显示的进程状态" target="_blank">阅读全文——共891字</a></span>]]></description>
			<content:encoded><![CDATA[<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding: 0px;">当MySQL繁忙的时候运行show processlist，会发现有很多行输出，每行输出对应一个MySQL连接。怎么诊断发起连接的进程是哪个？它当前正在干嘛呢？</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding: 0px;">首先，需要通过TCP Socket而不是Unix Socket连接MySQL，这样在show processlist的输出中就会有来源端口号。如下，</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding: 0px;">mysql&gt; show processlist;<br style="padding: 0px; margin: 0px;" />+——–+——–+—————–+——+———+——+——-+——————+<br style="padding: 0px; margin: 0px;" />| Id | User | Host | db | Command | Time | State | Info |<br style="padding: 0px; margin: 0px;" />+——–+——–+—————–+——+———+——+——-+——————+<br style="padding: 0px; margin: 0px;" />| 277801 | mydbuser | localhost:35558 | mydb | Sleep | 1 | | NULL |<br style="padding: 0px; margin: 0px;" />| 277804 | mydbuser | localhost:35561 | mydb | Sleep | 1 | | NULL |<br style="padding: 0px; margin: 0px;" />| 277805 | mydbuser | localhost:35562 | mydb | Sleep | 0 | | NULL |<br style="padding: 0px; margin: 0px;" />+——–+——–+—————–+——+———+——+——-+——————+</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding: 0px;">在Host列有来源IP和端口号，然后我们从连接机器查看端口号是谁打开的，</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding: 0px;">[root@localhost ~]# netstat -ntp | grep 35558<br style="padding: 0px; margin: 0px;" />… 124.115.0.68:35558 ESTABLISHED 18783/httpd</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding: 0px;">可知进程18783发起的MySQL连接来源端口是35558，然后就可以用strace观察这个进程了。如果是Apache的PHP脚本，还可以用proctitle模块( http://pecl.php.net/package/proctitle/ )设置脚本的状态信息。</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding: 0px;">lsof也能根据端口号显示进程号，细节请参考手册。<br style="padding: 0px; margin: 0px;" />http://www.mysqlperformanceblog.com/2007/02/08/debugging-sleeping-connections-with-mysql/</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding: 0px;">转帖地址：<a href="http://blog.developers.api.sina.com.cn/?p=269">http://blog.developers.api.sina.com.cn/?p=269</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tinydoo.cn/2009/366.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WordPress 固定连接设置的参数与技巧</title>
		<link>http://tinydoo.cn/2009/359.html</link>
		<comments>http://tinydoo.cn/2009/359.html#comments</comments>
		<pubDate>Sun, 06 Sep 2009 13:54:36 +0000</pubDate>
		<dc:creator>小杜</dc:creator>
				<category><![CDATA[学习笔记]]></category>

		<guid isPermaLink="false">http://tinydoo.cn/?p=359</guid>
		<description><![CDATA[什么是固定链接，打个比方，如果说域名是一个博客在互联网上的代表一个人的话，那么固定链接地址就是门牌号码。只有通过固定链接，你才能找到找个 人。由此可见，固定链接在博客中的重要性。对于wordpress 用户而言，掌握一下一些固定连接的设置参数和技巧，则能够让别人更好的找到你的博客。
参数
参数不多说，很死的东西，按照WordPress官方文档列表如下：

<span class="readmore"><a href="http://tinydoo.cn/2009/359.html" title="WordPress 固定连接设置的参数与技巧" target="_blank">阅读全文——共1066字</a></span>]]></description>
			<content:encoded><![CDATA[<p>什么是固定链接，打个比方，如果说域名是一个博客在互联网上的代表一个人的话，那么固定链接地址就是门牌号码。只有通过固定链接，你才能找到找个 人。由此可见，固定链接在博客中的重要性。对于wordpress 用户而言，掌握一下一些固定连接的设置参数和技巧，则能够让别人更好的找到你的博客。</p>
<h3><span style="color: #ff6600;">参数</span></h3>
<p>参数不多说，很死的东西，按照WordPress官方文档列表如下：</p>
<ol>
<li>%year%<br />
基于文章发布年份，比如2007；</li>
<li>%monthnum%<br />
基于文章发布月份，比如05；</li>
<li>%day%<br />
基于文章发布当日，比如28；</li>
<li>%hour%<br />
基于文章发布小时数，比如15；</li>
<li>%minute%<br />
基于文章发布分钟数，比如43；</li>
<li>%second%<br />
基于文章发布秒数，比如33；</li>
<li>%postname%<br />
基于文章的postname，其值为撰写时指定的缩略名，不指定缩略名时是文章标题；</li>
<li>%post_id%<br />
基于文章post_id，比如423；</li>
<li>%category%<br />
基于文章分类，子分类会处理成“分类/子分类”这种形式；</li>
<li>%author%<br />
基于文章作者名。</li>
</ol>
<p>将上述参数进行组合，即可得到wordpress的固定链接形式。网上常见的几种设置方法：</p>
<ul>
<li>/%year%/%monthnum%/%day%/%postname%/</li>
<li>/%year%/%monthnum%/%postname%/</li>
<li>/%year%/%monthnum%/%day%/%postname%.html</li>
<li>/%year%/%monthnum%/%postname%.html</li>
<li>/%category%/%postname%.html</li>
<li>/%post_id%.html</li>
</ul>
<h3><span style="color: #ff6600;">技巧</span></h3>
<h4>一、不要让日期出现在固定连接链接里面</h4>
<p>这基于两个方面的考虑。一是如果数字出现在固定链接里面，等于提醒搜索引擎，这是很旧的内容了，没必要再爬一遍了。另外一个原因是，假如你要修改文章的日期重新发布的话，链接地址就变了，也就是意味着你的反向链接，PR 等等都没有了。</p>
<h4>二、不要让分类的链接出现在固定链接里面</h4>
<p>这一点是很多人都会忽略的地方。让分类出现在固定链接里面有两个缺陷：一是一篇文章如果选择了多个分类的话，则会出现多个链接地址，这很容易造成因为重复内容而被搜索引擎惩罚；二是有可能会造成关键词堆砌而被搜索引擎惩罚。</p>
<h4>三、链接不要过深</h4>
<p>这一点经常看到。很多wordpress 用户的固定链接是年/月/日/分类名/文章名。这种过于深的固定链接对搜索引擎是非常不友好的。</p>
<h4>四、不要让中文字符出现在固定链接里面</h4>
<p>虽然现在的搜索引擎已经能识别URL地址里面的中文字符，但无论是从美观上，还是从wordpress 优化的角度来看，都是非常差的。</p>
]]></content:encoded>
			<wfw:commentRss>http://tinydoo.cn/2009/359.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>重置 MySQL(root用户)密码</title>
		<link>http://tinydoo.cn/2009/337.html</link>
		<comments>http://tinydoo.cn/2009/337.html#comments</comments>
		<pubDate>Mon, 27 Jul 2009 01:42:20 +0000</pubDate>
		<dc:creator>小杜</dc:creator>
				<category><![CDATA[学习笔记]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[服务器]]></category>

		<guid isPermaLink="false">http://tinydoo.cn/?p=337</guid>
		<description><![CDATA[1、以安全模式启动MySQL
Linux下，运行 /usr/local/mysql/bin/mysqld_safe &#8211;skip-grant-tables &#38;
Windows下，在命令行下运行 X:/MySQL/bin/mysqld-nt.exe &#8211;skip-grant-tables
2、完成以后就可以不用密码进入MySQL了
<span class="readmore"><a href="http://tinydoo.cn/2009/337.html" title="重置 MySQL(root用户)密码" target="_blank">阅读全文——共387字</a></span>]]></description>
			<content:encoded><![CDATA[<div class="blog_content">
<p><strong><span style="color: #ff0000;">1、以安全模式启动MySQL</span></strong></p>
<p><strong></strong>Linux下，运行 /usr/local/mysql/bin/mysqld_safe &#8211;skip-grant-tables &amp;<br />
Windows下，在命令行下运行 X:/MySQL/bin/mysqld-nt.exe &#8211;skip-grant-tables</p>
<p><span style="color: #ff0000;"><strong>2、完成以后就可以不用密码进入MySQL了</strong></span></p>
<p>Linux下，运行 /usr/local/mysql/bin/mysql -u root -p 进入<br />
Windows下，运行 X:/MySQL/bin/mysql -u root -p 进入</p>
<p><span style="color: #ff0000;"><strong>3、更改密码</strong></span><br />
&gt;use mysql<br />
&gt;update user set password=password(&#8220;新密码&#8221;) where user=&#8221;root&#8221;;<br />
&gt;flush privileges;</p>
<p>注：如是4.1以上版本则使用old_password()函数进行密码更改。</p></div>
]]></content:encoded>
			<wfw:commentRss>http://tinydoo.cn/2009/337.html/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>20个PHP常用类库</title>
		<link>http://tinydoo.cn/2009/332.html</link>
		<comments>http://tinydoo.cn/2009/332.html#comments</comments>
		<pubDate>Fri, 05 Jun 2009 06:29:33 +0000</pubDate>
		<dc:creator>小杜</dc:creator>
				<category><![CDATA[学习笔记]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[类]]></category>

		<guid isPermaLink="false">http://tinydoo.cn/?p=332</guid>
		<description><![CDATA[下面是一些非常有用的PHP类库，相信一定可以为你的WEB开发提供更好和更为快速的方法。
图表库
下面的类库可以让你很简的创建复杂的图表和图片。当然，它们需要GD库的支持。

<span class="readmore"><a href="http://tinydoo.cn/2009/332.html" title="20个PHP常用类库" target="_blank">阅读全文——共1184字</a></span>]]></description>
			<content:encoded><![CDATA[<p>下面是一些非常有用的PHP类库，相信一定可以为你的WEB开发提供更好和更为快速的方法。</p>
<h2>图表库</h2>
<p>下面的类库可以让你很简的创建复杂的图表和图片。当然，它们需要GD库的支持。</p>
<ul>
<li><a href="http://pchart.sourceforge.net/" target="_blank">pChart </a>- 一个可以创建统计图的库。</li>
<li><a href="http://naku.dohcrew.com/libchart/pages/introduction/" target="_blank">Libchart </a>- 这也是一个简单的统计图库。</li>
<li><a href="http://www.aditus.nu/jpgraph/" target="_blank">JpGraph</a> &#8211; 一个面向对象的图片创建类。</li>
<li><a href="http://teethgrinder.co.uk/open-flash-chart/" target="_blank">Open Flash Chart </a>- 这是一个基于Flash的统计图。</li>
</ul>
<h2>RSS 解析</h2>
<ul>
<li><a href="http://magpierss.sourceforge.net/" target="_blank">MagpieRSS </a>- 开源的PHP版RSS解析器，据说功能强大，未验证。</li>
<li><a href="http://simplepie.org/" target="_blank">SimplePie</a> &#8211; 这是一个非常快速，而且易用的RSS和Atom 解析库。</li>
</ul>
<h2>缩略图生成</h2>
<ul>
<li><a href="http://phpthumb.sourceforge.net/" target="_blank">phpThumb </a>- 功能很强大，如何强大还是自己去体会吧。</li>
</ul>
<h2>支付</h2>
<ul>
<li><a href="http://www.phpfour.com/blog/2009/02/php-payment-gateway-library-for-paypal-authorizenet-and-2checkout/" target="_blank">PHP Payment Library</a> &#8211; 支持Paypal, Authorize.net 和2Checkout (2CO)</li>
</ul>
<h2>OpenID</h2>
<ul>
<li><a href="http://www.openidenabled.com/php-openid" target="_blank">PHP-OpenID </a>- 支持OpenID的一个PHP库。OpenID是帮助你使用相同的用户名和口令登录不同的网站的一种解决方案。如果你对OpenID不熟悉的话，你可以到这里看看：<a href="http://openid.net.cn/">http://openid.net.cn/</a></li>
</ul>
<h2>数据为抽象/对象关系映射ORM</h2>
<ul>
<li><a href="http://adodb.sourceforge.net/" target="_blank">ADOdb </a>- 数据库抽象</li>
<li><a href="http://www.doctrine-project.org/" target="_blank">Doctrine </a>- 对象关系映射Object relational mapper (ORM) ，需要 PHP 5.2.3+ 版本，一个非常强大的database abstraction layer (DBAL).</li>
<li><a href="http://propel.phpdb.org/trac/" target="_blank">Propel</a> &#8211; 对象关系映射框架- PHP5</li>
<li><a href="http://www.outlet-orm.org/site/" target="_blank">Outlet </a>- 也是关于对象关系映射的一个工具。</li>
</ul>
<blockquote><p>注：对象关系映射（Object Relational Mapping，简称ORM）是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。 简单的说，ORM是通过使用描述对象和数据库之间映射的元数据，将程序中的对象自动持久化到关系数据库中。本质上就是将数据从一种形式转换到另外一种形 式。 这也同时暗示者额外的执行开销；然而，如果ORM作为一种中间件实现，则会有很多机会做优化，而这些在手写的持久层并不存在。 更重要的是用于控制转换的元数据需要提供和管理；但是同样，这些花费要比维护手写的方案要少；而且就算是遵守ODMG规范的对象数据库依然需要类级别的元 数据。</p></blockquote>
<h2>PDF 生成器</h2>
<ul>
<li><a href="http://www.fpdf.org/" target="_blank">FPDF</a> &#8211; 这量一个可以让你生成PDF的纯PHP类库。</li>
</ul>
<h2>Excel 相关</h2>
<ul>
<li><a href="http://code.google.com/p/php-excel/" target="_blank">php-excel</a> &#8211; 这是一个非常简单的Excel文件生成类。</li>
<li><a href="http://code.google.com/p/php-excel-reader/" target="_blank">PHP Excel Reader</a> &#8211; 可以解析并读取XLS文件中的数据。</li>
</ul>
<h2>E-Mail 相关</h2>
<ul>
<li><a href="http://swiftmailer.org/" target="_blank">Swift Mailer</a> &#8211; 免费的超多功能的PHP邮件库。</li>
<li><a href="http://phpmailer.codeworxtech.com/" target="_blank">PHPMailer</a> &#8211; 超强大的邮件发送类。</li>
</ul>
<h2>单元测试</h2>
<p>如果你在使用测试驱动的方法开发你的程序，下面的类库和框架绝你能帮助你的开发。</p>
<ul>
<li><a href="http://www.simpletest.org/" target="_blank">SimpleTest </a>- 一个PHP的单元测试和网页测试的框架。</li>
<li><a href="http://www.phpunit.de/" target="_blank">PHPUnit</a> &#8211; 来自xUnit 家族，提供一个框架可以让你方便地进行单元测试的案例开发。并可非常容易地分析其测试结果。</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://tinydoo.cn/2009/332.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
