2015年2月26日 星期四

病毒說走就走

2015/2/26 22:58-23:23

這週學校終於開學了,選了三天早上的課,不能偷懶十點才到學校了。
今天是北科大軟體生命週期第一次上課,上課人數比我預想的少很多,資工系的課有三分之一是我們實驗室的學生,其中有四個學弟是被我和Mars騙進來的,Teddy的課每一堂收穫都很多,把任何一種軟體觀念利用End-to-End的方式講給你懂,就連朽木也能被他雕成神木。

===

我們家的小狗狗-錢錢,
在2/22這天,病情持續加重,一天比一天虛弱,到今天竟然連站都站不起來,把牠扶可以站立,但牠只要試圖想要走動就會跌倒,腳瞬間無力,身體直接墜落,碰到地上還會發出巨響的那種摔法。
看到牠這種狀況,總覺得牠可能撐不過今天,但今天星期日,打了好幾間寵物醫院都沒有開,好不容易上網查到了評價還不錯的福來動物醫院,星期日下午六點竟然有營業!我跟弟弟五點四十就在醫院等開店。

醫師幫錢錢做了兩項檢查,一項是檢查犬瘟,另一項檢查腸病毒,檢查結果是得到
犬小病毒腸炎呈現陽性反應
犬瘟呈陰性

醫師說這兩種檢測的病毒,都是致死率很高的病毒,如果幼犬沒有打預防針,得病的機率很高,而且得病的幼犬,只能靠打點滴補充營養,靠自己得體抗力和病毒對抗,通常要3~7天度過危險期,如果治療過程中恢復狀況良好就可以提早出院,如果住院7天還沒有起色,那就活的機率也很低。

聽到這樣講心裡也還滿緊張的,但是當下想到錢錢已經自己和病毒抵抗四天,也都撐過來了,突然就有很大的信心覺得牠能熬得過去。

醫師還有詢問我們需不需要打干擾素,干擾素可以提升存活的機率,但是無法保證到底存活機率到底會提高多少,干擾素一次療程3天共3針,1針800,3針共2400元,看個人經濟許可再決定是否需要注射。

2400對我來說也是不小的負擔,再說我很對錢錢的抵抗力很有信心,最後決定不打干擾素。

三天後的今天,錢錢戰勝病魔,平安出院啦!老媽每天都有去關心錢錢,然後用LINE和我們一家人實況報導,住院第二天老媽去看牠的時候,錢錢(輕輕的)咬媽媽的手,醫師說是因為老媽都不帶她回家的關係,我們全家的笑翻了XD

但是這一是治療下來費用也是花費不少

第一天檢查費用(1500元)+治療費用(900元) 共 2400元
住院三天費用共 3600 (一天1200元) 

總共花費 6000 元


不過有救回來全部都值得!沒有救回來....也不會後悔白花錢啦XD



預防勝於治療,還沒幫家裡的毛小孩打預防針的快點送去醫院打一針吧!

2015年2月21日 星期六

病毒說來就來

2015/2/21 22:10-22:49

我門們家裡有一隻狗狗,牠叫錢錢,是隻五個月大的紅貴賓,我們一家人住在彰化,爸媽難得今年過年在基隆的親戚家過圍爐,錢錢上來基隆的前兩天,和平常一樣活蹦亂跳,始終要跟在老媽的腳邊。

第三天早上(大年初一),錢錢突然和開始吐黃色的水,精神稍微不濟,出去帶牠散步還可以稍跟著我跑步,原本要繼續走春的我們這一家,也因為錢錢狀況不佳,決定打道回府,回來錢錢熟悉的彰化家裡休息,我媽媽的神情看得出來很為錢錢擔心,於是我為了想安撫老媽,開始當起假獸醫,於是問了Google大神,狗狗吐黃水是因為得了胃炎,狗尾會自己禁食個一兩天,只要注意狗狗有持續喝水,不要讓牠脫水,就不會有生病危險。

回到彰化立馬帶錢錢看醫生,醫生給錢錢打了一針,然後開了一瓶和眼藥水瓶差不多大小的藥粉,醫生吩咐要照三餐餵錢錢吃藥。

