Russel's profile-= 訓練登陸火星 =-PhotosBlogLists Tools Help

Russel Chang

Occupation

Windows Media Player

Blog Ads

Loading...

-= 訓練登陸火星 =-

Brick walls are there for a reason.
February 04

[R.I.P]聖嚴法師辭世...

 到現在我還沒辦法接受,一個讓人溫暖的長者就這麼離開了。
 他是聖嚴法師,法鼓山的創辦人。
 我跟他其實沒有什麼接觸,要說有,我很喜歡他那溫暖的笑容和充滿智者風範的言論,一個八十歲的高僧,從來沒有被人稱做「上人」或「無上師」之類的虛名,反而是很積極的,正向的,帶給台灣這充滿衝突的小島一點點溫暖。法鼓山沒有金碧輝煌的建築物,更沒有自己的電視台,他們默默的將佛教帶入人們的生活裡。
 
 甚至關心宅宅族的生活。
  
 即使是重病纏身,他仍然保持一貫的慈悲,他堅持不換腎,辭世後,聖嚴法師立下的遺囑中表示,辭世之後不發訃聞、不傳供、不築墓、不立塔、不立碑、不豎像,不揀舍利子,並以火化植葬方式,實現生前推廣的禮儀環保...
「無事忙中老,空裡有哭笑,本來沒有我,生死皆可拋。」
 總是有人把他跟某個後山之王搞混了,但我並不在意,他的辭世是台灣最大的損失,我想從此以後,台灣再也沒有令人景仰的佛教人物了。
 再見,聖嚴法師。
 
January 05

[CSI] Dear Mac...

 雖然早就知道Peyton就要離開CSI:NY的熟女團隊,但是看到Mac在讀那封Dear John Letter的時候,還是有種不捨的感覺...
 我很喜歡她的英國腔,據說紐約迷並不喜歡這套。不過至少他不是掛掉(算編劇有良心,讓Mac不會在喪偶之後又要再承受一次這種痛苦,編到最後變成賭神也不太好看)。
 4x04的片尾,Mac蹺班到他兼職的小店去當Bass手,主唱的歌超好聽:
  
  I'm not in love,   
I do think I have tried.
It cost too much,
I don't have the money or the time.
Cause me to fall apart once or twice,
It's worse than lack the beautiful mess.
In a perfect world we never came,
Oh, we never left.
Do you remember what we were?
Do you find out what regret is for right before you die?
(Chorus)
Just like when you have fallen,
I will be there when you rise.
In all kinds of weather,
I will be there when you rise.
Ohhh... It's the most peculiar feeling,
I don't know what's coming.
After we die,
I will be there when you rise.
 看Mac和Stella那閃亮亮的眼神...暫且稱呼那個眼神叫做「夥伴」的眼神吧!
 Mac加油吧!聽說第五季編劇會「補償」你的(大雷),明天還是要繼續伸張正義喔!
 (謎之音:吵架也要記得女朋友的名字嘿!)
 另外,為什麼宅男亞當可以賺到那麼正的女朋友?
  
December 08

[DP]給自己找麻煩的實錄

 軟體開發到一定程度之後,就會發現原本的寫法總有些很怪的瑕疵,之所以稱為「瑕疵」,原因不外乎「程式可以跑,但是可讀性很差」,最後程式就會黏著在很奇怪的地方,最後的結果就是程式更動變得困難不易維護,臭蟲發生的機率也大大的提高。
 
 最近在寫一支程式,其實是從別人那裡接手的...看得出來這個程式開發得很快,不過也拜他所賜,也讓我玩了一些東西。
 第一個階段的程式大概是這樣的感覺:Step1
  大概描述一下好了:這兩個物件,另外再去呼叫了Web Service來取得資料,因此基本上這兩個物件裡的兩個Operation做的事情是一樣的,但是分佈在不同的物件裡。試想一種情況:如果這兩個Operation回傳的值不同了,或者名稱改變了,參數調整了,甚至消失了,那維護人員第一件事就是打開整個專案,並且搜尋整個專案,把原本的Method改成新的名稱、參數,甚至重新處理。
 這不是個很建康的方法,其實整個方法描述下來有很多地方可以改善。因此當我接手這個系統的維護時,我第一件事情,就是檢討這個Model是不是有值得修改的地方。
 
 因此我改了另一個方式來處理,這個方式,會用到幾個不錯的觀念:
