<!-- Free Hosting WebNG.com --> 
<center>
<script type="text/javascript" charset="utf-8">

  var redvase_ad = { version: 1.5 };

  redvase_ad.publisher = 'webng';

  redvase_ad.kind      = 'leaderboard';

  redvase_ad.content   = 'creative'

  redvase_ad.refurl    = encodeURI('**URL_HERE**');

  </script>

<script src="http://redvase.bravenet.com/javascripts/redvase.js" type="text/javascript" charset="utf-8"></script>
</center>
<!-- Free Hosting WebNG.com --> <?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:wfw="http://wellformedweb.org/CommentAPI/">
  <channel>
    <title><![CDATA[○白子○ 的Blog]]></title> 
    <link>http://www6.webng.com/seaboat/</link> 
    <description><![CDATA[关注互联网，拥抱开源，记录工作和生活的点点滴滴]]></description> 
    <language>zh-cn</language> 
    <copyright><![CDATA[Copyright 2009, ○白子○ 的Blog]]></copyright> 
    <webMaster><![CDATA[ouzhiwei@gmail.com (Jlake Ou)]]></webMaster> 
    <generator>LBS v2.0.313</generator> 
    <pubDate>Mon, 23 Nov 2009 04:30:02 -0500</pubDate> 
    <ttl>60</ttl>
  
    <item>
      <title><![CDATA[Windows 下构建 PHP 开发环境： WampServer + Xdebug]]></title> 
      <link><![CDATA[http://www6.webng.com/seaboat/article.asp?id=764]]></link> 
      <category><![CDATA[安装设定]]></category> 
      <author><![CDATA[seaboat <null@null.com>]]></author> 
      <pubDate>Wed, 30 Sep 2009 05:30:49 -0400</pubDate> 
      <description><![CDATA[1. 下载 WampServer <br />网址：　<a href="http://www.wampserver.com/en/download.php" title="http://www.wampserver.com/en/download.php" target="_blank">http://www.wampserver.com/en/download.php</a><br /><br />2. 安装 WampServer<br />Windows 的标准安装步骤，连续点“下一步”即可。<br /><br />3. 下载 Xdebug<br />网址：　<a href="http://xdebug.org/download.php" title="http://xdebug.org/download.php" target="_blank">http://xdebug.org/download.php</a><br /><br />页面上有好几个版本，刚开始一定会被迷惑，不知道该用哪个版本。<br />经过试验，我的环境（Windows XP）最终能用的是 5.3 VC6 (32 bit）。<br />（Apache 以外的服务器需用　nts 版本）<br /><br />下载之后把文件移动（或复制）到 WampServer 的 php 的 ext 目录。<br />]]></description>
      <wfw:commentRss><![CDATA[http://www6.webng.com/seaboat/feed.asp?q=comment&id=764]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[给 ExtJS 的输入控件增加提示功能]]></title> 
      <link><![CDATA[http://www6.webng.com/seaboat/article.asp?id=759]]></link> 
      <category><![CDATA[编程相关]]></category> 
      <author><![CDATA[seaboat <null@null.com>]]></author> 
      <pubDate>Wed, 09 Sep 2009 01:49:57 -0400</pubDate> 
      <description><![CDATA[在页面的 js 代码最上层，追加以下代码<br />Ext.override(Ext.form.Field, {<br />    afterRender: function() {<br />        this.initEvents();<br />        this.initValue();<br />        //取得控件的标签<br />        var findLabel = function(field) {<br />            var wrapDiv = null;<br />            var label = null<br />            wrapDiv = field.getEl().up(&#39;div.x-form-element&#39;);<br />            if(wrapDiv) {<br />                label = wrapDiv.child(&#39;label&#39;);        <br />]]></description>
      <wfw:commentRss><![CDATA[http://www6.webng.com/seaboat/feed.asp?q=comment&id=759]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[Zend Framework 重定向方法(render, forward, redirect)总结]]></title> 
      <link><![CDATA[http://www6.webng.com/seaboat/article.asp?id=753]]></link> 
      <category><![CDATA[编程相关]]></category> 
      <author><![CDATA[seaboat <null@null.com>]]></author> 
      <pubDate>Tue, 04 Aug 2009 02:15:42 -0400</pubDate> 
      <description><![CDATA[<b>一. render</b><br /><span style="color:blue">不指定render</span><br />结果： {当前Module}/{当前Controller}/{当前Action}.phtml<br /><br /><span style="color:blue">$this-&gt;render(&#39;bar&#39;) ;</span><br />结果： {当前Module}/{当前Controller}/bar.phtml<br /><br /><b>二. forward</b><br /><span style="color:blue">$this-&gt;_forward(&#39;bar&#39;) ;</span><br />结果： {当前Module}/{当前Controller}/bar<br /><br /><span style="color:blue">$this-&gt;_forward(&#39;bar&#39;, &#39;foo&#39;) ;</span><br />结果： {当前Module}/foo/bar<br /><br /><span style="color:blue">$this-&gt;_forward(&#39;bar&#39;, &#39;foo&#39;, &#39;hoge&#39;) ;</span><br />]]></description>
      <wfw:commentRss><![CDATA[http://www6.webng.com/seaboat/feed.asp?q=comment&id=753]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[通过 Subversion 的 hook 自动更新代码]]></title> 
      <link><![CDATA[http://www6.webng.com/seaboat/article.asp?id=751]]></link> 
      <category><![CDATA[安装设定]]></category> 
      <author><![CDATA[seaboat <null@null.com>]]></author> 
      <pubDate>Mon, 27 Jul 2009 21:15:16 -0400</pubDate> 
      <description><![CDATA[用 subversion (以下简称 svn) 做版本管理，可以免去 ftp 上传代码的过程，具体方法是通过 svn 的 commit hook 自动更新代码。<br /><br />以下是设置的步骤:<br /><br />切换到 root 用户。<br /><span style="color:blue"># su -</span><br /><br />导出项目。<br /><span style="color:blue"># cd /home<br /># svn checkout  --username USER_NAME --password USER_PASS <a href="http://localhost/svn/PROJECT_NAME/trunk/" title="http://localhost/svn/PROJECT_NAME/trunk/" target="_blank">http://localhost/svn/PROJECT_NAME/trunk/</a> PROJECT_NAME<br /># chown -R USER_NAME PROJECT_NAME</span><br /><br />编写 shell 脚本。<br /><span style="color:blue"># vi /home/USER_NAME/bin/svn_auto_update.sh</span><br />输入<div class="code">#!/bin/sh</div>]]></description>
      <wfw:commentRss><![CDATA[http://www6.webng.com/seaboat/feed.asp?q=comment&id=751]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[CentOS 下安装配置 Subversion （简明实用）]]></title> 
      <link><![CDATA[http://www6.webng.com/seaboat/article.asp?id=747]]></link> 
      <category><![CDATA[安装设定]]></category> 
      <author><![CDATA[seaboat <null@null.com>]]></author> 
      <pubDate>Wed, 08 Jul 2009 03:20:51 -0400</pubDate> 
      <description><![CDATA[用 yum 安装 apache 模块。<div class="code"># yum install mod_dav_svn</div>创建库。<div class="code"># cd /home<br /># mkdir svnrepo<br /># cd svnrepo<br /># svnadmin create project1<br /># svn mkdir file&#58;///home/svnrepo/project1/trunk file&#58;///home/svnrepo/project1/tags file&#58;///home/svnrepo/project1/branches -m &quot;initial repository layout&quot;</div>更改目录的所有者为 apache 用户。<div class="code"># chown -R apache.apache project1</div>创建用户认证文件（采用Digest）。 <br />]]></description>
      <wfw:commentRss><![CDATA[http://www6.webng.com/seaboat/feed.asp?q=comment&id=747]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[把 Windows 的 Notepad 换成 Notepad2]]></title> 
      <link><![CDATA[http://www6.webng.com/seaboat/article.asp?id=745]]></link> 
      <category><![CDATA[Windows]]></category> 
      <author><![CDATA[seaboat <null@null.com>]]></author> 
      <pubDate>Mon, 22 Jun 2009 03:43:55 -0400</pubDate> 
      <description><![CDATA[<a href="http://www.flos-freeware.ch/notepad2.html" title="http://www.flos-freeware.ch/notepad2.html" target="_blank">Notepad2</a> 很小巧，然而功能强大，和 Windows 自带的 Notepad 相比，说有天壤之别也不为过。<br /><br />网上有不少文章介绍如何把 Windows 的 Notepad 换成 Notepad2，步骤都比较复杂，而且成功率不高，尤其是 XP SP2 以后的版本。<br /><br />经我验证，<a href="http://ayende.com/Blog/archive/2005/05/29/ReplacingNotepadWithNotepad2OnWindowsXPServicePack2.aspx" title="http://ayende.com/Blog/archive/2005/05/29/ReplacingNotepadWithNotepad2OnWindowsXPServicePack2.aspx" target="_blank">这个网页</a>上介绍的方法比较好使。方法是在 Notepad2 的文件夹内做一个批处理文件，然后执行。原文介绍的批处理如下（注释已译）：<div class="code">@echo 替换 NOTEPAD.EXE 为 notepad2.EXE ...</div>]]></description>
      <wfw:commentRss><![CDATA[http://www6.webng.com/seaboat/feed.asp?q=comment&id=745]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[JavaScript: 取得字符串的字节数]]></title> 
      <link><![CDATA[http://www6.webng.com/seaboat/article.asp?id=742]]></link> 
      <category><![CDATA[编程相关]]></category> 
      <author><![CDATA[seaboat <null@null.com>]]></author> 
      <pubDate>Fri, 29 May 2009 05:02:59 -0400</pubDate> 
      <description><![CDATA[代码：<div class="code">//四舍五入<br />function _round(num, X) {<br />&nbsp;X = X || 2;<br />&nbsp;return Math.round(num*Math.pow(10, X))/Math.pow(10, X);<br />}<br /><br />//取得字符串的字节数<br />function _byteLength(str){<br />&nbsp;//方法一：正则<br />&nbsp;if(!str) return 0;<br />&nbsp;return str.replace(/[^\x00-\xFF]/g,&#39;**&#39;).length;<br />&nbsp;//方法二：循环<br />&nbsp;/*<br />&nbsp;var byteLen=0,len=str.length;<br />&nbsp;for(var i=0; i&lt;len; i++){<br />&nbsp;if(str.charCodeAt(i)&gt;255){<br />&nbsp;byteLen += 2;</div>]]></description>
      <wfw:commentRss><![CDATA[http://www6.webng.com/seaboat/feed.asp?q=comment&id=742]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[console.log Everywhere]]></title> 
      <link><![CDATA[http://www6.webng.com/seaboat/article.asp?id=740]]></link> 
      <category><![CDATA[编程相关]]></category> 
      <author><![CDATA[seaboat <null@null.com>]]></author> 
      <pubDate>Fri, 22 May 2009 07:58:43 -0400</pubDate> 
      <description><![CDATA[console.log 原先是 Firefox 的“专利”，严格说是安装了 Firebugs 之后的 Firefox 所独有的调试“绝招”。<br /><br />这一招，IE8 学会了，不过用起来比 Firebugs 麻烦，只有在开启调试窗口(F12)的时候，console.log 才能出结果，不然就报错。<br /><br />今天看到 Opera 也有个叫 <a href="http://www.opera.com/dragonfly/" title="http://www.opera.com/dragonfly/" target="_blank">dragonfly</a> 的东东，用这东西查看 DOM，已经可以和 Firebug 媲美，然而还是不能用 console.log。于是有人就提供了这样两句代码：<br /><div class="code">window.console = window.console || {};<br />console.log || (console.log = opera.postError)；</div><br />经测试，以上代码好使。<br /><br />至此，Firefox/IE/Opera 都能用上 console.log 了。<br />]]></description>
      <wfw:commentRss><![CDATA[http://www6.webng.com/seaboat/feed.asp?q=comment&id=740]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[IME 打开时 Firefox 不触发 keyup 之解决方法]]></title> 
      <link><![CDATA[http://www6.webng.com/seaboat/article.asp?id=739]]></link> 
      <category><![CDATA[编程相关]]></category> 
      <author><![CDATA[seaboat <null@null.com>]]></author> 
      <pubDate>Thu, 21 May 2009 00:41:18 -0400</pubDate> 
      <description><![CDATA[输入法打开时， Firefox 不触发 keyup 事件。经常写javascript代码的人，尤其是中日韩等国的人，都可能会遇上这个不大好解决的问题，。<br /><br />在一个日文 Blog 上找到了解决办法，用 jQuery 通过 text 事件实现。<br />自己写了一段测试代码如下：<br /><div class="code">var logFunc = function(e){<br />&nbsp;console.log($(this).val());<br />&nbsp;if(e){<br />&nbsp;// keyup 时能取到键值<br />&nbsp;console.log(e.keyCode)<br />&nbsp;}<br />};<br />$(&#39;:text&#39;).keyup(logFunc).text(&#39;text&#39;, logFunc);</div>]]></description>
      <wfw:commentRss><![CDATA[http://www6.webng.com/seaboat/feed.asp?q=comment&id=739]]></wfw:commentRss>
    </item>
      
    <item>
      <title><![CDATA[利用 jQuery 克隆 Object]]></title> 
      <link><![CDATA[http://www6.webng.com/seaboat/article.asp?id=735]]></link> 
      <category><![CDATA[编程相关]]></category> 
      <author><![CDATA[seaboat <null@null.com>]]></author> 
      <pubDate>Wed, 08 Apr 2009 20:55:56 -0400</pubDate> 
      <description><![CDATA[在网上搜索关键字 “javascript object clone”，可以找到很多实现克隆 Object 的代码，可是据我测试，让人满意的几乎没有。<br /><br />今天发现 jQuery 的作者 John Resig 给别人的<a href="http://stackoverflow.com/questions/122102/what-is-the-most-efficent-way-to-clone-a-javascript-object" title="http://stackoverflow.com/questions/122102/what-is-the-most-efficent-way-to-clone-a-javascript-object" target="_blank">答复</a>，尝试了一下确实很好用。<br /><br />方法如下：<div class="code">// 浅层复制（只复制顶层的非 object 元素）<br />var newObject = jQuery.extend({}, oldObject);<br /><br />// 深层复制（一层一层往下复制直到最底层）<br />var newObject = jQuery.extend(true, {}, oldObject);</div>测试如下：<div class="code">var obj1 = {</div>]]></description>
      <wfw:commentRss><![CDATA[http://www6.webng.com/seaboat/feed.asp?q=comment&id=735]]></wfw:commentRss>
    </item>
      
  </channel>
</rss>