剛開始餵的前兩次,錢錢拉出一大灘的黑水,純黑色,看起來不像血,我持續地安慰老媽這看起來不像血。然後心裡祈禱錢錢趕快好起來。

錢錢越來越虛弱,看到我們也不會搖尾巴了,而且牠還一直找地方躲,似乎是不想讓我們看到牠虛弱的樣子。今天一整天,牠都沒有吃東西,只有大量地一直喝水,還會用前腳去碰水讓前腳保持濕潤。


第四天一早,媽媽早上睡起來找不到錢錢,急著問著還在睡夢中的我:「錢錢去世了嗎?」我很淡定地說:「牠要稍微找一下,牠一定是找地方多起來了。」說完我又睡死了。

起有昏睡到中午,起床關心錢錢的狀況,老媽媽說錢錢有搖尾巴,精神狀況有比昨天還好,但是我試著餵錢錢吃東西,牠還是不肯吃,我就偷偷地趁牠喝水的時候,把磨成粉的飼料加進水裡混這著吃,看著牠有持續喝著飼料水我有稍微安心一點點。今天也沒有吐和拉黑水,但是精神狀況不好,除了起來喝水,其餘時間都躺著。

回想發病前的的飲食,錢錢好像也只有吃到貓飼料,平常的飲食也只有吃牠自己的狗飼料,一直想不同通錢錢怎麼會得腸胃炎。

新年新希望:錢錢趕快好起來!

P.S. 因為沒有帶電腦回家,平板打網誌初體驗,我的脖子酸好酸啊!

2015年2月14日 星期六

一年前的我在旅行-勇氣11班 Day 2

2015/2/14 14:29-15:29

第一站  早安-內灣


早上起來的內灣只有9度,屋子裡面比外面還冷,外面的太陽溫暖了整個大地,在民宿吃完早餐之後,前往有名的內灣吊橋。





很亮很溫暖的太陽,看了風景發了個呆,前往下一站!




第二站  市區的北新竹


北新竹,剛出火車站的時候以為會是個很平凡的都市,
走沒多久,竟然發現有一區非常有國外的氣氛。



吊橋兩邊的道路是復古風的石頭路,有身處異國的FU。



影像博物館,現在的博物館類型有真多啊!



影像博物館外有一幅很大的3D圖畫,要脫鞋才能進去唷!



第三站  崎頂-美麗的細沙海岸


在區間車上遇到很多不同組的夥伴,好康倒修報,大家都要去的站一崎頂。



一個荒涼的車站,沒有閘門,沒有購票窗口,沒有站長



一群人把背包直接丟在車站的長椅上,往海邊出發!


翻山越嶺加上穿越公路,走了不短的距離,終於見到浪花的蹤影。





我最喜歡的地方就是海岸,盯著海水看呀看呀不知不覺就下午了。



綿綿細砂,一腳踩下去陷下去的感覺有一點點噁心XD。



被海水持續沖洗的細沙


第四站  台中港


雖然骰到這站,但因為時間已經太晚,所以賴皮偷吃步,直接在區間車上透過窗戶拍到台中港站,未下車繼續通往今日住宿目的地。


第五站  彰化-滿街的肉圓招牌

在崎頂站一不小心待太久,下午四點多了還沒有吃中餐,肚子已經餓扁了




在彰化車站附近想隨便找個攤販吃,先填飽肚子再說,誰知道走來走去都是肉圓



於是我們這整組阿,只好吃肉圓先墊個肚子。

第六站  社頭-我的家鄉

嘿嘿,就是這麼巧,今日的過夜地點就是在社頭----------旁邊的田尾,
離這邊最近的火車站就是社頭站,帶著肚子還沒有填飽的組員們,
來吃我們這邊道地的蕭記蚵仔煎,把今天沒吃到中餐一次吃回來!

坐著計程車,往今日的背包客棧前進,到了背包客棧已經晚上七點了,
開始每天例行的分享晚會,每一場分享會分享完都大概會是晚上十點,
夥伴們揪一揪出客棧續攤冒險。



