<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;AkAEQX49fip7ImA9WhRRFE4.&quot;"><id>tag:blogger.com,1999:blog-5964514082444947921</id><updated>2011-11-28T08:05:00.066+08:00</updated><category term="3DES" /><category term="seam cache" /><category term="密碼學" /><category term="SSH" /><category term="Javascript" /><category term="web" /><category term="寄存" /><category term="軟體工程" /><category term="N73" /><category term="UML" /><category term="網際網路" /><category term="UseCaseDiagram" /><category term="Java" /><category term="授權" /><category term="Air" /><category term="網際網路 web2.0" /><category term="澳網 隨筆" /><category term="Nokia_Widget WRT" /><category term="旅遊隨筆" /><category term="blogger" /><category term="JUDE" /><category term="簡報" /><category term="China NET" /><category term="生活隨筆" /><category term="OOSD" /><category term="管理" /><category term="無界網路" /><category term="隨筆" /><title>Memory Explorer</title><subtitle type="html">Traveling memories from end to end...</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://hsiangyuwang.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://hsiangyuwang.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Hsiang-Yu Wang</name><uri>http://www.blogger.com/profile/08296854051084210642</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="25" src="http://bp2.blogger.com/_Dvh6DOXPV74/R1FaPvq5QOI/AAAAAAAAA0E/3j0g-f7iAA0/S220/20071124068-1.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>41</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/MemoryExplorer" /><feedburner:info uri="memoryexplorer" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;CUQFQXY4eyp7ImA9WhdaE0g.&quot;"><id>tag:blogger.com,1999:blog-5964514082444947921.post-98943773534829981</id><published>2011-10-23T04:47:00.000+08:00</published><updated>2011-10-23T15:01:50.833+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-23T15:01:50.833+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="管理" /><title>"結果"遠比"過程"重要</title><content type="html">未經&lt;a href="http://hsiangyuwang.blogspot.com/2007/12/blog.html"&gt;授權&lt;/a&gt;, 請勿複製&lt;br /&gt;
&lt;br /&gt;
結果? 過程? 沒有功勞也有苦勞?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
在一個企業或團隊中, "結果"某種層面來說, 就是一個"目標", 而許多企業也會為"過程"制定了許多規範, 目的在於確保"結果"能夠如預期地產出. 但在過度強調"過程"的環境下, 真的有人知道目標是什麼嗎?&lt;br /&gt;
&lt;br /&gt;
很多團隊的管理方式是制定了一大堆的規範,&amp;nbsp;替每個人規劃機械化的"過程", 目的也許是想要約束態度較懶散的組員, 也也許是要約束太過英雄主義的人, 進而發揮團隊的效益, 但很多時候身為團隊的一員, 常常會不知道自己的目標是什麼, 為誰而戰? 為何而戰? 最後就淪落成為為自己的"薪水"而戰.&lt;br /&gt;
&lt;br /&gt;
人工作就是為了賺錢, 這是天經地義的事, 不為自己的薪水而戰的人只有兩種, 一種是對自己極度消極的人, 另一種就是為了夢想而工作的人, 前者我相信不會是企業主所希望招募到的人, 後者比例則是少之又少, 所以大多數的人都是為了薪水而工作, 這是肯定的事情, 但如果讓一個團隊的每個人都"只"為了薪水而工作, 我不相信這樣的團隊能夠發揮多大的效益.&lt;br /&gt;
&lt;br /&gt;
為團隊建立目標, 並且讓大家都能在這個目標中找到成就, 是我所認同的方法之一, 要讓團隊中的每一個人都知道自己是為了什麼, 自己的KPI是什麼, 讓大家都能努力地朝自己的目標邁進才是正確的方法, 而不是培養出一群能夠準時打卡但每到下班前一小時就一直看手錶看到下班的人.&lt;br /&gt;
&lt;br /&gt;
以"結果"來取代"過程"的方法是在台灣社會中比較少見的管理方式, 中國人重"情", "沒功勞也有苦勞"是大家常掛在嘴邊的話, 但在這個極度競爭的市場中, 沒有人會記得第二名有多辛苦, 也更不會有人知道第三名是誰, 只有勝出的人才會有人去關心他們過去多麼的辛苦, 而"第一"就是他們的"結果", 第二名過去再辛苦也不過只是個"過程"而已.&lt;br /&gt;
&lt;br /&gt;
這種管理方式讓大家重視到"結果"的重要性, 也間接培養出每個人的自制能力, 這個自制能力是要求自己達到自己所設定的目標, 而不是做出帳面上好看的成績, 但卻對公司也許只有60%幫助的事情. 也因為我們重視"結果", 過程只要不違法, 不違背良心道德, 哪怕是花1天完成玩了3天, 都是可以被接受的. 也因為這樣, 可以間接加強每個組員加強自己在工作上的效率, 能夠"work smart".&lt;br /&gt;
&lt;br /&gt;
當然, life is never perfect, 當一個團隊無法產出"結果"時, 我們就有必要回頭檢視"過程"了, 但因本篇文章探討的是結果論的問題, 所以我們就姑且不討論如何改善"過程"吧.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5964514082444947921-98943773534829981?l=hsiangyuwang.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MemoryExplorer/~4/tbSWR_VaxOU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hsiangyuwang.blogspot.com/feeds/98943773534829981/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5964514082444947921&amp;postID=98943773534829981" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/98943773534829981?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/98943773534829981?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MemoryExplorer/~3/tbSWR_VaxOU/blog-post.html" title="&quot;結果&quot;遠比&quot;過程&quot;重要" /><author><name>Hsiang-Yu Wang</name><uri>http://www.blogger.com/profile/08296854051084210642</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="25" src="http://bp2.blogger.com/_Dvh6DOXPV74/R1FaPvq5QOI/AAAAAAAAA0E/3j0g-f7iAA0/S220/20071124068-1.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://hsiangyuwang.blogspot.com/2011/10/blog-post.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkAHSXczcCp7ImA9Wx5RE0o.&quot;"><id>tag:blogger.com,1999:blog-5964514082444947921.post-8349347424960940590</id><published>2010-07-18T13:31:00.003+08:00</published><updated>2010-08-21T16:18:58.988+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-21T16:18:58.988+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="旅遊隨筆" /><title>第一次搭乘Cebu pacific(宿霧太平洋航空)到長灘島 (補前半段的圖)</title><content type="html">未經&lt;a href="http://hsiangyuwang.blogspot.com/2007/12/blog.html"&gt;授權&lt;/a&gt;, 請勿複製&lt;br /&gt;
&lt;br /&gt;
2010年7月12日, 我們第一次做背包客, 目的地是菲律賓的長灘島.&lt;br /&gt;
&lt;br /&gt;
我們搭乘的班機是7月12日凌晨1點45分的宿霧航空班機前往馬尼拉, 到馬尼拉後再搭早上8:30分的小飛機前往Caticlan機場, 全程都是搭乘宿霧航空. &lt;br /&gt;
&lt;br /&gt;
出發前就有耳聞這間航空公司的"事蹟", 所以我們11號晚間約7:30分就從台北出發, 原本想說可以慢慢晃慢慢逛晃到機場去, 沒想到沿途還真的沒什麼好晃的, 七早八早就到了桃園機場. 那時才10點不到. &lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://lh3.ggpht.com/_kjAJPJtGfnw/TEqIJyi9TkI/AAAAAAAAA3s/FG9r1SBnRPo/s1600/IMG_2482.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://lh3.ggpht.com/_kjAJPJtGfnw/TEqIJyi9TkI/AAAAAAAAA3s/FG9r1SBnRPo/s320/IMG_2482.JPG" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;我們的是最後一班&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://lh3.ggpht.com/_kjAJPJtGfnw/TEqH4IIsJ0I/AAAAAAAAA3k/o2cKsI9eXqI/s1600/IMG_2474.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://lh3.ggpht.com/_kjAJPJtGfnw/TEqH4IIsJ0I/AAAAAAAAA3k/o2cKsI9eXqI/s320/IMG_2474.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
經過了一段時間的閒晃+發呆後, 我們很順利的完成了所有手續, 很幸運地, 這一趟我們的位置是在安全門邊, 座位很寬敞. 這班由台北飛往馬尼拉的班機也很準時, 當時心裡確實有安心了一些, 我想應該這間航空公司也有慢慢在改善吧.&lt;br /&gt;
&lt;br /&gt;
雖然是廉價航空, 但飛機挺新的, 不過沒有商務艙, 全都是經濟艙, 機上沒有餐點, 空姐的數量感覺好像也不多, 有種再搭巴士或高鐵的感覺. 但機上的餐點嚴格來說並不貴(但當然也不是說很便宜), 肚子餓到咕嚕咕嚕叫的時候可以考慮跟空姐要個東西來吃. &lt;br /&gt;
&lt;br /&gt;
很順利地, 我們提前約10分鐘抵達了馬尼拉機場, 在飛機上我們就有拿了一張arrival card, 不過這張card格式很詭異, 在飛機上就研究了很久, 到機場後看到牆上貼著大大的範例, 我們才發現原來我們有很多地方都寫錯了, 就一群人圍在桌子上重寫, 最後還好交卷後沒有被移民官打槍. 順利進到了機場. &lt;br /&gt;
NOTE: 從這時候開始我們體會到了這座機場辦事情的效率, 真的如其他人所說的, 大家都是慢慢來, 沒人再跟你趕時間的:P&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://lh3.ggpht.com/_kjAJPJtGfnw/TEqIKLgcPzI/AAAAAAAAA3w/GdqruCLJa7U/s1600/IMG_2483.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://lh3.ggpht.com/_kjAJPJtGfnw/TEqIKLgcPzI/AAAAAAAAA3w/GdqruCLJa7U/s320/IMG_2483.JPG" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;這是馬尼拉機場T3的mr. donut&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://lh6.ggpht.com/_kjAJPJtGfnw/TEqIKRC2SII/AAAAAAAAA30/DvxSXO3M4HA/s1600/IMG_2484.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://lh6.ggpht.com/_kjAJPJtGfnw/TEqIKRC2SII/AAAAAAAAA30/DvxSXO3M4HA/s320/IMG_2484.JPG" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;在旁邊超商買的49PHP便當&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
&lt;br /&gt;
菲律賓的機場運作跟其他比較現代的機場不同(也許只有這間航空公司是這樣), 轉機他們並不會自動幫你把行李轉過去, 我們得要按照正常的程序將行李拿到手後, 再轉到國內線COUNTER去check-in. &lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://lh3.ggpht.com/_kjAJPJtGfnw/TEqInT3zdZI/AAAAAAAAA4A/7mtm5SBzqh8/s1600/IMG_2488.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://lh3.ggpht.com/_kjAJPJtGfnw/TEqInT3zdZI/AAAAAAAAA4A/7mtm5SBzqh8/s320/IMG_2488.JPG" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;國內線check-in櫃台(CEB的部分)&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://lh5.ggpht.com/_kjAJPJtGfnw/TEqIn3bfYLI/AAAAAAAAA4E/Sjlt8CBAdts/s1600/IMG_2489.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://lh5.ggpht.com/_kjAJPJtGfnw/TEqIn3bfYLI/AAAAAAAAA4E/Sjlt8CBAdts/s320/IMG_2489.JPG" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;CEB的check-in櫃台&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://lh4.ggpht.com/_kjAJPJtGfnw/TEqIoIhdwPI/AAAAAAAAA4I/TwsN-JQ6G6E/s1600/IMG_2490.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://lh4.ggpht.com/_kjAJPJtGfnw/TEqIoIhdwPI/AAAAAAAAA4I/TwsN-JQ6G6E/s320/IMG_2490.JPG" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;告訴你去哪買機場稅&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
&lt;br /&gt;
經過一連串繁瑣的手續, 還有很嚴格的安檢後(他們的安檢規格是看人的, 這次安檢的人允許我帶一個打火機在身上, 不過他們會把菸盒打開翻一下看裡面是不是真的是香菸), 我們順利的抵達候機室了, 這時候可能是因為清晨的關係, 人並不多, 我們就很放心地躺在椅子上補眠.&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://lh6.ggpht.com/_kjAJPJtGfnw/TEqJbkHJXdI/AAAAAAAAA4g/c6ZhQ-eLTCw/s1600/IMG_2494.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://lh6.ggpht.com/_kjAJPJtGfnw/TEqJbkHJXdI/AAAAAAAAA4g/c6ZhQ-eLTCw/s320/IMG_2494.JPG" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;天剛亮的機場&lt;br /&gt;
&lt;br /&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://lh4.ggpht.com/_kjAJPJtGfnw/TEqJb96qJuI/AAAAAAAAA4k/HYxeyxS_fC8/s1600/IMG_2495.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://lh4.ggpht.com/_kjAJPJtGfnw/TEqJb96qJuI/AAAAAAAAA4k/HYxeyxS_fC8/s320/IMG_2495.JPG" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;停機坪上還挺空曠的&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://lh3.ggpht.com/_kjAJPJtGfnw/TEqJcArUmJI/AAAAAAAAA4o/pY3J_AFOtJ4/s1600/IMG_2496.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://lh3.ggpht.com/_kjAJPJtGfnw/TEqJcArUmJI/AAAAAAAAA4o/pY3J_AFOtJ4/s320/IMG_2496.JPG" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;臉皮厚一點的話, 躺起來挺舒服的椅子&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://lh5.ggpht.com/_kjAJPJtGfnw/TEqJcCvmBeI/AAAAAAAAA4s/kX9tZ1ZmP9Q/s1600/IMG_2497.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://lh5.ggpht.com/_kjAJPJtGfnw/TEqJcCvmBeI/AAAAAAAAA4s/kX9tZ1ZmP9Q/s320/IMG_2497.JPG" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;機票跟機場稅&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://lh3.ggpht.com/_kjAJPJtGfnw/TEqJ17sdgrI/AAAAAAAAA40/1SBd1F5icCI/s1600/IMG_2501.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://lh3.ggpht.com/_kjAJPJtGfnw/TEqJ17sdgrI/AAAAAAAAA40/1SBd1F5icCI/s320/IMG_2501.JPG" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;去Caticlan的小飛機, 別問我為什麼要在接近赤道的地方穿外套, 因為機場內真的很冷&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://lh5.ggpht.com/_kjAJPJtGfnw/TEqJ2CFmJJI/AAAAAAAAA44/kv4LcXiJcEI/s1600/IMG_2502.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://lh5.ggpht.com/_kjAJPJtGfnw/TEqJ2CFmJJI/AAAAAAAAA44/kv4LcXiJcEI/s320/IMG_2502.JPG" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;好心的菲律賓大叔幫我們拍的照片&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
&lt;br /&gt;
今天一切都很順利, 我們也很準時的從馬尼拉起飛前往Caticlan, 飛機上空姐會帶大家玩一些小遊戲, 答對的會送一個宿霧航空的環保購物袋, 不過空姐口音很重, 對於我們這種剛到菲律賓不到一天的人來說, 一時間還是很難馬上聽懂他在說什麼.&lt;br /&gt;
&lt;br /&gt;
Caticlan這個機場真的是小的夠離譜, ATR72-500降落後螺旋槳反轉到停下來已經是跑道尾端了. 真的覺得這些pilot很帶種, 這種機場居然停得住ATR這種中型的螺旋槳客機. &lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://lh5.ggpht.com/_kjAJPJtGfnw/TEqJ2bf1n_I/AAAAAAAAA48/cClUj7kARUQ/s1600/IMG_2504.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://lh5.ggpht.com/_kjAJPJtGfnw/TEqJ2bf1n_I/AAAAAAAAA48/cClUj7kARUQ/s320/IMG_2504.JPG" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;超迷你的Caticlan機場&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://lh3.ggpht.com/_kjAJPJtGfnw/TEqJ2UfjGnI/AAAAAAAAA5A/IPfRgVbWJWc/s1600/IMG_2508.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://lh3.ggpht.com/_kjAJPJtGfnw/TEqJ2UfjGnI/AAAAAAAAA5A/IPfRgVbWJWc/s320/IMG_2508.JPG" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;在這等行李...&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
&lt;br /&gt;
雖然這篇不是要寫遊記的, 不過還是要奉勸大家注意一點, 機場裡面會有一些穿著PORTER衣服的底迪, 記住, 千萬不要理會他們, 他們會裝作很好心地來幫你處理arrival的事宜, 然後最後獅子大開口跟你拿天價小費(同行台灣人有人被拿20P, 我們被開口要10USD, 最後我還丟了20P給他轉頭就走, 氣!!), 這機場很小, 只有約20坪的一個空間等行李, 機場地勤會幫你把行李裝到一台小台車上, 再拉到這個地方來, 沒有行李轉盤, 也沒人會查驗行李牌, 你看準自己的行李拿了就走, PORTER伸手要拿行李千萬不要讓他拿. 這種國內線班機沒有什麼手續要辦, 到了拿了行李就走, 就當搭巴士就對了.&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://lh3.ggpht.com/_kjAJPJtGfnw/TEqJ2nWGp3I/AAAAAAAAA5E/6h20J_cIlvA/s1600/IMG_2511.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://lh3.ggpht.com/_kjAJPJtGfnw/TEqJ2nWGp3I/AAAAAAAAA5E/6h20J_cIlvA/s320/IMG_2511.JPG" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;買稅金跟船票&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://lh4.ggpht.com/_kjAJPJtGfnw/TEqKg-0GkOI/AAAAAAAAA5M/82buXlmKOxM/s1600/IMG_2512.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://lh4.ggpht.com/_kjAJPJtGfnw/TEqKg-0GkOI/AAAAAAAAA5M/82buXlmKOxM/s320/IMG_2512.JPG" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;jetty port大門口&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://lh3.ggpht.com/_kjAJPJtGfnw/TEqKhLuQV-I/AAAAAAAAA5Q/W9NQo6qFoDM/s1600/IMG_2514.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://lh3.ggpht.com/_kjAJPJtGfnw/TEqKhLuQV-I/AAAAAAAAA5Q/W9NQo6qFoDM/s320/IMG_2514.JPG" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;一大堆票, 稅金, 還有環境費...&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://lh3.ggpht.com/_kjAJPJtGfnw/TEqKhVdfVXI/AAAAAAAAA5U/u83XoMd7V-0/s1600/IMG_2515.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://lh3.ggpht.com/_kjAJPJtGfnw/TEqKhVdfVXI/AAAAAAAAA5U/u83XoMd7V-0/s320/IMG_2515.JPG" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;等船的地方, 不過基本上不用等, 船很多...&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://lh4.ggpht.com/_kjAJPJtGfnw/TEqKhiiXHiI/AAAAAAAAA5Y/sBIrVYmg_5U/s1600/IMG_2517.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://lh4.ggpht.com/_kjAJPJtGfnw/TEqKhiiXHiI/AAAAAAAAA5Y/sBIrVYmg_5U/s320/IMG_2517.JPG" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;就搭這種船到對岸去&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://lh4.ggpht.com/_kjAJPJtGfnw/TEqKht0rW4I/AAAAAAAAA5c/raK-z4yee8g/s1600/IMG_2520.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://lh4.ggpht.com/_kjAJPJtGfnw/TEqKht0rW4I/AAAAAAAAA5c/raK-z4yee8g/s320/IMG_2520.JPG" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;船上拍的&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://lh3.ggpht.com/_kjAJPJtGfnw/TEqK65z1PWI/AAAAAAAAA5g/49K8kOubpE0/s1600/IMG_2521.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://lh3.ggpht.com/_kjAJPJtGfnw/TEqK65z1PWI/AAAAAAAAA5g/49K8kOubpE0/s320/IMG_2521.JPG" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;長灘島的jetty port&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://lh3.ggpht.com/_kjAJPJtGfnw/TEqK64Z5VhI/AAAAAAAAA5k/GQxx-GqXQTA/s1600/IMG_2522.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://lh3.ggpht.com/_kjAJPJtGfnw/TEqK64Z5VhI/AAAAAAAAA5k/GQxx-GqXQTA/s320/IMG_2522.JPG" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;看到這一幕. 一切都值得了&lt;br /&gt;
&lt;br /&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://lh3.ggpht.com/_kjAJPJtGfnw/TEqK7PJQU8I/AAAAAAAAA5o/oLnTjjiYEEM/s1600/IMG_2523.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://lh3.ggpht.com/_kjAJPJtGfnw/TEqK7PJQU8I/AAAAAAAAA5o/oLnTjjiYEEM/s320/IMG_2523.JPG" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;在碼頭邊拍的海水&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://lh4.ggpht.com/_kjAJPJtGfnw/TEqK7KgFRQI/AAAAAAAAA5s/3hlpaDZ5kVs/s1600/IMG_2524.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://lh4.ggpht.com/_kjAJPJtGfnw/TEqK7KgFRQI/AAAAAAAAA5s/3hlpaDZ5kVs/s320/IMG_2524.JPG" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;在這可以搭三輪車到飯店去, 觀光客行情價不論到哪間飯店一律每車100&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://lh6.ggpht.com/_kjAJPJtGfnw/TEqK7YJqY6I/AAAAAAAAA5w/FGm5-bQ5TRE/s1600/IMG_2528.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://lh6.ggpht.com/_kjAJPJtGfnw/TEqK7YJqY6I/AAAAAAAAA5w/FGm5-bQ5TRE/s320/IMG_2528.JPG" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;三輪車上&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://lh6.ggpht.com/_kjAJPJtGfnw/TEqLbFVzeiI/AAAAAAAAA58/Tyz5El1oLck/s1600/IMG_2530.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://lh6.ggpht.com/_kjAJPJtGfnw/TEqLbFVzeiI/AAAAAAAAA58/Tyz5El1oLck/s320/IMG_2530.JPG" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;飯店的"庭院"&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
&lt;br /&gt;
(四天後)&lt;br /&gt;
&lt;br /&gt;
2010年7月16日, 我們原先預定的班機是12:50分飛往馬尼拉, 在馬尼拉逛逛SM mall後再搭乘22:30分的飛機飛回台北. 原本我們預期一切也都會很順利, 我們11:00左右到達機場做check-in的動作(NOTE: jetty port到機場走路只要10分鐘, 但搭三輪車要50P, 帶瓶水自己慢慢走看風景是不錯的選擇.), 但這才是惡夢的開始.&lt;br /&gt;
&lt;br /&gt;
counter用口音很重的英文跟我們說, 這班飛機不能飛, 仔細問下去, 他說因為風向的關係, 我們看看窗外, X的, 萬里無雲,  一點風都沒有, 難道你的意思是沒風所以飛機飛不起來嗎? 而且其他航空公司一樣照飛, 這更證明了全都是BULLSHIT, 不過當然我們沒這樣幹譙他, 畢竟我知道這種航空公司他們說了算, 我們怎麼吵通常都吵不出好結果, 只好趕快讓她安排我們要如何到其他地方去.&lt;br /&gt;
&lt;br /&gt;
他們提出的解決方案是這樣, 先用小巴士把我們送到Kalibo國際機場, 然後搭乘晚上7:10分的飛機飛往馬尼拉, 然後我們同樣接22:30分的飛機回台北. 他跟我們promise一定來得及. 好吧, 姑且相信他.&lt;br /&gt;
&lt;br /&gt;
他們用了一台toyota的小巴把我們從caticlan載到kalibo機場, 這段路約70公里, 也因為這段"落難旅程", 我們在車上認識了一對同鄉的新婚夫妻, 讓我們整段路少了很多不安的感覺. 換個角度想, 就當作去看看他們的二級城市吧. 不過就在車子出發前, 我們卻眼睜睜的看著我們的飛機很準時的到了機場= =. 我們幾個人討論出來的結果總結有以下幾種可能:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;(overbooking)超賣了 -- 可能性最高.&lt;/li&gt;
&lt;li&gt;班機調度出問題, 可能這班飛機等等不飛馬尼拉要飛到其他地方去支援.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;空位太多, 不符合成本, 乾脆取消這班航班&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;好吧, 不管怎樣我們還是得乖乖聽話落難去. 經過了一個半小時的車程後, 我們到了Kalibo國際機場. 說是國際機場, 但大小大概就是以前台中的水湳機場這麼大, 一樣, 門口會有帥帥的墨鏡航警叫我們拿出機票, 然後門口馬上就有安檢, 不過這個安檢沒有叫我們脫鞋子, 但我在菲律賓買的打火機就在這邊被幹走了&amp;gt;&amp;lt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;途中有個小插曲, 一對跟我們一起同車落難的菲律賓夫妻, 很熱心地幫我們去跟航空公司爭取一些福利, 這位菲律賓媽媽很厲害, 我們幾個同鄉都已經跑到候機室聊天發呆殺時間了, 他居然還能認出我們來, 向我們解釋他爭取到了什麼好康. 結果這對菲律賓夫妻居然幫我們爭取到了一張FREE FLIGHT card. 未來六個月內可以免費搭乘一次的宿霧航空國內線. 雖然實用性待確認, 但真的讓我們再一次感受到菲律賓人的熱情, 我們幾個人想了好久要怎麼回報這位菲律賓媽媽, 但所有行李都已經託運了, 想了想身上比較有價值的就只有新台幣, 還有我之前去高雄三鳳宮領到的一個過年紅包袋 好吧, 發揮創意, 我把紅包袋貢獻出來, 然後湊了一百多塊(主要是100塊以下各種幣別的紙鈔或硬幣各一個), 送給那位菲律賓媽媽. 同鄉的大哥很有趣, 用了很片段的英文向這位菲律賓媽媽解釋這是什麼東西, 大致上是這樣的:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;"This is our gift, Taiwanese money, and this (指著紅包袋上的字) is&amp;nbsp;Taiwanese god, it will protect(保佑..protect? 其實我也想不到什麼字XD) you. .... blah blah blah"&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;當然我們所有人都笑翻了, 這位菲律賓媽媽也有受寵若驚的感覺. 不過這就是我們台灣人的熱情吧. &amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;回歸正題, 這班Kalibo往馬尼拉的飛機很準時的起飛了, 不過因為Kalibo是國際機場, 所以這班飛機用的是A319, 不再只是螺旋槳的ATR.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;到了馬尼拉機場後, 我們就先去宿霧航空的櫃台向他們要證明, 證明飛機確實有取消, 這樣我們才有機會向保險公司拿點補貼. 宿霧航空的服務人員態度都很和善, 但缺點就是動作很慢, 做事也常常出包, (例如這張證明上面, 最後的時間就寫錯了, 我們當下也沒發現, 還好有boarding pass可以作證). 當我們向他們說明"because of wind"的時候, 他那個表情, 聽說是囧到不行, 我心裡就想, 超賣就超賣, 跟我們掰這什麼爛理由, 這理由爛到連你們自己同公司的聽了都快笑出來了.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;順利取得所有文件後, 這時候我們自己卻出了一個大包. 我們身上帶的菲律賓披索已經不夠買離境的機場稅了. 原本想說用美金去換, 哪知道他們的兌換處七早八早就關了, 我去問航警該怎麼辦, 航警也是拿不出辦法, 兩個人還掏出皮夾要換給我, 真是熱心的警察, 不過我婉拒了他們的好意. 還好, 同行的大哥他們身上還有多的披索, 真的是謝天謝地, 不然我們就要因為沒披索買稅金這件事被困在機場了.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;回台北的飛機也很順利, 很準時的在約凌晨00:20分左右抵達桃園機場, 結束這趟旅程.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;由這次的經驗, 我自己統整以下幾點, 要搭宿霧航空必須要有的準備&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;最好在網路上就先畫好位, 120塊一次, 來回就是240台幣. (我猜有劃位了應該不至於再把這個位置轉給別人吧, 除非我沒到).&lt;/li&gt;
&lt;li&gt;最好提前3小時到機場. 沒辦法, 要省錢, 只好多花點時間&lt;/li&gt;
&lt;li&gt;起飛前72小時務必向航空公司確認航班是否正常.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;萬一不幸地你是超賣的犧牲者, 盡可能服從航空公司的安排吧, 除非安排很不合理. 否則拖下去對自己只會越來越不利.&lt;/li&gt;
&lt;li&gt;要搭廉價航空, 旅遊不便險一定要保.&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5964514082444947921-8349347424960940590?l=hsiangyuwang.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MemoryExplorer/~4/cnfiWz9GpTc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hsiangyuwang.blogspot.com/feeds/8349347424960940590/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5964514082444947921&amp;postID=8349347424960940590" title="7 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/8349347424960940590?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/8349347424960940590?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MemoryExplorer/~3/cnfiWz9GpTc/cebu-pacific.html" title="第一次搭乘Cebu pacific(宿霧太平洋航空)到長灘島 (補前半段的圖)" /><author><name>Hsiang-Yu Wang</name><uri>http://www.blogger.com/profile/08296854051084210642</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="25" src="http://bp2.blogger.com/_Dvh6DOXPV74/R1FaPvq5QOI/AAAAAAAAA0E/3j0g-f7iAA0/S220/20071124068-1.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/_kjAJPJtGfnw/TEqIJyi9TkI/AAAAAAAAA3s/FG9r1SBnRPo/s72-c/IMG_2482.JPG" height="72" width="72" /><thr:total>7</thr:total><feedburner:origLink>http://hsiangyuwang.blogspot.com/2010/07/cebu-pacific.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0MFQXY9cCp7ImA9WxNWFU0.&quot;"><id>tag:blogger.com,1999:blog-5964514082444947921.post-2075742179278121828</id><published>2009-10-14T15:30:00.000+08:00</published><updated>2009-10-14T15:30:10.868+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-14T15:30:10.868+08:00</app:edited><title>App Store上的Vpon折扣隨行</title><content type="html">未經&lt;a href="http://hsiangyuwang.blogspot.com/2007/12/blog.html"&gt;授權&lt;/a&gt;, 請勿複製&lt;br /&gt;
&lt;br /&gt;
看圖說故事...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_Dvh6DOXPV74/StV92JtZEQI/AAAAAAAABzI/Q-UHHGnNwhQ/s1600-h/%E7%85%A7%E7%89%87.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_Dvh6DOXPV74/StV92JtZEQI/AAAAAAAABzI/Q-UHHGnNwhQ/s320/%E7%85%A7%E7%89%87.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5964514082444947921-2075742179278121828?l=hsiangyuwang.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MemoryExplorer/~4/19lcQX3a6yg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hsiangyuwang.blogspot.com/feeds/2075742179278121828/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5964514082444947921&amp;postID=2075742179278121828" title="1 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/2075742179278121828?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/2075742179278121828?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MemoryExplorer/~3/19lcQX3a6yg/app-storevpon.html" title="App Store上的Vpon折扣隨行" /><author><name>Hsiang-Yu Wang</name><uri>http://www.blogger.com/profile/08296854051084210642</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="25" src="http://bp2.blogger.com/_Dvh6DOXPV74/R1FaPvq5QOI/AAAAAAAAA0E/3j0g-f7iAA0/S220/20071124068-1.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_Dvh6DOXPV74/StV92JtZEQI/AAAAAAAABzI/Q-UHHGnNwhQ/s72-c/%E7%85%A7%E7%89%87.jpg" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://hsiangyuwang.blogspot.com/2009/10/app-storevpon.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D08DQXg7eSp7ImA9WxNQGUs.&quot;"><id>tag:blogger.com,1999:blog-5964514082444947921.post-9050629752176485849</id><published>2009-09-26T18:43:00.003+08:00</published><updated>2009-09-26T19:51:10.601+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-26T19:51:10.601+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="seam cache" /><title>HOWTO: Seam Cache</title><content type="html">未經&lt;a href="http://hsiangyuwang.blogspot.com/2007/12/blog.html"&gt;授權&lt;/a&gt;, 請勿複製&lt;br /&gt;&lt;br /&gt;Seam Cache用法其實非常簡單, 這篇文章主要是與各位分享怎樣在最快的時間內架好Seam cache, 至於Page Fragment cache及pojoCache可以再去google了解詳細使用狀況.&lt;br /&gt;&lt;br /&gt;不過須要注意的是, 在cluster的環境下, page fragment的cache並不會知道後端資料是否有改變過, 也就是說會有極高度的可能會有不同步的情況, 所以seam cache目前只能用在比較靜態, 或是不需要即時性的用途上. 如有更好的cache provider歡迎提出方便討論.&lt;br /&gt;&lt;br /&gt;首先要去生出一份treecache.xml, 這裡提供一個範例, 但詳細設定內容請自行查閱jboss cache的相關document.&lt;br /&gt;&lt;br /&gt;&lt;textarea name="code" class="xml"&gt;&lt;br /&gt;&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;br /&gt;&lt;br /&gt;&lt;!-- ===================================================================== --&gt;&lt;br /&gt;&lt;!--                                                                       --&gt;&lt;br /&gt;&lt;!--  Sample TreeCache Service Configuration                               --&gt;&lt;br /&gt;&lt;!--                                                                       --&gt;&lt;br /&gt;&lt;!-- ===================================================================== --&gt;&lt;br /&gt;&lt;br /&gt;&lt;server&gt;&lt;br /&gt;&lt;br /&gt;    &lt;classpath codebase="./lib" archives="jboss-cache.jar, jgroups.jar"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    &lt;!-- ==================================================================== --&gt;&lt;br /&gt;    &lt;!-- Defines TreeCache configuration                                      --&gt;&lt;br /&gt;    &lt;!-- ==================================================================== --&gt;&lt;br /&gt;&lt;br /&gt;    &lt;mbean code="org.jboss.cache.TreeCache" name="jboss.cache:service=TreeCache"&gt;&lt;br /&gt;&lt;br /&gt;        &lt;depends&gt;jboss:service=Naming&lt;/depends&gt;&lt;br /&gt;        &lt;depends&gt;jboss:service=TransactionManager&lt;/depends&gt;&lt;br /&gt;&lt;br /&gt;        &lt;!--         Configure the TransactionManager     --&gt;&lt;br /&gt;        &lt;attribute name="TransactionManagerLookupClass"&gt;org.jboss.cache.JBossTransactionManagerLookup&lt;/attribute&gt;&lt;br /&gt;&lt;br /&gt;        &lt;!--             Isolation level : SERIALIZABLE                               REPEATABLE_READ (default)                               READ_COMMITTED                               READ_UNCOMMITTED                               NONE         --&gt;&lt;br /&gt;        &lt;attribute name="IsolationLevel"&gt;REPEATABLE_READ&lt;/attribute&gt;&lt;br /&gt;&lt;br /&gt;        &lt;!--              Valid modes are LOCAL                              REPL_ASYNC                              REPL_SYNC                              INVALIDATION_ASYNC                              INVALIDATION_SYNC         --&gt;&lt;br /&gt;        &lt;attribute name="CacheMode"&gt;LOCAL&lt;/attribute&gt;&lt;br /&gt;&lt;br /&gt;        &lt;!--         Just used for async repl: use a replication queue         --&gt;&lt;br /&gt;        &lt;attribute name="UseReplQueue"&gt;false&lt;/attribute&gt;&lt;br /&gt;&lt;br /&gt;        &lt;!--             Replication interval for replication queue (in ms)         --&gt;&lt;br /&gt;        &lt;attribute name="ReplQueueInterval"&gt;0&lt;/attribute&gt;&lt;br /&gt;&lt;br /&gt;        &lt;!--             Max number of elements which trigger replication         --&gt;&lt;br /&gt;        &lt;attribute name="ReplQueueMaxElements"&gt;0&lt;/attribute&gt;&lt;br /&gt;&lt;br /&gt;        &lt;!-- Name of cluster. Needs to be the same for all clusters, in order              to find each other         --&gt;&lt;br /&gt;        &lt;attribute name="ClusterName"&gt;TreeCache-Cluster&lt;/attribute&gt;&lt;br /&gt;&lt;br /&gt;        &lt;!-- JGroups protocol stack properties. Can also be a URL,              e.g. file:/home/bela/default.xml            &lt;attribute name="ClusterProperties"&gt;&lt;/attribute&gt;&lt;br /&gt;        --&gt;&lt;br /&gt;&lt;br /&gt;        &lt;attribute name="ClusterConfig"&gt;&lt;br /&gt;            &lt;config&gt;&lt;br /&gt;                &lt;!-- UDP: if you have a multihomed machine,                 set the bind_addr attribute to the appropriate NIC IP address --&gt;&lt;br /&gt;                &lt;!-- UDP: On Windows machines, because of the media sense feature                  being broken with multicast (even after disabling media sense)                  set the loopback attribute to true --&gt;&lt;br /&gt;                &lt;udp mcast_addr="228.1.2.3" mcast_port="48866" ip_ttl="64" ip_mcast="true" mcast_send_buf_size="150000" mcast_recv_buf_size="80000" ucast_send_buf_size="150000" ucast_recv_buf_size="80000" loopback="false"&gt;&lt;br /&gt;                &lt;ping timeout="2000" num_initial_members="3" up_thread="false" down_thread="false"&gt;&lt;br /&gt;                &lt;merge2 min_interval="10000" max_interval="20000"&gt;&lt;br /&gt;                &lt;!--        &lt;fd shun="true" up_thread="true" down_thread="true"&gt;--&gt;&lt;br /&gt;                &lt;fd_sock/&gt;&lt;br /&gt;                &lt;verify_suspect timeout="1500" up_thread="false" down_thread="false"&gt;&lt;br /&gt;                &lt;pbcast.nakack gc_lag="50" retransmit_timeout="600,1200,2400,4800" max_xmit_size="8192" up_thread="false" down_thread="false"&gt;&lt;br /&gt;                &lt;unicast timeout="600,1200,2400" window_size="100" min_threshold="10" down_thread="false"&gt;&lt;br /&gt;                &lt;pbcast.stable desired_avg_gossip="20000" up_thread="false" down_thread="false"&gt;&lt;br /&gt;                &lt;frag frag_size="8192" down_thread="false" up_thread="false"&gt;&lt;br /&gt;                &lt;pbcast.gms join_timeout="5000" join_retry_timeout="2000" shun="true" print_local_addr="true"&gt;&lt;br /&gt;                &lt;pbcast.state_transfer up_thread="true" down_thread="true"&gt;&lt;br /&gt;            &lt;/config&gt;&lt;br /&gt;        &lt;/attribute&gt;&lt;br /&gt;&lt;br /&gt;        &lt;!--          Whether or not to fetch state on joining a cluster          NOTE this used to be called FetchStateOnStartup and has been renamed to be more descriptive.         --&gt;&lt;br /&gt;        &lt;attribute name="FetchInMemoryState"&gt;true&lt;/attribute&gt;&lt;br /&gt;&lt;br /&gt;        &lt;!--             The max amount of time (in milliseconds) we wait until the             initial state (ie. the contents of the cache) are retrieved from             existing members in a clustered environment         --&gt;&lt;br /&gt;        &lt;attribute name="InitialStateRetrievalTimeout"&gt;20000&lt;/attribute&gt;&lt;br /&gt;&lt;br /&gt;        &lt;!--             Number of milliseconds to wait until all responses for a             synchronous call have been received.         --&gt;&lt;br /&gt;        &lt;attribute name="SyncReplTimeout"&gt;20000&lt;/attribute&gt;&lt;br /&gt;&lt;br /&gt;        &lt;!-- Max number of milliseconds to wait for a lock acquisition --&gt;&lt;br /&gt;        &lt;attribute name="LockAcquisitionTimeout"&gt;15000&lt;/attribute&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        &lt;!-- Name of the eviction policy class. --&gt;&lt;br /&gt;        &lt;attribute name="EvictionPolicyClass"&gt;&lt;/attribute&gt;&lt;br /&gt;&lt;br /&gt;       &lt;!--           Indicate whether to use marshalling or not. Set this to true if you are running under a scoped           class loader, e.g., inside an application server. Default is "false".        --&gt;&lt;br /&gt;        &lt;attribute name="UseMarshalling"&gt;false&lt;/attribute&gt;&lt;br /&gt;&lt;br /&gt;    &lt;/mbean&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;   &lt;!--  Uncomment to get a graphical view of the TreeCache MBean above --&gt;&lt;br /&gt;   &lt;!--   &lt;mbean code="org.jboss.cache.TreeCacheView" name="jboss.cache:service=TreeCacheView"&gt;--&gt;&lt;br /&gt;   &lt;!--      &lt;depends&gt;jboss.cache:service=TreeCache&lt;/depends&gt;--&gt;&lt;br /&gt;   &lt;!--      &lt;attribute name="CacheService"&gt;jboss.cache:service=TreeCache&lt;/attribute&gt;--&gt;&lt;br /&gt;   &lt;!--   &lt;/mbean&gt;--&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/server&gt;&lt;br /&gt;&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;這份treecache.xml只需要放到classpath的root資料夾下, 例如ear/ejb.jar/, 或是war/WEB-INF/classes/&lt;br /&gt;&lt;br /&gt;之後即可輕鬆愉快的使用seam cache(是否會愉快我不曉得).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5964514082444947921-9050629752176485849?l=hsiangyuwang.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MemoryExplorer/~4/FepaoscThqM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hsiangyuwang.blogspot.com/feeds/9050629752176485849/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5964514082444947921&amp;postID=9050629752176485849" title="1 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/9050629752176485849?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/9050629752176485849?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MemoryExplorer/~3/FepaoscThqM/howto-seam-cache.html" title="HOWTO: Seam Cache" /><author><name>Hsiang-Yu Wang</name><uri>http://www.blogger.com/profile/08296854051084210642</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="25" src="http://bp2.blogger.com/_Dvh6DOXPV74/R1FaPvq5QOI/AAAAAAAAA0E/3j0g-f7iAA0/S220/20071124068-1.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://hsiangyuwang.blogspot.com/2009/09/howto-seam-cache.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUQHRHY9eip7ImA9WhdaE0w.&quot;"><id>tag:blogger.com,1999:blog-5964514082444947921.post-1854317069842336758</id><published>2009-06-16T11:36:00.014+08:00</published><updated>2011-10-23T05:02:15.862+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-23T05:02:15.862+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Nokia_Widget WRT" /><category scheme="http://www.blogger.com/atom/ns#" term="Javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="網際網路" /><title>以Nokia Widget開發Vpon折扣隨行小工具</title><content type="html">本文同時發佈於: &lt;a href="http://vpon.pixnet.net/blog/post/28315902"&gt;http://vpon.pixnet.net/blog/post/28315902&lt;/a&gt;&lt;br /&gt;
未經&lt;a href="http://hsiangyuwang.blogspot.com/2007/12/blog.html"&gt;授權&lt;/a&gt;, 請勿複製&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
什麼? 在&lt;a href="http://www.nokia.com.tw/"&gt;Nokia&lt;/a&gt;手機上居然可以開發widget? 沒錯, 你沒聽錯, 你沒看錯, Nokia手機現在也可以開發小工具了, 當然我們&lt;a href="http://www.vpon.com/"&gt;Vpon折扣隨行&lt;/a&gt;的小工具也已經準備好安裝在N97的手機裡囉.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
但大家也許會好奇到底Nokia手機上的widget到底長什麼樣子, 我們先來看看他在首頁的樣子:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5347779898776190434" src="http://4.bp.blogspot.com/_Dvh6DOXPV74/Sjche_OHfeI/AAAAAAAABqg/LKElxiUUHbM/s400/20090615037.jpg" style="cursor: pointer; height: 400px; width: 300px;" /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5347779901222735458" src="http://4.bp.blogspot.com/_Dvh6DOXPV74/SjchfIVazmI/AAAAAAAABqo/RzuTbBk2D_8/s400/20090615042.jpg" style="cursor: pointer; height: 300px; width: 400px;" /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
就如同平常我們在PC上看到的widget/gadget一樣, 它可以放在首頁上, 並允許它定期向Internet更新資料.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
就開發面而言, Nokia widget用的是還算標準的HTML+CSS+javascript, developers可以把它當作是一般的HTML網頁來開發, 降低開發的成本.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
在開發Nokia widget之前我們需要準備以下的工具(以Vpon折扣隨行小工具為例):&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="http://www.aptana.com/"&gt;Aptana IDE&lt;/a&gt; / &lt;a href="http://www.eclipse.org/"&gt;eclipse &lt;/a&gt;+ aptana plugins&lt;br /&gt;(因為Aptana本身就是Eclipse的一個plugin, 所以擇一安裝即可)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.aptana.com/nokia"&gt;WRT plugin&lt;/a&gt; for eclipse / aptana&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.forum.nokia.com/info/sw.nokia.com/id/ec866fab-4b76-49f6-b5a5-af0631419e9c/S60_All_in_One_SDKs.html"&gt;Nokia N97 SDK&lt;/a&gt;&lt;br /&gt;(主要是希望能借助它的模擬器)&lt;/li&gt;
&lt;li&gt;最好是還能有一支N97來測試 (optional)&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
當然, 還得準備一些cheat sheet:&lt;/div&gt;
&lt;div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="http://library.forum.nokia.com/index.jsp?topic=/Web_Developers_Library/GUID-4D13AF3F-4733-44E7-996F-F27A11C9D6BF_cover.html"&gt;WRT APIs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Javascript&lt;/li&gt;
&lt;li&gt;&lt;a href="http://docs.jquery.com/Main_Page"&gt;jQuery&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;CSS&lt;/li&gt;
&lt;li&gt;HTML / XHTML (這...?)&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
WRT plugin本身做的介面還算是developer friendly, 我想不需多做介紹一般的dev.都可以很快的上手.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
當環境都建立完成之後, 不免得先來個HelloWorld試試手氣, 但其實只要按照以下步驟新增WRT project, HelloWorld期時就不用寫了...因為WRT都幫你做好了.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/qeCfibOULHA&amp;amp;hl=zh_TW&amp;amp;fs=1&amp;amp;"&gt;
&lt;param name="allowFullScreen" value="true"&gt;
&lt;param name="allowscriptaccess" value="always"&gt;
&lt;embed src="http://www.youtube.com/v/qeCfibOULHA&amp;amp;hl=zh_TW&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="344" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
開發過程中需要注意的是, 畢竟widget的runtime是在手機上, 手機的資源肯定不會比PC還要來的多, 所以要特別注意script的效率問題.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
不過也因為widget全以javascript開發, 所以一開始開發前的A&amp;amp;D會顯得相當重要, 必須要將UI的flow及每個status定義清楚, 配合一些modeling的工具, 能讓整個開發及後續維護過程更加順利, 避免最後因為script撰寫過程中有過高的耦合(couple)而造成維護上的困難.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
另外既然這個widget是在手機上執行的軟體, 手機的特性當然Nokia都有提供相對的APIs給dev.去使用, 例如透過widget截取GPS座標, 或是用widget收發簡訊等等. 當然, 某些API是需要使用者同意才可以使用的, 這是無法改變的問題, 更多API可以參考&lt;a href="http://library.forum.nokia.com/index.jsp?topic=/Web_Developers_Library/GUID-4D13AF3F-4733-44E7-996F-F27A11C9D6BF_cover.html" style="text-decoration: none;" target="_blank"&gt;這裡&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Nokia widget用了標準的HTML DOM結構, 所以我們可以把&lt;a href="http://jquery.com/"&gt;jQuery&lt;/a&gt;, &lt;a href="http://www.prototypejs.org/"&gt;Prototype&lt;/a&gt;等framework拉進來用, 增加我們開發widget的flexibility.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
要使用這些javascript framework很簡單, 就如同平常我們在開發web pages一樣, 只要使用下列語法就可以盡情的享受(?)這些framework, 當然, 這只是舉例, 平常是相當不建議同時使用prototype與jQuery的&lt;/div&gt;
&lt;textarea class="html:firstline[10]" name="code"&gt;&amp;lt;br /&amp;gt;&amp;lt;script type="text/javascript" src="scripts/jquery-1.3.2.js"&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;script type="text/javascript" src="scripts/prototype.js"&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;br /&amp;gt;&lt;/textarea&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
以下是一些&lt;a href="http://www.vpon.com/"&gt;Vpon折扣隨行&lt;/a&gt;N97 widget的截圖:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;a href="http://4.bp.blogspot.com/_Dvh6DOXPV74/SjdyICUmhkI/AAAAAAAABrI/lvfUOCcQx20/s1600-h/04.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5347868564913555010" src="http://4.bp.blogspot.com/_Dvh6DOXPV74/SjdyICUmhkI/AAAAAAAABrI/lvfUOCcQx20/s400/04.jpg" style="cursor: pointer; height: 400px; margin: 3px; width: 225px;" /&gt;&lt;/a&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5347868572337620210" src="http://3.bp.blogspot.com/_Dvh6DOXPV74/SjdyId-oxPI/AAAAAAAABrQ/4fDRB95HgbU/s400/06.jpg" style="cursor: pointer; height: 400px; margin: 3px; width: 225px;" /&gt;&lt;br /&gt;
&lt;a href="http://2.bp.blogspot.com/_Dvh6DOXPV74/SjdyIMwE8RI/AAAAAAAABrA/zo_SO7oP9hA/s1600-h/02.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5347868567713149202" src="http://2.bp.blogspot.com/_Dvh6DOXPV74/SjdyIMwE8RI/AAAAAAAABrA/zo_SO7oP9hA/s400/02.jpg" style="cursor: pointer; height: 400px; margin: 3px; width: 225px;" /&gt;&lt;/a&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5347868560570573970" src="http://2.bp.blogspot.com/_Dvh6DOXPV74/SjdyHyJJ5JI/AAAAAAAABq4/yeCXm6zNm9I/s400/01.jpg" style="cursor: pointer; height: 400px; margin: 3px; width: 225px;" /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://2.bp.blogspot.com/_Dvh6DOXPV74/SjdyHgPaloI/AAAAAAAABqw/ZdLLxb6QvbM/s1600-h/08.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5347868555764995714" src="http://2.bp.blogspot.com/_Dvh6DOXPV74/SjdyHgPaloI/AAAAAAAABqw/ZdLLxb6QvbM/s400/08.jpg" style="cursor: pointer; height: 400px; margin: 3px; width: 225px;" /&gt;&lt;/a&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5347869980106963778" src="http://3.bp.blogspot.com/_Dvh6DOXPV74/SjdzaaVAO0I/AAAAAAAABrY/e5jFtGRj-0U/s400/05.jpg" style="cursor: pointer; height: 400px; margin: 3px; width: 225px;" /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5964514082444947921-1854317069842336758?l=hsiangyuwang.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MemoryExplorer/~4/4tagzmF1_Cw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hsiangyuwang.blogspot.com/feeds/1854317069842336758/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5964514082444947921&amp;postID=1854317069842336758" title="5 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/1854317069842336758?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/1854317069842336758?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MemoryExplorer/~3/4tagzmF1_Cw/nokia-widgetvpon.html" title="以Nokia Widget開發Vpon折扣隨行小工具" /><author><name>Hsiang-Yu Wang</name><uri>http://www.blogger.com/profile/08296854051084210642</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="25" src="http://bp2.blogger.com/_Dvh6DOXPV74/R1FaPvq5QOI/AAAAAAAAA0E/3j0g-f7iAA0/S220/20071124068-1.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_Dvh6DOXPV74/Sjche_OHfeI/AAAAAAAABqg/LKElxiUUHbM/s72-c/20090615037.jpg" height="72" width="72" /><thr:total>5</thr:total><feedburner:origLink>http://hsiangyuwang.blogspot.com/2009/06/nokia-widgetvpon.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkMGRX04fSp7ImA9WxJWEU8.&quot;"><id>tag:blogger.com,1999:blog-5964514082444947921.post-3945661352806913868</id><published>2009-05-20T14:53:00.004+08:00</published><updated>2009-06-16T11:53:44.335+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-16T11:53:44.335+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="隨筆" /><title>程式考古學 之 從code看開發者的心情</title><content type="html">未經&lt;a href="http://hsiangyuwang.blogspot.com/2007/12/blog.html"&gt;授權&lt;/a&gt;, 請勿複製&lt;br /&gt;&lt;br /&gt;一聊到程式考古學我也有滿多感想的XD... (應該說是什麼都不敢想..)&lt;br /&gt;&lt;br /&gt;我覺得從code真的能大致上看出當時的開發情境, 可以看得出這個作者當初是在愉悅的心情下開發的, 還是跟女朋友吵架過程中開發的...&lt;br /&gt;&lt;br /&gt;舉例來說, 在心情愉悅的情況下可能可以看到以下幾種狀況:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;[註]我是JEE的developer, 所以舉例皆已JEE環境舉例&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;繼承, 封裝, 多型, 盡可能的OO, 盡可能的抽象, 甚至卯起來盡可能的reflection&lt;/li&gt;&lt;li&gt;code裡面沒有任何一個warning, 逼不得以他也會幫你加上一個@Deprecated..&lt;/li&gt;&lt;li&gt;註解比code還多&lt;/li&gt;&lt;li&gt;javadoc的annotation都寫好了&lt;/li&gt;&lt;li&gt;更好心的人還會用reverse tool把static structure的diagram產出來.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;但, 假設他今天心情不好, 或是被死線追著跑時, 可能會看到以下幾種狀況:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;無盡的Ctrl+C, Ctrl+V, 一個code可能會被重複貼在幾十個檔案裡面.&lt;/li&gt;&lt;li&gt;註解? 註解是拿來把寫錯的code mark起來用的..&lt;/li&gt;&lt;li&gt;if(a is null) a = null ;&lt;/li&gt;&lt;li&gt;coding standard? 請用eclispe打開按alt+shift+s後, 點format.&lt;/li&gt;&lt;li&gt;log.info, log.debug, 傻傻分不清楚.&lt;/li&gt;&lt;li&gt;到處都是System.out.println.&lt;/li&gt;&lt;li&gt;Generic type全部都是問號, 或甚至都不給type了, 反正只會出個黃色底線..&lt;/li&gt;&lt;li&gt;結構是什麼? 全部寫在同個class這樣ctrl+F就可以找到我要的了, 不用再點ctrl+H&lt;/li&gt;&lt;/ol&gt;...待補充&lt;br /&gt;&lt;br /&gt;我覺得觀察這種事情倒是頗有趣的, 不過當有需要為後者做refine時....&lt;br /&gt;真的會很想砍人就是了...&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);font-size:85%;"&gt;原文發表於: 輔大資工BBS站&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5964514082444947921-3945661352806913868?l=hsiangyuwang.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MemoryExplorer/~4/7TCe7WbBvKY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hsiangyuwang.blogspot.com/feeds/3945661352806913868/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5964514082444947921&amp;postID=3945661352806913868" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/3945661352806913868?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/3945661352806913868?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MemoryExplorer/~3/7TCe7WbBvKY/code.html" title="程式考古學 之 從code看開發者的心情" /><author><name>Hsiang-Yu Wang</name><uri>http://www.blogger.com/profile/08296854051084210642</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="25" src="http://bp2.blogger.com/_Dvh6DOXPV74/R1FaPvq5QOI/AAAAAAAAA0E/3j0g-f7iAA0/S220/20071124068-1.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://hsiangyuwang.blogspot.com/2009/05/code.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkICQXszeCp7ImA9WxJRGE0.&quot;"><id>tag:blogger.com,1999:blog-5964514082444947921.post-5962119331238176306</id><published>2009-05-20T14:02:00.006+08:00</published><updated>2009-05-20T14:22:40.580+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-20T14:22:40.580+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Java" /><category scheme="http://www.blogger.com/atom/ns#" term="OOSD" /><category scheme="http://www.blogger.com/atom/ns#" term="軟體工程" /><title>Abstract和Interface 差別</title><content type="html">未經&lt;a href="http://hsiangyuwang.blogspot.com/2007/12/blog.html"&gt;授權&lt;/a&gt;, 請勿複製&lt;br /&gt;&lt;br /&gt;補充一些abstract class與interface的東西,&lt;br /&gt;&lt;br /&gt;就比較學術上的說法, 這兩種東西其實有點像, 但實際上是差很多的東西,&lt;br /&gt;&lt;br /&gt;別人對這兩個東西的定義是這樣的:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0); font-style: italic;"&gt;Interface:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0); font-style: italic;"&gt;An Interface is a special type of class that only provides a specification&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0); font-style: italic;"&gt;(not an implementation) for its abstract members.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold; font-style: italic;"&gt;Abstract classes:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0); font-style: italic;"&gt;The main purpose of an abstract class is to define a common interface for&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0); font-style: italic;"&gt;its subclasses.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Interface它只負責定義一個規格或功能, 你的classes可以選擇是否要"支援"這個功能, 支援了之後你可以選擇在你想要使用它的時候使用它.&lt;br /&gt;&lt;br /&gt;但規格制定出來, 要怎麼去實行(implements), 當然得看你選擇去實作的class, 所以compiler才會強制你要去實作該interface制定的規格.(除非你這個實作的class是abstract的)&lt;br /&gt;&lt;br /&gt;舉例來說, 假設&lt;span style="font-weight: bold;"&gt;我&lt;/span&gt;是一個物件, &lt;span style="font-weight: bold;"&gt;我&lt;/span&gt;實作了兩個介面: &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;上班族&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-style: italic;"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;男朋友&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, 那我在辦公室的時候, 就是以"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;上班族&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"這個介面做操作, 其他同事都是透過"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;上班族&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"這個介面與&lt;span style="font-weight: bold;"&gt;我&lt;/span&gt;溝通, 同樣的, 回到家後, 我便會換上"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;男朋友&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"這個介面. 這樣的話, 我就不會在上班的時候, 不小心被別人invoke到"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;男朋友&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"這個介面中的方法, 我在面對閃光時也不會被呼叫到"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;上班族&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"這個介面的方法(成員), 但事實上我是實作這兩個介面. 這與"多重繼承"是有相當大的出入的...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;繼承比較多應該是用在Gen-spec(generalization-specialization)的概念上, 就是一種"is-a", 或"is-a-kind-of"的概念, 那至於到底是不是繼承abstract classes, 在這概念上則不重要了.&lt;br /&gt;&lt;br /&gt;例如:&lt;br /&gt;&lt;br /&gt;BMWCar繼承Car, ToyotaCar也繼承Car, 則我們可以說, ToyotaCar "is a kind of" Car, 當然, BMWCar "is a kind of" Car, 而在現實世界中, Car可以是一種具體的物件.&lt;br /&gt;(誰說Car一定要有品牌= =, 鐵牛車也是Car阿!!!!!)&lt;br /&gt;&lt;br /&gt;但假設是:&lt;br /&gt;&lt;br /&gt;男人 繼承 人, 女人 繼承 人, 當然我們可以說 男人 is-a-kind-of 人, 但這這個例子中要注意的是, 既然有定義男人, 女人, 那"人"本身就不可是一個具體的物件, 因為人不是男就是女(general case), "人"這個東西不該被實體化, 因為這樣會不合理, 所以在這個地方, 我會建議將"人"這個class設為abstract. 但"人"這個class仍然可以實作大部分男女人都有的特性, 例如"人"都會有眼睛, 鼻子, 嘴巴等.&lt;br /&gt;&lt;br /&gt;那至於什麼時候要用interface, 什麼時候做abstract class呢?&lt;br /&gt;&lt;br /&gt;在這之前你可能必須要先回頭來看, Object的原意是什麼, 為什麼程式要OO?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;An Object is an abstraction of &lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;a set of real world things&lt;/span&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;[Shlaer et al. 1992].&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;更精確的說,&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;An object is an entity that has &lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;responsibilities&lt;/span&gt;. i.e., it is responsible for&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;itself. These responsibilities define the behavior of the object&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;[Shalloway et al. 2005]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;所以回歸到源頭, 還是要先得把對物件的觀念釐清, 才能夠設計出適合的抽象化結構.&lt;br /&gt;&lt;br /&gt;note: 不是把結構弄得越抽像越好, 這樣實作的人也會把code寫得很抽象....&lt;br /&gt; "適當"的抽象化, 就夠了...&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5964514082444947921-5962119331238176306?l=hsiangyuwang.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MemoryExplorer/~4/cYk8YFhQb-8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hsiangyuwang.blogspot.com/feeds/5962119331238176306/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5964514082444947921&amp;postID=5962119331238176306" title="2 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/5962119331238176306?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/5962119331238176306?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MemoryExplorer/~3/cYk8YFhQb-8/abstractinterface.html" title="Abstract和Interface 差別" /><author><name>Hsiang-Yu Wang</name><uri>http://www.blogger.com/profile/08296854051084210642</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="25" src="http://bp2.blogger.com/_Dvh6DOXPV74/R1FaPvq5QOI/AAAAAAAAA0E/3j0g-f7iAA0/S220/20071124068-1.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://hsiangyuwang.blogspot.com/2009/05/abstractinterface.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkYCQXg5eip7ImA9WxJSGUs.&quot;"><id>tag:blogger.com,1999:blog-5964514082444947921.post-8276293237345264030</id><published>2009-05-10T22:51:00.005+08:00</published><updated>2009-05-10T23:09:20.622+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-10T23:09:20.622+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="UML" /><category scheme="http://www.blogger.com/atom/ns#" term="UseCaseDiagram" /><title>Use Case Diagram中Actor的規則</title><content type="html">未經&lt;a href="http://hsiangyuwang.blogspot.com/2007/12/blog.html"&gt;授權&lt;/a&gt;, 請勿複製&lt;ul&gt;&lt;li&gt;An actors is a type (a class), not an instances.&lt;/li&gt;&lt;li&gt;Actors can only have associations to use case, subsystems, and classes and these associations are binary.&lt;/li&gt;&lt;li&gt;Actors cannot contain any classifiers, such as interfaces, classes, data types, components, and nodes.&lt;/li&gt;&lt;li&gt;Actors cannot directly interact with each other.       &lt;/li&gt;&lt;li&gt;Only generalization relationships are used to describe common behavior between a number of actors.&lt;/li&gt;&lt;li&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Dvh6DOXPV74/SgbtxikWvxI/AAAAAAAABpQ/lb42q97gX24/s1600-h/ErrorExampleOfUseCaseDiagram.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 276px;" src="http://1.bp.blogspot.com/_Dvh6DOXPV74/SgbtxikWvxI/AAAAAAAABpQ/lb42q97gX24/s400/ErrorExampleOfUseCaseDiagram.png" alt="" id="BLOGGER_PHOTO_ID_5334212244015595282" border="0" /&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5964514082444947921-8276293237345264030?l=hsiangyuwang.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MemoryExplorer/~4/rNEmonaqIQ0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hsiangyuwang.blogspot.com/feeds/8276293237345264030/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5964514082444947921&amp;postID=8276293237345264030" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/8276293237345264030?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/8276293237345264030?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MemoryExplorer/~3/rNEmonaqIQ0/use-case-diagramactor.html" title="Use Case Diagram中Actor的規則" /><author><name>Hsiang-Yu Wang</name><uri>http://www.blogger.com/profile/08296854051084210642</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="25" src="http://bp2.blogger.com/_Dvh6DOXPV74/R1FaPvq5QOI/AAAAAAAAA0E/3j0g-f7iAA0/S220/20071124068-1.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_Dvh6DOXPV74/SgbtxikWvxI/AAAAAAAABpQ/lb42q97gX24/s72-c/ErrorExampleOfUseCaseDiagram.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://hsiangyuwang.blogspot.com/2009/05/use-case-diagramactor.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU8CR3s7fip7ImA9WxVUE0s.&quot;"><id>tag:blogger.com,1999:blog-5964514082444947921.post-6303239979594158564</id><published>2009-03-18T16:03:00.004+08:00</published><updated>2009-03-18T16:11:06.506+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-18T16:11:06.506+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="UML" /><category scheme="http://www.blogger.com/atom/ns#" term="JUDE" /><title>修正JUDE不支援java5(annotation, generic)的方法</title><content type="html">未經&lt;a href="http://hsiangyuwang.blogspot.com/2007/12/blog.html"&gt;授權&lt;/a&gt;, 請勿複製&lt;br /&gt;&lt;br /&gt;首先先安裝最新版本的&lt;a href="http://jude.change-vision.com/jude-web/index.html"&gt;JUDE&lt;/a&gt;(以目前來說是JUDE community 5.5b1, prof版本我不確定), 然後安裝完成後, 按照以下步驟:&lt;br /&gt;&lt;br /&gt;1. 點選Tool &gt; System properties&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Dvh6DOXPV74/ScCr_BnIFvI/AAAAAAAABlQ/_oYKQ4cVw8Y/s1600-h/090318160657_3.jpg"&gt;&lt;img style="cursor: pointer; width: 222px; height: 400px;" src="http://3.bp.blogspot.com/_Dvh6DOXPV74/ScCr_BnIFvI/AAAAAAAABlQ/_oYKQ4cVw8Y/s400/090318160657_3.jpg" alt="" id="BLOGGER_PHOTO_ID_5314436659549837042" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2. 將下圖內之設定更改template File為java5.jude, 最下面兩個charset改為你java原始檔的編碼即可&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Dvh6DOXPV74/ScCsR89P3cI/AAAAAAAABlY/yzDkmCZA_k0/s1600-h/090318160908_4.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 329px;" src="http://1.bp.blogspot.com/_Dvh6DOXPV74/ScCsR89P3cI/AAAAAAAABlY/yzDkmCZA_k0/s400/090318160908_4.jpg" alt="" id="BLOGGER_PHOTO_ID_5314436984717958594" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;這樣就可以輕鬆使用JUDE提供的reverse tool囉...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5964514082444947921-6303239979594158564?l=hsiangyuwang.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MemoryExplorer/~4/wi2WzPAJxTc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hsiangyuwang.blogspot.com/feeds/6303239979594158564/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5964514082444947921&amp;postID=6303239979594158564" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/6303239979594158564?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/6303239979594158564?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MemoryExplorer/~3/wi2WzPAJxTc/judejava5annotation-generic.html" title="修正JUDE不支援java5(annotation, generic)的方法" /><author><name>Hsiang-Yu Wang</name><uri>http://www.blogger.com/profile/08296854051084210642</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="25" src="http://bp2.blogger.com/_Dvh6DOXPV74/R1FaPvq5QOI/AAAAAAAAA0E/3j0g-f7iAA0/S220/20071124068-1.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_Dvh6DOXPV74/ScCr_BnIFvI/AAAAAAAABlQ/_oYKQ4cVw8Y/s72-c/090318160657_3.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://hsiangyuwang.blogspot.com/2009/03/judejava5annotation-generic.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkYDQXgzfCp7ImA9WxVUEUU.&quot;"><id>tag:blogger.com,1999:blog-5964514082444947921.post-7024528251322766778</id><published>2009-03-16T15:20:00.002+08:00</published><updated>2009-03-16T15:22:50.684+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-16T15:22:50.684+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="web" /><title>解決flash遮擋lightbox/dialog的辦法</title><content type="html">未經&lt;a href="http://hsiangyuwang.blogspot.com/2007/12/blog.html"&gt;授權&lt;/a&gt;, 請勿複製&lt;br /&gt;&lt;br /&gt;只要在flash在html裡的參數加上: wmode="transparent" 即可&lt;br /&gt;&lt;br /&gt;例如:&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;br /&gt;&amp;lt;embed src="..." quality="high" ... wmode="transparent"/&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5964514082444947921-7024528251322766778?l=hsiangyuwang.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MemoryExplorer/~4/F1poeDUm16Y" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hsiangyuwang.blogspot.com/feeds/7024528251322766778/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5964514082444947921&amp;postID=7024528251322766778" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/7024528251322766778?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/7024528251322766778?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MemoryExplorer/~3/F1poeDUm16Y/flashlightboxdialog.html" title="解決flash遮擋lightbox/dialog的辦法" /><author><name>Hsiang-Yu Wang</name><uri>http://www.blogger.com/profile/08296854051084210642</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="25" src="http://bp2.blogger.com/_Dvh6DOXPV74/R1FaPvq5QOI/AAAAAAAAA0E/3j0g-f7iAA0/S220/20071124068-1.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://hsiangyuwang.blogspot.com/2009/03/flashlightboxdialog.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkEERHY4fyp7ImA9WxVUE0g.&quot;"><id>tag:blogger.com,1999:blog-5964514082444947921.post-8489914171171779247</id><published>2009-03-07T23:22:00.003+08:00</published><updated>2009-03-18T14:43:25.837+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-18T14:43:25.837+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="UML" /><title>UML中use case diagram的extend與include的差別</title><content type="html">未經&lt;a href="http://hsiangyuwang.blogspot.com/2007/12/blog.html"&gt;授權&lt;/a&gt;, 請勿複製&lt;br /&gt;&lt;br /&gt;use case diagram中, extend與include的意義時常讓剛開始使用的人感到困惑,&lt;br /&gt;在這要強調的是, 在use case diagram中, extend的意思並非OO語言中的extends的意思(繼承), 而是一種optional的概念, 可以用以下的語言去解釋:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;include&lt;br /&gt;這個use case是屬於"一定需要的", 可以用"require"這個詞來定義這個use case, 如果移除掉這個use case, 這個系統將不會是完整的&lt;br /&gt;&lt;/li&gt;&lt;li&gt;extend&lt;br /&gt;這個use case是屬於"可選擇性的", 可以用"optional"這個詞來定義這個use case, 如果這個use case被移除掉, 並不會影響整個系統, 不過需要注意的是, extend的use case須要有extend point.&lt;/li&gt;&lt;/ul&gt;以下的例子來說, 如果我要一個寄發email的功能, 那可以看到"編輯email"是必須的功能, 如果移除掉這個功能, 整個寄發email的use case將是不完整的, 所以在這裡我使用了"include"的方式; 反觀"夾帶檔案", 整個寄發email個功能中, 夾帶檔案並不是必須的, 但如果在extend point中發生"需要夾帶檔案", 則將會將這個use case納入到系統中&lt;br /&gt;&lt;br /&gt;(感謝網友告知, 這張圖的extend箭頭已經修正)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Dvh6DOXPV74/ScCX6KqepdI/AAAAAAAABks/CQBi0Mn_KGk/s1600-h/UseCase+Diagram0.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 283px;" src="http://1.bp.blogspot.com/_Dvh6DOXPV74/ScCX6KqepdI/AAAAAAAABks/CQBi0Mn_KGk/s400/UseCase+Diagram0.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5314414585847915986" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;當然這不會是一個很好的例子, 只是在說明include與extend這兩個關係最大的不同, 更詳細的文件可至UML網站查詢&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5964514082444947921-8489914171171779247?l=hsiangyuwang.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MemoryExplorer/~4/h8SUW3nDjRM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hsiangyuwang.blogspot.com/feeds/8489914171171779247/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5964514082444947921&amp;postID=8489914171171779247" title="2 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/8489914171171779247?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/8489914171171779247?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MemoryExplorer/~3/h8SUW3nDjRM/umluse-case-diagramextendinclude.html" title="UML中use case diagram的extend與include的差別" /><author><name>Hsiang-Yu Wang</name><uri>http://www.blogger.com/profile/08296854051084210642</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="25" src="http://bp2.blogger.com/_Dvh6DOXPV74/R1FaPvq5QOI/AAAAAAAAA0E/3j0g-f7iAA0/S220/20071124068-1.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_Dvh6DOXPV74/ScCX6KqepdI/AAAAAAAABks/CQBi0Mn_KGk/s72-c/UseCase+Diagram0.jpg" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://hsiangyuwang.blogspot.com/2009/03/umluse-case-diagramextendinclude.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0cCQn85eCp7ImA9WxVVFE4.&quot;"><id>tag:blogger.com,1999:blog-5964514082444947921.post-5854890346541205929</id><published>2009-03-07T22:51:00.003+08:00</published><updated>2009-03-07T23:17:43.120+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-07T23:17:43.120+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="網際網路 web2.0" /><category scheme="http://www.blogger.com/atom/ns#" term="blogger" /><title>簡單的Blogger code block的方法(貼程式碼)</title><content type="html">未經&lt;a href="http://hsiangyuwang.blogspot.com/2007/12/blog.html"&gt;授權&lt;/a&gt;, 請勿複製&lt;br /&gt;&lt;br /&gt;轉錄自:&lt;a href="http://warrickdodo.blogspot.com/2007/02/code-display-block-fixes-strange-ie.html" target="_blank"&gt;http://warrickdodo.blogspot.com/2007/02/code-display-block-fixes-strange-ie.html&lt;/a&gt;&lt;br /&gt;只要加入以下:&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;br /&gt;code, .code {&lt;br /&gt;    display: block; /* fixes a strange ie margin bug */&lt;br /&gt;    font-family: Courier New;&lt;br /&gt;    font-size: 8pt;&lt;br /&gt;    overflow:auto;&lt;br /&gt;    background: #f0f0f0 url(http://klcintw.images.googlepages.com/Code_BG.gif) left top repeat-y;&lt;br /&gt;    border: 1px solid #ccc;&lt;br /&gt;    padding: 10px 10px 10px 21px;&lt;br /&gt;    max-height:200px;&lt;br /&gt;    line-height: 1.2em;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;使用方法可以用兩種:&lt;br /&gt;&lt;pre class="code"&gt;&lt;br /&gt;&amp;lt;code&amp;gt;我的程式碼&amp;lt;/code&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;或在任何的HTML tag上加上"code"的class即可.&lt;br /&gt;&lt;br /&gt;需要注意的是, 顯示的結果仍然是HTML-based的東西, 記得要escape&amp;lt;,&amp;gt;等字元&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5964514082444947921-5854890346541205929?l=hsiangyuwang.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MemoryExplorer/~4/fFQhZ7X5CrQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hsiangyuwang.blogspot.com/feeds/5854890346541205929/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5964514082444947921&amp;postID=5854890346541205929" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/5854890346541205929?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/5854890346541205929?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MemoryExplorer/~3/fFQhZ7X5CrQ/blogger-code-block.html" title="簡單的Blogger code block的方法(貼程式碼)" /><author><name>Hsiang-Yu Wang</name><uri>http://www.blogger.com/profile/08296854051084210642</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="25" src="http://bp2.blogger.com/_Dvh6DOXPV74/R1FaPvq5QOI/AAAAAAAAA0E/3j0g-f7iAA0/S220/20071124068-1.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://hsiangyuwang.blogspot.com/2009/03/blogger-code-block.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkUNRHo7eyp7ImA9WxVVFE4.&quot;"><id>tag:blogger.com,1999:blog-5964514082444947921.post-289224474694463782</id><published>2008-11-26T01:16:00.004+08:00</published><updated>2009-03-07T21:58:15.403+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-07T21:58:15.403+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="生活隨筆" /><title>新工作, 新環境</title><content type="html">未經&lt;a href="http://hsiangyuwang.blogspot.com/2007/12/blog.html"&gt;授權&lt;/a&gt;, 請勿複製&lt;br /&gt;&lt;br /&gt;換到這了: &lt;a href="http://www.freedi.com.tw/"&gt;Freedi私廣告&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;為什麼要po這一篇呢? 因為我想多少增加一點page-rank  XDDDDD  (想太多)&lt;br /&gt;&lt;br /&gt;----&lt;br /&gt;&lt;br /&gt;另外, 對於兩個人的相處, 兩個人的世界, 也有更深的體悟.&lt;br /&gt;以前真的是被工作壓到喘不過氣, 沒時間多想這些事情. 現在情況比較不同, 生活也正常了一點,&lt;br /&gt;兩個人的時間雖然變短了, 但這段時間卻讓人覺得很好~~&lt;br /&gt;&lt;br /&gt;希望一切都能夠順利... 工作, 感情... blah blah blah....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5964514082444947921-289224474694463782?l=hsiangyuwang.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MemoryExplorer/~4/XW9uOTveQ1o" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hsiangyuwang.blogspot.com/feeds/289224474694463782/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5964514082444947921&amp;postID=289224474694463782" title="1 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/289224474694463782?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/289224474694463782?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MemoryExplorer/~3/XW9uOTveQ1o/blog-post.html" title="新工作, 新環境" /><author><name>Hsiang-Yu Wang</name><uri>http://www.blogger.com/profile/08296854051084210642</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="25" src="http://bp2.blogger.com/_Dvh6DOXPV74/R1FaPvq5QOI/AAAAAAAAA0E/3j0g-f7iAA0/S220/20071124068-1.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://hsiangyuwang.blogspot.com/2008/11/blog-post.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUIGQXc6fip7ImA9WxdbF0k.&quot;"><id>tag:blogger.com,1999:blog-5964514082444947921.post-4567664082420034482</id><published>2008-08-15T03:26:00.002+08:00</published><updated>2008-08-15T03:52:00.916+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-15T03:52:00.916+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="網際網路 web2.0" /><category scheme="http://www.blogger.com/atom/ns#" term="Javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="網際網路" /><title>Javascript eval的使用範例教學</title><content type="html">未經&lt;a href="http://hsiangyuwang.blogspot.com/2007/12/blog.html"&gt;授權&lt;/a&gt;, 請勿複製&lt;br /&gt;&lt;br /&gt;剛好有人問, 就po上來分享一下:&lt;br /&gt;&lt;br /&gt;eval()就是evaluate的縮寫, 是種很靈活的寫法, 就應用面而言, 也是相當具有實用性的, 以下面這個例子來說:&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;br /&gt;   var a = 1;&lt;br /&gt;   var b = 2;&lt;br /&gt;   eval('var c = ' + a + ' + ' + b);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;這段code對於不懂eval的人來說看了可是一頭霧水, 不知道在寫什麼, 不過要會用eval()之前, 必須要先學會"看".&lt;br /&gt;&lt;br /&gt;eval()的執行方法很簡單, 分兩個步驟, 第一就是先將eval()裡面的字串拼湊出來, 第二步就是執行這個拼湊出來的string, 以上面那個例子來說, eval裡面得字串拼湊出來應該是:&lt;br /&gt;&lt;pre class="code"&gt;&lt;br /&gt;   var c = 1 + 2&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;這段程式執行結果就會產生一個新的變數叫c = 3.&lt;br /&gt;&lt;br /&gt;也許有人會問這種東西好用在哪? 該應用在哪?&lt;br /&gt;&lt;br /&gt;舉例來說, 在處理map型式的data時, eval()就很好用. 假設我有一組JSON資料(or HTTP GET參數):&lt;br /&gt;&lt;pre class="code"&gt;&lt;br /&gt;//JSON:&lt;br /&gt;{user:Tom, email:tom@tom.com, home:tom.com.tw}&lt;br /&gt;//GET parameters:&lt;br /&gt;user=Tom&amp;amp;email=tom@tom.com&amp;amp;home=tom.com.tw&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;以這組資料而言, 我當然不希望它存成一個沒有意義的array, 透過指定的index去存取, 取而代之的是我希望它存成一個object. 那我可以應用eval()在這個地方(當然eval()不是唯一的寫法):&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&lt;br /&gt;  var dataSet = {};&lt;br /&gt;  while(dataHasNext()){ //在還有未處理的data情況下繼續做loop(pseudo-code)&lt;br /&gt;      //parse data into a key-value pair object(pseudo-code)&lt;br /&gt;      var data = parseData(someData);&lt;br /&gt;&lt;br /&gt;      //此時的data擁有兩個參數, 以第一個參數而言,&lt;br /&gt;      //data.key = user, data.value = Tom&lt;br /&gt;      eval('dataSet.' + data.key + ' = ' + data.value);&lt;br /&gt;  }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;這個程式已我們給的sample而言, 每個loop的eval執行方式如下:&lt;br /&gt;&lt;br /&gt;loop 1:&lt;br /&gt;dataSet.user = Tom&lt;br /&gt;&lt;br /&gt;loop2:&lt;br /&gt;dataSet.email = tom@tom.com&lt;br /&gt;&lt;br /&gt;loop3:&lt;br /&gt;dataSet.home = tom.com.tw&lt;br /&gt;&lt;br /&gt;所以經過這個轉換之後, 你可以將這些data轉換成一個object, 透過呼叫它的屬性來取得你要的值.&lt;br /&gt;&lt;br /&gt;當然這只是一種應用, eval()好用的地方還相當多, 就待各位自行去發掘吧 :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5964514082444947921-4567664082420034482?l=hsiangyuwang.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MemoryExplorer/~4/gqKHSpw879c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hsiangyuwang.blogspot.com/feeds/4567664082420034482/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5964514082444947921&amp;postID=4567664082420034482" title="1 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/4567664082420034482?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/4567664082420034482?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MemoryExplorer/~3/gqKHSpw879c/javascript-eval.html" title="Javascript eval的使用範例教學" /><author><name>Hsiang-Yu Wang</name><uri>http://www.blogger.com/profile/08296854051084210642</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="25" src="http://bp2.blogger.com/_Dvh6DOXPV74/R1FaPvq5QOI/AAAAAAAAA0E/3j0g-f7iAA0/S220/20071124068-1.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://hsiangyuwang.blogspot.com/2008/08/javascript-eval.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkUHQn04eyp7ImA9WxdRF00.&quot;"><id>tag:blogger.com,1999:blog-5964514082444947921.post-4749922228009404698</id><published>2008-06-05T03:53:00.014+08:00</published><updated>2008-06-06T05:10:33.333+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-06-06T05:10:33.333+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="網際網路 web2.0" /><category scheme="http://www.blogger.com/atom/ns#" term="網際網路" /><title>[JBoss Seam] Richfaces心得...</title><content type="html">未經&lt;a href="http://hsiangyuwang.blogspot.com/2007/12/blog.html"&gt;授權&lt;/a&gt;, 請勿複製&lt;br /&gt;&lt;br /&gt;剛開始套xhtml的dtd配合richfaces做真的很不習慣, 感覺傳統的html在這幾乎都派不上用場, 隨著翻taglib的時間漸漸超過寫code的時間後... 開始喜愛上這個東西^++^&lt;br /&gt;&lt;br /&gt;當然, 標題是JBoss Seam, 理所當然會用到seam的taglib, 因為在這幾乎大部分的JSTL都不能用了, 除了少數的邏輯判斷, 例如&amp;lt;c:if&amp;gt;之類, 但這些也都是非必要使用的, 可用jsf components裡面的attribute: render來做同樣的動作.&lt;br /&gt;&lt;br /&gt;基本上richfaces的api不難啃, 因為官方網站就提供很貼心的live demo的服務, 看demo寫view應該是最幸福的事情了XD 大多數複雜的元件控制它都有提供對應的tag來處理,&lt;br /&gt;&lt;br /&gt;&lt;a href="http://livedemo.exadel.com/richfaces-demo/richfaces/actionparam.jsf"&gt;live demo:&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;richfaces主要在於呈現許多常用的UI元件, 甚至google map也只要幾個tag就能完成,連jQuery的selector都有對應的tag, 整個view端source看起來真的清爽許多, 不會再有一大堆討人厭的scripts, 不過, 偶爾還是會看到XD&lt;br /&gt;&lt;br /&gt;again, 標題是JBoss Seam, 它整合了幾個view端framework在一起, 除了richfaces,還包括facelet,seam taglib等等. facelet允許對xhtml做類似傳統sitemesh的動作,在一開始的時候引入template, 即可套用, 例如:&lt;br /&gt;&lt;pre class="code"&gt;&lt;br /&gt;&amp;lt;ui:composition xmlns="http://www.w3.org/1999/xhtml"&lt;br /&gt;                xmlns:s="http://jboss.com/products/seam/taglib"&lt;br /&gt;                xmlns:ui="http://java.sun.com/jsf/facelets"&lt;br /&gt;                xmlns:f="http://java.sun.com/jsf/core"&lt;br /&gt;                xmlns:h="http://java.sun.com/jsf/html"&lt;br /&gt;                xmlns:rich="http://richfaces.org/rich"&lt;br /&gt;                template="layout/template.xhtml"&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;這樣就可以套用tamplate.xhtml裡面所定義的decorate方式, 對於某些固定layout的網站來說, 是很方便的東西.&lt;br /&gt;&lt;br /&gt;針對outputText, jsf提供了很貼心的功能, 畢竟針對某些情況下, backend bean送回來的String有可能含有html, 例如#{hello.world}的值為:&lt;br /&gt;&lt;pre class="code"&gt;" &amp;lt;a href="hello.html"&amp;gt;world&amp;lt;/a&amp;gt;"&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;designer可自由決定是否要讓html作用, 如果要讓html直接顯示不被瀏覽器解讀,傳統的做法是必須對&amp;lt; &gt;做escape後再顯示, 不過jsf直接提供處理的attribute:&lt;br /&gt;&lt;pre class="code"&gt;&amp;lt;h:outputText value="#{hello.world}" /&amp;gt;&lt;/pre&gt;&lt;br /&gt;這段tag會直接show出完整的String內容, &amp;lt; &amp;gt; "等特殊符號會被escape,但如果加上:&lt;br /&gt;&lt;pre class="code"&gt;&amp;lt;h:outputText value="#{hello.world}" escape="false" /&amp;gt;&lt;/pre&gt;&lt;br /&gt;則會變成world這個hyper link.&lt;br /&gt;&lt;br /&gt;同樣的, 針對application context root的問題, seam也考慮到了, 畢竟Seam project的ear檔案有一定的檔案結構, 所以直接用HTML去呼叫某些resouce是比較不方便的,例如某張圖片放在/view/img/test.png, 那你的專案ear在預設情況下deploy後,URL pattern會變成: &lt;pre class="code"&gt;http://mynet.com/yourproject/&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;所以當要呼叫絕對路徑時, 就必須加上/yourproject/img/test.png,從某方面看來這個路徑是非常不直觀的, jsf本身就有考慮到這個問題, 當然這在傳統的JSTL也有解決方案(&amp;lt;c:url...), 不過在這, 處理同樣的圖片, 只需要以view做為context root, 所以圖片的連結只需要改成:&lt;br /&gt;&lt;pre class="code"&gt;&amp;lt;h:graphicImage value="/img/test.png" /&amp;gt;&lt;/pre&gt;&lt;br /&gt;即可&lt;br /&gt;&lt;br /&gt;當然這些view端framework並不是沒有缺點的, firebug告訴我這些元件在真正傳遞到client端時, 所產出來的js檔案非常的胖@@ 動不動就是10KB起跳(有js-compressor壓縮, 但沒gzip), 雖然瀏覽器相容性非常高, 但看到這麼胖的js難免還是想念他兩句.&lt;br /&gt;&lt;br /&gt;在熟悉seam之前, 就常聽人說到struts會被漸漸淘汰, 當時真的很難以置信, 但現在真的能夠體會到為什麼了....XD&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5964514082444947921-4749922228009404698?l=hsiangyuwang.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MemoryExplorer/~4/u4KoGdFJapI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hsiangyuwang.blogspot.com/feeds/4749922228009404698/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5964514082444947921&amp;postID=4749922228009404698" title="1 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/4749922228009404698?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/4749922228009404698?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MemoryExplorer/~3/u4KoGdFJapI/xhtmldtdrichfaces-html-taglibcode.html" title="[JBoss Seam] Richfaces心得..." /><author><name>Hsiang-Yu Wang</name><uri>http://www.blogger.com/profile/08296854051084210642</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="25" src="http://bp2.blogger.com/_Dvh6DOXPV74/R1FaPvq5QOI/AAAAAAAAA0E/3j0g-f7iAA0/S220/20071124068-1.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://hsiangyuwang.blogspot.com/2008/06/xhtmldtdrichfaces-html-taglibcode.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0UGQXs7fip7ImA9WxZVGUg.&quot;"><id>tag:blogger.com,1999:blog-5964514082444947921.post-942971583655424723</id><published>2008-03-31T17:55:00.003+08:00</published><updated>2008-03-31T18:27:00.506+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-03-31T18:27:00.506+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="網際網路 web2.0" /><title>test</title><content type="html">未經&lt;a href="http://hsiangyuwang.blogspot.com/2007/12/blog.html"&gt;授權&lt;/a&gt;, 請勿複製&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;style type="text/css"&gt;#ppWidget {}#ppWidget .pp_container {overflow:hidden;clear: both;height: 20px;padding: 0 1px 0 1px;}#ppWidget .pp_content {float: left;background-color: #ffffff;}#ppWidget a:hover,#ppWidget a:link,#ppWidget a:active,#ppWidget a:visited { color: #4c4c4c;text-decoration: none;}#ppWidget a.pp_title:hover,#ppWidget a.pp_title:link,#ppWidget a.pp_title:active,#ppWidget a.pp_title:visited {font-weight: normal;font-size: 14px;}#ppWidget img { border: 0px; vertical-align: middle;}#ppWidget .pp_thumbs { width: 100%; padding: 0; margin: 0; }#ppWidget .pp_thumbs ul { padding: 0; margin: 0; }#ppWidget .pp_thumbs ul li { padding: 0; margin 0;}#ppWidget .pp_thumbs li.icon {vertical-align: middle;text-align: center;cursor:pointer;list-style-type: none;float: left;overflow:hidden;padding: 1px 0 0 0;}#ppWidget .pp_thumbs li.small {text-align: center;cursor:pointer;list-style-type: none;float: left;overflow:hidden;padding: 2px 0 0 0;vertical-align: middle;}#ppWidget .pp_itemName { text-align: left; padding: 2px 6px 0 6px;font-size: 12px;line-height:16px; height:32px; overflow: hidden;}#ppWidget .pp_category {padding: 0 6px 0 6px;text-align: left;color: #FF6600;font-weight: bold;font-size: 11px;}#ppWidget ul, #ppWidget li {padding: 0; margin: 0; float: left; list-style: none;}&lt;/style&gt;&lt;div id="ppWidget" style="width: 332px;"&gt;&lt;script type="text/javascript" language="javascript" charset="utf-8" src="http://ppolis.tw/widget/getUserFeedsWidget.ajax?userFeedsSid=6155&amp;title=%E6%93%81%E6%9C%89%E7%89%A9%E5%93%81&amp;viewType=1&amp;rowNumber=1&amp;eachRowQty=3&amp;sortParams=sid-&amp;sortParam=sid-&amp;imageType=small&amp;showBorder=true&amp;bgcolor=%234E8BD6&amp;color=%23FFFFFF&amp;widgetWidth=332&amp;itemWidth=110&amp;itemHeight=125&amp;v=1206959201667"&gt;&lt;/script&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5964514082444947921-942971583655424723?l=hsiangyuwang.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MemoryExplorer/~4/g6cCAKMQ19M" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hsiangyuwang.blogspot.com/feeds/942971583655424723/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5964514082444947921&amp;postID=942971583655424723" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/942971583655424723?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/942971583655424723?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MemoryExplorer/~3/g6cCAKMQ19M/test.html" title="test" /><author><name>Hsiang-Yu Wang</name><uri>http://www.blogger.com/profile/08296854051084210642</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="25" src="http://bp2.blogger.com/_Dvh6DOXPV74/R1FaPvq5QOI/AAAAAAAAA0E/3j0g-f7iAA0/S220/20071124068-1.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://hsiangyuwang.blogspot.com/2008/03/test.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8GRH44cSp7ImA9WxZVF0o.&quot;"><id>tag:blogger.com,1999:blog-5964514082444947921.post-4889457914129750987</id><published>2008-03-29T14:39:00.000+08:00</published><updated>2008-03-29T14:40:25.039+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-03-29T14:40:25.039+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="旅遊隨筆" /><title>1月27日, 我在滬寧高速, 大雪天(part II)</title><content type="html">未經&lt;a href="http://hsiangyuwang.blogspot.com/2007/12/blog.html"&gt;授權&lt;/a&gt;, 請勿複製&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;先預留標題, 有空再慢慢打&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5964514082444947921-4889457914129750987?l=hsiangyuwang.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MemoryExplorer/~4/oBONAlqkLkU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hsiangyuwang.blogspot.com/feeds/4889457914129750987/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5964514082444947921&amp;postID=4889457914129750987" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/4889457914129750987?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/4889457914129750987?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MemoryExplorer/~3/oBONAlqkLkU/127-part-ii.html" title="1月27日, 我在滬寧高速, 大雪天(part II)" /><author><name>Hsiang-Yu Wang</name><uri>http://www.blogger.com/profile/08296854051084210642</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="25" src="http://bp2.blogger.com/_Dvh6DOXPV74/R1FaPvq5QOI/AAAAAAAAA0E/3j0g-f7iAA0/S220/20071124068-1.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://hsiangyuwang.blogspot.com/2008/03/127-part-ii.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkQMQX8_eyp7ImA9WxRbF0o.&quot;"><id>tag:blogger.com,1999:blog-5964514082444947921.post-8563617337827181638</id><published>2008-02-23T23:22:00.005+08:00</published><updated>2008-12-09T06:13:00.143+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-09T06:13:00.143+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="旅遊隨筆" /><category scheme="http://www.blogger.com/atom/ns#" term="隨筆" /><title>1月27日, 我在滬寧高速, 大雪天(part I)</title><content type="html">未經&lt;a href="http://hsiangyuwang.blogspot.com/2007/12/blog.html"&gt;授權&lt;/a&gt;, 請勿複製&lt;br /&gt;&lt;br /&gt;2008年1月27日, 一如往常, 提著行李前往中國探視父母親, 出發前就已經聽說今天南京天氣很不理想, 但對我們這種生在台灣的孩子來說, 能碰上下雪應該是任何人都很興奮的事情, 所以也就沒想了太多, 更沒做太多的心理準備, 早上九點三十五, 順利從桃園中正機場離境到澳門轉機.&lt;br /&gt;&lt;br /&gt;今天在台灣的天氣就已經不是很理想, 陰天加上飄點小雨, 飛機在起飛及降落的時候都會讓人回憶起六福村大怒神的感覺. 飛機一降落澳門機場, 機艙傳來廣播: &lt;br /&gt;"blah blah blah...目前室外溫度九度...blah blah blah.."&lt;br /&gt;什麼??!! 我不是在澳門嗎??!! 我國中程度的地理知識告訴我, 澳門緯度比高雄還低阿? 怎麼會只有九度, 會不會是十九度我聽錯了. 但當我走出機艙的那一瞬間, 我相信了, 真的是九度!!&lt;br /&gt;&lt;br /&gt;詭異的天氣預告今天是個不尋常的日子. 我往來大陸其實也沒多長的時間, 不知道大雪會造成多嚴重的影響, 更不知道往年冬天南京的天氣是如何, 只知道南京緯度比上海高一些, 氣溫理當會低一點, 但沒想到實際情況與我想像的差距這麼大.&lt;br /&gt;&lt;br /&gt;到了澳門國際機場, 很快的就辦完了該有的通關手續, 我拿著大包小包的行李晃進了機場的貴賓室. 澳門機場是一個很新的機場, 設計上頗有特色的, 讓人在候機大廳裡不會有任何壓迫感存在. 以下這張照片是澳門機場的候機大廳:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Dvh6DOXPV74/R8A9HXNucZI/AAAAAAAAA6A/HSiVVOnSWvs/s1600-h/20080127149.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_Dvh6DOXPV74/R8A9HXNucZI/AAAAAAAAA6A/HSiVVOnSWvs/s400/20080127149.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5170199568921293202" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;很快的, 11:30分到了, 我的班機該是登機的時候了, 但說也奇怪, 一直沒有廣播要登機, 而資訊看板也沒有顯示任何delay的消息, 我也只好傻傻地等. 到了12點30分, 晴天霹靂的消息傳來了. 澳門航空告知我們今天南京大雪, 機場"不確定"是否會再開放, 問我們要不要轉機到上海浦東. 聽到這個消息真不知道該怎麼辦, 我對中國也不是那麼熟, 到了上海我只知道搭車到火車站再轉動車回南京, 不過現在在春運, 火車票怎麼可能買得到呢?&lt;br /&gt;&lt;br /&gt;我站在櫃台前猶豫了一陣子, 也因此認識了一位同機的朋友:周小姐, 這位周小姐是住在台灣的南京人, 拿的是台灣的護照, 所以就我個人判斷應該是位久居台灣的大陸新娘&lt;br /&gt;&lt;font color="red"&gt;(附帶一點: 此位周小姐就我所知家住中壢, 我對他的了解僅此而已, 如有相關此人的消息煩請告知, 我欠了他一個超大的人情).&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;跟他討論過後, 我們決定立馬轉機到上海, 先走一步算一步, 畢竟呆在澳門過夜也不是辦法, 但也因為我們決定的相當晚, 澳航人員告知我們在飛機上將不會有餐點提供, 在這種時刻, 其實有沒有餐點也沒那麼重要了, 能平安到家才是重點, 所以我們也沒意識到這個問題的嚴重性, 簽下了放棄同意書.&lt;br /&gt;&lt;br /&gt;果然上海什麼都沒有, 就是人多, 整架A319塞得滿滿的人. 說緣分就是這麼奇妙的東西, 在機上, 我們又認識了另一位原本同機的苦主, 也是台灣人. 經過商討之後, 我們想到或許可以包計程車回南京這個方法. 但問題來了, 上海距離南京大約台北到台南的距離, 就算是在物價低廉的中國大陸, 這趟路用計程車, 勢必也不少錢吧?&lt;br /&gt;&lt;br /&gt;到了上海, 只有一個字"冷". 冷到一個天荒地老海枯石爛. 出了機場我趁等人的時間, 問了一位出租車師傅, 他開了一個價碼:1500圓. 情況特殊, 這個價錢其實是可以考慮的價錢, 但我身上沒帶這麼多人民幣, 而計程車當然不接受刷卡. 我一直向同行的周小姐說明我身上沒那麼多現金, 但他只不斷地說"沒關係, 沒關係, 先上車再說", 這樣半推半拉之下, 我也被送上了計程車(下午四點三十分).&lt;br /&gt;&lt;br /&gt;以下這幾張照片是在等人的時候順手拍了幾張:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Dvh6DOXPV74/R8BBgHNucaI/AAAAAAAAA6I/vyATEmXT57M/s1600-h/20080127150.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_Dvh6DOXPV74/R8BBgHNucaI/AAAAAAAAA6I/vyATEmXT57M/s400/20080127150.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5170204392169566626" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Dvh6DOXPV74/R8BBrHNucbI/AAAAAAAAA6Q/u-2gFWInMfM/s1600-h/20080127151.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_Dvh6DOXPV74/R8BBrHNucbI/AAAAAAAAA6Q/u-2gFWInMfM/s400/20080127151.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5170204581148127666" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;開車的師傅是位小夥子, 大約年紀跟我差不多, 人頗和善的, 一路上也跟我們有說有笑, 我猜想應該連他也沒想到他這趟路也許會讓他永生難忘.&lt;br /&gt;&lt;br /&gt;從機場出來這位師傅就一直用手機聯繫, 確認滬寧高速有沒有被封閉, 但因為他的鄉音很重, 我也不太聽得懂, 想說既然上了計程車, 一切路程規畫就交給師傅去做吧, 總之這會是個long trip. &lt;br /&gt;&lt;br /&gt;到了滬寧高速收費站, 發現上海段還沒被封閉, 因為上海只飄著小雨, 路面也看不到雪, 封閉起來其實沒什麼道理. 隨著時間慢慢過去, 崑山, 蘇州, 過去了...&lt;br /&gt;&lt;br /&gt;其實到了蘇州就已經開始飄雪了, 地面也可以看到積雪, 但都還不算嚴重, 這位司機師傅不知道應該說是"藝高人膽大"還是沒雪地駕駛的經驗, 從不跟在車隊後面走, 都用60~70km的速度走在自己的線上. 當然, 車隊走過會把雪壓開, 自己走旁邊的路積雪就會稍微厚一點, 有幾次車子都已經有一些些"飄移"的現像, 不嚴重就是了.&lt;br /&gt;&lt;br /&gt;過了無錫後, 情況急轉直下, 路面積雪變得非常的厚, 已經看不到原本的柏油路面了, 雪也越下越大, 就在這時候, 神奇的事情發生了.&lt;br /&gt;&lt;br /&gt;因為近到江蘇後高速公路入口就已關閉, 所以滬寧高速上只剩下一些從上海近來的車子, 路上車子可以說是非常的少, 我們這位師傅大哥越開越順手後, 感覺也就越來越"鬆懈". 因為雪下的非常大, 所以不能開遠光燈, 路面狀況都是非常靠近時才會知道. 就在這時候, 路面突然出現了一塊大約直徑30公分左右的大冰塊, 司機師傅情急之下剎車一踩, 方向盤一轉... 再轉.... 再轉..... 打滑了...&lt;br /&gt;&lt;br /&gt;車子用70公里的速度在戶寧高速上表演了飄移秀, 轉了一圈以後撞在護欄上, 車子就逆向停在內側車道上.&lt;br /&gt;&lt;br /&gt;真是福大命大, 這時候後面剛好沒車, 司機師傅也用了最理想的"靠牆"姿勢, 車子只有一點點外表的損傷(大陸車真耐撞, 我坐在前座的感受是...撞的力道非常大). 師傅把車停到了路邊檢查一下車子的狀況, 也讓大家喘息一下, 說句實在話, 大家真的都嚇到了.&lt;br /&gt;&lt;br /&gt;(未完待續)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5964514082444947921-8563617337827181638?l=hsiangyuwang.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MemoryExplorer/~4/pltkvS_AcY4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hsiangyuwang.blogspot.com/feeds/8563617337827181638/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5964514082444947921&amp;postID=8563617337827181638" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/8563617337827181638?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/8563617337827181638?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MemoryExplorer/~3/pltkvS_AcY4/127-part-i.html" title="1月27日, 我在滬寧高速, 大雪天(part I)" /><author><name>Hsiang-Yu Wang</name><uri>http://www.blogger.com/profile/08296854051084210642</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="25" src="http://bp2.blogger.com/_Dvh6DOXPV74/R1FaPvq5QOI/AAAAAAAAA0E/3j0g-f7iAA0/S220/20071124068-1.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_Dvh6DOXPV74/R8A9HXNucZI/AAAAAAAAA6A/HSiVVOnSWvs/s72-c/20080127149.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://hsiangyuwang.blogspot.com/2008/02/127-part-i.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A08GR3s5eCp7ImA9WxdRFkQ.&quot;"><id>tag:blogger.com,1999:blog-5964514082444947921.post-5018433883265881424</id><published>2008-02-20T20:33:00.003+08:00</published><updated>2008-06-06T05:03:46.520+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-06-06T05:03:46.520+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="網際網路 web2.0" /><title>JQuery的next()在IE中失效的問題</title><content type="html">未經&lt;a href="http://hsiangyuwang.blogspot.com/2007/12/blog.html"&gt;授權&lt;/a&gt;, 請勿複製&lt;br /&gt;&lt;br /&gt;這篇文章所使用的jquery版本為1.2.3, 而jquery號稱可以跨browser, 怎麼會在這個地方失效了呢?&lt;br /&gt;&lt;br /&gt;上了w3c validate了一下我的XHTML, 後來發現很多地方都是invalid的(笑), 大致上我碰到的狀況是這樣的:&lt;br /&gt;&lt;br /&gt;&lt;pre class="code"&gt;&amp;lt;ul class="dropNAV"&amp;gt;&lt;br /&gt;    &amp;lt;li class="titleNAV"&amp;gt;&amp;lt;a href="#"&amp;gt;我是抬頭&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;    &amp;lt;span class="hiddenNAV"&amp;gt;&lt;br /&gt;        &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;我是會彈出來的&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;    &amp;lt;/span&amp;gt;&lt;br /&gt;&amp;lt;/ul&amp;gt;&lt;/pre&gt;&lt;br /&gt;我想讓滑鼠移過titleNAV那個&amp;lt;li&amp;gt;標籤後, 彈出hiddenNAV這個span, 這種情況稍微用膝蓋一想, 就想到用next(), 以下為用膝蓋想出來的寫法:&lt;br /&gt;&lt;pre class="code"&gt;&lt;br /&gt;1           $('.titleNAV').hover(function(){&lt;br /&gt;2               $(this).children().css('color','#ffffff');&lt;br /&gt;3               $(this).next().show();&lt;br /&gt;4           },function(){&lt;br /&gt;5               $(this).children().css('color','#dddddd');&lt;br /&gt;6           });&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;果然事情不是笨人所想的這麼簡單, 這個寫法在萬能瀏覽器Firefox中看很正常, 一點問題都沒有, 但IE一開.... 果然IE就是喜歡跟別人不一樣, 這段script在IE中完全沒有反應.&lt;br /&gt;&lt;br /&gt;(炸)啥?jquery不是跨瀏覽器嗎?&lt;br /&gt;&lt;br /&gt;經過一陣子的debug之後, 發現最後問題根源不在jquery上(笑), 問題在於開頭我所說的, 我的XHTML是invalid的, 也就是說, IE找的方式與我們笨人所想的方式是不同的.&lt;br /&gt;&lt;br /&gt;當各位遇到類似這個問題時, 用alert($(xxx).text())來debug, 以這個例子而言, 第三行的$(this).next() IE抓出來是空的, 沒有東西, 因為w3c標準認為&amp;lt;span&amp;gt;這個標籤不應該出現, 他會認定為&amp;lt;li&amp;gt;missing, 所以造成了這個很尷尬的問題.&lt;br /&gt;&lt;br /&gt;再經過一陣子手忙腳亂後, 我讓IE往下多爬一層, code的第三行變成這樣:&lt;br /&gt;$(this).children().next().show();&lt;br /&gt;說也奇怪這樣IE居然就把.hiddenNAV的&amp;lt;span&amp;gt;抓出來了, 但以小弟對這種"非正式"XHTML的了解程度, 我還是無法解釋這種靈異現象, 總之多try幾種IE可能會假設的狀況, 或許可以達到效果.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5964514082444947921-5018433883265881424?l=hsiangyuwang.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MemoryExplorer/~4/psatRpx9aLA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hsiangyuwang.blogspot.com/feeds/5018433883265881424/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5964514082444947921&amp;postID=5018433883265881424" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/5018433883265881424?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/5018433883265881424?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MemoryExplorer/~3/psatRpx9aLA/jquerynextie.html" title="JQuery的next()在IE中失效的問題" /><author><name>Hsiang-Yu Wang</name><uri>http://www.blogger.com/profile/08296854051084210642</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="25" src="http://bp2.blogger.com/_Dvh6DOXPV74/R1FaPvq5QOI/AAAAAAAAA0E/3j0g-f7iAA0/S220/20071124068-1.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://hsiangyuwang.blogspot.com/2008/02/jquerynextie.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkQERn4_eSp7ImA9WxZTF0o.&quot;"><id>tag:blogger.com,1999:blog-5964514082444947921.post-5619507727366373851</id><published>2008-01-20T05:26:00.000+08:00</published><updated>2008-01-20T05:31:47.041+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-01-20T05:31:47.041+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="澳網 隨筆" /><title /><content type="html">未經&lt;a href="http://hsiangyuwang.blogspot.com/2007/12/blog.html"&gt;授權&lt;/a&gt;, 請勿複製&lt;br /&gt;&lt;br /&gt;澳網男單第三輪, L.Hewitt vs. M.Baghdatis的比賽真是一場經典的比賽.&lt;br /&gt;BAG在第三盤舊傷再度受到傷害時沒有任何放棄的跡象, 反而馬上就破了對手一個發球局&lt;br /&gt;但還是可以看出來他腳步上保守了許多, 非受迫性失誤也偏多, 一直延續到了第四盤一開始.&lt;br /&gt;但第四盤則堪稱今年澳網最精彩的一盤, Hewitt先破BAG兩個發球局後, 聽牌來到5:1, &lt;br /&gt;卻被BAG演出奇蹟逆轉打進tie break, 最後第四盤由BAG拿下, &lt;br /&gt;&lt;br /&gt;第四盤進展:&lt;br /&gt;&lt;PRE&gt;&lt;br /&gt;HEW     BAG&lt;br /&gt;*1        0&lt;br /&gt; 1       *1&lt;br /&gt;*2        1&lt;br /&gt; 3       *1&lt;br /&gt;*4        1&lt;br /&gt; 5       *1&lt;br /&gt;*5        2&lt;br /&gt; 5       *3&lt;br /&gt;*5        4&lt;br /&gt; 5       *5&lt;br /&gt;*6        5&lt;br /&gt; 6       *6&lt;br /&gt;&lt;br /&gt;tie break&lt;br /&gt;*1        0&lt;br /&gt; 1       *1&lt;br /&gt; 1       *2&lt;br /&gt;*2        2&lt;br /&gt;*3        2&lt;br /&gt; 4       *2&lt;br /&gt; 4       *3&lt;br /&gt;*4        4&lt;br /&gt;*4        5&lt;br /&gt; 4       *6&lt;br /&gt; 4       *7   &lt;==這邊有點忘了&lt;br /&gt;&lt;br /&gt;*發球局&lt;br /&gt;&lt;/PRE&gt;&lt;br /&gt;&lt;br /&gt;有找到youtube的影片會再補上的&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5964514082444947921-5619507727366373851?l=hsiangyuwang.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MemoryExplorer/~4/4QHIoakhy40" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hsiangyuwang.blogspot.com/feeds/5619507727366373851/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5964514082444947921&amp;postID=5619507727366373851" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/5619507727366373851?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/5619507727366373851?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MemoryExplorer/~3/4QHIoakhy40/l.html" title="" /><author><name>Hsiang-Yu Wang</name><uri>http://www.blogger.com/profile/08296854051084210642</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="25" src="http://bp2.blogger.com/_Dvh6DOXPV74/R1FaPvq5QOI/AAAAAAAAA0E/3j0g-f7iAA0/S220/20071124068-1.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://hsiangyuwang.blogspot.com/2008/01/l.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUcFRHw4fip7ImA9WxZTE08.&quot;"><id>tag:blogger.com,1999:blog-5964514082444947921.post-5043030682640763928</id><published>2008-01-15T00:04:00.000+08:00</published><updated>2008-01-15T00:10:15.236+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-01-15T00:10:15.236+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Air" /><title>A310 touch and go!!</title><content type="html">未經&lt;a href="http://hsiangyuwang.blogspot.com/2007/12/blog.html"&gt;授權&lt;/a&gt;, 請勿複製&lt;br /&gt;&lt;br /&gt;軍機衝場算什麼, A310也衝給你看XD&lt;br /&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/rYfhC9ft_hk&amp;rel=1"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/rYfhC9ft_hk&amp;rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5964514082444947921-5043030682640763928?l=hsiangyuwang.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MemoryExplorer/~4/QvsKC17BUVI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hsiangyuwang.blogspot.com/feeds/5043030682640763928/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5964514082444947921&amp;postID=5043030682640763928" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/5043030682640763928?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/5043030682640763928?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MemoryExplorer/~3/QvsKC17BUVI/a310-touch-and-go.html" title="A310 touch and go!!" /><author><name>Hsiang-Yu Wang</name><uri>http://www.blogger.com/profile/08296854051084210642</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="25" src="http://bp2.blogger.com/_Dvh6DOXPV74/R1FaPvq5QOI/AAAAAAAAA0E/3j0g-f7iAA0/S220/20071124068-1.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://hsiangyuwang.blogspot.com/2008/01/a310-touch-and-go.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkcAR3k9eyp7ImA9WB9bGU4.&quot;"><id>tag:blogger.com,1999:blog-5964514082444947921.post-2114751502205106661</id><published>2007-12-29T20:03:00.000+08:00</published><updated>2007-12-29T20:07:26.763+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-12-29T20:07:26.763+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="隨筆" /><title>輔大創新創業培訓心得...</title><content type="html">未經&lt;a href="http://hsiangyuwang.blogspot.com/2007/12/blog.html"&gt;授權&lt;/a&gt;, 請勿複製&lt;br /&gt;&lt;br /&gt;今天與各位第一次參加培訓之後,有了許多的想法,也有許多的感嘆,正式提交版本我會再修正,畢竟台灣還是個馬屁社會,評審高高在上不希望收到太多負面評價. &lt;br /&gt;&lt;br /&gt;聽完今天的培訓講座,再去看看Goole的信念,請各位參考以下網址: &lt;br /&gt;&lt;a href="http://www.google.com.tw/intl/zh-TW/corporate/tenthings.html &lt;br /&gt;"&gt;http://www.google.com.tw/intl/zh-TW/corporate/tenthings.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;網路產業為什麼會需要求新求變,因為資訊產業對使用者年齡層而言有一定程度的斷層效應,或許現在所謂的六年級生會使用電腦的程度與五年級生就有很大比例的差距,而六年級生跟七年級生又有一個使用熟悉度上的差距,所以面對資訊產業,想法必須跳脫傳統產業那種一成不變的思想範疇. &lt;br /&gt;&lt;br /&gt;台灣有沒有什麼很具有代表性的網路產業?似乎是沒有,硬要推也只推個無名出來,為什麼會這樣? 個人認為在教育過程發生了很大的問題. 今天也聽了幾組簡報, 有些是普普通通的東西, 或是一堆已經有人做的東西. 思想過於封閉我覺得是最致命的關鍵. &lt;br /&gt;&lt;br /&gt;&amp;quot;不要要求使用者改變習慣&amp;quot;, 台上的老師一直灌輸這句話, 但回想十年前, 大家都在投硬幣搭公車, 那時候的悠遊卡推出, 是不是要求使用者改變現有習慣? 那請問悠遊卡成不成功? 再看看遠雄人壽推出的二代宅, 完全結合科技的住宅設計, 完全顛覆傳統住宅的型態, 那他們一定就是失敗嗎? &lt;br /&gt;&lt;br /&gt;回到剛剛Google的十個信念第一條, 請注意到以下這句話 &lt;br /&gt;&amp;quot;雖然有許多公司宣稱他們將客戶放在第一順位，但僅有少數能抗拒誘惑，以犧牲小我來增加股東的價值。&amp;quot; &lt;br /&gt;&lt;br /&gt;網路產業優勢就是低創業成本, 但不代表就是低創業門檻, 你的技術就是你的無形成本, 這是很重要的, 沒有技術你創業10次一樣得失敗10次. &lt;br /&gt;&lt;br /&gt;我們今天proposal的是一個想法一個概念, 我們主要以提供service給user, 有提供好的service就不怕會沒有收入, 反之如果很在意收入則很可能因此淪落到只為了讓企業存活而存活. &lt;br /&gt;&lt;br /&gt;以上, 單純個人關點. &lt;br /&gt;正式提交版我會再潤飾一下. 少點負面多點馬屁, 為了一台UPS XD&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5964514082444947921-2114751502205106661?l=hsiangyuwang.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MemoryExplorer/~4/ZN9HzlQrLvQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hsiangyuwang.blogspot.com/feeds/2114751502205106661/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5964514082444947921&amp;postID=2114751502205106661" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/2114751502205106661?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/2114751502205106661?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MemoryExplorer/~3/ZN9HzlQrLvQ/blog-post_29.html" title="輔大創新創業培訓心得..." /><author><name>Hsiang-Yu Wang</name><uri>http://www.blogger.com/profile/08296854051084210642</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="25" src="http://bp2.blogger.com/_Dvh6DOXPV74/R1FaPvq5QOI/AAAAAAAAA0E/3j0g-f7iAA0/S220/20071124068-1.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://hsiangyuwang.blogspot.com/2007/12/blog-post_29.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0ECSHw6cCp7ImA9WB9UEUk.&quot;"><id>tag:blogger.com,1999:blog-5964514082444947921.post-8981968651611763931</id><published>2007-12-09T04:10:00.000+08:00</published><updated>2007-12-09T04:27:49.218+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-12-09T04:27:49.218+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="隨筆" /><title>Soccer comedy</title><content type="html">&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/vt4X7zFfv4k&amp;rel=1"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/vt4X7zFfv4k&amp;rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5964514082444947921-8981968651611763931?l=hsiangyuwang.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MemoryExplorer/~4/UNLpKcBZjuI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hsiangyuwang.blogspot.com/feeds/8981968651611763931/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5964514082444947921&amp;postID=8981968651611763931" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/8981968651611763931?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/8981968651611763931?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MemoryExplorer/~3/UNLpKcBZjuI/soccer-comedy.html" title="Soccer comedy" /><author><name>Hsiang-Yu Wang</name><uri>http://www.blogger.com/profile/08296854051084210642</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="25" src="http://bp2.blogger.com/_Dvh6DOXPV74/R1FaPvq5QOI/AAAAAAAAA0E/3j0g-f7iAA0/S220/20071124068-1.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://hsiangyuwang.blogspot.com/2007/12/soccer-comedy.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkQMQXozfip7ImA9WxRbF0o.&quot;"><id>tag:blogger.com,1999:blog-5964514082444947921.post-6529029716547001181</id><published>2007-12-06T20:09:00.000+08:00</published><updated>2008-12-09T06:13:00.486+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-09T06:13:00.486+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SSH" /><title>SSH封包結構(2.0)</title><content type="html">未經&lt;a href="http://hsiangyuwang.blogspot.com/2007/12/blog.html"&gt;授權&lt;/a&gt;, 請勿複製&lt;br /&gt;&lt;br /&gt;為了專題的DEMO, 畫了不少結構圖, 乾脆放上來分享好了.&lt;br /&gt;&lt;br /&gt;原始結構定義於&lt;a href="ftp://ftp.rfc-editor.org/in-notes/rfc4253.txt" target="_blank"&gt;RFC4253&lt;/a&gt;中,下圖是我自己將之圖像化之後的參考圖:&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_Dvh6DOXPV74/R1fpyNYRZFI/AAAAAAAAA1g/E0z3iICN8WA/s1600-h/binaryPackageStructure_plain.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_Dvh6DOXPV74/R1fpyNYRZFI/AAAAAAAAA1g/E0z3iICN8WA/s400/binaryPackageStructure_plain.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5140834548460905554" /&gt;&lt;/a&gt;&lt;br /&gt;其中packet_length則為不包含packet_length本身及MAC的長度, padding_length則為padding字元的長度, 為什麼要有padding? 請去參考有關block cipher的相關文章, 但需要注意的是, 就算使用stream cipher也必須要有padding, padding是將整個封包但不含MAC&lt;br /&gt;(packet_length | padding_length | paylaod | padding)&lt;br /&gt;組成8的倍數(或是該演算法的最小block)&lt;br /&gt;Note: padding長度不能小於4 bytes, 所以假設block設定為8, 則padding長度應該是介於4到11之間&lt;br /&gt;所有SSH 2.0封包都必須遵守這個格式, 不論明碼或加密封包. 而加解密的部分有時間我會補上的&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5964514082444947921-6529029716547001181?l=hsiangyuwang.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MemoryExplorer/~4/SwLDJ221xzM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hsiangyuwang.blogspot.com/feeds/6529029716547001181/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5964514082444947921&amp;postID=6529029716547001181" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/6529029716547001181?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/6529029716547001181?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MemoryExplorer/~3/SwLDJ221xzM/ssh20.html" title="SSH封包結構(2.0)" /><author><name>Hsiang-Yu Wang</name><uri>http://www.blogger.com/profile/08296854051084210642</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="25" src="http://bp2.blogger.com/_Dvh6DOXPV74/R1FaPvq5QOI/AAAAAAAAA0E/3j0g-f7iAA0/S220/20071124068-1.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_Dvh6DOXPV74/R1fpyNYRZFI/AAAAAAAAA1g/E0z3iICN8WA/s72-c/binaryPackageStructure_plain.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://hsiangyuwang.blogspot.com/2007/12/ssh20.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE4ERnc7cSp7ImA9WB9VGUk.&quot;"><id>tag:blogger.com,1999:blog-5964514082444947921.post-8790263206797074155</id><published>2007-12-06T19:54:00.000+08:00</published><updated>2007-12-06T20:08:27.909+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-12-06T20:08:27.909+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="網際網路" /><title>web 2.0泡沫化-MV(中文字幕)</title><content type="html">未經&lt;a href="http://hsiangyuwang.blogspot.com/2007/12/blog.html"&gt;授權&lt;/a&gt;, 請勿複製&lt;br /&gt;&lt;br /&gt;當初無意間在&lt;a href="http://www.youtube.com" target="_blank"&gt;Youtube&lt;/a&gt;發現這個MV, 很諷刺現在大家盲目的追隨web2.0.&lt;br /&gt; &lt;br /&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/jsdvziywK9E&amp;rel=1"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/jsdvziywK9E&amp;rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5964514082444947921-8790263206797074155?l=hsiangyuwang.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MemoryExplorer/~4/QV69i6Fi-_M" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://hsiangyuwang.blogspot.com/feeds/8790263206797074155/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5964514082444947921&amp;postID=8790263206797074155" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/8790263206797074155?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5964514082444947921/posts/default/8790263206797074155?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MemoryExplorer/~3/QV69i6Fi-_M/web-20-mv.html" title="web 2.0泡沫化-MV(中文字幕)" /><author><name>Hsiang-Yu Wang</name><uri>http://www.blogger.com/profile/08296854051084210642</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="25" src="http://bp2.blogger.com/_Dvh6DOXPV74/R1FaPvq5QOI/AAAAAAAAA0E/3j0g-f7iAA0/S220/20071124068-1.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://hsiangyuwang.blogspot.com/2007/12/web-20-mv.html</feedburner:origLink></entry></feed>

