This page looks plain and unstyled because you're using a non-standard compliant browser. To see it in its best form, please visit upgrade to a browser that supports web standards. It's free and painless.

Kenming's 軟體設計思維 會員登入 會員註冊

Open SuSE 10.3 是我截至目前為止,安裝在我的 T61 上最為順暢的 Linux OS 了 (曾安裝過 Fedora Core 7, Debian Etch 4, Ubuntu 7.10)。 D

先前所安裝的 Linux OS,均為 Kernel 未能支援 AHCI 模式或驅動程式所苦,而直至前幾日,好不容易才等到 Ubuntu 7.10 的到來,也確實可以安裝,完整支援 AHCI 模式。但是,我很不敢相信,在執行安裝過程時,到了硬碟分割作業階段,竟然無法辨識我的磁區規劃 (先前已分割好 root 與 Swap 磁區, 以及已安裝 Vista OS)! 我整整試了星期日一整天,各種方式都試過了,仍然無法硬碟分割作業...

我試過的最後一種方式是整個磁區全砍掉 (當然,Vista 已 Image 備份),這樣就可以順利安裝 Ubuntu 7.10 了。呼,真是炫,那個 Compiz Fusion 的 3D 桌面效果,令人真是驚豔。 Mobile01 有篇:「Ubuntu 7.10 加 Windows Vista,超華麗雙重開機」,看看網友分享的圖片吧。

可惜啊,Vista 還原回去就是無法載入,我想應該是在 MBR 這邊,Vista 做得就是特別龜,一點也干涉不得。所以又把整個硬碟給還原回去,自然,Ubuntu 系統也就被蓋掉囉。

好加在,也是 Mobile01 這邊,VHacker 網友在此篇:「Fedora Core 7 Linux ThinkPad X61 安裝筆記(T60/T61也適用)」 留言告訴我說,本月初 Open SuSE 釋出最新的 10.3 版,完成度相當高,他在 X60 安裝,硬碟支援度相當高,幾乎所有的驅動程式都不用再另行安裝。

甘阿ㄟ? 本想說 Open SuSE 似乎在本土社群冷門了些。以前我是曾經安裝過在 INTEL P3 Server 上,後來嫌套件管理幫我安裝太多東西,又重新給移除掉了。嗯,這次來測試 10.3 最新版試試看,在 Open SuSE News 上對其的介紹看得我蠻心動,桌面多媒體支援得頗佳,同時在 YaST 的套件管理上,似乎又更簡潔 Smart 了。

我下載的是 64-bit 的 DVD ISO 檔,燒錄成光碟後開機後開始安裝,相當順利耶! 最重要的是,我在 BIOS 的 SATA 模式預設為 AHCI,也完全沒有問題耶,喔,感動,這在我前兩個月安裝時,根本就不能在 AHCI 模式裡安裝設定,差別真是太多了。

對了,我是有使用 Grub4Dos 這個開機管理工具,如此我可以很乾淨地分別啟動 Vista and Linux ,甚至爾後要驅動 USB 碟、虛擬 Floppy 影像等,一切都很方便。只要給它 7MB 空間,格式化為 FAT16 的 DOS 磁區,再把該工具程式 copy 進去,編輯 menu.lst 即可。而且還可以載入背景影像桌面 (符合 Grub XPM 格式),讓桌面開機管理的畫面美化得真是好看。

所有的驅動程式,包括 Mouse (我有外接羅技無線滑鼠)、TrackPoint、FingerPrint(指紋辨識)、Bluetooth、網路卡(有線與無線,喔,忘了說,我這臺 T61 是第一批買的,當時 Lenovo 搞烏龍,搭配的是 4965 AG 網卡,但 DM 上卻是說 AGN,後經網友抗議,IBM 承諾改幫第一批出貨的換成 AGN,還送一顆 6 Cell 電池補償。第二批的 T61 DM 上就變為 AG 網卡囉)、音效卡等,完整支援耶!! 我都不用再去個別辛苦地下載與編譯驅動程式了耶。 D

