2011年12月20日 星期二

Java Design Pattern 簡易版

1. Composite Pattern

    以樹狀的架構為例, 每個節點的物件都計成相同interface, 上層的可以包含下層的物件, 只要執行上層的物件, 被包含的物件也都會自動跑一輪.

2. Default Adapter Pattern

    為了省事, 不想直接implement 某個 interface時, 利用中間加入一個abstract class 去 implement 原本要用的 interface. 以繼承這個 abtract class 的方式, 間接達到 implement 該 interface 的效果.

3. Object Adaptor Pattern

    為了讓原先已開發好的class能依後來新訂定的, 但卻不相容的interface, 能夠依照新訂定 interface 的方式執行, 建立一個新的 Adapter 去implement 新建立的interface, 再利用use 的方式使用原本先開發好的class. 所定義的adapter既能符合新的interface, 又能使用原先已開發class的功能.

4.  Decorator Pattern

就像是俄羅斯娃娃, 一層一層的把物件包起來, java io 就是一個實例. 與 Composite pattern 相異之處在於 Composite pattern 是一個比較有結構性的樹狀結構.

5. Command Pattern

將每一個動作, 都設計成一個實做 interface (Ex: Action interface) 的 class, 每個class都會有對應的command 字串, 執行時藉由指定command字串便能執行, 該command字串所對應的動作.

6. State Pattern

每個狀態各自成為一個物件,負責自己該狀態的服務,並提供切換狀態的方法。

7. Mediator Pattern

所有共事的物件彼此間互動狀態若較複雜時, 讓這些物件繼承同一個 abstract class, 而這個被大家繼承的 abstract class 具有 Mediator的reference. 每當任一個共事的物件狀態發生改變, 便告知 Mediator, 由 Mediator 來控制其他共事的物件, 執行對應的動作.

口袋裡的餐廳


1. My other place
2. 2010 新湘菜
3. 富利得利
4. Wendel
5. 菊川日本料理
6. 金色三麥
7. Pizza (國父紀念館站)
8. 紅瓦厝
9. 長青農場
10. 臨洋港生猛活海鮮
11. 慶禧宮
12. Bread& Soup
13. NY Bagels
14. 關渡水鳥92
15. 北藝大 buffet
16. 四川麵王
17. 杭州小籠包
18. 女王漢堡
19. 山東姥姥
20. 金蓬萊
21. 北京督一處
22. 肥前屋
23. 新勝廚
24.

 


To Try List
1. 玟玟 & 玫玫 cafe 合江街 73 巷 3號  25175786
2. 文慶雞文東記海南雞飯(忠孝復興站)
3. 港點大師
4. 闔家牛排
5. 紅屋牛排

賣麵炎仔

一碗20塊錢,看似平淡無奇的切仔麵,卻能在台北街頭屹立超過70年,是台北最老的三家切仔麵店之一。細麵配上豬油乾,灑上一點蔥花。店內的小吃,都沒有經過華麗繁複的料理方式,卻是最單純古早的美味。紅燒肉也是必點小菜,三層肉切得厚實、有嚼勁,一點都不油膩。

地址:台北市大同區安西街106號

電話:(02)2557-7087

營業時間:早上8:00 ~ 下午4:00

建宏雞肉飯

好吃的雞肉飯和滷肉飯不特別。在「建宏雞肉飯」,一碗招牌飯可以吃到雞肉和滷肉「雙拼」才稀奇。滷得軟糯、滑嫩的豬肉,一點兒也不膩,配上口感截然不同的雞肉,卻完全不會「打架」,反而非常和諧。

地址:台北市南京東路五段123巷4弄4號

電話:(02)2762-7203

營業時間:早上11:00 ~晚上9:00

2011年12月19日 星期一

Decision Tree Software

要做一個具備類似descision tree 功能, 依設定情境能提出不同建議方式的軟體, 有甚麼component 可以用呢?

2011年12月12日 星期一

Deploy Birt report in Tomcat 6

