<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[老岩的布拉格]]></title> 
<link>http://www.wduw.com/index.php</link> 
<description><![CDATA[不想有很多钱，只想做独一无二的快乐的自己！]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[老岩的布拉格]]></copyright>
<item>
<link>http://www.wduw.com/read.php?142</link>
<title><![CDATA[Joomla bug fixing]]></title> 
<author>harrie &lt;&gt;</author>
<category><![CDATA[生活笔记]]></category>
<pubDate>Mon, 10 Nov 2008 07:34:39 +0000</pubDate> 
<guid>http://www.wduw.com/read.php?142</guid> 
<description>
<![CDATA[ 
	1 mosuser :: store failed &lt;/br&gt;<br /><br />&quot;_users' table is set to 'auto-increment.' &quot;<br />this was the culprite!<br />
]]>
</description>
</item><item>
<link>http://www.wduw.com/read.php?141</link>
<title><![CDATA[php程序员面试题目，有时间自己去做一做]]></title> 
<author>harrie &lt;&gt;</author>
<category><![CDATA[生活笔记]]></category>
<pubDate>Mon, 03 Nov 2008 08:02:37 +0000</pubDate> 
<guid>http://www.wduw.com/read.php?141</guid> 
<description>
<![CDATA[ 
	<span style="line-height: 19px; font-family: 'Lucida Grande'; color: #666666" class="Apple-style-span"><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">1． 请对POSIX风格和兼容Perl风格两种正则表达式的主要函数进行类比说明</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">ereg<br />preg_match</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">ereg_replace<br />preg_replace</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">2． 请说明在php.ini中safe_mode开启之后对于PHP系统函数的影响</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">3． PHP5中魔术方法函数有哪几个，请举例说明各自的用法</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">__sleep</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">__wakeup</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">__toString</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">__set_state</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">__construct,</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">__destruct</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">__call,</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">__get,</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">__set,</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">__isset,</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">__unset</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">__sleep,</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">__wakeup,</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">__toString,</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">__set_state,</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">__clone</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">__autoload</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">4． 请写出让，并说明如何在命令行下运行PHP脚本（写出两种方式）同时向PHP脚本传递参数？</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">1. Php filename.php $agr1 $agr2</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">2. php &ndash;r &ldquo;&rdquo;</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">5． PHP的垃圾收集机制是怎样的</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">6．使对象可以像数组一样进行foreach循环，要求属性必须是私有。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">(Iterator模式的PHP5实现，写一类实现Iterator接口)</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">7．请写一段PHP代码，确保多个进程同时写入同一个文件成功</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">8． 用PHP实现一个双向队列</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">9． 使用正则表达式提取一段标识语言（html或xml）代码段中指定标签的指定属性值（需考虑属性值对不规则的情况，如大小写不敏感，属性名值与等号间有空格等）。此处假设需提取test标签的attr属性值，请自行构建包含该标签的串</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px"></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px"></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">10．请使用socket相关函数（非curl）实现如下功能：构造一个post请求，发送到指定http server的指定端口的指定请求路径（如<a href="http://www.example.com:8080/test" target="_blank">http://www.example.com:808...</a>）。请求中包含以下变量：</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">用户名（username）：温柔一刀</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">密码（pwd）：&amp;123=321&amp;321=123&amp;</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">个人简介（intro）：Hello world!</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">且该http server需要以下cookie来进行简单的用户动作跟踪：</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">cur_query：you&amp;me</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">last_tm：...（上次请求的unix时间戳，定为当前请求时间前10分钟）</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">cur_tm：...（当前请求的unix时间戳）</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">设置超时为10秒，发出请求后，将http server的响应内容输出。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">Function encode($data, $sep = &lsquo;&amp;&rsquo;)&#123;</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">while (list($k,$v) = each($data)) &#123;</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">$encoded .= ($encoded ? &quot;$sep&quot; : &quot;&quot;);</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">$encoded .= rawurlencode($k).&quot;=&quot;.rawurlencode($v);</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">&#125;</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">Return $encoded;</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">&#125;</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">Function post($url, $post, $cookie)&#123;</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">$url = parse_url($url);</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">$post = encode($data, &lsquo;&amp;&rsquo;);</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">$cookie = encode($cookieArray, &lsquo;;&rsquo;);</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">$fp = fsockopen($url['host'], $url['port'] ? $url['port'] : 80, $errno, $errstr, 10);</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">if (!$fp) return &quot;Failed to open socket to $url[host]&quot;;</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">fputs($fp, sprintf(&quot;POST %s%s%s HTTP/1.0&#92;n&quot;, $url['path'], $url['query'] ? &quot;?&quot; : &quot;&quot;, $url['query']));</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">fputs($fp, &quot;Host: $url[host]&#92;n&quot;);</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">fputs($fp, &quot;Content-type: application/x-www-form-urlencoded&#92;n&quot;);</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">fputs($fp, &quot;Content-length: &quot; . strlen($encoded) . &quot;&#92;n&quot;);</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">fputs($fp, &quot;Cookie: $cookie&#92;n&#92;n&quot;);</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">fputs($fp, &quot;Connection: close&#92;n&#92;n&quot;);</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">fputs($fp, &quot;$post &#92;n&quot;);</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">while (!feof($fp)) &#123;<br />echo fgets($fp, 128);<br />&#125;<br />fclose($fp);</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">&#125;</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">$url = &lsquo;<a href="http://www.example.com:8080/test&rsquo;;" target="_blank">http://www.example.com:808...</a></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">$encoded = username=温柔一刀&amp; pwd=</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">$post = array(</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">&lsquo;username&rsquo;=&gt; &lsquo;温柔一刀&rsquo;,</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">&lsquo;pwd =&gt; &lsquo;&amp;123=321&amp;321=123&amp;&rsquo;,</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">&lsquo;intro =&gt; &lsquo;Hello world!&rsquo;</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">);</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">$cookie = array(</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">&lsquo;cur_query&rsquo; =&gt; &lsquo;you&amp;me,</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">&lsquo;last_tm&rsquo; =&gt; time() - 600,</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">'cur_tm '=&gt; time()</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">);</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">Post($url, $post, $cookie);</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">11．你用什么方法检查PHP脚本的执行效率（通常是脚本执行时间）和数据库SQL的效率（通常是数据库Query时间），并定位和分析脚本执行和数据库查询的瓶颈所在？</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">1．脚本执行时间，启用xdebug，使用WinCacheGrind分析。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">2．数据库查询，mysql使用EXPLAIN分析查询，启用slow query log记录慢查询。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; padding-top: 6px; font-size: 12px">3 . Benchmark</p></span><br/>Tags - <a href="http://www.wduw.com/tag.php?tag=php" rel="tag">php</a>
]]>
</description>
</item><item>
<link>http://www.wduw.com/read.php?140</link>
<title><![CDATA[用drupal建立sns网站需要用的modules]]></title> 
<author>harrie &lt;&gt;</author>
<category><![CDATA[生活笔记]]></category>
<pubDate>Thu, 30 Oct 2008 14:48:39 +0000</pubDate> 
<guid>http://www.wduw.com/read.php?140</guid> 
<description>
<![CDATA[ 
	From <a href="http://programmingbulls.com/social-networking-site-orkut-myspace-drupal"><a href="http://programmingbulls.com/social-networking-site-orkut-myspace-drupal" target="_blank">http://programmingbulls.co...</a></a><br /><br /><strong>How to create a Social Networking Site like Orkut, MySpace using Open Source Drupal or Elgg?</strong><span style="font-size: 14px; line-height: 18px; font-family: Tahoma" class="Apple-style-span"> <div id="content-area"><div id="node-378" class="node node-type-blog" style="font-size: 12px"><div class="node-inner"><div class="submitted">Submitted by sudeepg on Mon, 05/28/2007 - 12:43.</div><div class="content"><p style="margin: 1em 0px">I was evaluating to build a social networking site using open source stuff like Drupal, Elgg. Elgg provides out of the box functionality for a social networking site like Orkut, Hi5, Myspace, but Drupal is far more flexible. It seems Elgg is not tested and used as much as Drupal. I have been working on Drupal for a long time now and my faith on it has only increased, though, I had to make changes to the code and modules at times.</p><p style="margin: 1em 0px">Even though, I was skeptic about Elgg, I did some initial code evaluation and installtion. But, was not satisfied and therefore, decided to go with Drupal.</p><p style="margin: 1em 0px">Following is the list of modules, I could need to make a social networking site:</p><ul style="padding-left: 2em; margin: 1em 0px; list-style-type: disc"><li style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">guestbook ( equivalent to comments on profile or scraps )</li><li style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">image, inline, shazamgaller: to be able to add images inline and create photo gallaries.</li><li style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">invite ( allows to become member by invitation only )</li><li style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">OG ( gives you groups or communities )</li><li style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">cck ( let you make any type of content )</li><li style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">private message ( and chat, if you want )</li><li style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">mysite</li><li style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">nodeprofiles (<a style="color: #0066cc; text-decoration: none" href="http://groups.drupal.org/profiles-as-nodes" title="http://groups.drupal.org/profiles-as-nodes"><a href="http://groups.drupal.org/profiles-as-nodes" target="_blank">http://groups.drupal.org/p...</a></a>)</li><li style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">event</li><li style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">buddylist</li></ul><p style="margin: 1em 0px">Other modules, you might need:</p><ul style="padding-left: 2em; margin: 1em 0px; list-style-type: disc"><li style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">bbcode &amp; wysiwyg toolbar</li><li style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">captchya</li><li style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">devel</li><li style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">feedback</li><li style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">flatforum</li><li style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">flexinode</li><li style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">legal</li></ul><p style="margin: 1em 0px">Hope, the list doesn't look long. But, it is obvious code customization iwould be required at places to suit your need and that is very power of open source comes.</p><p style="margin: 1em 0px"><br /></p><p style="margin: 1em 0px">From <a href="http://drupal.org/node/109248"><a href="http://drupal.org/node/109248" target="_blank">http://drupal.org/node/109...</a></a></p><span style="font-size: 13px; color: #003150; line-height: 17px; font-family: 'Bitstream Vera Sans'" class="Apple-style-span"><h1 style="padding-right: 0px; padding-left: 0px; font-weight: normal; font-size: 1.85em; padding-bottom: 0em; margin: 0px 0px 0.2em; color: #003150; line-height: 1.2em; padding-top: 0px; border-bottom: #7f98a7 1px solid; text-decoration: none" class="title node-type-forum">Drupal Social Network site Q&amp;A</h1><div class="node" style="margin-bottom: 2.5em"><div class="clear-block"><div class="terms" style="font-size: 0.85em; float: right; color: #8ca6b6; position: relative"><a style="font-weight: bold; color: #4c7686; text-decoration: none" rel="tag" href="http://drupal.org/forum/22" title="Drupal is up and running but how do I ...?">Post installation</a> &middot; <a style="font-weight: bold; color: #4c7686; text-decoration: none" rel="tag" href="http://drupal.org/taxonomy/term/47">Drupal 4.7.x</a></div><div class="info-page" style="font-size: 0.85em; color: #8ca6b6"><a style="font-weight: bold; color: #027ac6; text-decoration: none" href="http://drupal.org/user/72031" title="View user profile.">ncameron</a> - January 14, 2007 - 13:53</div></div><div class="content"><p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 1.2em 0px 1em; padding-top: 0px">Hi Guys,</p><p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 1.2em 0px 1em; padding-top: 0px">I've recently finished and launched a social networking website made completely in Drupal 4.7. In the process of creating the site I received a lot of help from both the forum and the handbook. So I thought it was about time I gave something back. Social networks seem to be a pretty popular goal for Drupal developers so this thread might come in useful.</p><p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 1.2em 0px 1em; padding-top: 0px">The site itself is using the principles of social networking to help people learn languages. Have a look here; <a style="font-weight: bold; color: #027ac6; text-decoration: none" rel="nofollow" href="http://www.huitalk.com/" title="www.huitalk.com"><a href="http://www.huitalk.com/" target="_blank">http://www.huitalk.com/</a></a> and if you have any &quot;how do you that&quot; questions I'll do my best to help. I'll be a little busy over the next few weeks but I will try to respond to the questions as quickly as possible.</p><p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 1.2em 0px 1em; padding-top: 0px">The site uses (among others) the following modules:</p><li style="padding-top: 0.4em">CCK</li><li style="padding-top: 0.4em">Views</li><li style="padding-top: 0.4em">Buddylist (hacked to pieces and reconstructed)</li><li style="padding-top: 0.4em">privatemsg</li><li style="padding-top: 0.4em">Forms</li><li style="padding-top: 0.4em">nice_menus</li><li style="padding-top: 0.4em">nodereference</li><li style="padding-top: 0.4em">pageroute</li><li style="padding-top: 0.4em">profile</li><li style="padding-top: 0.4em">registerprofile</li><li style="padding-top: 0.4em">tinymce</li><li style="padding-top: 0.4em">usernode</li><p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 1.2em 0px 1em; padding-top: 0px">Looking forward to any questions!</p><p style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 1.2em 0px 1em; padding-top: 0px">Neil</p></div></div></span><p></p><p style="margin: 1em 0px"><br /></p></div></div></div></div></span>
]]>
</description>
</item><item>
<link>http://www.wduw.com/read.php?139</link>
<title><![CDATA[Mac OS X server下安装svn]]></title> 
<author>harrie &lt;&gt;</author>
<category><![CDATA[生活笔记]]></category>
<pubDate>Mon, 27 Oct 2008 10:17:58 +0000</pubDate> 
<guid>http://www.wduw.com/read.php?139</guid> 
<description>
<![CDATA[ 
	我先开启了SSH。<br /><br />然后想安装svn，开始的时候以为mac os 也会有apt-get 这个命令，这样下载东西就方便了，尝试了一下，没有。<br /><br />搜索了一下，找到Fink ---mac os下的apt-get<br /><br />安装直接stepbystep。<br /><br />然后fink install svn 大功告成。<br/>Tags - <a href="http://www.wduw.com/tag.php?tag=svn" rel="tag">svn</a> , <a href="http://www.wduw.com/tag.php?tag=macos" rel="tag">macos</a> , <a href="http://www.wduw.com/tag.php?tag=fink" rel="tag">fink</a>
]]>
</description>
</item><item>
<link>http://www.wduw.com/read.php?138</link>
<title><![CDATA[即将研究的一些东西]]></title> 
<author>harrie &lt;&gt;</author>
<category><![CDATA[生活笔记]]></category>
<pubDate>Mon, 27 Oct 2008 06:41:56 +0000</pubDate> 
<guid>http://www.wduw.com/read.php?138</guid> 
<description>
<![CDATA[ 
	mogilefs, exif, gentoo<br /><br /><a href="http://www.travistidwell.com/flashvideo"><a href="http://www.travistidwell.com/flashvideo" target="_blank">http://www.travistidwell.c...</a></a>
]]>
</description>
</item><item>
<link>http://www.wduw.com/read.php?137</link>
<title><![CDATA[[转]10个最吃香的网站开发技术]]></title> 
<author>harrie &lt;&gt;</author>
<category><![CDATA[网摘文章]]></category>
<pubDate>Sun, 26 Oct 2008 12:30:29 +0000</pubDate> 
<guid>http://www.wduw.com/read.php?137</guid> 
<description>
<![CDATA[ 
	<p>尽管美国经济出现危机，但是网站开发领域还是很繁荣的，因为不论是现在或者将来，网络必定是人们日常生活中不可缺少的组成部分。NETTUTS上列出10个最吃香的网站开发技术。作为网站开发工程师，如果你精通这些技术，即便在经济不景气的时候，仍然很容易找到一份好工作。</p><p><strong>1. Framework knowledge （架构知识）</strong></p><p>架构是大型网站开发的重要部分。开发者已经从Rails， Django等公司提供的网站架构工具中收益，因为架构工具可以帮助完成那些需要一定编程知识的重复性的任务。如果你拥有领先的架构技术（像Rails， Django， CakePHP， Symfony等），你的择业面将非常广阔。</p><p><strong>2. Widget Development （窗体小部件开发）</strong></p><p>窗体小部件（Widgets）是一个嵌入网页的迷你应用程序，通常也可以下载到Windows或者Mac桌面下运行。它让数据变得便与携带而且更具交互性。比较出名的像Yahoo Widgets 和AOL Music Widgets。窗体小部件开发除了需要掌握网络应用程序开发所需的语言知识，还需要精通Javascript和Flash知识。</p><p><strong>3. Custom CMS themes （内容管理系统主题定制）</strong></p><p>如今越来越多人开始使用CMS（内容管理系统，例如Wordpress和Drupal）来构建他们的网站。可以想象不可能大家都用CMS提供的默认主题，为了让自己的CMS网站在外观设计上独树一帜，就需要一些专门给CMS开发主题的技术人员。</p><p><strong>4. CMS Customizations and plugin development （内容管理系统的定制以及插件开发）</strong></p><p>同样随着CMS的流行，对CMS的功能定制以及插件开发的需求也越来越大。</p><p><strong>5. PSD to XHTML services （PSD转换XHTML的服务）</strong></p><p>在建站中，许多公司是先用Photoshop设计好网站的外观原图，然后再转换成XHTML。这需要很强的CSS/HTML知识。</p><p><strong>6. Javascript Plugin creation（Javascript的插件开发）</strong></p><p>Javascript的Framework非常流行，因为它使Javascript的代码开发变得简单。就比如说现在流行的Javascript Framework - jQuery，如果你在它的基础上开发优秀的插件，那么你的插件也会跟着流行起来。</p><p><strong>7. Facebook/MySpace applications （Facebook/MySpace 应用程序开发）</strong></p><p>Facebook/MySpace两大社交网站在美国红遍半边天。给他们开发应用程序，不用说一定是相当热门的。</p><p><strong>8. iPhone applications （iPhone 应用程序开发）</strong></p><p>同样给iPhone开发应用程序，也一直都可以被大量下载，因此也是很赚钱的活。</p><p><strong>9. E-commerce integration （电子商务一体化）</strong></p><p>如今电子商务网站（像Ebay，Amazon）与在线银行服务系统（像Paypal和Google Checkout的）之间的配合越来越紧密，因此电子商务交易平台的开发也是相当有前途的。</p><p><strong>10. Flash and Actionscript Knowledge （Flash和Actionscript知识）</strong></p><p>越来越多的公司采用Flash来制作自己的网站、展现自己的产品，因为精美的动画总是容易吸引人们的眼球。因此Flash动画技术也必然迅速发展。</p><br/>Tags - <a href="http://www.wduw.com/tag.php?tag=%25E6%258A%2580%25E6%259C%25AF" rel="tag">技术</a>
]]>
</description>
</item><item>
<link>http://www.wduw.com/read.php?136</link>
<title><![CDATA[待解决的任务 sendmail]]></title> 
<author>harrie &lt;&gt;</author>
<category><![CDATA[关于技术]]></category>
<pubDate>Sun, 19 Oct 2008 15:08:16 +0000</pubDate> 
<guid>http://www.wduw.com/read.php?136</guid> 
<description>
<![CDATA[ 
	<div>不能用mail()函数发送邮件</div><div><br /></div><div>Oct 19 22:56:39 localhost sendmail[31320]: My unqualified host name (localhost) unknown; sleeping for retry</div><div>Oct 19 22:57:39 localhost sendmail[31320]: unable to qualify my own domain name (localhost) -- using short name</div><div>Oct 19 22:57:39 localhost sendmail[31320]: m9JEvdL4031320: from=nginx, size=687, class=0, nrcpts=0, msgid=&lt;200810191457.m9JEvdL4031320@localhost&gt;, relay=nginx@localhost</div><div>Oct 19 22:58:04 localhost sendmail[31729]: My unqualified host name (localhost) unknown; sleeping for retry</div><div>Oct 19 22:59:04 localhost sendmail[31729]: unable to qualify my own domain name (localhost) -- using short name</div><div>Oct 19 22:59:04 localhost sendmail[31729]: m9JEx4XA031729: from=nginx, size=816, class=0, nrcpts=0, msgid=&lt;200810191459.m9JEx4XA031729@localhost&gt;, bodytype=8BITMIME, relay=nginx@localhost</div><div><br /></div><div>解决办法 </div><div>&gt;&gt;hostname wduw</div><div>&gt;&gt;vi /etc/hosts/<span style="line-height: 20px; color: #494949" class="Apple-style-span"><br />192.168.0.84&nbsp;&nbsp;&nbsp;&nbsp;wduw&nbsp;&nbsp;&nbsp;&nbsp;wduw<br />&gt;&gt;rc-update add sendmail default<br />&gt;&gt;reboot<br />&gt;&gt;/etc/init.d/sendmail status<br />&nbsp;* status:&nbsp; started<br /><br /></span></div><br/>Tags - <a href="http://www.wduw.com/tag.php?tag=linux" rel="tag">linux</a> , <a href="http://www.wduw.com/tag.php?tag=gentoo" rel="tag">gentoo</a> , <a href="http://www.wduw.com/tag.php?tag=sendmail" rel="tag">sendmail</a>
]]>
</description>
</item><item>
<link>http://www.wduw.com/read.php?135</link>
<title><![CDATA[Have Initiatives!]]></title> 
<author>harrie &lt;&gt;</author>
<category><![CDATA[关于工作]]></category>
<pubDate>Tue, 14 Oct 2008 13:39:58 +0000</pubDate> 
<guid>http://www.wduw.com/read.php?135</guid> 
<description>
<![CDATA[ 
	<h1 align="center"><span>Have Initiatives</span></h1><span>&nbsp;</span><span><br /></span><h2><span>Part I PPP</span></h2><h3><span>1. Progress:</span></h3><span>&nbsp;</span><span><br /></span><span>1) Maximum new website. (Online)</span><span><br /></span><span>My coding assignments started with Maximum internal projects. The first one is the website of Maximum. But I didn't only want a website. When I was writing the code, I decided to create a content management framework at first. &lsquo;<em>The beginning is the most important part of the work&rsquo;</em>, said Plato.</span><span><br /></span><span>&nbsp;</span><span><br /></span><span>2) CRM &amp;&amp; OT form (Online)</span><span><br /></span><span>It is a small project. We have front-end and back-end coding tasks.</span><span><br /></span><span>&nbsp;</span><span><br /></span><span>4) Laureate (Phase I and Phase II finished. Phase III now.)</span><span><br /></span><span>I feel that I didn&rsquo;t work hard enough half year ago for a period of one to two weeks. I thought that there was enough time to complete. Fortunately, you reminded me about that. I tried to fix it and make me more assertive after I realized this.</span><span><br /></span><span>&nbsp;</span><span><br /></span><span>This is the most important project for me this year. Anyone using this system ability will be able to build a site very easily. They will be able to </span><span><br /></span><p><span>-</span><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>make level 1 and level 2 navigation, use drag and drop to change order</span></p><p><span>-</span><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>produce HTML pages that can access any web based application</span></p><p><span>-</span><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>change skin for every websites</span></p><p><span>-</span><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>configure site processor, duplicate and delete it easily</span></p><p><span>-</span><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>create form. config form processor, form designer, build pre-questions, banner tool, duplicate and delete</span></p><p><span>-</span><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>control which site visitor to visit via domain, IP and tracking code.</span></p><span>But there are still few shortcomings when I checked the code and project.</span><span><br /></span><span>&nbsp;</span><span><br /></span><span>5) Akzo</span><span>N</span><span>obel</span><span><br /></span><span>This project used 3 weeks time. 70 percent completions in the first week while writing special feature and changing templates in the second week. At the same time, content editors started to complete copy. In the final week of the project, there were only small changes.</span><span><br /></span><span>&nbsp;</span><span><br /></span><span>We have a model website, simple and easy to change. Everyone have more than ever before. The next project will use less time to complete. It will only be copying code and changing basic templates and content entry.</span><span><br /></span><span>&nbsp;</span><span><br /></span><span>3) Other projects</span><span><br /></span><p><span>&nbsp;</span><span>To be added.</span></p><span>&nbsp;</span><span><br /></span><h3><span>2. Plan:</span></h3><span>1) Phase III of Laureate (20% completed.)</span><span><br /></span><span>2) PBH</span><span><br /></span><span>PBH is a Content Management Framework. This is somewhat different from a Content Management System (or CMS) in that it is by nature geared more towards configurability and customization. This project is called PBH because it is Powered By Harrie.</span><span><br /></span><span>When install PBH, these modules are automatically installed. For instance:</span><span><br /></span><span>2.1)</span><span> </span><span>Some core modules are enabled by default and PBH is unable to function without them.</span><span><br /></span><span>2.2)</span><span> </span><span>User management and access control.</span><span><br /></span><span>2.3)</span><span> </span><span>Navigation. Change order, only drag and drop.</span><span><br /></span><span>2.4) Content.</span><span><br /></span><span>User can further extend the features and functionality of PBH by using other modules.</span><span><br /></span><p><span>3)</span><span> </span><span>Maintain our existing website.</span></p><span>&nbsp;</span><span><br /></span><h3><span>3. Problems:</span></h3><span>1) If we have more clients, whether there is a time in accordance with the original plan.</span><span><br /></span><span>2)</span><span> </span><span><br /></span><span>&nbsp;</span><span><br /></span><h2><span>Part II Requirement specification for PBH</span></h2><span>&nbsp;</span><span><br /></span><h2><span>Remarks</span></h2><span>1. PPP is &quot;Progress, Plan, Problems&quot;. </span><span>I</span><span> suggest to send mail to boss every Monday.</span><span><br /></span><span>Clear that the current process of the project, the plan this week, where the problem lies.</span><span><br /></span><span>&nbsp;</span><span><br /></span><span>2. Tracking module is a module built to help small to medium sized companies create a faster, simpler, and more effective hiring process.</span><span><br /></span><span>&nbsp;</span><br/>Tags - <a href="http://www.wduw.com/tag.php?tag=%25E5%25B7%25A5%25E4%25BD%259C" rel="tag">工作</a> , <a href="http://www.wduw.com/tag.php?tag=%25E4%25B8%258A%25E6%25B5%25B7" rel="tag">上海</a>
]]>
</description>
</item><item>
<link>http://www.wduw.com/read.php?134</link>
<title><![CDATA[从北京回来了，发几张照片]]></title> 
<author>harrie &lt;&gt;</author>
<category><![CDATA[我的照片]]></category>
<pubDate>Thu, 09 Oct 2008 08:59:55 +0000</pubDate> 
<guid>http://www.wduw.com/read.php?134</guid> 
<description>
<![CDATA[ 
	北海公园白塔寺边上，陈晓春一样的表情。<br /><img class="insertimage" src="attachment.php?fid=1" border="0" width="600" height="800" /><br /><br /><br /><br />香山门口的眼睛湖<br /><img class="insertimage" src="attachment.php?fid=2" border="0" width="800" height="600" /><br /><br />钟楼附近的水吧，和哥们一起喝水吹牛<br /><img class="insertimage" src="attachment.php?fid=3" border="0" width="800" height="600" /><br /><br /><br />国家大剧院（鸟蛋）<br /><br /><img class="insertimage" src="attachment.php?fid=4" border="0" width="800" height="600" /><br /><br />北海公园的九龙壁，这里18条，比故宫还多了九条。<br /><img class="insertimage" src="attachment.php?fid=5" border="0" width="800" height="600" /><br /><br />1 收盘了昨天买的一直股票跌停，郁闷，今天晚上少吃点。<br /><br />2 丫Lily小妞今天很严肃的跟我说我们是朋友。<br />额，知道了，严肃点，我们打劫呢。<br /><br />应某人要求稍后再补充两句。<br /><br /><br /><br />站在奥运会专用的颁奖的奖台上，也许你不明白我为什么是这样一个动作，看看下一张图就明白了。<img class="insertimage" src="attachment.php?fid=6" border="0" width="800" height="600" /><br /><br />中央电视台新址，位于北京国贸附近的光华路，据北京的的哥解释，是北京最像四角短裤的标志性建筑物。<img class="insertimage" src="attachment.php?fid=7" border="0" width="800" height="600" /><br /><br />让我们当起双桨，小船儿推开波浪<br /><br /><img class="insertimage" src="attachment.php?fid=8" border="0" width="800" height="600" />
]]>
</description>
</item><item>
<link>http://www.wduw.com/read.php?133</link>
<title><![CDATA[遇到有意思的事情了<br/>]]></title> 
<author>harrie &lt;&gt;</author>
<category><![CDATA[生活笔记]]></category>
<pubDate>Wed, 08 Oct 2008 09:43:23 +0000</pubDate> 
<guid>http://www.wduw.com/read.php?133</guid> 
<description>
<![CDATA[ 
	合同昨天到期。<br />按常规来说，提前一个月谈新合同。<br />到期了还没谈，说下个星期谈。<br />玩笑开大了。<br />
]]>
</description>
</item>
</channel>
</rss>