太感動了,好愉快喔,安裝好就可以上網,然後設定一下指紋辨識還可以用我的手指刷過就可登入了 (不過只保存一根手指頭,所以要小心保護我的食指呢)。唯一只有一個,我的 T61 Quardo VNS 140M 顯示卡驅動程式找不到,不過這也不難,依照此篇:「Nvidia Installer HOWTO for SUSE LINUX users」設定與安裝,過程蠻順利,經由 YaST 下載回驅動套件後即可自動完成安裝。注意的是,最好先能安裝好 kernel-source, gcc 等套件比較理想,還有,建議不要自行去編譯 nvidia kernel module,經由 YaST 來統籌做套件管理比較理想。

安裝完後,利用 CTRL-ALT-F1 進入文字 Console 模式,以 root 登入,先把 X-Windows 停止:
  # rcxdm stop
然後執行:
  # sax2 -r
重新登入後,設定顯示卡與顯示器的解析度(我的 T61 是設為 LCD 1440x900)等,完全顯示正常,開心!! ;D

再來就是設定 Compiz Fusion,也就是可以讓其桌面具有 3D 花俏的效果。我尤其最喜歡立體桌面方塊 (Cube),像魔術方塊那樣旋轉,真是超炫! 因為 10.3 是內建 Compiz 0.56 版本,透過 Yast 套件管理,可以查知是否已安裝完成。再透過 XGL, 即可啟動(enable) 3D 圖形效果。 我可以正常執行 Compiz,但是奇怪的是,每一個視窗的最外框不見了,也就是無法直接使用滑鼠移動與 Resize 視窗,需透過快速鍵與滑鼠的組合才可以移動、Resize、關閉視窗等。這怪怪的,與我在 Ubuntu 7.10 上跑得不一樣,我是相當懷疑 0.56 版本是否有 Bug? 先關掉 3D 效果吧,等待新版(0.60 以後已發佈,但不知是否可透過 YaST 更新?)更穩定再說吧。

整個安裝工作總算告一段落,我最主要的目的當然是要安裝 Vmware 在 OpenSuSE 系統上囉,畢竟,這是我最期待的,也可以讓我的 4GB 記憶體,足足可以在 Linux 64-Bits 作業系統下充分發揮其資源的。(Vista Business 32-bit 只能支援到 3GB,浪費掉我的 1GB,且感覺在 Windows-based 系統下跑 Vmware,效能應該比不上在 Linux 上面跑)

※ 我的鏈結:
 。 {筆電敗家分享} 購買 Thinkpad T61 與週邊及系統安裝

深入淺出設計模式
— Head First Design Patterns
 深入淺出設計模式 — Head First Design Patterns
 -----------------------------------
 作者/Freeman, Sierra & Bates/著
 譯者/蔡學鏞/譯
 出版社/歐萊禮 出版
 ISBN/9867794524

內容簡介
寫應用程式時需要依照需求預先規劃、設計,而設計模式累積了前人的經歷,經由四人幫彙整出一系列的設計模式,以利後人可以套用。本書集合四人幫的23個模式(十幾年前的事)外加這十幾年來新增的一些模式,作者群以詼諧、幽默、圖文並茂、打破傳統著書的方式,由淺入深地詳解了設計模式的精神及重點。全書全部以當紅的 Java 程式語言為範例。

前言

幾乎有經驗的軟體人員,手裡都會有一本四人幫 (GoF, Gang of Four) 著作的「設計模式 (Design Patterns)」,此本可以說是軟體業的聖經,書中介紹的 23 個設計模式,已被大量運用在系統框架 (Framework)及應用領域上。不過本書卻是相當的艱奧難懂,如同金庸小說中的「九陰真經」上卷一般,充斥的盡是心法,但若沒有從實務汲取到相當經驗的話 (極少數人是可以透過“內觀”來悟出心法,但那真的相當稀少),是很難領悟並活用這些招式的。所以坊間出版了眾多“「九陰真經」的下卷”,透過大量的實例,來闡述上卷所揭露出的心法。

這些書可以算是「設計模式」的註釋版了,不過大部分仍是以程式碼來作解釋,除了比較不容易解釋設計模式背後的哲理外,也稍嫌沈悶了一點。倒是本書,怎麼說呢?相當相當的特別!跳脫了任何種類軟體書籍的寫作方式,運用作者群在神經生物學、認知科學、學習理論等,來協助讀者將這些設計模式給深刻烙印在你的腦海中。書本封面是一位酷酷的美少女,仰著頭看著你;每一章的封面則是美國 1960 代紳士淑女們的黑白照片,簡單的意象來表達該章節想要傳達的主題;書中內容則是充斥著大量的漫畫式照片、插圖、手稿等,利用問與答的方式,來解釋一般讀者們在學習過程中,常碰到的問題與思考;同時在章節前後陸續列出了九個相當重要的 OO 守則,這些守則也可以說明軟體設計的根本,說真的,要能通透這些哲理,最少也要花上 10 年以上的功夫修煉才有可能運用得爐火純青;喔,還有填字遊戲,利用每一章所讀過的英文句子,來填出與模式相關的關鍵字彙,真的相當有趣,實在是複習的好幫手!