填最有名的就是公路花園了,但是我在彰化這麼久,也是第一次有機會欣賞晚上的公路花園,花園裡放滿了各種顏色的燈,毫無路燈的道路,也被這些花燈照得頗亮。



不免來玩個手機照相功能,拉長快門時間!不小心就拍到了流星



因為已經很晚,我們一群人都用氣聲說話,花園附近有一個人寬度的小道路,供我們隨意穿梭。









崎頂是我今日的最愛


2015年2月7日 星期六

當學生的福利

2015/2/7 15:43-16:34

寒假過到現在,一直沒有打網誌的靈感,原以為寒假開始會比較輕鬆,誰知道...原來沒有修課和研究的擋箭牌,反而須全心全力為實驗室"苦力",當學生就是什麼都要學(做),室內裝潢、拉網路線、刷地板、兼當室內設計師、拆隔間(Partition),唯一稍微幸福的事情就是使喚學弟一起打雜XD。

上學期在北科大敏捷與精實開發的課程中,因為被Teddy指定的題目太好,在期末報告的效果還不錯,順勢被Erica拐去擔任C. C. Agile #30的分享者。出奇不意地接到這份邀請單,我和我的實驗室死黨Mars只有興奮,後面Erica還說,大部分的參加者都是已經在社會工作的工程師,聽到這邊我們的情緒瞬間由興奮轉成緊張...(我和Mars生平第一次接觸資工系的課程就這麼玩這麼大,當然會緊張得要死啊)

這個星期四,分享會進行得還算順利,一定要謝謝活動開始之前,一直給我們建議的Teddy和Erica,和Mars在準備的過程中細到這張投影片該怎麼講都練好了XD,每次彩排就有更不一樣的靈感,想盡辦法把所有的專業名詞和專業理論翻譯成大家比較好懂的具體生活例子,這項技能也是上Teddy課程中學到的。

相信有上過Teddy課程的大家,一定都懂Teddy的上課方式,就是把一堆乏味的專有名詞定義轉換成生活上某件事情或某個東西的具體例子,而且當Teddy面對別人提出的問題,也一樣會把問題轉換成生活中的例子比喻,講到最後雖然好像很有道理,到最後因為無法舉個具體例子反駁Teddy,所以就只好帶有一點不情願地暫且認同Teddy,於是乎在修課的過程中,我和Mars就暗自許下一個願望,在課程結束之前,能反駁成功Teddy一次,最後雖然沒有達成願望,但至少學會了「看到黑影就開槍」這個技能。

「很高興今生有幸擔任C. C. Agile #30的分享者」本來要拿這句話當作活動的開場白,但因活動實際開始的時候,場面太大Mars被嚇到了不敢亂來,所以改成比較官腔的講法。在這次活動進行中有兩個與參與者的小互動,我跟Mars還很怕無法掌控的現場狀況,怕小互動會因為太無趣,造成參與者的反感,但因為Erica的一句話讓我放心許多。

Erica:「你們不用太緊張啦!很多事情他們會自然發生,如果有狀況我會協助你們。」

有沒有看到一句很文卿的話?沒有?那我把它放大一下「很多事情他們會自然發生」,就是這句阿,超帥的一句話,把我的緊張情緒都打飛了XD

在活動後和很多職場前輩們聊天,學到很多不同的經驗,結果最後還真的變成「很高興今生有幸擔任C. C. Agile #30的分享者」了。

擔任分享者領到一個「例外處理」馬克杯,有一種拿到軟體工程人員認同證書的感覺,杯子一直對我說:「歡迎進入軟體工程的世界!」




學生可以用很便宜的費用享用到很多資源,圖書館的書任你借,學校的課任你上(在北科一學期可以上到Teddy的課54小時),一學期學費只要三萬多還可以到處騙吃騙喝,一定要好好珍惜當學生的時候啊!



不小心成為經泰迪軟體認證過的軟體人

2015年1月31日 星期六

程式的強健度等級

2015/1/31 20:23-21:22

今天來講一下程式的強健度等級,強健等級分為四級,分別為等級零、等級一、等級二、等級三,共四個等級。





