<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/main.xsl"?>
<b:blog xmlns="http://www.w3.org/1999/xhtml" xmlns:b="http://blog.othree.net"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://blog.othree.net http://blog.othree.net/blooog.xsd">
	<b:blogTitle>O3noBLOG</b:blogTitle>
	<b:blogDescription></b:blogDescription>
	<b:entries>
		<b:entriesMeta>
			<b:listType>m</b:listType>
			<b:listData listID="2008-02">February 2008</b:listData>

			<b:previous>
				<b:mTitle>January 2008</b:mTitle>
				<b:mDate>2008/01</b:mDate>
			</b:previous>


			<b:next>
				<b:mTitle>March 2008</b:mTitle>
				<b:mDate>2008/03</b:mDate>				
			</b:next>

		</b:entriesMeta>

		<b:entry entryID="000492" baseName="vim_1">
			<b:author>
				<b:authorName>othree</b:authorName>
				<b:authorEmail>othree@gmail.com</b:authorEmail>
				<b:authorUrl></b:authorUrl>
			</b:author>
			<b:datetime>
				<b:date>2008-02-29</b:date>
				<b:time>00:36:40</b:time>
			</b:datetime>
			<b:category>vim</b:category>
			<b:title>我現在的Vim設定</b:title>
			<b:content>
				<b:summary>這兩三天都沒在寫code，反而又再次弄起了Vim設定，一開始的目標是讓之前的Tab鍵自動完成的功能和snippet（想知道snippet是什麼的可以看看c9s的在 Vim 上使用 Slippery Snippet這篇文章，裡面有一段影片），雖然沒學過Vim的script，不過我還是下去翻snippetEmu的原始碼，結果發現到它會判斷有沒有安裝supertab這個plugin，我才發現原來supertab就是Tab鍵觸發自動完成，把它裝起來就達成我的需求，一下子省事不少。之後我又升級了snippetEmu到最新版，還裝了安裝新版snippetEmu所用的vbs檔所需要的Vimball外掛，另外之前就會用到的還有The NERD Commenter，這些東西已經能滿足我目前的大部分需求了，應該好一陣子不會修改設定，接下來需要記住多些指令才行。...</b:summary>
				<b:mainContent><p>這兩三天都沒在寫code，反而又再次弄起了Vim設定，一開始的目標是讓之前的<a href="http://blog.othree.net/log/2008/01/23/gvim-setting-complete/">Tab鍵自動完成</a>的功能和snippet（想知道snippet是什麼的可以看看c9s的<a href="http://c9s.blogspot.com/2007/06/vim-snippet.html" title="Textmate-Like ">在 Vim 上使用 Slippery Snippet</a>這篇文章，裡面有一段影片），雖然沒學過Vim的script，不過我還是下去翻<a href="http://vim.sourceforge.net/scripts/script.php?script_id=1318">snippetEmu</a>的原始碼，結果發現到它會判斷有沒有安裝<a href="http://www.vim.org/scripts/script.php?script_id=182">supertab</a>這個plugin，我才發現原來supertab就是Tab鍵觸發自動完成，把它裝起來就達成我的需求，一下子省事不少。之後我又升級了snippetEmu到最新版，還裝了安裝新版snippetEmu所用的vbs檔所需要的<a href="http://vim.sourceforge.net/scripts/script.php?script_id=1502">Vimball</a>外掛，另外之前就會用到的還有<a href="http://vim.sourceforge.net/scripts/script.php?script_id=1218">The <span class="caps">NERD</span> Commenter</a>，這些東西已經能滿足我目前的大部分需求了，應該好一陣子不會修改設定，接下來需要記住多些指令才行。</p></b:mainContent>
				<b:extendContent></b:extendContent>
			</b:content>

			<b:comments commentCount="2"></b:comments>


			<b:trackbacks trackbackCount="0"></b:trackbacks>

		</b:entry>

		<b:entry entryID="000491" baseName="pro-javascript-techniques">
			<b:author>
				<b:authorName>othree</b:authorName>
				<b:authorEmail>othree@gmail.com</b:authorEmail>
				<b:authorUrl></b:authorUrl>
			</b:author>
			<b:datetime>
				<b:date>2008-02-21</b:date>
				<b:time>11:46:48</b:time>
			</b:datetime>
			<b:category>books</b:category>
			<b:title>Pro JavaScript Techniques 書評</b:title>
			<b:content>
				<b:summary> 本書評由othree評論於2008/02/21，評分為5分（滿分5分），採創用 CC 姓名標示-相同方式分享 授權條款釋出。 雖然年假期間幾乎都在打電動，不過還是有一天晚上忘了什麼原因沒辦法打，所以把這本書剩下的最後兩三章一口氣看完了，這本書大致上可以分為三個部份，第一部份是關於開發方法的，這裡介紹了js的物件觀念、如何產生可再利用的程式碼以及開發和除錯工具。第二部份則是不亂入的JavaScript，這部份從DOM開始介紹，接著介紹怎樣控制事件、怎樣增進網頁的易用性，最後則是實際提供了兩個case。第三部份則是Ajax，這部份一開始先介紹Ajax相關的知識，介紹完的時候也建好一個Ajax Library，而後續就使用這個Ajax Library來時做了幾個case，其中包括現在很常見的auto complete。 這本書的內容理所當然都是屬於進階的內容，入門看ppk on javascript，繼續深造就看這本，書中介紹了不少中小型的JavaScript Library，而且不只是介紹用途，還有講解程式碼，其實看的過程中，我會漸漸覺得非不得已不需要使用Library，因為這些Library包的功能通常都比你需要的還多很多。除此之外，書中對開發工具的介紹也很詳細，想必大家都知道JavaScript是出了明的難開發的，因為每個瀏覽器行為都不同，又不是每個瀏覽器都有Firebug可以用，提供的錯誤訊息常常都很沒用，要是在IE上出錯都要找半天，甚至是使用試誤法來找，雖然這本書沒有提供更好的IE除錯辦法，但是對Opera和Safari的除錯工具都有介紹，像Safari的要用終端機輸入指令才會打開除錯工具，以前我根本不知道，一直以為只有nightly build才有。那至於IE要怎麼辦？其實微軟有提供Internet Explorer Developer Toolbar，只不過時間是在這本書出版之後，雖然沒Firebug強大，還是可以幫助解決不少問題了，唯一有個小問題是只支援IE7。 其實在這本書還沒看完的時候，我因為一些原因看起jQuery的程式碼，也了解了其中一部分的架構，剛好這本書的作者也是jQuery的開發者，所以其實看到不少熟悉的東西。除此之外，我還用書中提到的Dean Edwards的Base做了一個電腦模擬課程的作業，base2是一個用來讓JavaScript有物件繼承能力的base class，因此可以用來開發物件導向的程式。在經歷這些之後，我覺得自己對使用JavaScript的觀念和以前又不一樣了，要說差在哪的話，之前我可能都用jQuery，現在我到是很想只用Dean Edwards的Base和addEvent來開發個什麼東西。 結論：看完jQuery作者的書後反而不想用jQuery了XD。 補充：我一直沒把Base和base2分清楚@@。...</b:summary>
				<b:mainContent><div class="hreview" id="hreview-Pro-JavaScript-Techniques">
  <p class="item">
    <a class="fn url" href="http://jspro.org/"><img alt="Pro JavaScript Techniques" src="http://blog.othree.net/log/2008/02/21/pro-javascript-techniques/projavascripttechnicques.jpg" class="photo"  width="151" height="200"/></a><br />
  </p>
  <p class="entry-info">
  本書評由<span class="reviewer vcard"><span class="fn nickname">othree</span></span>評論於<abbr class="dtreviewed" title="20080221">2008/02/21</abbr>，評分為<abbr title="5" class="rating">5分（滿分5分）</abbr>，採<a rel="license" href="http://creativecommons.org/licenses/by-sa/2.5/tw/deed.zh_TW">創用 CC 姓名標示-相同方式分享 授權條款</a>釋出。<br />
  </p>
  <div class="description">
    <p>雖然年假期間幾乎都在打電動，不過還是有一天晚上忘了什麼原因沒辦法打，所以把這本書剩下的最後兩三章一口氣看完了，這本書大致上可以分為三個部份，第一部份是關於開發方法的，這裡介紹了js的物件觀念、如何產生可再利用的程式碼以及開發和除錯工具。第二部份則是不亂入的JavaScript，這部份從DOM開始介紹，接著介紹怎樣控制事件、怎樣增進網頁的易用性，最後則是實際提供了兩個case。第三部份則是Ajax，這部份一開始先介紹Ajax相關的知識，介紹完的時候也建好一個Ajax Library，而後續就使用這個Ajax Library來時做了幾個case，其中包括現在很常見的auto complete。</p>
    <p>這本書的內容理所當然都是屬於進階的內容，入門看<a href="http://www.quirksmode.org/book/">ppk on javascript</a>，繼續深造就看這本，書中介紹了不少中小型的JavaScript Library，而且不只是介紹用途，還有講解程式碼，其實看的過程中，我會漸漸覺得非不得已不需要使用Library，因為這些Library包的功能通常都比你需要的還多很多。除此之外，書中對開發工具的介紹也很詳細，想必大家都知道JavaScript是出了明的難開發的，因為每個瀏覽器行為都不同，又不是每個瀏覽器都有Firebug可以用，提供的錯誤訊息常常都很沒用，要是在IE上出錯都要找半天，甚至是使用試誤法來找，雖然這本書沒有提供更好的IE除錯辦法，但是對Opera和Safari的除錯工具都有介紹，像Safari的要用終端機輸入指令才會打開除錯工具，以前我根本不知道，一直以為只有nightly build才有。那至於IE要怎麼辦？其實微軟有提供<a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=E59C3964-672D-4511-BB3E-2D5E1DB91038&amp;displaylang=en">Internet Explorer Developer Toolbar</a>，只不過時間是在這本書出版之後，雖然沒Firebug強大，還是可以幫助解決不少問題了，唯一有個小問題是只支援IE7。</p>
    <p>其實在這本書還沒看完的時候，我因為一些原因看起jQuery的程式碼，也了解了其中一部分的架構，剛好這本書的作者也是jQuery的開發者，所以其實看到不少熟悉的東西。除此之外，我還用書中提到的<a href="http://dean.edwards.name/">Dean Edwards</a>的<a href="http://dean.edwards.name/weblog/2006/03/base/">Base</a>做了一個電腦模擬課程的作業，base2是一個用來讓JavaScript有物件繼承能力的base class，因此可以用來開發物件導向的程式。在經歷這些之後，我覺得自己對使用JavaScript的觀念和以前又不一樣了，要說差在哪的話，之前我可能都用jQuery，現在我到是很想只用Dean Edwards的Base和<a href="http://dean.edwards.name/weblog/2005/10/add-event2/">addEvent</a>來開發個什麼東西。</p>
    <p>結論：看完jQuery作者的書後反而不想用jQuery了XD。</p>
    <p class="update">補充：我一直沒把Base和base2分清楚@@。</p>
  </div>