唯一不變的真理就是時常在改變

第一章「介紹設計模式」部分,利用了模擬鴨子游泳戲水、呱呱叫遊戲的案例,來帶出物件導向的四個基本概念:抽象、封裝、多型與繼承,也提及了重要的一件事,OO 不是只為了“做”出來,而是因為 彈性、延展性、可重用性的設計考量,賦予系統生生不息的價值。從設計實作的過程中,你會發現到,好像有些會一再重覆發生的問題,可以利用一些特定的模式來解決該問題。這些模式,可以說是 OO 設計經驗的精華所在,可以讓我們建構出具有良好 OO 設計品質的系統,更可以讓開發者之間有一個共同的字彙,來提高溝通的價值。對了,大多數的模式和守則,都是著眼於軟體改變的議題上,這也就是道出了模式的根本價值在於協助開發者如何應付改變 (Change),“Design for Change”,這可以說是軟體設計不可避免,也是唯一不變的真理了。為了要能應付改變,我覺得有兩條絕對要謹守的原則就是: 1. 將變動的部分封裝起來;2. 針對介面寫程式,不是針對實作寫程式。尤以後者,可以說是絕大部分軟體人員所無法體會的了,這是一種基於“變”的設計態度,卻非實作技術面的議題了。

他山之石,可以為錯

本書是把 23 個設計模式中的 14 個,給擺入到 1~11 章內,利用案例,作相當精闢的解說。剩下的 9 個模式,作者認為比較沒有經常地被使用,所以是放在附錄中,但仍有可取之處,所以也會利用簡單的幾頁說明用法與為何要使用的原因。我想先讓讀者瞭解一下,四人幫的設計模式,是分為三大類:生成 (Creational)、結構(Structural)、行為 (Behavioral)。生成如工廠 (Factory)模式,顧名思義,就是會幫你製造物件,再回傳給呼叫並符合該介面規格的 Client。這在多型的設計,經常會在 Server 端使用生成模式,以免讓你的 Client 與伺服端的具體類別綁住 (不要忘了,Design for Interface);結構模式,則經常反映了問題領域的概念,例如 複合 (Composite)模式,可以表達樹狀的層級,如組織 (Organization)、BOM (Bill of Material)表等;行為面的模式,一般設計者比較不容易能抽象化,因為它可能是根據設計的議題,將原本在分析階段,某一個類別的行為,抽離出來也成為類別,而能應變具再利用的價值。簡單的說,就是把行為當成物件,每一種不同行為的物件,再分門別類,並制訂出共同操作的介面 (interface)規格,與原來擔負某一行為的本體 (context)類別,關連在一起。狀態 (state)、策略 (strategy)、命令 (command)等模式,就是屬於此種行為性的模式。

最後一個章節則是指導你如何學會與設計相處,挺有意思的,它讓你瞭解設計模式的本質與其組成的主要成分;「如果你發現到處於某個情境下,面對著一群限制的問題,正影響著所欲達成的目標,然而,你能夠採用某個設計,克服這些限制並達到該目標,將你領向某個解決方案。」情境 (context)、問題、解決方案 (solution),正是組成模式的三個主要組成元素。當我們仔細觀察其定義後,進而,能組織並活用這些設計模式,更甚者能融入於心智、成為隨手拈來可得的利器,而創造出自己的模式,造福他人,成為共同溝通的語彙,那可真的是一種心靈上的愉悅,設計模式的威力與目的,正是如此。

本書很厚,600 多頁,但閱讀因為太輕鬆了,你完全感受不到厚厚的一本,還會覺得意猶未竟。眾多推薦人當中,竟然還有美式足球的明星球員推薦呢,真的難以想像,他怎麼有時間看這類的專業書籍? 但也可想而知,本書的易讀性,就是這樣地讓人可以把它帶到健身房,一邊閱讀,還能臉上堆滿笑容。