May, 2005 > 所有文章列表

什麼是 anti-pattern ?

In engineering   May 19, 2005 - 4:41 pm

昨天的文章中出現 anti-pattern後,被很多人在msn上詢問到底是什麼意思,怎麼查不到這個pattern,GoF也沒提啊~

wiki的解釋

基本上 anti-pattern不是一個pattern,而是一堆亂例子的組合體,從字面上就可以感覺到這個意思。一般來說 design pattern是指好的應用,而 anti- 自然就是違反pattern的意思。

不過這個字的應用範圍實在太廣泛,因為在寫程式的過程中難免一定會犯錯(例如做了錯誤的決定、採用了錯誤的手法、或是想到要用pattern但卻implement錯誤結果更慘之類的),所以這些錯誤都可以統稱為 anti-pattern。

當然如果你去amazon鍵入這個字的話,會找到幾本相關的書籍,有前輩們已經把常見的錯誤整理出來,或許看完可以瞬間增加一甲子功力吧~

_

Add comment | by admin

podcasting buzz

In other-tech, tech-news   May 19, 2005 - 12:09 pm

昨天貼了 mediatuner這個小軟體後,看了一下它的spec,結果提到一個 podcasting的字眼兒,原先以為這是某種ipod的延伸產品或服務,經過小小調查得到以下結果:

wiki的解釋
介紹1
介紹2

簡單說明:

其實這根本不是什麼新玩意,就跟大家之前把音樂檔放上blog給人聽或下載,或是像自架server做廣播(例如pushpush.org推推音樂網),唯一的不同只在於它結合 rss 2.0可享受到所有 rss的好處。

因此 mediatuner這個軟體可以說是一個 podcasting reader,它除了可以讀 text blog外,也可以收聽 podcasting裏面播放的audio檔案。

我的疑問只有一個:

在自已的站台上放龐大的audio檔案供人下載,請問頻寬成本誰要付?

目前身邊朋友有在玩 個人廣播 的,通常都有辦法找到免錢的大水管架server,例如朋友正好在isp上班,或某學校的免錢機器,因此 個人 只要將訊號送進這台server,其餘的聽眾都是跟那台server要audio,這樣不論多少人都能應付的了。

但 podcasting的玩法卻是把audio檔放在自已的server上,例如你租的空間(通常會有數千Gb的流量限制),如果不幸真的人聲濎沸萬頭鑽動,每個人下載一首歌就是4mb,1000人下載你這個月頻寬就爆了,而這還只是一首歌,並且限定每次只下載一次(如果我在公司抓一次,家裏抓一次,咖啡館上網時用notebook再抓一次….呼呼呼)

這裏面怎麼想都有些也方不對勁啊~

不過看來 blogger創辦人到是很有信心,他把blogger賣掉後弄了個新公司 odeo.com 準備搭上這股 podcasting風,還上了 NY times(要登入會員才能閱讀)。

我對他創辦blogger的眼光是很配服,但不知他是否也有認知到 text content 與 audio content 的根本差異性,還有產製這些內容的技術需求是完全不同的啊,畢竟買ipod只要會掏錢或信用卡就好,但要做 digital audio recording/editing/publishing就不是兩三句話的功夫了。

Add comment | by admin

RIA 範例 – mediatuner.com

In actionscript, engineering   May 18, 2005 - 2:40 pm

功能:Blog reader
特色:支援video blog與RSS
主要技術:php, xml, actionscript, js

介面做的很用心,把macromedia的ui元件都 re-skinning一遍,操作還算順暢,跟之前看到的 flash mail reader比起來算是好很多。

不過一看到程式碼就開始頭痛,果不其然這是一個 frame-based 的 procedural 產物,所有元件都宣告在同一個frame,所有的功能也是一個個的function四處散佈,這種程式最終的下場就是很難維護與debug,並且如果日後要新增不同的功能或業主要求能自訂版型layout甚至讓user換面板等細節,這位工程師將會身陷火海痛不欲生。

通常這種frame-based的RIA app 主要的問題都在於modulization程度不夠高,設計者缺乏基本的component-based design或物件導向觀念,一切只以「能快速達成眼前目標為出發點」,所以最後就會出現一個又一個的hack手法,也就是採取俗稱的”quick and dirty” way來寫程式。

這也是我在這篇裏所提過的諸多缺點之一,以及為何尋求正確的methodology/framework是很重要的原因。

不過往好的方面想,類似mediatuner 或 wallop 這樣的app,都是很好的 anti-pattern教材,當爛的例子一多時,量變總有造成質變的一天,有時多看壞的範例也是學習啊~

Add comment | by admin

有趣的搜尋字串

In actionscript   May 18, 2005 - 2:03 am

最近持續異常忙錄中,通常工作到此時會準備進入休眠模式,但今晚睡前看了一下blog的log,結果發現這麼一句來自google的查詢:

“flash mx” dataset var actionscript java webservice” -”flash remoting”

從這句話可以看出什麼呢?很多。

-他主要使用的後台技術是 java

-flash 與 app server的連線方式為 web service

-他夠聰明知道要善用web service 與 dataset的雙效合一威力(但希望他也知道該怎麼突破一些障礙)

-基於某些原因,他不希望查到 flash remoting相關的訊息;但這可能很難,因為dataset通常會跟remoting搭在一塊,要完全過濾掉幾乎不可能。

-從var這個字,可以推測其實他想知道的是webservice中多種datatype要怎麼轉換到dataset裏面。如果他用的是webservice connector的話,只要把wsdl丟進去,它就會自動分析xml schema剩下的事就全自動了,反到是xml 的處理本身比較麻煩,目前幾個 XPath library表現都普普。

真可惜他沒留下任何訊息,不然這些問題應該可以很快解決。

附帶一提:查詢者來自波蘭一家Lab,所以這代表東歐也有一群用flash開發程式的人嗎? :-)

Add comment | by admin

關於OR mapping好文一枚

In actionscript, engineering   May 16, 2005 - 11:34 pm

原文

他大致介紹了目前Java平台上幾個可用的選擇,並說明為何最後相中Hibernate。

基本上他的前進路徑與我相似,現在只差熱血青年出來寫一個 Hibernate for Actionscript 2了。(笑~)

Add comment | by admin

Previous Posts

mobile phone