傻傻的我一直不知道研發替代役已經要開始找了,要不是詩芳跟建勳講到,我還真的一直都笨下去,運氣很好,我很痴呆,但是周圍一直都有貴人在幫助我。
開始投履歷了,一開始就是帕姬有跟我說 RealTek 的薪水非常不錯,她說她們含股票會有 150,我聽了很心動的,也說他們多媒體部門不錯,而我也一直抱著就是秉著自己的技術要拿命去換錢的心態,所以之前一直就是鎖定這一家了,帕菲又是在那邊當主管的,我想說要進去應該是沒問題的。上了 104 打開很久沒動過的履歷開始修改了一下,然後就去找了 ReakTek 的職缺,發現好像沒有完全適合我的,只有大致上好像可以做的,還是投下去了,但是過了幾天都沒有回應的。等了幾天之後,覺得這邊好像不是很順利,跟世梧學長的朋友聊過,想想應該是要多投幾家,於是就去多投了兩家,不過也都是沒有回音呢。
另外一方面,在履歷打開以後,就陸續有公司寄信來叫我去面試,之前就聽人說要去大公司比較好,比較穩定,另一方面我也是想著要找很賺錢的公司去賣命。而其中最大一家是凌陽(Sunplus),我也不知道那是幹嘛的,上網看了一下,還是不太清楚耶,不管,總之他們電話打來了,那就約定了面試的時間,這是距離上次到 Altek 面試之後隔了兩年的一個面試,早已經忘記面試的感覺了,我也不知道自己該說什麼,所幸面試官人很好,讓我聊得很開心,我也覺得自己有很順利的表達出自己的能力。他問的問題也許跟技術沒什麼關係,但是我覺得某些程度上是可以反應個人能力的。像是問我過去作過什麼,在這些計畫當中擔任的細節是什麼。另外他一開始也問我是不是很晚才開始找,我說是阿,他說因為像我這種履歷的人,應該老早就被找走了,這是讚美耶,感覺他對我印象很不錯,我聽了很開心,不過我真的是很呆啦,都不知道要開始找了。我問了薪水跟上下班時間,說一般是十點下班,薪水會接近五萬,我覺得是可以接受的,畢竟我喜歡寫程式,寫到幾點都沒差,薪水也是很好呢,以前的兩倍說。我想這是個很順利的面試,回研究室的途中很開心。
之後接到另外一個電話,是一個八方科技打來的,我看了一下是小公司耶,但是覺得多面試學經驗也不錯,其實我這個時候都有恃才傲物的心態,想說自己的能力總是可以去大公司的,小公司我去面試就是去增加面試經驗而已(也不想想自己手腳有多慢,大家老早就找滿了)。去到八方以後,進入大廳,最開心的是大廳竟然有兩隻恐龍化石!一隻是類似雷龍的東西,但是比較小,另外一個就是翼手龍。等待面試官的時候,我跟大廳的大姐在聊天,她說因為這棟大樓叫做翼龍,所以有放翼龍的化石(那我就不懂另外一個像是雷龍的是幹什麼吃的)。我問她那是不是真的,她笑了,說當然是假的,但是旁邊牆壁上有一個真的,我去看了一下,哇,超大,大概三層樓高,是平面的,就像是魚拓一樣的化石。
面試官出來啦,這邊講一下他是個大鬍子但是很斯文的人 :D。他一邊翻看我的履歷,一邊問些問題,他講話有點結結巴巴吧,好似不太確定要說些什麼,可能他也很久沒有面試吧。很自然的就聊天這樣,聊一聊,他說他們公司是作 IP-Cam 的,我是第一次聽到這種東西,說是跟 Web-Cam 一樣的東西,但是不一樣的是 IP-Cam 是直接插網路孔這樣,唷~現在科技真進步,什麼東西都有 @@"。他說雖然找我去是去作寫程式,但是大部分的工作內容可能在校調參數,說是很 duty 的工作,也許不像我所想像的那樣很多變有挑戰性。我說很謝謝他告訴我。然後他叫我去多投幾家(怎麼回事?orz)。他說現在這個時間,大公司可能都找滿了,但是還要我去多投一些大公司,因為通常大公司你不自己去找,他們是不會來找你的。叫我去多投一些,是他私人的建議的,說有能力的人應該要去大公司,但是如果我要去他們公司他還是會很開心。這是婉拒?我想他是講真的吧,因為我也覺得我不錯耶 :D ,然後我謝謝他的私人建議。好,我問了上下班時間跟薪水,薪水大概是四萬出頭,他說他們公司算是早下班的公司,一般來說是八點,他笑了,說不知道這算是好還是不好,我問他:「那你喜歡早點下班還是晚點下班阿?」他說:「現在的我會想要早點下班。」我說:「家裏有小孩了?」他又笑了:「恩。」又說:「年輕的時候,我也一樣覺得下班時間無所謂的,但是現在有小孩就不一樣了。」我說:「早下班很好,我小時候爸爸都不在家。」面試就這樣結束啦,我想這也是一個很順利的面試。剛剛走出面試的房間,手機就響了,是上面那家凌陽通知我下禮拜去參加複試,恩。果然之前凌陽的面試不錯成功喔。我心情很好,離開大樓經過櫃台的時候,我很開心的跟大姐喊到:「嘿!我面試很順利耶!等我來這邊工作,我們天天見面阿!^O^」她哈哈笑。
信箱打開,陸續也收到一些小公司的面試通知,但是我都沒想要去,也都沒回覆,一直都還是對自己能找到好公司而自信滿滿,尤其是凌陽通知我複試以後覺得應該是很穩當了。對了,這個時候真的有感嘆的感覺,以前學歷掛交大運輸的時候,從來也都不會有公司找我去面試,然後放了很久很久很久的履歷,也只有一家公司看過而已,而且還是毫不相關的公司,104 寄給我的速配清單,永遠都是空白的。學歷改成清大資工以後,很多公司看我的履歷,然後也有很多公司寄面試通知給我,另外速配清單上面一直都有很多公司可以選。有的時候心裡不知道該做什麼感想,是應該開心還是應該難過都不知道。
過了週末到禮拜二,就去了凌陽了複試,去之前我是很開心的自信滿滿。開始面試以後,對方問的問題不多,而且有一些我不知道怎麼回答,他問我有沒有什麼問題,我覺得我都沒有問題,我心裡的想法是做什麼我都可以應付,沒有問題,他就是一直低頭看我的履歷,大部分的時間都是沉默,有的時候會問我問題,我答個兩句他就會打斷我說好好好,他大概是個很忙碌的人吧。後來我想到一個問題,我問他:「你們為什麼都不考人寫程式?這樣不怕找進來的人不會寫嗎?」他說:「一般履歷上面寫的,我們就相信是真的,我們就是看履歷跟成績單,但是你沒有帶成績單。」複試大概二十分鐘就結束了,過程當中覺得自己不是很受重視,他講話不會看我,只會低頭看履歷,我回答也都會被打斷,嗚嗚,雖然我不是很強的高手,也許不值得尊重,但是還真有一絲絲被羞辱的感覺。我想這個面試是搞砸了,下個面試我會記住一定要問些問題,唉。
當天回來以後,手機響了,接起來是一個中年男子的聲音,大概四十多歲吧,問我是不是有在找研發替代役,我說是。我心裡覺得還蠻奇怪的,是要找我去面試的嗎?阿一般接到這種電話都是年輕女生的人資打來,這個男生感覺不像是人資阿?然後他就開始介紹他們公司作些什麼,然後為什麼他們的東西跟我有關,在說明的過程當中,講到說其實他們的東西好像跟我無關,但是其實可以看作是在一個 graph 裡面進行一些演算法運算,他看到我的履歷,覺得我很他們需要的符合,問我有沒有興趣。我想這個人好像是 RD 的主管,雖然不確定啦,因為我感覺到他很有誠意耶,竟然是自己先用了很多時間,講解自己公司是在幹嘛,然後才問我的想法,而且打電話來的又是一個這麼懂技術的人,我想說去聊一聊也好。老實說我要承認我內心還有另外一個想法是,想說一個連找人都要 RD 主管自己來找,沒有人資嗎?那大概是小小小公司吧,我想就是去聊天多增加經驗跟看看別人公司長什麼樣子,所以說:「如果可以的話,那我是不是可以去你們公司聊一下?」然後就約定了禮拜四的面試。收到了確定的面試通知信件,感覺也是剛剛那個人寫的,內容都是英文,我也用英文回信了。跟他說我會準時到達。
禮拜四到了我就跑去面試,阿結果我搞錯地址,然後又迷路迷路迷路,最後終於找到他們公司,約定的兩點到的時候,SC(那個RD主管名字的縮寫)還有打電話給我,問我是不是到了,我說我正在迷路當中,他叫我不要趕,慢慢來,但是我真的很歹勢(我回信還跟他說我會 on time 勒),SC 說到公司的時候,如果門是鎖著,可以打他電話,他會來開門。我找到以後,發現還真的門是鎖著,然後櫃台裡面空空如也沒有人,我內心就在想「這公司是不是快掛啦?怎麼連人都沒有?門還鎖著?然後看起來也很單調,不像人家有大理石地磚大廳。」我打了電話以後,是一個小姐來開門,我說我來面試的,她就領我去 SC 的辦公室。看到 SC 的感覺就像是電話裡面給人的感覺一樣,很溫柔,很有誠意的,那個時候因為我迷路到處跑來跑去的,所以很喘,他很客氣的要去幫我倒水,但是我很不好意思啦,就趕快開始面試了。
一開始 SC 是更仔細的介紹他們公司做的東西,然後介紹公司的來源,原來大老闆是台灣人,台大畢業以後去矽谷開了公司,後來公司一部分搬回台灣,另外還有一半還是留在矽谷,兩邊都是約二十多個人。
有了幾次面試複習,這次我也不會傻傻痴呆了,一開始我就先說:「那我就先自我介紹了 ^^?」SC 說:「恩,好。」然後我就吸哩呼嚕的開始從國中開始自修組合語言阿,高中寫 BASIC 跟 C/C++ 阿,然後大學一直都是寫 C++,一直講到後來,到現在研究所學了 Java 跟 C# 還有 Python,另外高中的時候寫過繪圖函式庫阿。SC 很專心的聽,眼睛一直看我,聽的很有興趣的樣子,我覺得很開心,就一直講。然後他問我有沒有帶成績單阿,我說沒有(很心虛害怕),他說:「沒關係,那你就說說看你修過些什麼課好了。」他這邊都是微笑喔,於是我就很放心的開始講了,因為他並沒有讓我覺得我是一個沒帶成績單的廢物。講了大學修過資料結構演算法,神經網路,演化計算,影像處理,分散式演算法,解題程式技巧等等。
然後他問了問題,很直接的就問我:「你說說看 depth first search 跟 breadth first search 有什麼差別?」,因為是很簡單的題目,很快就回答他,然後也補充了一下 steped depth first search 的說明。然後他問了:「你知道什麼是 hash 嗎?」我一下不知道怎麼回答,因為我覺得回答:「算一個 hash value 去當作 index」 這種回答好制式,我說:「我一下不知道怎麼回答耶,我可以從頭開始講嗎?」「可以阿^^」然後我就從一個陣列可以提供 random access,但是要 O(n) 的 insert 跟 remove 開始講,然後說 linked list,可以提供 O(1) 的 insert/remove 但是要 O(n) 的 search,然後說 binary search tree 可以把 search time 降到 O(logn),然後是這個 logn 如果 tree 不 balance 就不成立,所以有其他 AVL tree 或是 23,234 tree 等等就是為了要做到平衡,這樣可以把 search time 壓到 logn。但是當 n 很大的時候,logn 還是很大,那我們如果用 hash 就可以把 search time 變成幾乎是一個常數,雖然說常數項有點大,但是當 n 很大的時候,這樣就很划得來。然後講說 collision 的幾種處理方法。講完以後我還蠻開心的,因為很久沒有講這些東西,我覺得很快樂,而且我覺得坐在我對面的那個人也聽得很開心。雖然我曾經有想:「這個題目好簡單,我回答的東西他一定都會了,他會不會覺得很無聊阿?」但是開始講了以後,就自動源源不絕的一直講下去,忘記其他事情了。
其實這邊我很開心喔,因為這間公司是第一個問我「程式設計相關問題」的公司,我好感上升 ^^,因為之前看約耳的文章,「軟體人員面試交戰守則」裡面有提到,要瞞過一場面試太容易了,很多人是考試天才,但是要他寫他就死給你看,所以他一定要考人寫程式,沒看過一個人的程式,他是不敢用的。所以當 SC 問了程式設計的問題,我有一種很好的感覺,我想他們真的是要會寫程式的人。接著 SC 說等等還有兩個 team 的人要跟我面試,我聽了更驚訝,因為約耳(又是約耳!)說過,面試的時候,一個人一個小時實在談不出什麼東西,而且找人進來是要跟別人一起共事的,所以你要讓最少六個未來要跟這個人共事的工程師來跟他面試,而不能只有一個主管面試以後就說了算,這種以大頭作主的公司,素質是有問題的。所以當 SC 說我還要跟別人面試,我又加分了!這家公司好棒!他們真的是要找會寫程式的人!
然後 SC 問我有沒有什麼問題,這邊我很白痴,我就把之前我在凌陽面試炸掉的事情跟他說,然後說:「嘿嘿,所以這次我學聰明了,我有問題!請問你希望我能幫你做什麼呢^^?」SC 也很客氣的回答我。之後就結束啦。
接著就是第一組 team 的兩個人來跟我面試,他們一進來就一直笑我:「ㄟ,你的履歷是我看過最有意思的~」「阿?」「你的履歷是我看過最有趣的~」「呃?為什麼?是因為我不是本科系的嗎@@?」「不是,你填的『理想的工作性質:我希望是可以一直寫程式一直寫程式,整天都在寫程式。』哈哈哈」,我自己都忘記我寫了這麼好笑的理想工作內容 XD 問候過以後,我很不好意思的說:「那~我們怎麼開始?我先自我介紹?」「恩,好阿。」然後我就開始把剛剛跟 SC 講過的東西再講了一次,但是有些多了,有些少了,因為有的想到了,有的忘記了。講完以後,也是聊一下大學修過什麼,然後問了問一些技術問題,像是 hash 阿,或是 loop 跟 recursive 的差別。我覺得自己回答的算是可以,他們問我大學的資料結構跟演算法是不是很高分,我說我忘記了,因為我真的忘記了 XD!然後聊著聊著就過了快一個小時。
換了下一組的兩個人,這次我也是就先自我介紹,但是比較簡短了,因為同樣的東西講三次會痴呆 @@。然後也是問技術問題,我都順利回答,接著,他們問我:「怎麼比較兩個字串大小?」「阿?」「怎樣?是不是太簡單了?」「ㄟ,沒有啦,阿就先比第一個,然後比第二個,比到不一樣或是某個先結束,就可以分出大小了,不然就是一樣大。」「………唔……」「阿?我答錯了嗎?」「不能說錯,但是太高階了。」「喔,那我還是寫 code 好了。」然後就開始寫 code,一邊寫我就一邊碎碎念我的思路,然後很快速的把code完成了。他們檢查了一下覺得OK,然後又問了下一題:「給你一個字串……」「把他倒轉。」「你怎麼知道我要問這個?」「因為約耳說這是一個很典型的面試題目,簡單又可以考出程度,有的人就是可以寫出 O(n^2) 的演算法!」然後我就開始寫,寫一寫,嘿嘿,我第一次寫出來的就是 O(n^2) 的演算法,當然我馬上就 refine 了,然後也注意不要犯下 off-by-one 的錯誤。他們沒問問題,我想應該是正確無誤(但是以上兩題 coding 我在回家以後都發現還有更好的寫法,在常數項可以做的更快)。這邊要說一下,當他們考 coding 的時候我真的很開心喔……(對對對~又是約耳~!)反正就是這樣啦,我聽到他們的問題,我回答的很開心,他們聽的也很開心,然後還會冒出本來沒有的問題,像是突然天來飛來一個:「對了,你知道匈牙利演算法嗎?」「對不起,不知道,是用來解什麼的?」「就是………ㄟ,我也忘記那個問題叫什麼名字了,問題的內容是……(略)」「喔喔~聽起來很像是 minimal match,阿 minimal match 是 NP。」「恩~恩~喔!對!匈牙利演算法就是 bipartite 的 minimal match!」 「喔~對~但是我不會 @@」然後聊到 A* 阿,C++ 的 new operator overloading 阿,hash 在實際上應用的問題阿,還有解決的辦法阿,能跟人聊這些真的蠻開心的,因為平常我並沒有多少機會跟人聊這些東西,這邊也是聊了快一個小時。
之後是人資小姐出現啦!(哇!還真的有人資!)她就是大致說明一下公司的福利之類的東西,其實這個時候我已經高興的有點茫茫了,不是很在乎這些了啦,我覺得這邊的環境很好,我很喜歡。喔,對了,人資姊姊說公司有提供免費的餅乾 >"< 天哪!讚!
然後出去以後,就是去跟 SC 聊了一下,SC 說他覺得我不錯,兩個 team 的人也都覺得我不錯。我聽了很開心,但是因為有看過 Tech_job 版上說不管主管口頭上說多喜歡,或是說要錄取你,在沒有拿到 offer 以前,一切都可能變卦。所以我還是很理智的保持自己不要太開心。這邊我問了一下 SC,說為什麼是他來打電話找人,不是人資找人, SC 說:「因為我們要找的人就是要比較專業的,可是人資只能從學歷來分辨應徵的人,所以可能找來的人並不適合,那面試就會浪費一些時間。與其這樣,那不如我自己辛苦一點,多花一點時間我自己來找,我多花一點時間,就可以省下大家花很多時間,很划算。」我聽了很開心。然後 SC 說他們下個禮拜還有好幾個要面試,而且也不能就他說了算,他還是要跟別人投票,要是他說了算,那就太霸道了。我聽了很開心喔,因為他們公司的文化讓我好喜歡。他說雖然他覺得我是十拿九穩,但是還是要開會投票。而且他們總經理正在日本出差,下個禮拜才會回來,所以要等到下個禮拜才能確定。他叫我這段時間如果還有面試,就要去,不要都不去了。我知道沒有拿到 offer 都是假的,我最好還是不要對這邊太有把握,但是我真的很喜歡這裡阿!我說:「好,但是我很喜歡這邊,這邊就是我的首選,如果別人錄取我,我也會先等你的通知,你拒絕我我才考慮別人,所以如果你不錄取我,也要快點跟我說喔~」SC 說:「好。我很希望你能來,來了要好好表現。」然後送我去搭電梯,之後我就回研究室了。
其實這個時候,我覺得很羞愧阿,因為自己竟然會因為公司很小,或是門面不好,就幫這家公司扣分,實在很幼稚 @@,公司裡面的人跟公司的文化真的很重要,我覺得自己的心態還要再加強!
回到研究室,就跟詩芳聊面試過程,聊一半,電話響了,接起來,是 SC 打來的,他說:「我剛剛打電話給日本的總經理談過了,然後也開會通過了,我現在就把 offer 給你,如果你要來的話,那最慢下個禮拜要回覆給我。」
就這樣,我找到研發替代役的工作了。一個公司文化讓我很喜歡,周圍都程式高手可以讓我更加精進,然後上下斑時間很滿意,薪水也高出一般標準的工作。但是以上都不是讓我最開心的,我最開心的,是在那邊我有受到尊重的感覺,他們給我一種感覺,就是他們讓我覺得「我是個人才」。老實說我真的很高興,就像是 PTT Tech_job 版上面的推文:「士為知己者死」,我看到的時候覺得很貼切,我就是這種感覺喔,遇到重視自己的人,就會覺得在他下面做事是一件很快樂的事情。
現在一直很開心,開心當初有接到 SC 那通電話,才會有後來這些事情。
媽咪知道了,也會比較放心了吧。
2007年12月10日 星期一
給媽咪過生日
大概知道媽咪是十二月生日的樣子,但是詳細日子不知道,想一想好像從來沒有給媽咪過過生日嘛,大概十月的時候就叫小魚兒偷偷去調查媽咪的生日,後來只知道是農曆的十一月初,國曆的十二月初,但是不知道是哪一天,不過好像也沒差別,因為我也只能假日回去,那就選定上個週末回去了。
大概三個禮拜以前就跟小魚兒討論要送的禮物了,本來我是想要織圍巾,不過小魚兒說他要織圍巾,那我就織毛線帽吧,所以就織毛線帽啦。跟小魚兒說火車站旁邊有一間不小的手工藝品店,他去買了,然後我在新竹也跑去中央市場自己買了毛線,兩邊分開作業。這個毛線買了很 Q 的,摸起來還不錯啦,本來要買城堡編織器或是環針,後來想到小朋跟詩芳都有環針,就直接借了。
恩,我真是天兵,打錯,拆,就是環針打了一圈以後,其實是要推過來,然後接上,繼續打,我不知道就反過來打,想說打完以後接上,最後想一想這樣最下層接合處好像會多一排,那完啦,也沒什麼啦,就拆嘛。然後最後打了很多以後,發現我接合的那一排,第一針拉的不夠緊,完啦,就留下了一個比較寬的縫,沒關係啦,繼續打,現在要我拆掉我也沒力氣了。那天好像是下午開始打的吧,一直打一直打一直打,打到凌晨,繼續打,打打打,一開始個上二下二真是打的我心好煩,因為真的很難穿,後來打到上層我就決定用上一排下一排,因為這樣很好穿,速度總算是開始變快了,這樣應該趕得上吧。繼續打打打,打了整夜沒睡覺,打到第二天早上九點,長度好像差不多了?但是如果把最下面摺上來,好像又太短了,可惡,我就只好到了研究室,再慢慢補長度,想說調整到可以為止。然後白天就在研究室一點一點慢慢打,累積長度,後來終於可以啦~試戴了,長度可以,那就準備要收針了,嘿嘿,我可是已經忘記怎麼收了,叫小朋幫教一下,然後我就繼續收,她去幫我研究那個頭頂上面的米字縫要怎麼弄,好啦,然後是她幫我縫的。真是歹勢,雖然想說要自己弄比較有心意,但是到最後了,如果在這邊搞砸我會哭出來,怕怕的,還是給高手弄好了。耶~終於縫好啦~喔喔喔~真的不錯看耶~只是我戴起來就很奇怪 = =。對了!這邊要特別感謝小吃部快餐的阿姨贊助髮夾一根,嘿嘿,最後那個縫起來我沒有毛線針阿,小朋說髮夾也可以,不過我也沒有髮夾,急中生智想到快餐阿姨可能有,就去要,真的有耶,好開心喔~
禮拜五下午完工,晚上我就回中壢了,到中壢的時候媽咪問我怎麼會有空回來,我酷酷的說:「我想回來就回來了。」因為不好意思說我這個是回來跟你過生日的嘛。
回到中壢當然就是兩件事:打 Wii!玩貓!哇哈哈哈~死命的打 Wii 跟玩貓,喔~這個貓真好玩,他們兩個感情已經很好了,會互相洗澡呢,一直舔一直舔,也會龜在一起睡覺,或是龜在一起看我們在幹嘛,真的很不錯。Wii 也很好玩禮拜六的晚上跟小魚兒打了一整夜的 Wii 都沒睡覺,然後終於練成很白痴的絕技,就是保齡球打瓶數的那個練習模式,其實在球道最深處的兩邊有紅色按鈕,用球丟到就可以引發大地震,然後會全倒,實在很白痴。一開始我是要找網球的旋球怎麼打,結果不小心看到這個密技,而且很少網頁有這個密技哩,好像大家都不太知道?但是嘗試了才知道這個密技有多難,難到一開始我還以維那是唬爛的,後來第一次由小魚兒完成啦!當畫面靜止很久,我聽到「碰!」一聲畫面振動的時候,還沒反應過來勒,結果瓶子就全倒了,後來就一直狂練,現在成功率已經不錯嚕。這邊備註一下阿,就是人要往右轉一點點,然後走到最右邊,可以看到瞄準線剩下大概六到八格,然後把球帶左旋的往上拋高出去,他就會掉在隔板上,很神奇的滾動到最後,壓到按鈕,碰!
因為 Oliver 禮拜六要出去玩,一直到禮拜天晚上才回來,所以我們就決定禮拜天晚上給媽咪生日。禮拜天白天我跟小魚兒偷偷跑出去買了蛋糕,放到辦公室的冰箱(順便買了四包 Bento 魷魚片 XD)。晚上媽咪帶我們出去吃牛排,剛好小魚兒的三個同學也來了,媽咪就一起帶去吃,很開心。後來媽咪有說,跟小魚兒的朋友一起吃飯,就可以看看他的朋友是什麼樣的人,一餐飯很便宜的。我覺得很有道理^^。吃完飯回家以後媽咪就開始看海賊王,真好看,超感動的!梅莉號來拯救大家啦!騙人布:「你們忘記我們還有一位夥伴嗎!」不錯不錯。看完以後小魚兒說要玩 Wii,媽咪就很可憐的只好回自己房間看電視,然後我們就去把蛋糕拿出來,然後點了蠟燭,殺到媽咪房間,「Happy Birthday!」媽咪一臉痴呆耶,很好笑,過了很久才反應過來。然後生日快樂歌,然後許願吹蠟燭,接著就是切蛋糕吃蛋糕,媽咪很開心阿,我們就一邊吃一邊聊天。聊了很多呢,聊了小魚兒唸書的事情阿,也聊了我們偷偷準備生日的過程。媽咪說這是他第二次過生日。以前的農家人家裡生女兒是不太在意的,所以生日其實也不太會去記得,更別說過生日了,之前一次是阿罵幾年前到家裡來幫媽咪過的。媽咪說阿罵其實記得她的農曆生日(真不愧是當媽媽的,儘管在那個重男輕女的時代,媽媽還是會記得小孩的一切)是十一月十五,但是國曆真的不知道,因為那個時候也沒什麼在看國曆。後來我去查了一下,媽咪屬老虎,也就是民國五十三年,西元 1962 年,那一年農曆 11 月 15 號是國曆的 12 月 11 號,這樣以後可以跟媽咪過國曆生日囉。
蛋糕吃一半,小魚兒就說:「ㄟ,我們還有禮物喔。」「是喔~」「恩阿,等吃完就拿給你」然後吃完以後我們就去拿禮物給媽咪,先前禮拜六偷偷洗好然後也脫水的圍巾跟毛線帽,放在房間晾乾,給媽咪的時候媽咪很開心阿,媽咪說小魚兒的圍巾太夢幻了,因為他的圍巾是很粉彩的那種棉絨,超夢幻,然後媽咪就開始試戴帽子跟圍巾阿,我發現那個毛線帽真的不錯看耶,之前沒發現,是因為我戴就不好看,結果我以外人戴都很好看,媽咪小魚兒Oliver戴都很好看,可惡。媽咪說兩個摸起來都很舒服,她以為是同一種毛線。然後小魚兒說:「這是我們自己織的喔!」「是喔 @@!」又開始痴呆了「對阿~」「這個我很感動,比蛋糕還要感動喔~」然後就摸摸毛線嘛,小魚兒指著媽咪的臉說:「喔喔喔~你快哭了!!!」「幹!你媽我很用力的擠,但是一滴都擠不出來啦!」然後大家哈哈哈哈的笑了很開心 ^^
最後就是很開心啦,然後很開心的回新竹了,媽咪塞了很多水果跟麵包給我 ^^
ps. 我很白痴喔,我一直想著媽咪生日媽咪生日,結果忘記小魚兒的生日是 12/10 了,也就是今天,嗚嗚,好對不起他,明年會記得幫他過生日的 ^^
大概三個禮拜以前就跟小魚兒討論要送的禮物了,本來我是想要織圍巾,不過小魚兒說他要織圍巾,那我就織毛線帽吧,所以就織毛線帽啦。跟小魚兒說火車站旁邊有一間不小的手工藝品店,他去買了,然後我在新竹也跑去中央市場自己買了毛線,兩邊分開作業。這個毛線買了很 Q 的,摸起來還不錯啦,本來要買城堡編織器或是環針,後來想到小朋跟詩芳都有環針,就直接借了。
恩,我真是天兵,打錯,拆,就是環針打了一圈以後,其實是要推過來,然後接上,繼續打,我不知道就反過來打,想說打完以後接上,最後想一想這樣最下層接合處好像會多一排,那完啦,也沒什麼啦,就拆嘛。然後最後打了很多以後,發現我接合的那一排,第一針拉的不夠緊,完啦,就留下了一個比較寬的縫,沒關係啦,繼續打,現在要我拆掉我也沒力氣了。那天好像是下午開始打的吧,一直打一直打一直打,打到凌晨,繼續打,打打打,一開始個上二下二真是打的我心好煩,因為真的很難穿,後來打到上層我就決定用上一排下一排,因為這樣很好穿,速度總算是開始變快了,這樣應該趕得上吧。繼續打打打,打了整夜沒睡覺,打到第二天早上九點,長度好像差不多了?但是如果把最下面摺上來,好像又太短了,可惡,我就只好到了研究室,再慢慢補長度,想說調整到可以為止。然後白天就在研究室一點一點慢慢打,累積長度,後來終於可以啦~試戴了,長度可以,那就準備要收針了,嘿嘿,我可是已經忘記怎麼收了,叫小朋幫教一下,然後我就繼續收,她去幫我研究那個頭頂上面的米字縫要怎麼弄,好啦,然後是她幫我縫的。真是歹勢,雖然想說要自己弄比較有心意,但是到最後了,如果在這邊搞砸我會哭出來,怕怕的,還是給高手弄好了。耶~終於縫好啦~喔喔喔~真的不錯看耶~只是我戴起來就很奇怪 = =。對了!這邊要特別感謝小吃部快餐的阿姨贊助髮夾一根,嘿嘿,最後那個縫起來我沒有毛線針阿,小朋說髮夾也可以,不過我也沒有髮夾,急中生智想到快餐阿姨可能有,就去要,真的有耶,好開心喔~
禮拜五下午完工,晚上我就回中壢了,到中壢的時候媽咪問我怎麼會有空回來,我酷酷的說:「我想回來就回來了。」因為不好意思說我這個是回來跟你過生日的嘛。
回到中壢當然就是兩件事:打 Wii!玩貓!哇哈哈哈~死命的打 Wii 跟玩貓,喔~這個貓真好玩,他們兩個感情已經很好了,會互相洗澡呢,一直舔一直舔,也會龜在一起睡覺,或是龜在一起看我們在幹嘛,真的很不錯。Wii 也很好玩禮拜六的晚上跟小魚兒打了一整夜的 Wii 都沒睡覺,然後終於練成很白痴的絕技,就是保齡球打瓶數的那個練習模式,其實在球道最深處的兩邊有紅色按鈕,用球丟到就可以引發大地震,然後會全倒,實在很白痴。一開始我是要找網球的旋球怎麼打,結果不小心看到這個密技,而且很少網頁有這個密技哩,好像大家都不太知道?但是嘗試了才知道這個密技有多難,難到一開始我還以維那是唬爛的,後來第一次由小魚兒完成啦!當畫面靜止很久,我聽到「碰!」一聲畫面振動的時候,還沒反應過來勒,結果瓶子就全倒了,後來就一直狂練,現在成功率已經不錯嚕。這邊備註一下阿,就是人要往右轉一點點,然後走到最右邊,可以看到瞄準線剩下大概六到八格,然後把球帶左旋的往上拋高出去,他就會掉在隔板上,很神奇的滾動到最後,壓到按鈕,碰!
因為 Oliver 禮拜六要出去玩,一直到禮拜天晚上才回來,所以我們就決定禮拜天晚上給媽咪生日。禮拜天白天我跟小魚兒偷偷跑出去買了蛋糕,放到辦公室的冰箱(順便買了四包 Bento 魷魚片 XD)。晚上媽咪帶我們出去吃牛排,剛好小魚兒的三個同學也來了,媽咪就一起帶去吃,很開心。後來媽咪有說,跟小魚兒的朋友一起吃飯,就可以看看他的朋友是什麼樣的人,一餐飯很便宜的。我覺得很有道理^^。吃完飯回家以後媽咪就開始看海賊王,真好看,超感動的!梅莉號來拯救大家啦!騙人布:「你們忘記我們還有一位夥伴嗎!」不錯不錯。看完以後小魚兒說要玩 Wii,媽咪就很可憐的只好回自己房間看電視,然後我們就去把蛋糕拿出來,然後點了蠟燭,殺到媽咪房間,「Happy Birthday!」媽咪一臉痴呆耶,很好笑,過了很久才反應過來。然後生日快樂歌,然後許願吹蠟燭,接著就是切蛋糕吃蛋糕,媽咪很開心阿,我們就一邊吃一邊聊天。聊了很多呢,聊了小魚兒唸書的事情阿,也聊了我們偷偷準備生日的過程。媽咪說這是他第二次過生日。以前的農家人家裡生女兒是不太在意的,所以生日其實也不太會去記得,更別說過生日了,之前一次是阿罵幾年前到家裡來幫媽咪過的。媽咪說阿罵其實記得她的農曆生日(真不愧是當媽媽的,儘管在那個重男輕女的時代,媽媽還是會記得小孩的一切)是十一月十五,但是國曆真的不知道,因為那個時候也沒什麼在看國曆。後來我去查了一下,媽咪屬老虎,也就是民國五十三年,西元 1962 年,那一年農曆 11 月 15 號是國曆的 12 月 11 號,這樣以後可以跟媽咪過國曆生日囉。
蛋糕吃一半,小魚兒就說:「ㄟ,我們還有禮物喔。」「是喔~」「恩阿,等吃完就拿給你」然後吃完以後我們就去拿禮物給媽咪,先前禮拜六偷偷洗好然後也脫水的圍巾跟毛線帽,放在房間晾乾,給媽咪的時候媽咪很開心阿,媽咪說小魚兒的圍巾太夢幻了,因為他的圍巾是很粉彩的那種棉絨,超夢幻,然後媽咪就開始試戴帽子跟圍巾阿,我發現那個毛線帽真的不錯看耶,之前沒發現,是因為我戴就不好看,結果我以外人戴都很好看,媽咪小魚兒Oliver戴都很好看,可惡。媽咪說兩個摸起來都很舒服,她以為是同一種毛線。然後小魚兒說:「這是我們自己織的喔!」「是喔 @@!」又開始痴呆了「對阿~」「這個我很感動,比蛋糕還要感動喔~」然後就摸摸毛線嘛,小魚兒指著媽咪的臉說:「喔喔喔~你快哭了!!!」「幹!你媽我很用力的擠,但是一滴都擠不出來啦!」然後大家哈哈哈哈的笑了很開心 ^^
最後就是很開心啦,然後很開心的回新竹了,媽咪塞了很多水果跟麵包給我 ^^
ps. 我很白痴喔,我一直想著媽咪生日媽咪生日,結果忘記小魚兒的生日是 12/10 了,也就是今天,嗚嗚,好對不起他,明年會記得幫他過生日的 ^^
2007年12月5日 星期三
拔智齒
右下邊的智齒蛀掉很久了,但是一直不想去管他,就很有毅力的一直支撐,其實也不過就是蛀牙嘛,牙齒蛀了也不會痛,所以根本不用管他也沒關係。後來牙齒蛀掉的地方,變得很利,然後割到我牙齦的肉,很痛,但是我真的很厲害,我完全不鳥他,就一直這樣過日子,好幾個月,嘴巴裡面都一直流血,不多,但是每次漱口都有,很煩。然後我發現我每次流血比較嚴重的時候,嘴很容易破,我不知道人的血液是不是會咬皮膚,但是每次血很多的時候,嘴巴就很容易破,而且會一直感覺到很燒的感覺。廢話一堆,反正我決定去把他拔了,雖然不是痛到很難過,可是嘴巴長期燒燒的真的很不舒服。
去了上次拔智齒的簡牙醫,距離上次去拔掉左邊的智齒,已經很久很久以前了說,還記得上次拔智齒很快樂,當天我就吸哩呼嚕吃東西了,也沒什麼痛,就是流血超過一天而已。
我先打了電話去,說我想要掛號,我要拔智齒。「你要拔智齒嗎?」「對阿~」「那你很趕嗎?」「其實也沒有耶,今天也可以,明天也可以,後天也可以~」「可是我們要排到下個禮拜了。」「是喔?」「恩,不然你就是要插空檔。」「喔?」「像現在就是空檔,沒有人,你在哪裡?」「清華大學。」「現在是三點,可是你過來可能就三點半了,就不一定了。」「沒關係,我可以過去,然後我可以等。」「好,那你快過來。」「嗯嗯。」
我就趕快過去了,本來我也預計要三點半的,結果十分鐘我就到了,哇哈哈,其實沒有騎很快,主要是走去牽車的時候走快一點就好了。到的時候已經有人了,不是空檔,所以我就掛號先,然後坐在那邊等等等等等,等到四點終於輪到我啦,很開心,醫生問我是不是要拔智齒,我說是,他先看了一下「恩,你這個都蛀掉耶,比較難拔,你先去照X光。」然後護士小姐就帶我去地下室照X光。
上來以後,又等了一下,醫生看了X光片,說:「你喔,不早點來,你這個外面都蛀掉了,現在這樣就很難拔了,我要先把你的肉切開,然後把牙齒切碎,然後還要刮骨才能拔。」「…………(這個時候我已經不想拔了其實 = =)」這個時候醫生的老婆來了,是一個看起來很和藹慈祥的媽媽,她說:「你是要拔智齒嗎?」「嗯嗯~」「可是沒有預約的話,本來我們是不該幫你拔的~」「喔喔(太好了)~~這樣的話不拔會怎樣嗎?就是我一直放著的話……」醫生:「不行!你這個現在不拔!以後更難拔!我今天就要幫你拔!來,躺好!」「阿……」然後就躺上去了。
之後醫生一邊念著說我這個很難拔怎樣怎樣類似的,然後說我這個要打三針麻醉,因為會痛到很深,我聽了真的很害怕,一般都是兩針的樣子。醫生噴了藥,我感覺麻麻的,這大概是外用的麻醉吧,然後用針筒打了麻醉,可以感覺到針刺進去的時候並不是這麼痛。然後過了幾分鐘,又打了第二針,然後又打了第三針。過了一陣子,醫生用東西戳戳我的肉,「會不會痛」「不會」「這樣就有麻醉了」「喔喔」「等一下如果痛了你要講」「…………我怎麼講?」「你可以發出聲音,或是舉手,我就知道了」「喔喔~好~~~」
然後我就被蓋上布,眼睛看不到東西,只能聽到跟感覺到東西,然後就感覺醫生在我的牙床上面吸哩呼嚕的搞東搞西,其實可以感覺到他在切我的肉,也可以感覺到他在切我的牙齒,然後拿出來,但是就不會痛,我很緊張,但是不會痛,所以也就還好,我沒有亂動,只是全身很用力的緊張。然後可以感覺到比較外面的好像都處理掉了,醫生開始往很裡面切割,越切越深。「靠,有點痛的感覺!」我心裡面在想,但是還可以忍受,大概是因為已經弄到很深的地方了吧,所以真的就有痛。然後就更深了!「幹,有痛~」喔喔喔~好痛~好痛~怎麼這麼痛!感覺麻醉好像沒什麼效果,好痛喔!我全身都在用力,然後很緊張,我想到醫生說如果痛的話要發出聲音,我就「嗚嗚嗚嗚~」,但是醫生好像沒聽到耶?他還是繼續他的動作,所以我就繼續「嗚嗚嗚嗚」,嗚的更大聲了!但是醫生還是沒聽到,他還是繼續,但是真的很痛阿!然後我不知道怎麼辦,很痛,我腦袋已經不太能思考了,全身都在用力,很痛!怎麼辦?我很痛,但是我嗚嗚好像太小聲了,醫生沒有聽到,嗚嗚,怎麼辦~~~好痛 ><~!!然後我突然想到「對了!我還可以舉手~」因為醫生在我右邊,所以我就把左手舉起來,一開始舉一點點,但是醫生好像沒看到的樣子,後來我就舉很高,然後嘴巴還是繼續嗚嗚嗚嗚的喊著,越嗚嗚越大聲!醫生還是不知道我在痛,嗚嗚,好想哭喔,但是好痛,我全身都在用力啦,也沒辦法哭,這個時候我聽到腳步聲走過來,然後有人握住我的左手,是醫生的老婆!耶!太好了,終於有人注意到我很痛了!對!我很痛!我的左手舉起來代表我很痛!這個時候他老婆就把我的左手握住,緊緊的壓在我身上,然後醫生繼續動作。「…………」天哪~~~我舉手就是因為很痛阿!你幹嘛把我壓住,我想要再把手舉起來,但是她把我的手緊緊壓住,我沒辦法,嗚嗚~好想哭~我快昏死了~嗚嗚~~~就在我快要掛點的那個時候,我急中生智「對了!我還有右手!」我就趕快把右手舉起來,然後繼續「嗚嗚嗚嗚~」然後我感覺到另外一個人把我的右手握住,是護士小姐,然後把我的右手壓住,不讓我舉。等等,不對吧,為什麼我嗚嗚不鳥我,我舉手也不讓我舉還把我壓住,你自己剛剛說會痛要出聲音或是舉手的,但是嗚嗚你不鳥我,舉手又把我壓住,那你剛剛說會痛要說,根本就是唬爛我嘛!天哪~之後我就只能一直嗚嗚嗚嗚,一直全身用力,非常痛!痛痛痛!然後突然一陣超痛的!超痛!我聽到醫生的老婆說:「是不是特別痛?」「嗯嗯嗯嗯!!!」「那就對了……」什麼對了?!什麼對了?!我很痛阿!什麼對了?!我都聽不懂你在說什麼阿!你不是應該要住手嗎?然後「嘎~」醫生:「好了。」
兩位淑女把我放開了,醫生開始縫合,我回復理智,發現自己全身都是汗,雙手很痛。過了一下子醫生縫好了,叫我漱口,很多血,我想本來應該更多,因為醫生一直都用吸管放在我嘴巴裡面把多餘的液體吸走。醫生塞了一塊棉花叫我咬著,四十分鐘不能放,有助於止血,然後二十四小時內都不能吐口水,都要吞下去,我想主要是因為會一直流血吧,所以不想我看到。
我起身離開牙醫的床,跟牙醫還有他老婆還有護士說:「謝謝你們救我一命。」然後走出去,經過外面候診的地方,所有的人都在看我,一臉驚恐,「歹勢,嚇到你們了。」我說。然後我去斜對面的藥房領了藥,藥師又跟我說我剛剛忘記拿健保卡,所以我又回去拿了健保卡,就離開了。
之後去買了要打圍巾的毛線,這一次去,才注意到這個毛線的價錢,是 280 一球,真的有貴到。然後回家的路上臉開始痛,大概是因為麻醉開始退了,不過那個時候我還沒注意到這件事情,我只是覺得不太會痛,覺得很OK,也沒想到自己是開始在痛了。我覺得自己不會痛,所以還買了三明治準備要當晚餐吃,因為醫生說我不能吃熱的東西。路上去黃金比例買了好喝的珍珠奶茶,很開心,然後回到lab,準備要吃三明治的時候,慢慢發現我每次咬三明治都很痛,喔,好痛喔,但是還不太明白發生什麼事,也就是說,其實我還沒發現自己在痛,我只是覺得自己怪怪的,等到真的很痛,我才發現我真的很痛!然後又過了很久,我才發現我其實是喉嚨痛,就是感冒的那種喉嚨痛,很痛,我連吞口水都會痛,所以沒辦法吞東西,我下顎上下運動也會很痛,所以沒辦法咬東西,大家都叫我不要吃了,我就把三明治塞到冰箱。我本來想說要吃完晚餐再吃醫生開的消炎止痛藥,但是大家都叫我先吃了,我就先吃了。
接著是研究室踢足球的比賽,所以大家就跑去操場了,對手很機車,就是加油的人嘴很機車,開場一分鐘就弄的黑鬼不高興了,接著就是我們可怕的狂電時間,對方還有一個唯一會踢球的也踢得很兇,拉人推人外加不收腳,就是打很狠,所以場上氣氛很火爆,以前都沒這樣的,我們研究室一向都是歡樂取向。我在旁邊看的也火起來了,某次射進一球以後,我就開始狂喊,也不管喉嚨痛了!就死命喊!本來可是連講話都會痛呢 XD 最後是 8:1 狂電,世龍也生氣了,射門都很用力的那種,贏了很開心,真的。
看球的時候外面很冷,我想說我這個喉嚨痛其實不是牙痛,是感冒造成喉嚨發炎的關係,到了晚上十二點多的時候,我發現我狀況好多了,我就先把三明治吃了,不然不吃東西也不是辦法。第二天早上,狀況又好一點,但是依然會痛,我看鏡子發現我下巴右邊靠脖子那邊腫了很大,很明顯,這個時候我就知道我其實不是感冒,是因為拔牙對牙床那邊傷害,導致發炎腫脹,也擠壓到喉嚨那邊去,所以才會這麼痛。知道原因啦,所以之後我就都很乖的吃藥,想說這樣可以抑制腫痛的症狀。大概一個禮拜以後,整個就好了。
拔牙的時候,醫生的老婆說一個禮拜以後來拆線,我是禮拜二拔的,所以應該要禮拜二拆,但是禮拜二三剛好颱風來,超冷,不想出去,就拖到禮拜四去拆線。拆線完以後,醫生說我這個坑坑不會這麼快長好,所以他先跟我塞個藥,這樣吃東西的時候食物不會掉進去,然後說這個藥味道不好,叫我忍耐一下,然後塞進去的東西,會慢慢自己掉出來,跟我說不用注意,說十五分鐘內不能漱口。
騎車回去的路上,我就深深感覺到那個藥的味道有多噁心,一直讓我想吐,我騎車回去的路上,一直在吐口水,但是真的很噁,吐了,又有新的味道冒出來補充被我的口水稀釋掉的味道。一直撐到我可以漱口,我就先輕輕漱口,因為想說藥還是對我有幫助的,就不想讓他沒有,所以就沒把他漱掉。晚上在水木吃晚餐,我一邊咬食物,就感覺到醫生塞的藥好像快要跑出來,然後那個味道一直冒出來,我好不舒服,後來真的味道很明顯,我就去廁所漱口,結果藥棉掉出一小塊,我漱口以後好多了,就回去繼續吃東西。等到當天晚上我要睡前,那個味道又冒出來,真的很怪,然後我去漱口,結果整個藥棉都出來了 @@" 喔,好噁的味道,我差點吐,但是忍住了,然後把嘴巴裡面的味道清一清,之後就很開心的睡覺啦。
到現在,就是臼齒後面有個空空的洞,有的時候還會有一種類似痛的感覺,但是又好像不是,不過感覺很輕鬆了,因為嘴巴裡面沒有一直都是血的味道,血的味道會讓人不舒服。
去了上次拔智齒的簡牙醫,距離上次去拔掉左邊的智齒,已經很久很久以前了說,還記得上次拔智齒很快樂,當天我就吸哩呼嚕吃東西了,也沒什麼痛,就是流血超過一天而已。
我先打了電話去,說我想要掛號,我要拔智齒。「你要拔智齒嗎?」「對阿~」「那你很趕嗎?」「其實也沒有耶,今天也可以,明天也可以,後天也可以~」「可是我們要排到下個禮拜了。」「是喔?」「恩,不然你就是要插空檔。」「喔?」「像現在就是空檔,沒有人,你在哪裡?」「清華大學。」「現在是三點,可是你過來可能就三點半了,就不一定了。」「沒關係,我可以過去,然後我可以等。」「好,那你快過來。」「嗯嗯。」
我就趕快過去了,本來我也預計要三點半的,結果十分鐘我就到了,哇哈哈,其實沒有騎很快,主要是走去牽車的時候走快一點就好了。到的時候已經有人了,不是空檔,所以我就掛號先,然後坐在那邊等等等等等,等到四點終於輪到我啦,很開心,醫生問我是不是要拔智齒,我說是,他先看了一下「恩,你這個都蛀掉耶,比較難拔,你先去照X光。」然後護士小姐就帶我去地下室照X光。
上來以後,又等了一下,醫生看了X光片,說:「你喔,不早點來,你這個外面都蛀掉了,現在這樣就很難拔了,我要先把你的肉切開,然後把牙齒切碎,然後還要刮骨才能拔。」「…………(這個時候我已經不想拔了其實 = =)」這個時候醫生的老婆來了,是一個看起來很和藹慈祥的媽媽,她說:「你是要拔智齒嗎?」「嗯嗯~」「可是沒有預約的話,本來我們是不該幫你拔的~」「喔喔(太好了)~~這樣的話不拔會怎樣嗎?就是我一直放著的話……」醫生:「不行!你這個現在不拔!以後更難拔!我今天就要幫你拔!來,躺好!」「阿……」然後就躺上去了。
之後醫生一邊念著說我這個很難拔怎樣怎樣類似的,然後說我這個要打三針麻醉,因為會痛到很深,我聽了真的很害怕,一般都是兩針的樣子。醫生噴了藥,我感覺麻麻的,這大概是外用的麻醉吧,然後用針筒打了麻醉,可以感覺到針刺進去的時候並不是這麼痛。然後過了幾分鐘,又打了第二針,然後又打了第三針。過了一陣子,醫生用東西戳戳我的肉,「會不會痛」「不會」「這樣就有麻醉了」「喔喔」「等一下如果痛了你要講」「…………我怎麼講?」「你可以發出聲音,或是舉手,我就知道了」「喔喔~好~~~」
然後我就被蓋上布,眼睛看不到東西,只能聽到跟感覺到東西,然後就感覺醫生在我的牙床上面吸哩呼嚕的搞東搞西,其實可以感覺到他在切我的肉,也可以感覺到他在切我的牙齒,然後拿出來,但是就不會痛,我很緊張,但是不會痛,所以也就還好,我沒有亂動,只是全身很用力的緊張。然後可以感覺到比較外面的好像都處理掉了,醫生開始往很裡面切割,越切越深。「靠,有點痛的感覺!」我心裡面在想,但是還可以忍受,大概是因為已經弄到很深的地方了吧,所以真的就有痛。然後就更深了!「幹,有痛~」喔喔喔~好痛~好痛~怎麼這麼痛!感覺麻醉好像沒什麼效果,好痛喔!我全身都在用力,然後很緊張,我想到醫生說如果痛的話要發出聲音,我就「嗚嗚嗚嗚~」,但是醫生好像沒聽到耶?他還是繼續他的動作,所以我就繼續「嗚嗚嗚嗚」,嗚的更大聲了!但是醫生還是沒聽到,他還是繼續,但是真的很痛阿!然後我不知道怎麼辦,很痛,我腦袋已經不太能思考了,全身都在用力,很痛!怎麼辦?我很痛,但是我嗚嗚好像太小聲了,醫生沒有聽到,嗚嗚,怎麼辦~~~好痛 ><~!!然後我突然想到「對了!我還可以舉手~」因為醫生在我右邊,所以我就把左手舉起來,一開始舉一點點,但是醫生好像沒看到的樣子,後來我就舉很高,然後嘴巴還是繼續嗚嗚嗚嗚的喊著,越嗚嗚越大聲!醫生還是不知道我在痛,嗚嗚,好想哭喔,但是好痛,我全身都在用力啦,也沒辦法哭,這個時候我聽到腳步聲走過來,然後有人握住我的左手,是醫生的老婆!耶!太好了,終於有人注意到我很痛了!對!我很痛!我的左手舉起來代表我很痛!這個時候他老婆就把我的左手握住,緊緊的壓在我身上,然後醫生繼續動作。「…………」天哪~~~我舉手就是因為很痛阿!你幹嘛把我壓住,我想要再把手舉起來,但是她把我的手緊緊壓住,我沒辦法,嗚嗚~好想哭~我快昏死了~嗚嗚~~~就在我快要掛點的那個時候,我急中生智「對了!我還有右手!」我就趕快把右手舉起來,然後繼續「嗚嗚嗚嗚~」然後我感覺到另外一個人把我的右手握住,是護士小姐,然後把我的右手壓住,不讓我舉。等等,不對吧,為什麼我嗚嗚不鳥我,我舉手也不讓我舉還把我壓住,你自己剛剛說會痛要出聲音或是舉手的,但是嗚嗚你不鳥我,舉手又把我壓住,那你剛剛說會痛要說,根本就是唬爛我嘛!天哪~之後我就只能一直嗚嗚嗚嗚,一直全身用力,非常痛!痛痛痛!然後突然一陣超痛的!超痛!我聽到醫生的老婆說:「是不是特別痛?」「嗯嗯嗯嗯!!!」「那就對了……」什麼對了?!什麼對了?!我很痛阿!什麼對了?!我都聽不懂你在說什麼阿!你不是應該要住手嗎?然後「嘎~」醫生:「好了。」
兩位淑女把我放開了,醫生開始縫合,我回復理智,發現自己全身都是汗,雙手很痛。過了一下子醫生縫好了,叫我漱口,很多血,我想本來應該更多,因為醫生一直都用吸管放在我嘴巴裡面把多餘的液體吸走。醫生塞了一塊棉花叫我咬著,四十分鐘不能放,有助於止血,然後二十四小時內都不能吐口水,都要吞下去,我想主要是因為會一直流血吧,所以不想我看到。
我起身離開牙醫的床,跟牙醫還有他老婆還有護士說:「謝謝你們救我一命。」然後走出去,經過外面候診的地方,所有的人都在看我,一臉驚恐,「歹勢,嚇到你們了。」我說。然後我去斜對面的藥房領了藥,藥師又跟我說我剛剛忘記拿健保卡,所以我又回去拿了健保卡,就離開了。
之後去買了要打圍巾的毛線,這一次去,才注意到這個毛線的價錢,是 280 一球,真的有貴到。然後回家的路上臉開始痛,大概是因為麻醉開始退了,不過那個時候我還沒注意到這件事情,我只是覺得不太會痛,覺得很OK,也沒想到自己是開始在痛了。我覺得自己不會痛,所以還買了三明治準備要當晚餐吃,因為醫生說我不能吃熱的東西。路上去黃金比例買了好喝的珍珠奶茶,很開心,然後回到lab,準備要吃三明治的時候,慢慢發現我每次咬三明治都很痛,喔,好痛喔,但是還不太明白發生什麼事,也就是說,其實我還沒發現自己在痛,我只是覺得自己怪怪的,等到真的很痛,我才發現我真的很痛!然後又過了很久,我才發現我其實是喉嚨痛,就是感冒的那種喉嚨痛,很痛,我連吞口水都會痛,所以沒辦法吞東西,我下顎上下運動也會很痛,所以沒辦法咬東西,大家都叫我不要吃了,我就把三明治塞到冰箱。我本來想說要吃完晚餐再吃醫生開的消炎止痛藥,但是大家都叫我先吃了,我就先吃了。
接著是研究室踢足球的比賽,所以大家就跑去操場了,對手很機車,就是加油的人嘴很機車,開場一分鐘就弄的黑鬼不高興了,接著就是我們可怕的狂電時間,對方還有一個唯一會踢球的也踢得很兇,拉人推人外加不收腳,就是打很狠,所以場上氣氛很火爆,以前都沒這樣的,我們研究室一向都是歡樂取向。我在旁邊看的也火起來了,某次射進一球以後,我就開始狂喊,也不管喉嚨痛了!就死命喊!本來可是連講話都會痛呢 XD 最後是 8:1 狂電,世龍也生氣了,射門都很用力的那種,贏了很開心,真的。
看球的時候外面很冷,我想說我這個喉嚨痛其實不是牙痛,是感冒造成喉嚨發炎的關係,到了晚上十二點多的時候,我發現我狀況好多了,我就先把三明治吃了,不然不吃東西也不是辦法。第二天早上,狀況又好一點,但是依然會痛,我看鏡子發現我下巴右邊靠脖子那邊腫了很大,很明顯,這個時候我就知道我其實不是感冒,是因為拔牙對牙床那邊傷害,導致發炎腫脹,也擠壓到喉嚨那邊去,所以才會這麼痛。知道原因啦,所以之後我就都很乖的吃藥,想說這樣可以抑制腫痛的症狀。大概一個禮拜以後,整個就好了。
拔牙的時候,醫生的老婆說一個禮拜以後來拆線,我是禮拜二拔的,所以應該要禮拜二拆,但是禮拜二三剛好颱風來,超冷,不想出去,就拖到禮拜四去拆線。拆線完以後,醫生說我這個坑坑不會這麼快長好,所以他先跟我塞個藥,這樣吃東西的時候食物不會掉進去,然後說這個藥味道不好,叫我忍耐一下,然後塞進去的東西,會慢慢自己掉出來,跟我說不用注意,說十五分鐘內不能漱口。
騎車回去的路上,我就深深感覺到那個藥的味道有多噁心,一直讓我想吐,我騎車回去的路上,一直在吐口水,但是真的很噁,吐了,又有新的味道冒出來補充被我的口水稀釋掉的味道。一直撐到我可以漱口,我就先輕輕漱口,因為想說藥還是對我有幫助的,就不想讓他沒有,所以就沒把他漱掉。晚上在水木吃晚餐,我一邊咬食物,就感覺到醫生塞的藥好像快要跑出來,然後那個味道一直冒出來,我好不舒服,後來真的味道很明顯,我就去廁所漱口,結果藥棉掉出一小塊,我漱口以後好多了,就回去繼續吃東西。等到當天晚上我要睡前,那個味道又冒出來,真的很怪,然後我去漱口,結果整個藥棉都出來了 @@" 喔,好噁的味道,我差點吐,但是忍住了,然後把嘴巴裡面的味道清一清,之後就很開心的睡覺啦。
到現在,就是臼齒後面有個空空的洞,有的時候還會有一種類似痛的感覺,但是又好像不是,不過感覺很輕鬆了,因為嘴巴裡面沒有一直都是血的味道,血的味道會讓人不舒服。
2007年11月14日 星期三
Cog, Python-based 的程式碼產生器
Cog 是一個 python-based 的程式碼產生器,http://nedbatchelder.com/code/cog/,讓使用者可以把 python 混在 C++ 的程式碼裡面來自動產生 C++ 程式碼,舉個例子,這是一個 C++ 原始檔,'Actions.cpp':
你可以看到,python 的程式碼,實際上是寫在 C++ 的註解裡面,在我們用命令列執行過 cog 以後:
他就變成這樣:
黃色的部份是被產生出來的 C++ 程式碼。最後一行的 //[[[end]]] 是讓 cog 可以辨識出哪些是自動產生的程式碼,這樣使用者就可以在同一個檔案重複來生成原始碼,而不是去使用兩個檔案,一個來源檔跟一個目的檔。這是一個不錯的方法來自動產生 Java 或是 C++ 的 setter/getter 成員函式。對於大部分的類別而言,我們常常需要一大票的 setter/getter 方法。舉個 Java 的例子好了:
使用 cog 的話,我們可以這樣寫:
重新模組化一下,這樣寫也不錯
這樣當你還有別的類別,你就可以直接使用 data_member 這個函數了。
甚至呢,我們可以維護一個自己常用的 python 模組,像是 'mycog.py':
這樣,你就可以像這樣複用這個模組:
你大概會得到(根據你資料庫表格欄位而定):
/*[[[cog
import cog
fnames = ['DoSomething', 'DoAnotherThing', 'DoLastThing']
for fn in fnames:
cog.outl("void %s();" % fn)
]]]*/
//[[[end]]]
你可以看到,python 的程式碼,實際上是寫在 C++ 的註解裡面,在我們用命令列執行過 cog 以後:
python cog.py -r Actions.cpp
他就變成這樣:
/*[[[cog
import cog
fnames = ['DoSomething', 'DoAnotherThing', 'DoLastThing']
for fn in fnames:
cog.outl("void %s();" % fn)
]]]*/
void DoSomething();
void DoAnotherThing();
void DoLastThing();
//[[[end]]]
黃色的部份是被產生出來的 C++ 程式碼。最後一行的 //[[[end]]] 是讓 cog 可以辨識出哪些是自動產生的程式碼,這樣使用者就可以在同一個檔案重複來生成原始碼,而不是去使用兩個檔案,一個來源檔跟一個目的檔。這是一個不錯的方法來自動產生 Java 或是 C++ 的 setter/getter 成員函式。對於大部分的類別而言,我們常常需要一大票的 setter/getter 方法。舉個 Java 的例子好了:
class Color {
int red ;
int green ;
int blue ;
void setRed (int r) { red = r; }
void setGreen (int g) { green = r; }
void setBlue (int b) { blue = r; }
int getRed () { return red ; }
int getGreen () { return green ; }
int getBlue () { return blue ; }
}使用 cog 的話,我們可以這樣寫:
class Color {
/*[[[cog
import cog
data = ['red', 'green', 'blue']
for d in data:
cog.outl("int %s;" % d)
cog.outl("void set%s%s(int v){%s=v;}" % (d[0].upper(), d[1:], d) )
cog.outl("int get%s%s(){return %s;}" % (d[0].upper(), d[1:], d) )
]]]*/
//[[[end]]]
}重新模組化一下,這樣寫也不錯
/*[[[cog
import cog
def data_member(d) :
cog.outl("int %s;" % d)
cog.outl("void set%s%s(int v){%s=v;}" % (d[0].upper(), d[1:], d) )
cog.outl("int get%s%s(){return %s;}" % (d[0].upper(), d[1:], d) )
]]]*/
//[[[end]]]
class Color {
/*[[[cog
map ( data_member, ['red', 'green', 'blue'] )
]]]*/
//[[[end]]]
}
這樣當你還有別的類別,你就可以直接使用 data_member 這個函數了。
甚至呢,我們可以維護一個自己常用的 python 模組,像是 'mycog.py':
import cog
import MySQLdb
# create data member with setter/getter
def data_member(d) :
cog.outl("int %s;" % d)
cog.outl("void set%s%s(int v){%s=v;}" % (d[0].upper(), d[1:], d) )
cog.outl("int get%s%s(){return %s;}" % (d[0].upper(), d[1:], d) )
# create a class according to a table in database
def create_table_class(table_name) :
c = MySQLdb.connect(...).cursor()
res = c.query('describe ' + table_name).fetchall()
cog.outl('class %s%s {' % (table_name[0].upper(), table_name[1:]))
for field = res :
cog.outl(...)
cog.outl('};')
這樣,你就可以像這樣複用這個模組:
class Color {
/*[[[cog
import mycog
map ( mycog.data_member, ['red', 'green', 'blue'] )
]]]*/
//[[[end]]]
}
/*[[[cog
mycog.create_table_class(student)
]]]*/
//[[[end]]]你大概會得到(根據你資料庫表格欄位而定):
class Color {
/*[[[cog
import mycog
ap ( mycog.data_member, ['red', 'green', 'blue'] )
]]]*/
int red;
void setRed(int v){red=v;}
int getRed(){return red;}
int green;
void setGreen(int v){green=v;}
int getGreen(){return green;}
int blue;
void setBlue(int v){blue=v;}
int getBlue(){return blue;}
//[[[end]]]
}
/*[[[cog
mycog.create_table_class(Student)
]]]*/
class Student {
String name ;
Date dayOfBirth ;
String gender ;
String Department ;
...
} ;
//[[[end]]]
2007年10月16日 星期二
勇者大人
Oliver 在家後面的工地撿來一隻新的小喵。

