[工作札記
]
19 十二月, 2005 13:00
回到初階:一些給遺忘了的編程指令技巧 米奇
有兩個指令的使用技巧很少在編程教本中提及,而且這些技巧放在多種語言上也用得著。米奇也經常忘記,所以特地寫下來留給日後參考。
1. 多條件的 for 迴圈:
一般在寫 for 迴圈時我們會給上一個當作計數器用的變數,如:
for ($i=0; $i<10; $i++) { ... }
不過其實,你可以在 for 迴圈裡用上更多變數和條件式來令程式變得更簡單,例如:
for ($i=0, $j=100; $i<10 && $j>50; $i++, $j-=10) { ... }
這就是為甚麼 for 的括號內用上分號而不是用逗號來分隔參數的原因。
2. 在 switch...case 上使用關係比較:
一般教本在教到 switch...case 條件應用時都是告訴你 case 後面要放一個實質的值,用來比較 switch 的條件,如:
switch (變數) {
case '值 1' :
...
break;
...
}
其實 switch...case 的條件也可以換成關係比較,用來簡化大量 if... then 條件式有很幫助。例如:
switch (1) {
case 變數1 > '值1' :
程序 1;
break;
case 變數2 == '值2' :
程式 2;
break;
}
引用URL : http://blog.comicparty.com/trackback.php?id=142
[工作札記
]
19 十二月, 2005 01:28
網站巨變即將來臨 米奇
現時來說,Web 2.0還是比較概念性。這個名詞,可能只是用來替一群成功網站標籤化而產生的物產。學者們總愛為一些自己沒有能力構想出來,但又很成功的案例以標籤集合起來,加以學問化。
不過在實作上,Web 2.0的確是在改變網站互動設計的模式。過去我們製作網頁,所謂互動往往都是編製一個個表格,讓用戶輸入完成後提交回伺服器,然後經過計算和處理之後將結果傳回去。
不過Web 2.0中一項重要的技術Ajax就改變了這種互動流程。要求和回應可以放在同一個介面上展現,不用有明確的遞交動作就可以取得結果,就像真正在桌面上使用的程式一樣,在用戶不經意之間已經在跟伺服器,甚至跟其他用戶在互動。同時,由於Ajax與javascript等客戶端編程技術有著不可分割的關係,而javascript又經常用在動畫和用戶與網頁間互動行為等方面,令到網絡服務(web service)不再是死板的「遞交->回應」模式,而變得動態十足的。
最明顯的例子是購物網站的購物籃,以往你可能要按一下「放入購物籃」鍵,然後網站會刷新你的資料,把你帶到另一個畫面去。現在透過Ajax和javascript的互動,你只要把想要的東西拖放入網頁上的「購物籃區(可能真的設計成一個籃狀)」,Ajax就會在幕後替你把資料傳送給伺服器,計算好所需費用和運費,然後靜靜地在頁面上一個角落上更新,完全不會把你拋來拋去,打擾你繼續瀏覽網站上的內容。這種像遊戲般的互動性,是過往網頁設計模式很少會用到的。
你又可以想像一下,只要你把聊天室寫成一堆網絡服務函式,公開出去讓其他製作網站的朋友呼叫。其他的網站製作者只要寫幾句簡單的javascript,就可以把你的聊天室變成自己網頁內容的一部份。無論多少個網站都可以使用同一個聊天室,將更多的用戶聚集在一起。寫得好的話,將Google Map變成一個真人版即時RTS也不是問題。
更進一步,如果你把一堆應用了Ajax技術的功能區塊如電郵清單、RSS新聞、天氣消息、交通狀況、股市行程、即時通信、網上儲存空間、搜尋介面、顧問系統等,堆在同一個頁面上,每個區塊各自因應用戶的要求靜靜地更新,那就變成好像你的桌面一樣了。事實上,個人網上桌面應用正是Google和Windows Live所瞄準的目標。他們就像收費電視頻道一樣,簽下或收購一堆提供不同功能方塊的「功能供應商」,然後用戶就像選擇電視頻道一樣選擇所需的功能方塊來用。可以肯定的是,網上應用將有一輪新的惡鬥,本地的網站服務業者又有多少間,能及時提供本地化的網上桌面應用呢?
Web 2.0概念無論在互動性和應用性上都大大地改變了網站設計的模式,網站企劃人員和頁面設計師要在互動上多花腦筋,工作模式會有新的變化,以往在設計網站雛型時經常用到的頁面方塊圖可能再也應付不了未來頁面互動的需要。而在程式上,網站的功能開始給獨立包裝起來成網絡服務函式。以往功能與頁面密切的關係不再存在,頁面程式只是在啟始時為用戶擺放好各個功能方塊的位置,而網絡服務函式就變成了小矮人,在一旁等候不同網頁的呼叫。
米奇希望自己能成為參與Web 2.0變革中的一分子。
引用URL : http://blog.comicparty.com/trackback.php?id=141