之前的文章曾寫過如何設定 subclipse 的 global-ignores 檔案,現在移到 mac 上開發,再重來一次。
這個 config 檔是放在 ~/.subversion/config 裏面,有趣的是這個目錄無法直接在 Finder 裏看到,要開 terminal 進去,再用 pico 編輯。
edit: 目前用的是這段
global-ignores = html-template htm-template/history #*# .*.rej *.rej .*~ *~ .#$
不過 folder 好像不能這樣 ignore啊~
| by admin
昨天被問到:如何在一個 Accordion segment 切換前攔截下來,做些檢查,然後才允許它繼續切換?
例如:Accordion 裏有三個 segments, A, B, C,希望從 A 切換到 C 前先檢查 A 的內容是否正確,然後才允許切過去。
原本以為應該可以偵聽 Accordion 裏面的 change 事件,然後透過 event.preventDefault() 達到攔截的目地,但很遺憾這招不成功。
所以只好走上繼承再改寫的路。
基本上是 override selectedIndex 後動手腳即可,quick and easy
Actionscript:
-
public var isDirty:Boolean = true;
-
-
//user wanted to swtich to this index
-
private var targetIndex:int;
-
-
override public function set selectedIndex(value:int):void{
-
-
if( isDirty ){
-
targetIndex = value;
-
Alert.show( "do you want to save ?", "Save or Not ?", Alert.YES|Alert.NO, null, onClose );
-
-
}else{
-
super.selectedIndex = value;
-
}
-
-
}
-
-
function onClose( evt:CloseEvent ){
-
if( evt.detail == Alert.YES ){
-
trace("you should press save button in current screen");
-
}else{
-
isDirty = false;
-
this.selectedIndex = targetIndex;
-
}
-
}
改好的檔案+範例
(注意這是用 Flex Builder 3 Beta2 製作)
| by admin
airifier
Airifier 做的事很簡單:把 web app 包進 AIR 裏放在 desktop 上執行。
基本上它的運作原理也很簡單,就是在 air 裏建一個 html window (probably full size),然後把客人指定的 url (例如 google reader 的 link)包進去,再即時compile 生成一個 air installer 就可以下載了。
這個 idea 乍看之下挺不錯,instantly making the web app running on your desktop, wow~ 但如果冷靜下來再回頭仔細想想,這真的是一個好的 idea 嗎?
先插個話,Mozilla 前不久也提出了 Prism來做同樣的事。
這整件事讓我比較不解的地方只有一個:
人們想要的,到底是
1、在桌面上執行原本的 web app
或著是
2、希望他/她們的 web app 能有桌面程式般的易用性?
Airifier 與 Prism 都是在滿足 #1 這點,它們把原本的 web app 原封不動的搬到桌面上,製造出一種 desktop app 的假像。
是的,這些程式確實可以在桌面上雙擊兩下開啟,有些不用時還可以縮到 system tray 裏,但,這並沒有掌握真正桌面程式的精華啊。
在我的認知裏,桌面程式之所有好用,它是由許多因素組合而成的,例如
-非常快的反應時間
-簡單易用的操作介面
-強大的功能(像是整合了 OS/Filesystem 的 search等)
而 web application 最大的好處則是
-不用安裝
-隨處可用(有網路 + browser 就行)
-資料同步(在任何地方開啟 gmail 看到的都是同樣的內容)
因此,單純的把 web app 塞進一個 html wrapper 然後在桌面上跑,這真的有把上面所列的 desktop / web app 的優點合而為一嗎(把 葡萄 跟 柚子 放在一起,就會變成 葡萄柚 嗎?),答案很明顯是否定的。
『牛牽到北京,它還是條牛』
web app 搬到桌面上,它終究還是個 web app,由一堆 html/javascript 組成,反應時間不會更快,操作介面也不會因此改變,功能也很難在一瞬之間就增長十倍,所以,這樣做的意義是什麼呢?
我個人的直覺是這些熱血青年並沒有體認到 desktop/web app 之間根本且巨大的特質差異(呃,好吧,搞 html 的人不懂裏面的道理,算是情有可原,也就是 Prism 可以繼續有夢最美,但做 AIR 的人還跟著搞這套,就有點像是開著 S600
去買菜,雖然可行,但一點也不聰明阿~)
另一方面,AIR 雖然是同時切兩個利基市場:
1、原本寫 flash/flex 的人,可以快樂的進入 desktop 領域玩更多新東西
2、原本寫 html/ajax 的人,也可以籍此 leverage desktop,例如擁有 File System access、sqlite db 等權利
但不論是這那一種,它真正的威力所在都是要針對 desktop 這個環境去發揮它的所長,而不只是單純的 running on desktop 啊~
小結論是:不先分辨清楚事物的根本要義(shapes of things ?)就冒然行動,最後可能只是浪費時間啊~
同場加映: Linux desktop 的可行性(最近仍然處在轉換平台後的陣痛期,看到這篇文章感觸多一點,特此一記)
| by admin
參考文章
-download tomcat (v5.25)
-解壓縮,變更 folder 名稱為 tomcat
-拖放到 /Library 下面
-寫一個批次檔放在 /usr/bin 下面
這樣可以在任何 terminal window 下執行
#!/bin/bash
case $1 in
start)
sh /Library/Tomcat/bin/startup.sh
;;
stop)
sh /Library/Tomcat/bin/shutdown.sh
;;
restart)
sh /Library/Tomcat/bin/shutdown.sh
sh /Library/Tomcat/bin/startup.sh
;;
*)
echo "Usage: start|stop|restart"
;;
esac
exit 0
-改權限
chmod 755 /Library/Tomcat/*.sh
chmod 755 /Library/Tomcat/*.bat
chmod 755 /usr/bin/tomcat (這個批次檔本有也要設權限)
有可能要先 sudo sh or sudo bash 取得 admin 權限才能做 chmod 處理
-之後執行就是 開 terminal window,鍵入 tomcat start | stop | restart 即可
---
後記
1、找對參考文章很重要,原先 google 最先找到的是 apple.com 上一篇文章,難的要命,好險即時覺悟換其它關鍵字才找到這篇。
2、該開始 k 一下 unix 指令了(嗯,果真是出來跑,總是要還的啊啊啊啊...)
2.1、那兒有苦主可以當活人指令速查寶典呢?
| by admin
最近得用 amf 寫點東西,感覺 amfphp 已死去很久,所以直接改用 weborb,但連線時一直會出現 isError 的錯誤,後來找到這篇文章說明了如何修改。
為了將來方便,改好的版本可由此取用。
這個是最精簡版,所有不必要的東西都拿掉了,只留下 core service files。
| by admin