November, 2007 > 所有文章列表

subclipse global-ignores setting on mac (with FB3)

In General   November 30, 2007 - 12:17 pm

之前的文章曾寫過如何設定 subclipse 的 global-ignores 檔案,現在移到 mac 上開發,再重來一次。

這個 config 檔是放在 ~/.subversion/config 裏面,有趣的是這個目錄無法直接在 Finder 裏看到,要開 terminal 進去,再用 pico 編輯。

edit: 目前用的是這段
global-ignores = html-template htm-template/history #*# .*.rej *.rej .*~ *~ .#$

不過 folder 好像不能這樣 ignore啊~

Add comment | by admin

如何阻止 Accordion segment 切換?

In General   November 30, 2007 - 10:10 am

昨天被問到:如何在一個 Accordion segment 切換前攔截下來,做些檢查,然後才允許它繼續切換?

例如:Accordion 裏有三個 segments, A, B, C,希望從 A 切換到 C 前先檢查 A 的內容是否正確,然後才允許切過去。

原本以為應該可以偵聽 Accordion 裏面的 change 事件,然後透過 event.preventDefault() 達到攔截的目地,但很遺憾這招不成功。

所以只好走上繼承再改寫的路。

基本上是 override selectedIndex 後動手腳即可,quick and easy :)

Actionscript:
  1. public var isDirty:Boolean = true;
  2.  
  3. //user wanted to swtich to this index
  4. private var targetIndex:int;
  5.  
  6. override public function set selectedIndex(value:int):void{
  7.    
  8.     if( isDirty ){
  9.         targetIndex = value;
  10.         Alert.show( "do you want to save ?", "Save or Not ?", Alert.YES|Alert.NO, null, onClose );
  11.        
  12.     }else{
  13.         super.selectedIndex  = value;
  14.     }
  15.    
  16. }
  17.  
  18. function onClose( evt:CloseEvent ){
  19.     if( evt.detail == Alert.YES ){
  20.         trace("you should press save button in current screen");
  21.     }else{
  22.         isDirty = false;
  23.         this.selectedIndex = targetIndex;
  24.     }
  25. }

改好的檔案+範例
(注意這是用 Flex Builder 3 Beta2 製作)

Add comment | by admin

Airifier - 有趣(?!)的 AIR 應用

In General   November 29, 2007 - 2:22 pm

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 的可行性(最近仍然處在轉換平台後的陣痛期,看到這篇文章感觸多一點,特此一記)

comments(5) | by admin

Tomcat on mac 安裝心得

In General, mac/OS X   November 28, 2007 - 6:36 pm

參考文章

-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、那兒有苦主可以當活人指令速查寶典呢?

Add comment | by admin

修正版 weborb for php v2.2

In flex   November 21, 2007 - 10:55 am

最近得用 amf 寫點東西,感覺 amfphp 已死去很久,所以直接改用 weborb,但連線時一直會出現 isError 的錯誤,後來找到這篇文章說明了如何修改。

為了將來方便,改好的版本可由此取用。

這個是最精簡版,所有不必要的東西都拿掉了,只留下 core service files。

comments(4) | by admin

Previous Posts

mobile phone