</div></b:mainContent>
				<b:extendContent></b:extendContent>
			</b:content>

			<b:comments commentCount="0"></b:comments>


			<b:trackbacks trackbackCount="0"></b:trackbacks>

		</b:entry>

		<b:entry entryID="000490" baseName="dmc4">
			<b:author>
				<b:authorName>othree</b:authorName>
				<b:authorEmail>othree@gmail.com</b:authorEmail>
				<b:authorUrl></b:authorUrl>
			</b:author>
			<b:datetime>
				<b:date>2008-02-18</b:date>
				<b:time>14:14:48</b:time>
			</b:datetime>
			<b:category>acg</b:category>
			<b:title>Devil May Cry 4</b:title>
			<b:content>
				<b:summary> 最近這裡幾乎都沒更新，新年假期當然是原因之一，不過最主要的原因還是Devil May Cry 4發售，我PS3買來這麼久就是在等這款遊戲。 這次的DMC有兩個大幅度的改變，一是新主角Nero，DMC系列向來都是以Dante為主角，雖然有其他可以操作的角色，例如三代可以使用Vergil，不過關卡都和Dante的一樣，只有一小段專屬劇情，其他幾代也是差不多的狀況，而這次則是劇情使的不同關卡要用不同角色玩，中間有幾關要使用Dante，而且也不能玩不屬於該角色的關卡。另一點則是DMC4是該系列在次世代主機的初作，解析度支援到720p（XBOX則可以配合主機功能upscan到1080p輸出），在DMC3的時候，就已經明顯感覺到主機性能的極限，有很多地方的3D模型都可以感覺到精細度有差，畫面上的東西雖然看得出是什麼，但是就是會覺得有種劣化過的感覺，即使當時輸出的解析度只有640*480，PS2也已經不太能負荷，這次不但沒有這些模型劣化的狀況，原生解析度更一口氣提高到1280*720，雖然最初的宣傳是要做到Full HD的，不過後來還是屈服在主機性能，當然我覺得目前的開發技術還不能完整發揮PS3的能力，或許之後的續做可以做到，另外讀取時間過久，記憶體容量不足造成的風格系統限制，在這代都獲得了不錯的改善。而三代頗受好評的戰鬥系統也沿用下來，在各大遊戲網站和雜誌的評分雖然沒有三代高，但是遊玩樂趣還是不輸三代，當然缺點還是有，像是劇情、最後頭目太弱、一些視點問題等，但還無傷大雅。 在這兩週內我有是沒事就開來打，遊戲時間已經60小時，還差最簡單的難度還沒全破，不過這只是時間上的問題，另外有在考慮用Dante打血宮和拼全部S評價，如果都要拼搞不好要玩到上百小時吧。雖然還有一兩篇文章要寫，像是Pro JavaScript Technique的讀後心得和這裡對OpenID的支援等，不過還是看心情決定要打遊戲還是寫文章吧XD。...</b:summary>
				<b:mainContent><p><img alt="Nero vs Dante" src="http://blog.othree.net/log/2008/02/18/dmc4/dmc4.jpg" width="400" height="250" /></p>