等級零 (G0):
沒有任何例外處理,一般工程師在時間緊迫的情況下,只會實作正常流程,毫無考慮及處理異常流程,當異常流程發生時運氣好則程式崩潰,工程師可直接複製情境解決問題,運氣不好不知道怎麼複製情境,也就只能燒香拜拜,祈禱它下次不要再出現。

等級一 (G1):
異常發生就須通報使用者且終止程式。問題發現的越快也就能修正的越快。

等級二 (G2):
假設現在有個函式無法達成所規範的規格,就必須把狀態回復到還沒執行這個函式的正常狀態。

等級三 (G3):
是個使命必達的FU。達成目的的方法有很多路徑,執行一個路徑失敗,就換成另一種路徑試試看;或者一直重試,試到規範的次數,如果還是失敗才不得放棄。



強健度等級是個逐步升級的過程,如果升級不成,就只能降級處理啦!原本強健度等級3的如果無法使命必達,只好採取等級2的策略,將狀態恢復到還沒執行函式的正常狀態,降等級2不成就只好繼續往等級1降,將異常回報給使用者且終止程式。


以上圖片擷取自



更精采的內容請參考Teddy的博士論文<<Exception Handling Refactorings: Directed by Goals and Driven by Bug Fixing>>,如果不想看英文版也沒關係,還有特別整理過的中文版<<例外處理設計的逆襲>>


原來例外處理還有這麼深的學問啊!

2015年1月24日 星期六

一年前的我在旅行-勇氣11班 Day 1

2015/1/24 10:05-11:28


上一年的這個時候,參加我在旅行所舉辦的鐵道大富翁活動,這個活動為期5日,在出發當天會在台北車站集合,總共約70個人,要分成兩大組,抽籤決定將會往東部出發或是往西部出發,再來會抽小組員,每一個組別大概4~5人,每一個小組將會一起遊玩整整五天,每個晚上東部組和西部組都有固定的住宿據點,玩了一天之後,晚上回到住宿的地方,會有個分享晚會,每個小組分享旅行的故事。一個完全沒有任何計畫的旅行就此展開了!!


我抽到了西部組,小組有四個旅客外加一位紀錄組成員。


第一站 鶯歌

對這邊的印象只有一堆陶瓷和土,曾經因為學校的參訪活動,去過陶瓷博物館做陶藝,對於鶯歌完全不熟,從後站走出來走著走著遇到一位阿伯,問阿伯這附近有沒有什麼地方可以去,阿伯和我們一群人說可以去後面的鶯歌石,順便念了我們幾句說:「一群人出來什麼都沒有計畫是要玩什麼?像我出去玩都會先計畫,到了那邊再把東西一次玩遍!」,我有稍稍頂嘴一下,然後就索性不理他。

到鶯歌石需要爬一段小步道,在步道的山腳下,有一間廟


廟本身不怎麼有趣,有趣的是這裡有位慵懶的門神


剛好打擾到門神睡覺的時間,睡得十分熟,怎麼搓牠都沒有反應,和門神打過招呼之後往鶯歌石的方向出發


爬了不短的步道


終於到了鶯歌石


鶯歌石很大一顆,坐落在山頭,這裡也是個眺望台,可以看遍整個鶯歌鎮。

小憩一會後,往另一邊的山腳下山,走著走著,發現古老的控窯住宅



還有個小公園


鶯歌旅程到此結束。

第二站 內壢
火車站坐落在馬路邊,熱鬧區域,馬路上的車流猶如東區,交通阻塞頗嚴重,行人只能避在小小的馬路邊,在這邊吃了中餐便往下一站出發。

第三站 北新竹
火車站附近只有高樓大廈和快速道路,人能走的路都是只有天橋路




第四站 竹中
充滿綠色植物的鄉村,彷彿身在叢林,沒有高樓大廈,只有高大樹仔。






第五站 九讚頭

站長室關門大吉,可以隨意行走月台間的鐵軌,周圍只有叢林和一條山路。因為遲遲等不到火車,所以組員們決定搭便車,對我來說可是一大挑戰啊!搭便車總覺得有一丁底不自在。