禮拜四撿來的樣子,男生,一個半月大,不太健康,醫生說有感冒,而且可能也有寄生蟲。是很漂亮的虎斑,腹部的毛色偏白,形成很漂亮的黑白虎斑,另外腳底的肉墊也是很很可愛的粉紅色。
完全不怕人,很親人,喜歡窩著人睡覺,也蠻喜歡哭哭哩的,所以常常會去靠近哭哭哩,唯一的問題是哭哭哩很害怕他,可能是因為沒有看過別的貓咪吧,看到一隻花斑斑的東西就覺得很害怕,每次看到他或是聽到他的叫聲,哭哭哩就是全身緊張起來,然後一直發出嗚嗚的叫聲,呈現警備狀態,但是顯然是害怕大過敵意的,當兩個人太接近的時候,哭哭哩甚至還會出手攻擊。
名字一開始 Oliver 說要叫「小虎」,但是醫生阿姨跟小魚兒互看一眼以後,決定忽略這個提議,Oliver 不放棄,再提「那小豹好了」,當然還是不會有人要理他,然後名字就這樣懸宕了沒決定。我在跟小朋友講到家裏有貓咪的時候,小朋友說:「名字叫做『勇者大人』!」哈!真是天才!明明就是這麼明顯的名字我竟然沒有想到!的確沒有比勇者大人更適合的名字啦!就這樣,勇者大人就叫做勇者大人了。
話說可憐的哭哭哩真的很可憐,勇者大人只要一靠近他就緊張兮兮,沒辦法,只好多安慰她,多抓來摸摸,講話,抱抱,然後抱抱睡覺,一直摸一直摸,哭哭哩就會比較安靜,然後在懷裡乖乖睡覺了。醫生說哭哭哩大概要一兩個禮拜才會適應,希望那天快快來到。也許已經很快嚕,因為阿,禮拜天晚上我要走的時候,他們兩個就已經可以一起睡覺了呢,發現哭哭哩想睡覺的時候,警戒就會降低,這個時候把勇者大人抓過去,或是勇者大人自己靠過去,咕咪都不會怎麼樣,兩個還可以抱在一起睡覺喔,真的好可愛 ^^
話說勇者大人跑的還蠻快的,而且跑的時候真的超可愛的說,小手小腳頭大大,他跟哭哭哩不一樣,就是腳很粗壯(看起來很粗壯,小朋說這是因為不同品種,我是不太懂),不像咕咪很纖細,他毛也比較長,所以看起來總是一球一球的感覺,跑起來的時候阿,小手小腳,感覺就只有一個毛茸茸的身體頂著一顆毛茸茸的頭,然後他腳真的是那種兩手一起,兩腳一起的跑法,就好像是卡通裡面那樣,超級可愛的 >"< 心裡有一種想法,希望勇者大人永遠不要長大,這樣就可以一直保持小時候很可愛的樣子了。可是不長大好像也很可惜喔?這樣就沒辦法看到他長大的樣子了。
喔,對了,家裏買了 Wii,回家玩了網球很開心,手好像受傷了 O_O"
禮拜四撿來的樣子,男生,一個半月大,不太健康,醫生說有感冒,而且可能也有寄生蟲。是很漂亮的虎斑,腹部的毛色偏白,形成很漂亮的黑白虎斑,另外腳底的肉墊也是很很可愛的粉紅色。
完全不怕人,很親人,喜歡窩著人睡覺,也蠻喜歡哭哭哩的,所以常常會去靠近哭哭哩,唯一的問題是哭哭哩很害怕他,可能是因為沒有看過別的貓咪吧,看到一隻花斑斑的東西就覺得很害怕,每次看到他或是聽到他的叫聲,哭哭哩就是全身緊張起來,然後一直發出嗚嗚的叫聲,呈現警備狀態,但是顯然是害怕大過敵意的,當兩個人太接近的時候,哭哭哩甚至還會出手攻擊。
名字一開始 Oliver 說要叫「小虎」,但是醫生阿姨跟小魚兒互看一眼以後,決定忽略這個提議,Oliver 不放棄,再提「那小豹好了」,當然還是不會有人要理他,然後名字就這樣懸宕了沒決定。我在跟小朋友講到家裏有貓咪的時候,小朋友說:「名字叫做『勇者大人』!」哈!真是天才!明明就是這麼明顯的名字我竟然沒有想到!的確沒有比勇者大人更適合的名字啦!就這樣,勇者大人就叫做勇者大人了。
話說可憐的哭哭哩真的很可憐,勇者大人只要一靠近他就緊張兮兮,沒辦法,只好多安慰她,多抓來摸摸,講話,抱抱,然後抱抱睡覺,一直摸一直摸,哭哭哩就會比較安靜,然後在懷裡乖乖睡覺了。醫生說哭哭哩大概要一兩個禮拜才會適應,希望那天快快來到。也許已經很快嚕,因為阿,禮拜天晚上我要走的時候,他們兩個就已經可以一起睡覺了呢,發現哭哭哩想睡覺的時候,警戒就會降低,這個時候把勇者大人抓過去,或是勇者大人自己靠過去,咕咪都不會怎麼樣,兩個還可以抱在一起睡覺喔,真的好可愛 ^^
話說勇者大人跑的還蠻快的,而且跑的時候真的超可愛的說,小手小腳頭大大,他跟哭哭哩不一樣,就是腳很粗壯(看起來很粗壯,小朋說這是因為不同品種,我是不太懂),不像咕咪很纖細,他毛也比較長,所以看起來總是一球一球的感覺,跑起來的時候阿,小手小腳,感覺就只有一個毛茸茸的身體頂著一顆毛茸茸的頭,然後他腳真的是那種兩手一起,兩腳一起的跑法,就好像是卡通裡面那樣,超級可愛的 >"< 心裡有一種想法,希望勇者大人永遠不要長大,這樣就可以一直保持小時候很可愛的樣子了。可是不長大好像也很可惜喔?這樣就沒辦法看到他長大的樣子了。
喔,對了,家裏買了 Wii,回家玩了網球很開心,手好像受傷了 O_O"
2007年10月11日 星期四
如何把 IronPython 整合到 Visual Studio
這篇文章,翻譯來自於 Aaron Marten 的 blog,文章標題是 A bit more on IronPython。我在徵求了 Aaron 的同意以後,翻譯成中文,並依對於 Aaron 的承諾,附上原始出處。
要怎麼把 IronPython 整合到 Visual Studio 2005?
首先,你要去下載這個最新的 Visual Studio SDK(Version 4.0),這邊要注意的是,這個 IronPythonIntegration 的範例,只能用在 Visual Studio 2005 (或是更新的版本)如果你的機器裝的是 .Net 1.1 跟 Visual Studio 2003 的話,那就沒辦法用啦。
我要用什麼版本的 Visual Studio?我可以把他用在 Express 版本上嗎?
很遺憾,不可以。 Visual Studio Express 不支援擴充能力,這是 Express 版本的限制,不是這個範例的問題。你需要標準版或是更高階的版本才能使用這個範例。
另外,你也需要安裝 Visual C++ 來編譯這個範例(所以如果你的 Visual Studio 只有裝 VB 的話,那一樣沒辦法安裝這個範例)。目前所有的 Visual Studio 擴充專案都有這個限制,因為我們需要 C++ 的 preprocessor 去編譯這些範例裡面的 CTC 檔案。(CTC是用來描寫整合到 Visual Studio 時 menu 的結構)
好啦,我已經下載好那些東西啦,那我現在要怎麼讓 IronPython 在我的 Visual Studio 裡面可以動?
打開你的 Visual Studio 2005 (而且你的 SDK 以已經裝在預設的位置),開啟下面這個方案(solution)"C:\Program Files\Visual Studio 2005 SDK\2007.02\VisualStudioIntegration\Samples\IronPythonIntegration"。接著很簡單,你只要按下 Ctrl+F5 去建置你的專案就可以了。建置完成以後,他會自動以「實驗蜂槽模式(Experimental hive)」開啟一個 Visual Studio,裡面就有已經整合好的 IronPython 擴充功能。(另外一種開啟實驗模式的方法是以命令列執行"devenv /rootsuffix Exp")
這邊注意一下阿,如果你直接按 F5(而不是Ctrl+F5)執行的話,你的電腦可能會給你一些 exception 或是 MDA(managed debugging assistant) 錯誤訊息,不過那都不重要,你可以不用管他。
恩,我覺得我已經成功的建制並且執行了,阿現在勒?
那你現在可以用「建立新專案」功能,建立一個新的 IronPython 專案,就像是你建立一個新的 C#/VB/J#/C++ 專案一樣。我建議你一開始應該先開一個 console 專案玩一玩。如果你開一個新檔案,是用 .py 當作副檔名結尾的話,你會發現 Visual Studio 很聰明的會幫你加上 syntax coloring。
另外這個範例有一個很酷的小東西,就是一個叫做 IronPython Console Window 的小工具視窗,你可以從「檢視-其他視窗」來開啟他。這個小工具視窗的功能就是一個互動式的 IroonPython 環境,讓你可以快速的測試你的語法。
關於這個小視窗,還有一件事情要附註一下,就是裡面有個變數叫做 dte,有這個 dte 你可以透過 Macros IDE 自動化操作 Visual Studio(automate Visual Studio),也就是說:你可以用 IronPython 來寫 VS 的 mini-macros,而不必再用 VB 啦!
為什麼我可以編譯?我以前根本就不能編譯任何的 IronPython 程式碼阿?
在過去幾個月裡面,IronPython 團隊加了一些編譯器介面到 IronPython.dll 裡面,所以透過這個 .dll 我們可以編譯 IronPython 程式碼。有一個必須的認知是:這個編譯器編譯出來的程式碼,必須要仰賴這個 IronPython runtime 才能夠執行,也就是說你需要有這個 IronPython.dll 檔案才可以。畢竟這是一個動態的語言,所以當你執行你的 IronPython 程式的話,每一行程式碼都需要被重新檢查型態跟評估其值。
這代表著,你在 IronPython 寫的程式碼,所產生的 MSIL 不會像是你在 C#/VB 所寫的那樣。事實上,你應該沒辦法在其他語言完整的使用以 IronPython 開發出來的功能。
還有什麼特色阿?
一個「範例」就是一個「範例」,也就是說,這只是一個用來示範怎麼把 IronPython 整合到 Visual Studio 2005 的「範例」,所以呢,很多功能並沒有被實做出來,或是即使實做出來了,也不太穩定。雖然如此,這個範例還是很有限度的支援了以下個功能:
我有好幾個 module(.py檔案) 要彼此互動,那我要怎麼作?
很簡單,把你的檔案都放在一起就好了。比方說,我有一個主程式檔叫做 program.py,然後我有要用到 myModule.py,那我就把 myModule.py 放到跟 program.py 同一個目錄下,然後在我的 program.py 加入一行:
import myModule
這個範例裡面包的是什麼版本的 IronPython?
Visual Studio 2005 SDK 裡面放的是 IronPython1.1 的 pre-beta 版本。
有沒有不用下載 Visual Studio2005 DSK 就可以用 Visual Studio 跑 IronPython 的方法阿?
到目前為止,我們唯一釋出這個 IronPython 整合範例的方法就是透過 VSSDK。
但是呢,IronPython 團隊已經釋出了一個 IronPython for ASP.NET CTP 的東西,包含了這個範例的部份功能。不一樣的是,這個 ASP.NET CTP 只以 binary 的形式釋出,然後他不需要 Visual Studio SDK。
恩,我覺得我發現了 bug 耶……
如果你有任何困難,問題,或是建議,拜託請回報給我們!
要怎麼把 IronPython 整合到 Visual Studio 2005?
首先,你要去下載這個最新的 Visual Studio SDK(Version 4.0),這邊要注意的是,這個 IronPythonIntegration 的範例,只能用在 Visual Studio 2005 (或是更新的版本)如果你的機器裝的是 .Net 1.1 跟 Visual Studio 2003 的話,那就沒辦法用啦。
我要用什麼版本的 Visual Studio?我可以把他用在 Express 版本上嗎?
很遺憾,不可以。 Visual Studio Express 不支援擴充能力,這是 Express 版本的限制,不是這個範例的問題。你需要標準版或是更高階的版本才能使用這個範例。
另外,你也需要安裝 Visual C++ 來編譯這個範例(所以如果你的 Visual Studio 只有裝 VB 的話,那一樣沒辦法安裝這個範例)。目前所有的 Visual Studio 擴充專案都有這個限制,因為我們需要 C++ 的 preprocessor 去編譯這些範例裡面的 CTC 檔案。(CTC是用來描寫整合到 Visual Studio 時 menu 的結構)
好啦,我已經下載好那些東西啦,那我現在要怎麼讓 IronPython 在我的 Visual Studio 裡面可以動?
打開你的 Visual Studio 2005 (而且你的 SDK 以已經裝在預設的位置),開啟下面這個方案(solution)"C:\Program Files\Visual Studio 2005 SDK\2007.02\VisualStudioIntegration\Samples\IronPythonIntegration"。接著很簡單,你只要按下 Ctrl+F5 去建置你的專案就可以了。建置完成以後,他會自動以「實驗蜂槽模式(Experimental hive)」開啟一個 Visual Studio,裡面就有已經整合好的 IronPython 擴充功能。(另外一種開啟實驗模式的方法是以命令列執行"devenv /rootsuffix Exp")
這邊注意一下阿,如果你直接按 F5(而不是Ctrl+F5)執行的話,你的電腦可能會給你一些 exception 或是 MDA(managed debugging assistant) 錯誤訊息,不過那都不重要,你可以不用管他。
恩,我覺得我已經成功的建制並且執行了,阿現在勒?
那你現在可以用「建立新專案」功能,建立一個新的 IronPython 專案,就像是你建立一個新的 C#/VB/J#/C++ 專案一樣。我建議你一開始應該先開一個 console 專案玩一玩。如果你開一個新檔案,是用 .py 當作副檔名結尾的話,你會發現 Visual Studio 很聰明的會幫你加上 syntax coloring。
另外這個範例有一個很酷的小東西,就是一個叫做 IronPython Console Window 的小工具視窗,你可以從「檢視-其他視窗」來開啟他。這個小工具視窗的功能就是一個互動式的 IroonPython 環境,讓你可以快速的測試你的語法。
關於這個小視窗,還有一件事情要附註一下,就是裡面有個變數叫做 dte,有這個 dte 你可以透過 Macros IDE 自動化操作 Visual Studio(automate Visual Studio),也就是說:你可以用 IronPython 來寫 VS 的 mini-macros,而不必再用 VB 啦!
為什麼我可以編譯?我以前根本就不能編譯任何的 IronPython 程式碼阿?
在過去幾個月裡面,IronPython 團隊加了一些編譯器介面到 IronPython.dll 裡面,所以透過這個 .dll 我們可以編譯 IronPython 程式碼。有一個必須的認知是:這個編譯器編譯出來的程式碼,必須要仰賴這個 IronPython runtime 才能夠執行,也就是說你需要有這個 IronPython.dll 檔案才可以。畢竟這是一個動態的語言,所以當你執行你的 IronPython 程式的話,每一行程式碼都需要被重新檢查型態跟評估其值。
這代表著,你在 IronPython 寫的程式碼,所產生的 MSIL 不會像是你在 C#/VB 所寫的那樣。事實上,你應該沒辦法在其他語言完整的使用以 IronPython 開發出來的功能。
還有什麼特色阿?
一個「範例」就是一個「範例」,也就是說,這只是一個用來示範怎麼把 IronPython 整合到 Visual Studio 2005 的「範例」,所以呢,很多功能並沒有被實做出來,或是即使實做出來了,也不太穩定。雖然如此,這個範例還是很有限度的支援了以下個功能:
- MSBuild
- Windows Forms Designer(可以讓你建立視窗程式)
- WebSite Projects
- Web Application Projects
- Intellisense(程式碼自動完成的功能)
- Demonstrates use of MPF feature
我有好幾個 module(.py檔案) 要彼此互動,那我要怎麼作?
很簡單,把你的檔案都放在一起就好了。比方說,我有一個主程式檔叫做 program.py,然後我有要用到 myModule.py,那我就把 myModule.py 放到跟 program.py 同一個目錄下,然後在我的 program.py 加入一行:
import myModule
這個範例裡面包的是什麼版本的 IronPython?
Visual Studio 2005 SDK 裡面放的是 IronPython1.1 的 pre-beta 版本。
有沒有不用下載 Visual Studio2005 DSK 就可以用 Visual Studio 跑 IronPython 的方法阿?
到目前為止,我們唯一釋出這個 IronPython 整合範例的方法就是透過 VSSDK。
但是呢,IronPython 團隊已經釋出了一個 IronPython for ASP.NET CTP 的東西,包含了這個範例的部份功能。不一樣的是,這個 ASP.NET CTP 只以 binary 的形式釋出,然後他不需要 Visual Studio SDK。
恩,我覺得我發現了 bug 耶……
如果你有任何困難,問題,或是建議,拜託請回報給我們!
訂閱:
文章 (Atom)