l

2013年3月31日 星期日

2012永和央圖台灣分館公園

Mar. 28 22:03~22:23

永和中央圖書館台灣分館所在位置有一個還算大的公園,公園內闢有給狗狗玩耍的區域,每逢假日這裡都有不少狗狗愛好者帶著他們的寶貝來此交流。Teddy沒有養狗,是來這裡看免費的XD。

螢幕快照 2013-03-28 下午10.08.28

螢幕快照 2013-03-28 下午10.07.42

 

好多柯基犬,三星連線很棒

螢幕快照 2013-03-28 下午10.06.54

 

這位老兄,你到底要聞屁屁聞到什麼時候啊挑眉質疑

螢幕快照 2013-03-28 下午10.16.39

 

很可愛的小柯基,好想帶一隻回家啊。

螢幕快照 2013-03-28 下午10.08.47

螢幕快照 2013-03-28 下午10.19.08

 

看我飛撲,好快的速度啊。

螢幕快照 2013-03-28 下午10.20.29

 

人類也來參一腳,看我蓋布袋神功微笑

螢幕快照 2013-03-28 下午10.07.28

 

趙驚人!這位阿伯肩膀上放的是羊還是狗啊不要告訴別人

螢幕快照 2013-03-28 下午10.07.58

螢幕快照 2013-03-28 下午10.08.14

 

公園的另一角還有爬蟲類愛好者的聚會,這是蜥蜴。

螢幕快照 2013-03-28 下午10.09.13

 

玩蛇的正妹,吸引不少小朋友圍觀很棒

螢幕快照 2013-03-28 下午10.09.20

***

友藏內心獨白:生平第一次同時看到哪麼多隻柯基。

2013年3月30日 星期六

2012台北市客家文化主題公園(下)

Mar. 23 22:54~23:18

看到這片稻田別以為來到了鄉下,這一集還是客家文化主題公園。公園內有一個小梯田,每一街梯田都種了不同的農作物。在都市中可以看到梯田真的是非常有意思。

螢幕快照 2013-03-23 下午10.55.26

螢幕快照 2013-03-23 下午10.56.06

螢幕快照 2013-03-23 下午10.55.35

 

梯田旁邊由一個樓台以及水車。

螢幕快照 2013-03-23 下午10.55.47

螢幕快照 2013-03-23 下午10.55.57

 

遠望公園。

螢幕快照 2013-03-23 下午10.56.23

 

梯田,種稻、種菜、種甘蔗,而且都長得很好耶,不容易很棒

螢幕快照 2013-03-23 下午10.56.39

螢幕快照 2013-03-23 下午10.57.18

螢幕快照 2013-03-23 下午10.59.48

 

看一張全景圖。

螢幕快照 2013-03-23 下午10.57.03

 

公園中還有一個小 水溝 河流。

螢幕快照 2013-03-23 下午11.00.01

 

客家文化主題公園緊鄰著河濱公園,透過跨堤平台串連起兩地。

螢幕快照 2013-03-23 下午10.58.27

螢幕快照 2013-03-23 下午10.58.41

螢幕快照 2013-03-23 下午10.59.04

螢幕快照 2013-03-23 下午10.59.23

 

河濱公園也很漂亮。

螢幕快照 2013-03-23 下午10.59.16

***

友藏內心獨白:車友騎經這裡可以進來公園逛一逛。

2013年3月29日 星期五

[演講] 例外處理壞味道與重構

Mar. 28 20:59~21:56

螢幕快照 2013-03-28 下午9.56.20

今天下午到北科大資工所專題演講課程給個talk,題目是:Bad Smells and Refactorings of Java Exception Handling Design

Teddy首先介紹了幾個常見的例外處理壞味道(exception handling bad smells),包含:

  • Ignored checked exception
  • Unprotected main program
  • Dummy handler
  • Nested try block
  • Spare handler

接著說明透過以下例外處理重構方法來移除上述幾個例外處理壞味道:

  • Replaced ignored checked exception with unchecked exception
  • Avoid unexpected termination with big outer try block
  • Replace dummy handler with rethrow
  • Replace nested try block with method
  • Introduce checkpoint class
  • Introduce resourceful try clause

螢幕快照 2013-03-28 下午9.19.19

在分享的過程中Teddy問了好幾個問題,原本以為都沒有人會答對,沒想到當Teddy問了下面這個問題時,居然有一位學生答對了不要告訴別人請問下面這段例外處理程式(寫在catch裡面的程式瑪),這種寫法有什麼問題?鄉民們不妨也一起來猜猜看。

