How to monorail by Generator tool(1)

環境:Windows 2000/XP
需求:

  1. 利用Subversion(或TortoiseSVN checkout Generator 出來,網址:http://svn.castleproject.org:8080/svn/castle/trunk/Tools/Generator/
  2. 進行編譯與安裝:nant install,這個步驟會將 monorail.bat 與 generator.bat 這兩個批次檔安裝到 c:\winnt 或 c:\windows 下。
  3. 切換到你的工作目錄,執行 monorail your_project,就會自動幫你產生出 your_project 這個目錄,裡面就是完整的框架。
  4. 切換到 your_project 目錄下,執行 nant setup,這個步驟會自動幫你下載官方網站上的 rc2 版本下來進行設定,如果你想要使用最新的組件,可以修改 default.build 裡面的 castle.url,將他改為官方 build server 上提供的網址(每日更新),如:
    <property name="castle.url" value="http://builds.castleproject.org/builds/castleproject-1.1-build_456-net-2.0-debug.zip" />

    ;或是本地端位置

    <property name="castle.url" value="file://c:\download\Castle-net-2.0-debug-2007-7-30 (r4074).zip" />
  5. 修改 public/web.config,第18行多了 <services> 將這行移除或註解掉。
  6. Mono 目錄下的 booi.bat 複製到 your_project 目錄下,script 目錄下的批次檔都會用到,所以複製到這邊以後會比較省事。
  7. 修改 script\server.bat為如下內容,如果你不修改的話,Webdev.WebServer.exe 雖然可以順利執行,但卻會出錯。
    @booi script\server.boo %windir%\Microsoft.NET\Framework\v2.0.50727\Webdev.WebServer.exe norestart /port:8080 /path:%CD%\public
  8. 執行 script\server,右下角會有 Webdev.WebServer.exe 的 trayicon 出現,告訴你可以用了。打開瀏覽器吧,在網址列輸入 http://localhost:8080/index.html 就可以看到畫面囉~

除了以上的步驟,產生出來的專案目錄下有個 README.TXT,你也可以好好地閱讀一下。

svk

本想利用 svkCastleProject 拉(Mirror/Sync)下來,然後在官方還沒修正之前,先在本地端作一些小修正,然後自己用的。不過,在 Windows 上,不管是拉全部還是只拉 HEAD 都失敗,只好殘念。
而用我的 Ubuntu Notebook 卻是 ok,我猜應該是 perl library / svk 在 Windows 上有些問題。本想試著用 cygwin + perl + svk,可是卻安裝失敗,懶得繼續試了。
雖然結果是失敗,可是 svk 仍然是個好物。我個人想到兩種情況,svk會特別好用(這也是官方所推薦的幾種用法之二):

  • 出差,畢竟出門在外不一定都會有網路,而且也不一定能連到公司的 Repository server,這時就可以拉 code 到 Notebook,然後在 Notebook 上作版本控制,等到回公司了,再把 code 推回去公司的 Repository server。
  • 專案內使用了某 Open source,通常 Open source 專案會不時變動,開發時期會需要固定一個版本下來,這時候就可以拉一份下來作管理,到時候可以很容易釐清是哪裡的問題

基本上整個用法都跟 Subversion 很接近,所以應該不用多作介紹吧~這邊列出幾篇文章作為參考:

目前在 Linux 下,除了可以拉 Subversion 的 code 之外,也可以拉 PerforceCVS 的 code(資料來自Wikipedia)…可說是好用的不得了~(在 Windows 的話,就別說了,2.0.0-1 只支援 Subversion…)

電話號碼

台灣/中國的電話號碼多半是用諧音,例如:0800-520-520 (我愛你、我愛你) 或是 0800-740-740 (氣死你、拐死你)~
到了美國,你會發現在電視廣告上,常常會出現 080-COMCAST 或是電話號碼裡面包含了英文字母的情況,這該怎麼撥打呢?
不知道你有沒有注意到電話的每個數字按鍵都會有對應的英文字母,例如:2 對應到 ABC、3對應到DEF,對應到之前的例子:080-COMCAST 就可以轉換成 080-2662278,這樣子,可以變化的空間就大了很多~而且也比較容易記憶~
為甚麼會講到這個?其實只是剛好想到這可以用來作為密碼而已,你可以用一個比較好記億的英文單字來當密碼,會方便很多。

ActiveRecord SessionScope/Transaction

ActiveRecord是很方便沒錯,只是如果你要處理大量時,底層的NHibernate會以你意想不到的方式去逐條更新資料表格,可想而知,這很慢~
幸好官方有提供了文件(Using Scopes :: Castle Project, Understanding Scopes :: Castle Project),告知你如何利用SessionScope來完成批次處理,也就是先行處理完畢以後,再一次寫入,這樣子速度就可以達到一定程度的提昇。

Edward Yang

Edward Yang 就是楊德昌,上週悄悄登上 Times weekly 的某頁。
20070711-edwardyang-01

電影流水帳(2007/7/2~2007/7/15)

這幾天有瞄到一些電影的片段,像是火盃的考驗Herbie Fully Loaded,但可惜,都沒看完,不過我相信會有機會的。

血光之災2007

這並不是某部電影的名字,而是算命的結果。為甚麼加上 2007?因為人要體認到無常,隨時都可能會有血光之災的發生。
記得是四月還五月的時候,岳母與他的四千金一起去台中某個以祭拜濟公為主的神壇,去請教濟公一些事情。
岳母很好心的幫我問了今年的運勢,結果是可能會有血光之災。根據濟公表示,找三太子幫忙,應該可以化解。
於是老婆回來之後,就告訴我後半年要特別小心。
最近,還記掛著這件事情的岳母,就到台北某座以祭拜三太子為主的神壇,去請教三太子,三太子也告知了同樣的結果。
既然兩位神明都這麼說了,於是岳母就要了我的貼身衣物,幫我祭解。祭解以後,三太子還說,要在初一、十五到大廟裡去拜拜。
所以岳母就跟我老婆講,我老婆再跟我講。
雖然我自己是不太喜歡算命,不過既然人家都已經算了,而且也這麼說了,那麼,最好就是要凡事小心,免得出事。然後,還要記得初一、十五要去附近的大廟:太平宮拜拜。

在 Windows 下 build php 的方法

幾個月前嘗試著要自己重新 build PHP

其實方法都可以在原始碼解開以後的 README.WIN32-BUILD-SYSTEM 裡面找到。這裡只是算是一些小補充而已。
不過,我最後的結果是失敗,好像還缺了些東西,後來也沒有繼續試,這邊還是先記錄下來,有機會繼續嘗試。

  1. 下載官方提供的原始碼壓縮檔。
  2. 解開,請先看過 README.WIN32-BUILD-SYSTEM 一遍,這會是很好的指引。
  3. 安裝以下東西:
    • Visual Studio 6 或 Visual Studio 2003
    • Platform SDK
    • 官方提供的 win32build.zip
    • 其他必要的 library(自己參考說明吧)
  4. 打開 Command Prompt,切換到解壓以後的目錄下。輸入 buildconf 並按下 enter。
  5. 解開 win32build.zip。
  6. 設定環境變數:
    set lib=win32build_unzipped_directory\lib
    set include=win32build_unzipped_directory\include
    set path=%path%;win32build_unzipped_directory\bin
    

    接著再執行 C:\Program Files\Microsoft Platform SDK\setenv.cmd。

    "C:\Program Files\Microsoft Platform SDK\setenv.cmd" /2000

    "C:\Program Files\Microsoft Platform SDK\setenv.cmd" /xp32
    
  7. 進行設定,這會產生 Makefile。
    cscript /nologo configure.js --disable-ipv6 --disable-fastcgi --enable-cli-win32 --disable-calendar --disable-filter --disable-ftp --disable-zlib --without-wddx --without-xml --disable-xmlreader --disable-xmlwriter --without-dom --without-simplexml --without-gd --without-t1lib --disable-ctype --without-iconv --disable-bcmath --disable-com-dotnet --disable-json
  8. 執行 nmake,應該就會大功告成。