我現在的 Vim 設定

這兩三天都沒在寫code,反而又再次弄起了Vim設定,一開始的目標是讓之前的Tab鍵自動完成的功能和snippet(想知道snippet是什麼的可以看看c9s的在 Vim 上使用 Slippery Snippet這篇文章,裡面有一段影片),雖然沒學過Vim的script,不過我還是下去翻snippetEmu的原始碼,結果發現到它會判斷有沒有安裝supertab這個plugin,我才發現原來supertab就是Tab鍵觸發自動完成,把它裝起來就達成我的需求,一下子省事不少。之後我又升級了snippetEmu到最新版,還裝了安裝新版snippetEmu所用的vbs檔所需要的Vimball外掛,另外之前就會用到的還有The NERD Commenter,這些東西已經能滿足我目前的大部分需求了,應該好一陣子不會修改設定,接下來需要記住多些指令才行。


Pro JavaScript Techniques 書評

Pro JavaScript Techniques

雖然年假期間幾乎都在打電動,不過還是有一天晚上忘了什麼原因沒辦法打,所以把這本書剩下的最後兩三章一口氣看完了,這本書大致上可以分為三個部份,第一部份是關於開發方法的,這裡介紹了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 EdwardsBase做了一個電腦模擬課程的作業,base2是一個用來讓JavaScript有物件繼承能力的base class,因此可以用來開發物件導向的程式。在經歷這些之後,我覺得自己對使用JavaScript的觀念和以前又不一樣了,要說差在哪的話,之前我可能都用jQuery,現在我到是很想只用Dean Edwards的Base和addEvent來開發個什麼東西。

結論:看完jQuery作者的書後反而不想用jQuery了XD。

補充:我一直沒把Base和base2分清楚@@。


Devil May Cry 4

Nero vs Dante

最近這裡幾乎都沒更新,新年假期當然是原因之一,不過最主要的原因還是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。


MT OpenID 支援

剛剛研究的結果先紀錄一下,基本上是先連到mt目錄下的comment cgi檔案,加上一些參數會跑出登入畫面,這邊可以選擇想要用的第三方認證機制,透過第三方認證服務確定登入後,系統會產生一個cookie叫做commenter_name,有這個cookie的話就表是有透過第三方認證機制登入了,這時透過javascript把name和email兩個欄位藏起來,直接送出訊息,系統就可以正確的把該篇迴響歸到該帳號之下。

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


MT 4.1 Open Source

前兩天看到MT 4.1 OS可以下載的消息,我就有點興奮想要把我這轉換到Open Source的版本,結果看一下公告內容,發現個人版和Open Source版其實是一樣的XD,只是有兩種license供你選擇,不過一個是opensource的,一個是closesource,雖然內容都一樣@@。總之,因為還是有功能更新和安全性更新,我還是升了上去,升級過程很快,我想資料庫結構根本沒變動,所以才會這麼快。

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


更之前的文章