<p>最近這裡幾乎都沒更新，新年假期當然是原因之一，不過最主要的原因還是Devil May Cry 4發售，我PS3買來這麼久就是在等這款遊戲。</p>

<p>這次的DMC有兩個大幅度的改變，一是新主角Nero，DMC系列向來都是以Dante為主角，雖然有其他可以操作的角色，例如三代可以使用Vergil，不過關卡都和Dante的一樣，只有一小段專屬劇情，其他幾代也是差不多的狀況，而這次則是劇情使的不同關卡要用不同角色玩，中間有幾關要使用Dante，而且也不能玩不屬於該角色的關卡。另一點則是DMC4是該系列在次世代主機的初作，解析度支援到720p（XBOX則可以配合主機功能upscan到1080p輸出），在DMC3的時候，就已經明顯感覺到主機性能的極限，有很多地方的3D模型都可以感覺到精細度有差，畫面上的東西雖然看得出是什麼，但是就是會覺得有種劣化過的感覺，即使當時輸出的解析度只有640*480，PS2也已經不太能負荷，這次不但沒有這些模型劣化的狀況，原生解析度更一口氣提高到1280*720，雖然最初的宣傳是要做到Full HD的，不過後來還是屈服在主機性能，當然我覺得目前的開發技術還不能完整發揮PS3的能力，或許之後的續做可以做到，另外讀取時間過久，記憶體容量不足造成的風格系統限制，在這代都獲得了不錯的改善。而三代頗受好評的戰鬥系統也沿用下來，在各大遊戲網站和雜誌的評分雖然沒有三代高，但是遊玩樂趣還是不輸三代，當然缺點還是有，像是劇情、最後頭目太弱、一些視點問題等，但還無傷大雅。</p>