Step2
  我把所有的WebService Method用另一個物件包了起來,並且叫做Web Service Adapter,所有的物件如果要去呼叫Web Service,一律透過這個Adapter去呼叫。
 這個方法的優點是,把分散的各地的Web Service Method收歛在自己可以控制的範圍內(就是那個Adapter物件),但仍有一個問題:Adapter物件也可能會產生變數調整、物件改名等問題。
 這個問題很難解決,但先聖先賢們發展一個理論,叫OCP(Open-Close Principle),大概的基礎就是保持物件內的彈性,並且不會因為修改Method產生困擾。保持彈性的方法有很多,基本上大原則就是不要修改方法,而以多型或者覆載的方式來處理,如此一來就能保持物件之間的彈性,維護時也只要針對物件去維護,乾淨又整齊。
 把物件抽出來之後,更好的優點就是:如果Web Service回傳的值是需要另外處理的,也可以在Adapter物件裡統一處理,這個優點真是令我感動,這樣一來,去使用這些Method的物件可以更專注在自身所需要的資料,而不用再另外去分心這些資料是不是物件所需的資料。
 
 再來就是程式內部的處理了,在第二階段的處理上,我加上了一個偷吃步的方法:Try-Catch。這個方法讓我碰了一個釘子,因為Try-Catch雖然可以讓程式更乾淨,因為我只要是錯誤的訊息,可以一律拋出一個Exception,那呼叫的物件只要用Catch包上之後,就可以統一來處理不正確的訊息,但是產生了兩個問題:
 一、Try-Catch會降低整體的效能,我看過一個很傳神的說法,Try-Catch就彷彿是奔馳的高鐵上那支緊急暫停拉把,加上去之後就像是拉下緊急暫停拉把...
 二、有可能會低估了原本丟出來的Exception的緊要程度,當然啦!如果是針對每一個Exception來做處理,那又另當別論了。
 (很可惜我沒有留下這個階段的程式,其實我很愛這個階段的程式碼,乾淨到只要專注正常的流程,只是效能的關係不得不放棄,這讓我惆悵了好一陣子。)
 
 第三階段的修改,就是把Try-Catch全部拿掉,雖然說回到第一階段,但是在Adapter物件上,我補上implement IDisposable
 這個動件使得我每次去呼叫Web Service可以有一個統一去Dispose Object & Reference的地方,這個東西在增進效能上無關痛癢,但是在資源的使用上幫助就很大。以.Net Framework來說,去Dispose Web Service算是幫大家一個大忙(請原諒有點無能的http.sys以及IIS
 
 當程式寫完交出去,我大概花了將近一個月的時間,感覺是很長久,實際上後半段(約三個星期)都是進行這部份的調效。會有這種想法其實跟大學時留下的習慣有關:我習慣把程式寫得很短,用各種方式來處理程式,並比較其中的優缺點,唸研究所之後,買了一本「聖經」,叫「物件導向設計模式」,這本書根本就是把我打得暈頭轉向的一本書,但是隨著工作經驗的不斷累積,書裡的程式竟然慢慢的開始對我微笑...
 所以我把書放在公司裡,免得嚇到我了...
 
 下次會介紹兩個簡單的Design pattern,State以及Strategy,我覺得Pattern雖然有很多,這兩個卻是最容易進入Pattern邪惡的殿堂...科科科。
December 04

[故事]我聽來的故事 - 3

 這波「棄工潮」不少人有意無意的被刷了下來,有人是無端被刷到,有人是公司惡整,當然也有一些所謂「共體實奸時艱」的策略調整出現。
 我一個朋友跟我說了一個故事:
 
 他小時候被丟到鳳山一間叫「正中」的學校唸書,那間學校不少名人都去唸過,但更多的是出來之後變名人的案例,當他唸了兩個月之後,發生了很多不愉快的事情,於是他就決定要離開這間學校,過一些比較像他想過的生活。
 他要休學的時候,他的長官跟他說「勸你還是別吧!有很多人從我們這個退學之後,下場都很糟...」他的長官馬上列了十幾個很不好的例子,而且大多都是他聽說過的例子...
 
 其實,如果是我,就會想「媽的這間學校就光收這種傲骨學生....-_-」
 
 他退學的決定下了之後,他也沒多想什麼,結束鳳山短暫的生活返回台北。
 
 十年後,同樣的事情再度發生,他的工作不順利,明顯產生瓶頸,於是他寄了信給總經理,告訴他離職的原因以及預定的時間。
 總經理花了大把大把的時間,證明離開現在的工作並沒有比較好,當時他因為這個工作還去看了身心科的醫生,總經理竟用心踩在這隻痛腳上,直言如果有這方面的問題,其他公司「未必願意收留」。
 於是他很快的就離開現在的公司,並且在景氣還不能成為藉口前,找到了更好的發展空間,他不用再看身心科,不用刻意控制脾氣,不用在意客戶的臉色,更重要的是,他打開了另一扇窗,讓更多的光線照亮他的前程。
 
 我老闆說:「如果這件事是值得做的,就要勇敢去做」,我老闆是這句話的實踐家,而我朋友是這句話的證明。希望大家一切都安好,在這波浪潮中逆勢成長。
 
PS:最近工作有點忙,也沒什麼心情貼新的文章,未來會有一系列關於平台發展的文章,以及Design Pattern的研究心得,敬請期待啦~
November 13

不大不小的事 - 8

 這個單元已經變成半年報了...主要也是因為最近沒什麼空寫新的東西,但是有些不記錄不行的東西...
一、王永慶:
 這大概是我今年聽到最讓我震驚的一件事情了。
 我不認識王董,但是和台塑集團有一點淵源:在我唸高中的時候,我們全家幾乎是靠台塑集團在照顧,台塑集團對員工的照顧只能用無微不至來形容:我們家四處有台塑集團的保健、保養、書刊產品,甚至買Matiz都能打折。
 雖然他最後在油品這個東西上面讓自己有點下不了台(大煉油場,以及看不到的七折油價),但是我還是很感念他的幫忙。
 開放民眾悼念時,我和熊特地去林口向他致意...
 聽說有人哭著進去,相信我,這一定是真情流露。
 
 
二、11/7
 又到了一年一度的11/7了。
 還沒當兵前,不懂當兵究竟有什麼了不起的,但是這件事情真的可以影響人很久很久。對我來說更是格外的特別:可以說讓我體驗的所謂「如果再一次會不會有所不同」這句話。
 老實說,再一次,真的會不一樣,但是,如果可以,最好一次就做到好。
 剛梯A同協們,希望你們一切都好。
三、H!
 何瑞修回來了。
 
 好吧!我承認,上面不是何瑞修。AXN播完CSI:NY之後,接下來繼續播流氓CSI系列,老實說,看邁阿密系列只有一種「紐約實驗室是講道理的」的感覺,好啦~H真的很性格,但是要別的流氓來照顧你的小孩...這....
四、強者我同學:
 篩啊要辦個人展了,這件事滿讓我羨慕的,主要是因為一個人的研究成果能夠真正展示出來,這件事在我的工作領域裡面並不多見:至少我知道,沒有幾個人是真的會去鑑賞程式設計師寫的程式....
 在同學的婚禮上遇到了篩啊,他拿著相機在五桌的同學桌裡拍來拍去的,當然也免不了互相聊上幾句。問起她現在「會不會怕我」這個話題,其實我還覺得有點挖苦我的感覺。但是他的回答讓我覺得挺有趣的:「現在你比較有笑容」。
 以前我究竟是用什麼臉在唸大學啊!?
 BTW,大家有空可以去看看他的展覽。
五、CPBL:
 中信鯨解散了。
 雖然斷斷續續看了幾年的球,但是今年的黑米事件再次影響了中華職棒,沒想到米迪亞從籃球吃到棒球來,並不是帶來喜訊,反而是讓黑勢力更加深入職業比賽當中。
 最後台灣又剩下四隊職業球隊了......唉.....
 
by 
by 
Photo 1 of 54

說著說著秋天也快結束了.

Loading...

新的DVD上市啦!

Loading...Loading...

Urban Dictionary

Loading...Loading...