1. 遇到錯誤: Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
    解決方法: 將 commons-logging.jar 加入 WebViewerExample 的 web-inf/lib 之下


2. 遇到錯誤: jdbc driver not found exception
    解決方法: In order to utilize JDBC drivers to access data for your BIRT reports with the Web Viewer or through the Deployment Kit or iServer Express, the Jar files need to be placed in the proper directory
Example: tomcat6\webapps\birt\WEB-INF\platform\plugins\org.eclipse.birt.report.data.oda.jdbc_2.6.2.r262_v20110127\drivers


3.遇到錯誤: Out of memory error while running large size report
    解決方法: 在 catalina.bat 中加大 memory szie 的設定 例如:
set "CATALINA_OPTS=-Xms256M -Xmx1024M"


參考:
http://www.eclipse.org/birt/phoenix/deploy/viewerSetup.php#install_viewer
http://www.birt-exchange.org/org/devshare/deploying-birt-reports/169-placing-jdbc-drivers-for-birt-and-e-spreadsheet-reports/
http://www.eclipse.org/forums/index.php/m/505462/

2009年9月18日 星期五

環島後記


行程總覽

Date
From
To
Hotel
Distance(Km)
Time (hh:mm)
Avg. Speed(Km/hour)
2009/9/8
台北市
通宵金沙屯
誼園民宿
136.11
7:28
18.23
2009/9/9
通宵
嘉義市
嘉義教師會館
151.63
8:04
18.80
2009/9/10
嘉義市
潮州鎮
南峰旅社
165.38
8:39
19.12
2009/9/11
潮州鎮
枋山
台灣映象園
51.58
4:04
12.68
2009/9/12
枋山
台東市
馨園旅館
116.80
8:30
13.62
2009/9/13
台東市
玉里鎮
信義歐風民宿
94.92
6:12
15.31
2009/9/14
玉里鎮
和平
凱鑫山莊
143.35
7:52
18.22
2009/9/15
和平
頭城外澳
蔚藍海岸民宿
101.62
7:07
14.28
2009/9/16
頭城外澳
台北市

118.94
8:05
14.71










Total(Km):
1079.33



支出總覽

Date
Food& Drink
Hotel Expense
Medical Expense
Other
Subtotal
Remark
2009/9/8 430 1000 0 0 1430
2009/9/9 519 500 400 849 2268
額外添購護膝肌樂充電器手套
2009/9/10 515 700 0 20 1235
   
2009/9/11 460 800 890 0 2150
住宿費用含關山山水居飯店休息三小時
2009/9/12 448 1480 470 20 2418
2009/9/13 581 1200 0 35 1816
2009/9/14 305 1400 0 380 2085
額外添購護膝, 電池
2009/9/15 465 1000 0 15 1480
2009/9/16 478 0 0 0 378
Subtotal:
4101 8080 1760 1319
Total:
15260

環島行程第九日 - 外澳到台北 - 北濱公路慢慢逛回家

由宜蘭頭份出發,沿台二線濱海公路,進台北縣貢寮、瑞芳經基隆暖暖,於八堵接台五線途經汐止南港進北市河濱自行車道返家
騎乘里程: 118.94km
騎乘時間: 8小時 05 分
平均時速: 14.71 km/hour
當日支出: 378NTD

環島行程第八日 - 和平到頭城外澳



由花蓮和平出發,續行蘇花公路,進宜蘭南澳、東澳、由蘇澳岀蘇花公路;轉台二線濱海公路,經五結、壯圍,至頭份外澳落腳

騎乘里程: 101.62km
騎乘時間: 7小時 07 分
平均時速: 14.28 km/hour
當日支出: 1480NTD

行程至此已近尾聲,剩下的路程,一天走完太趕,兩天又稍少,決定就不趕路了,以輕鬆的心情邊走邊玩。今天行程有三座山頭,翻越第一座山頭,高度歸零後抵達宜蘭南澳,接著得重新爬上第二座山頭,高度再次歸零後抵東澳,第三座山頭高度最高,最後下滑至蘇澳出蘇花公路。