螢幕快照 2013-03-28 下午9.29.40

答案揭曉:在catch clause中提供alternative方法(替代方案),相當於retry(重試)一次原本try clause裡面primary方法。但這種例外處理的寫法,只能retry一次,如果要retry很多次,就會產生好幾層的nested try block,而nested try block是一種例外處理壞味道。

所以Teddy建議套用Introduce Resourceful Try Clause這個例外處理重構方法把程式改成下面這個樣子:

螢幕快照 2013-03-28 下午9.34.51

***

例外處理重構到底有沒有用,在2006年Teddy做這個研究的時候,有一位碩士班學弟(在職生,在業界有多年的工作經驗)利用這個方法重構了一個正在使用的銀行授信系統。以下是重構之後的成本效益分析。

在重構之前,先收集一下這個系統在2005年的時候由使用者回報的錯誤前三名,並統計各項問題發生的次數。

螢幕快照 2013-03-28 下午9.42.19

 

這是例外處理重構之後連續觀察四個月的結果,實驗證明原本系統不穩定的問題已經被解決了。

螢幕快照 2013-03-28 下午9.42.34

 

不包含註解該系統原本有14150行程式,例外處理重構動到了371行程式。原本系統有855個catch clause,例外處理重構動到了其中的21個。簡單的說,大概只動到原本系統不到3%的程式碼,便可有很好的強健度改善成效。

螢幕快照 2013-03-28 下午9.38.25

把成效換算成金錢,一年最保守估計至少省下36,100 USD(1百零8萬新台幣)的維護費用。

螢幕快照 2013-03-28 下午9.38.43

***

演講投影片放在「搞笑談軟工Facebook」,有需要的鄉民們請自行下載服用。

***

友藏內心獨白:例外處理真的不好搞啊。

2013年3月28日 星期四

[2013] 搞笑談軟工十大經典名片回顧

Mar. 27 21:57~23:00

螢幕快照 2013-03-27 下午11.05.00螢幕快照 2013-03-27 下午11.06.36

畫面節錄自:YouTube

***

2012年3月底Teddy看了搞笑談軟工部落格的文章點閱統計(請參考《搞笑談軟工十大經典名片回顧》),以下是當時點閱率前十名的文章。

image

[上圖是2012年統計累計點閱率前10名文章]

一年過後,Teddy又再次查看一下那些文章排在前10名。

螢幕快照 2013-03-27 下午10.11.45

[上圖是2013年統計累計點閱率前10名文章]

窮人的選擇:VMWare Player vs. VirtualBox」繼續蟬聯第一名,原因應該還是去年Teddy所猜測的,因為許多迷路的鄉民在Google用WMWare與VirtualBox這兩個關鍵字搜尋資料,不小心連到這篇文章。

第二名由新同學「薪水太低」獲得,本篇也算是Teddy的「嘔心瀝血」之作,而且獲得搞笑談軟工有史以來最多的讚(528 + 1 個讚)。獲得這麼多個讚,連Teddy自己都嚇了一大跳熱戀

螢幕快照 2013-03-27 下午10.21.33

 

第三~五名都由HTC One X系列文章獲得,分別是「HTC One X之我現在只是想打電話呀」、「HTC One X之真的可以充電耶」、「HTC One X之發現一個bug」。這三篇文章排名在前的原因想必也是因為很多鄉民用HTC One X作為關鍵字搜尋的緣故吧。

去年的二、三名「Agile Workspace」、「其實軟體人才很缺…嗎?」今年排名下滑變成第六、七名。不知道鄉民們有沒有發現一個靈異現象,就是這兩篇文章去年的累積點閱次數分別是1407與1342,怎麼會過了一年後居然變成1377與1201,瀏覽次數怎麼會隨著時間而減少哩?!這算是Blogger的bug嗎?

第八名由「弄假成真的文化」獲得,這也算是「時事題」,跟上當時作假帳的新聞風,所以擠入前十名。

第九、十名分別是「過勞死之軟工無用論」與「加班,加班,我愛你」,去年排名分別是第四與第五名。

***

分析這兩年的排名,Teddy得到以下幾點提高文章點閱率的結論:

  1. 標題取的好(和流行趨勢扯上邊)。
  2. 罵人罵得兇。
  3. 技術含量低。沒寫錯,是「低」而不是「高」挑眉質疑

***

友藏內心獨白:一年分析一次還滿有趣的。