<p>在這兩週內我有是沒事就開來打，遊戲時間已經60小時，還差最簡單的難度還沒全破，不過這只是時間上的問題，另外有在考慮用Dante打血宮和拼全部S評價，如果都要拼搞不好要玩到上百小時吧。雖然還有一兩篇文章要寫，像是<a href="http://jspro.org/">Pro JavaScript Technique</a>的讀後心得和這裡對OpenID的支援等，不過還是看心情決定要打遊戲還是寫文章吧XD。</p></b:mainContent>
				<b:extendContent></b:extendContent>
			</b:content>

			<b:comments commentCount="2"></b:comments>


			<b:trackbacks trackbackCount="0"></b:trackbacks>

		</b:entry>

		<b:entry entryID="000489" baseName="mt_openid">
			<b:author>
				<b:authorName>othree</b:authorName>
				<b:authorEmail>othree@gmail.com</b:authorEmail>
				<b:authorUrl></b:authorUrl>
			</b:author>
			<b:datetime>
				<b:date>2008-02-01</b:date>
				<b:time>02:10:47</b:time>
			</b:datetime>
			<b:category>about</b:category>
			<b:title>MT OpenID支援</b:title>
			<b:content>
				<b:summary>剛剛研究的結果先紀錄一下，基本上是先連到mt目錄下的comment cgi檔案，加上一些參數會跑出登入畫面，這邊可以選擇想要用的第三方認證機制，透過第三方認證服務確定登入後，系統會產生一個cookie叫做commenter_name，有這個cookie的話就表是有透過第三方認證機制登入了，這時透過javascript把name和email兩個欄位藏起來，直接送出訊息，系統就可以正確的把該篇迴響歸到該帳號之下。 如果mt的安裝位置和部落格位置在不同網域名稱下，也可以使用cgi檔產生一段js碼，直接把commenter_name這變數指定好。另外有在第三方認證服務登入的情況下，送出的資料如果包含name，那會變成以表單送出的name為主，而忽略第三方認證的帳號，因此需要把該欄位藏起來。...</b:summary>
				<b:mainContent><p>剛剛研究的結果先紀錄一下，基本上是先連到mt目錄下的comment cgi檔案，加上一些參數會跑出登入畫面，這邊可以選擇想要用的第三方認證機制，透過第三方認證服務確定登入後，系統會產生一個cookie叫做commenter_name，有這個cookie的話就表是有透過第三方認證機制登入了，這時透過javascript把name和email兩個欄位藏起來，直接送出訊息，系統就可以正確的把該篇迴響歸到該帳號之下。</p>