組員在攔便車的景象


今日最終站 內灣

便車司機載我們從九讚頭直達內灣,到的時候才下午六點多,老街裡的所有小店都已休息。



晚上七點到達民宿,開始今晚的分享會





2015年1月17日 星期六

練習程式的道場-Coding Dojo

2015/1/17
15:31-15:39, 8 minutes
18:51-19:13, 22 minutes
19:15-19:22, 7 minutes
20:13-20:47, 34 minutes

Dojo從日文翻譯而來,是道場的意思,Coding Dojo的活動,由Dave Thomas最先提出。

Dave Thomas 說:「In software we do our practicing on the job, and that's why we make mistakes on the job. We need to find ways of splitting the practice from the profession. We need practice sessions.」

中文意思:「我們都在工作的時候練習軟體,這就是我們為什麼在工作犯錯的原因,我們需要找到把練習環境和工作環境切開的方法,我們需要一個練習軟體的會議。」

Coding Dojo有一個wiki網站在這裡,裡面有介紹舉辦Coding Dojo須注意的事項,在Coding Dojo之中依活動的流程分成兩種Kata(Kata也是日文,是『形』或『套路』的意思,就像練習功夫的人,有詠春拳或螳螂拳,每一種拳法,都可以算是一種Kata):

***

1. Prepared Kata

準備式套路,指說一個人已經準備好問題和答案,在活動進行中,要讓在場的觀眾體驗解決問題的過程,報告者解題的每個步驟要非常小(Baby Steps),如果觀眾對於正在進行的步驟有疑問,可以馬上中斷台上的報告者,報告者講解清楚後,才能繼續下一個解題步驟。

要注意的是,在活動進行時,觀眾所提出的問題,不能與報告者所進行的步驟無關,舉例來說,觀眾不得要求重構某項功能,這些與功能性無關的要求只有在報告者帶完整個活動後,才可以提出。

2. Rendori Kata

亂鬥式套路,不用做任何的事前準備,只須將所要練習的問題帶來,活動開始的時候,會有一個主駕駛和副駕駛,一次只有兩個人在寫程式(Pair-Programming),每一組限制一段時間(Time-boxing),當限制時間到了,主駕駛回觀眾席,一個觀眾變成副駕駛,台上的副駕駛變成主駕駛,開始計時,時間到了之後,繼續換位,現場全部的觀眾的輪過一次駕駛和副駕駛時,活動才算結束,台上的人也要遵循Babay Steps,把自己的每一步,盡量表達給台下的觀眾知道。
活動過程中,觀眾只有在台上寫程式的人達綠條(Green bar)的時候才能提出問題或提供更好的建議,如果台上寫程式者遇到紅條(Red bar),觀眾就不能提問,因為台上的人必須要專注排除問題。
但因為大家都是臨時Coding,多少都會產生一種競爭的心態,想要在自己寫程式的回合中產生出最多且功能正確的程式碼,或者是時間到了還賴著不走,這時候叫就靠帶活動的人維持秩序啦!

***

其實在帶Coding Dojo活動的時候,大部分的人都容易犯一個錯誤,就是帶活動的人想要讓活動都在預期的時間結束,而在這預期的時間之中,會先事先做好一些準備,在活動開始的時候,希望把所準備的東西全部表達出來,但往往會無法預測台下會提出怎樣的問題。
要切記,Dojo活動志不在呈現結果或完成任務,活動的初衷是希望創造一個練習Coding的環境,大家可以在活動過程中彼此學習到Coding的技巧,寧願活動前進步驟緩慢,也不要因為想把活動帶完而跳步驟,即使當次活動沒有完成任務也沒有關係。

目前在網路上,可以找到許多的Kata題目,只要照著他們的步驟完成程式,就能學到不少東西哦!

這是一個保齡球遊戲,網站有PPT供下載,遊戲很簡單,只須按照PPT描述的步驟就能完成任務,大家可以來玩玩看。



與你分享的快樂勝過獨自擁有→愛唱歌的人都知道的那些事