生活與工作的超完美實踐-我的 CS 人生

生活與工作的超完美實踐-我的 CS 人生

[作者:宇宙人] 圖片出處:http://www.lon-pos.com/tc/iqeq.htm

 

自從指考分發到資訊系後,掐指一算也過了十個年頭了。

在這十年的過程中,除了敲敲鍵盤 coding 以外,我的 CS 人生也就此開始…

學以致用,相信大家都聽過這句話,不過宇宙人我可是把 CS 學到的東西實踐到日常生活中呢!!

  • 電梯篇:  搭電梯時,一定要做的兩件事那就是 1.按樓層 2. 按關門。 想像一下 1 就好像是 CPU 處理一件小事情,2 就好像是一個 IO 事件,CPU 先動一下接著進入 IO,然後要兩件事都完成電梯才會啟動。有沒有發現不一樣的地方了!! OS 課本教我們要把 CPU 與 IO 事件 overlap 效率才會好,身為一個專業的 CS 人,下次搭乘電梯時,是不是要先按關門鍵呢?
  • 交通路徑: 宇宙人我不論是開四輪的還是騎兩輪的,對於路線規劃總是有種特別的 fu ,從初發點到終點,存在著各式各樣的路徑,而每條路徑的長度、紅綠燈、車況又都不大一樣,要怎麼找當比較快的路線呢? 用上我最喜歡的 greedy heuristic algorithm 來決定路線吧。 假設把出發點跟目的地放在棋盤格上,目的地在出發點的東北方,那麼較佳的路徑就會是由一堆”右”加上”上”所組成的。
  1. 當往上走時,看到前方是紅燈,就不要再往前走,找找看有沒有提前右轉的路徑吧。
  2. 當往上走時,看到前方是綠燈,看一下行人綠燈的秒數,推測是否可以繼續直走,通常行人綠燈的秒數很小的時候,就是右轉的好時機。
  3. 前面兩個步驟都只是 local optimal,因為只看到眼前一個路口,沒辦法預先觀察到所有的路口,所以想要得到更好路徑,還是得多走幾次得到更多的 profile,慢慢地就可以將local optimal 擴展成最佳路徑了。
  • process or thread: 在一個冬天冷風颼颼的夜晚,正在與老婆討論今天要一起蓋一條棉被還是兩條棉被的同時,腦袋突然靈光一閃,一人蓋一條就像是兩個 process ,優點是獨立性比較好,不會互搶棉被,可是要花比較多的 cost 在溝通上,手要先離開自己的棉被才能去搶老婆的棉被;  一起蓋一條棉被就像是一隻 process 中有兩個 thread ,溝通互動快速,棉被資源共享,不過缺點就是有時候會搶不到棉被 deadlock 冷死。

以上這些好像都跟 B2G 沒甚麼關係耶… 說的也是。硬要扯的話,宇宙人我自從開始碰觸 B2G 這個 project 後,我的 CS 人生又更加寬廣了。 回到標題 “我的 CS 人生”,到目前為止這些例子,好像都是在追求更加的效率,不知道在往後 B2G 的日子裡,會不會有新的體悟呢?

最後來給大家推薦個益智玩具龍博士,別以為這只有小朋友可以玩,玩這個遊戲可以訓練人腦 dfs 、 recursion 、divide and conquer,真的是個非常適合 CS 人 的 geek 玩具。

掌握最新 Firefox, Firefox OS 相關訊息

加入 Mozilla Taiwan 臉書粉絲團 

加入 Mozilla Taiwan  G+ 

瀏覽 Mozilla Taiwan 部落格 

官網 mozilla.com.tw