<p>如果mt的安裝位置和部落格位置在不同網域名稱下，也可以使用cgi檔產生一段js碼，直接把commenter_name這變數指定好。另外有在第三方認證服務登入的情況下，送出的資料如果包含name，那會變成以表單送出的name為主，而忽略第三方認證的帳號，因此需要把該欄位藏起來。</p></b:mainContent>
				<b:extendContent></b:extendContent>
			</b:content>

			<b:comments commentCount="3"></b:comments>


			<b:trackbacks trackbackCount="0"></b:trackbacks>

		</b:entry>

		<b:entry entryID="000488" baseName="mt-41-open-source">
			<b:author>
				<b:authorName>othree</b:authorName>
				<b:authorEmail>othree@gmail.com</b:authorEmail>
				<b:authorUrl></b:authorUrl>
			</b:author>
			<b:datetime>
				<b:date>2008-02-01</b:date>
				<b:time>00:52:49</b:time>
			</b:datetime>
			<b:category>web</b:category>
			<b:title>MT 4.1 Open Source</b:title>
			<b:content>
				<b:summary>前兩天看到MT 4.1 OS可以下載的消息，我就有點興奮想要把我這轉換到Open Source的版本，結果看一下公告內容，發現個人版和Open Source版其實是一樣的XD，只是有兩種license供你選擇，不過一個是opensource的，一個是closesource，雖然內容都一樣@@。總之，因為還是有功能更新和安全性更新，我還是升了上去，升級過程很快，我想資料庫結構根本沒變動，所以才會這麼快。 新功能的部份，雖然一進後台就看到三則關於Template的新功能介紹，不過實在和我無關，就略過不談，我比較在意的幾個變更點：首先是之前就說過的上傳檔案管理，之前這部份只做到可以上傳檔案，但是不能進行後續的管理動作（像是改名稱），再來是使用者頭像的支援，不過我這只有我自己的帳號，暫時還不會放上，之後可能和OpenID的支援一起研究看看，另外有些地方的介面有改動，像是發表文章的文章屬性就跑到右邊，這樣確實方便不少，也比較美觀，另外還有我還沒確認用途的新東西，Manage裡面的新項目，Folder(目錄)，暫時也還不會去碰他吧:P，總之，MT4使用者（現在不知道還有多少）可以升級到4.1摟，當然，升級前別忘了備份。...</b:summary>
				<b:mainContent><p>前兩天看到<a href="http://www.movabletype.org/2008/01/movable_type_open_source_41_re.html">MT 4.1 OS可以下載</a>的消息，我就有點興奮想要把我這轉換到Open Source的版本，結果看一下公告內容，發現個人版和Open Source版其實是一樣的XD，只是有兩種license供你選擇，不過一個是opensource的，一個是closesource，雖然內容都一樣@@。總之，因為還是有功能更新和安全性更新，我還是升了上去，升級過程很快，我想資料庫結構根本沒變動，所以才會這麼快。</p>

<p>新功能的部份，雖然一進後台就看到三則關於Template的新功能介紹，不過實在和我無關，就略過不談，我比較在意的幾個變更點：首先是之前就說過的上傳檔案管理，之前這部份只做到可以上傳檔案，但是不能進行後續的管理動作（像是改名稱），再來是使用者頭像的支援，不過我這只有我自己的帳號，暫時還不會放上，之後可能和OpenID的支援一起研究看看，另外有些地方的介面有改動，像是發表文章的文章屬性就跑到右邊，這樣確實方便不少，也比較美觀，另外還有我還沒確認用途的新東西，Manage裡面的新項目，<strong>Folder</strong>(目錄)，暫時也還不會去碰他吧:P，總之，MT4使用者（現在不知道還有多少）可以升級到4.1摟，當然，升級前別忘了備份。</p></b:mainContent>
				<b:extendContent></b:extendContent>
			</b:content>

			<b:comments commentCount="0"></b:comments>


			<b:trackbacks trackbackCount="0"></b:trackbacks>

		</b:entry>

	</b:entries>
</b:blog>
