2013年10月9日 星期三

如何設計好的 API

從 gslin blog 看到的分享好文 「Parse Developer Day Video Series: How to Design Great APIs」。很原則性的大方向概述,但的確,這事好 API 的必要條件。

設計好 API 的動機:懶惰!

好的 API 可以讓你更懶惰

好的 API 的條件

直覺的

看到就知道怎麼用,不需要猜測

  1. 類似的東西就要有類似的結果。例如 length function 對於 string 和 array 應該有類似的結果。
  2. 平行化的結構。類似的命名要有相同的功能,例如 obj.saveInBackground(); vs. obj.deleteInBackground();
  3. 做髒髒的事。在命名上加上足夠的描述來呈現他的危險性、功能性等等。例如 $crashserverfrequency = true;

好文件的

一看就懂得文件,不要讓人去看 Source Code(?

  1. 簡單的問題應該簡單的被解釋。e.g. What does X do?
  2. Tutorial 應該要有趣不要無聊
  3. Quick start 應該要越快越好

Opinionated (自以為是的?)

建造統一哲學的 API,讓他看起來事一個人做的

  1. 風格相同。例如全部都是 REST
  2. 結果相同。例如輸出格式都是 JSON。這句話的意思是指輸出的 default 格式都是相同的,不代表不能選擇性的轉換格式。
  3. PHP String library 命名不統一被表xd..

2013年9月27日 星期五

[讀書心得] Google總部大揭密:Google如何思考?如何運作? 如何形塑你我的生活?

序言

今天是 Google 成立 15 年,剛好我也在前幾週看完了一本可以說是 Google 自傳的書本《Google總部大揭密:Google如何思考?如何運作? 如何形塑你我的生活?》。此書由現任 Wired 雜誌主編的 Steven Levy 所撰寫,不像一般是由外部觀察的文章,本書是由訪問大量 Google 現任與離職的員工與多次參加內部會議後撰寫而成,更能從內部看到 Google 本身的精神。(希望是真的 XD)
但總而言之,這是一本很適合睡前約讀的小品,即使他的段落有點長....

心得

草創

Google 創立與成長的過程其實並不特殊,一個很標準的 Start Up 的過程,在大學的研究計畫中獲得一個點子(如何利用網頁與網頁間的連結來評價網頁並進行搜尋,PageRank),一個嘗試 (利用學校的頻寬、電腦與就硬碟開始在校園中運行 Prototype),接下來看到流量,持續的精鍊(擴充機器、改進程式與演算法),找到資金成立公司或賣給大公司(當時第一大的搜尋引擎和 Yahoo! 接洽後都沒買)。
接著就是走著校園風格小辦公室(免費的食物),招募來自於頂尖學校且富有技巧的員工,持續改進演算法與爬蟲程式。書中提到 Google 的願景或說是創辦人的願景其實是期望能夠利用演算法(Algorithm),將全世界的資訊整合,讓任何人都可以輕易的找到與存取。然而作為一家接受別人投資的公司,也迫使著 Google 必須要想辦法獲利,而關鍵字廣告正是妥協,但也是 Google 成功的秘訣,小辦公室也因此變成大辦公室。前 CEO 施密特也受邀倒 Google 管理這個已經成為大公司,卻只又一群群工程師、hacker在運作的大學般的公司。
這故事跟 Facebook 的成長的故事相當類似,只差在一個是以搜尋引擎起家,一個是社群網路起家。社群網路的出現著實下了 Google 一跳,希望全部透過演算法建立一個人工智慧,提供使用者非人為提供的知識是 Google 的目標,但 Facebook 的出現讓 Google 發現莫非由使用者的親朋好友所提供的資訊卻才是有效的資料獲取方式? Google+ 是 Google 第一個不是為了公司願景所創造的產品,完全是為了追趕 Facebook。

2013年9月14日 星期六

[心得] 買了一台 13" Apple Macbook Air

好不容易拿到了畢業證書,決定要買個禮物考賞自己。為了要讓自己身邊有更多元的平台,就決定來買台搭載 OS X 的蘋果產品,畢竟用 VM 玩起來沒動畫實在沒 fu,最後就決定買了一台 13" Apple Macbook Air。

2013 09 12 09 53 16

先前有掀翻了初入門的書,所以大概還知道要怎麼操作,但也花了幾天來摸索要安裝什麼軟體以及各總和 Windows 筆電不一樣的操作方式。下面是我心得、遇到的問題 (希望有人可以跟我說怎麼解決 哈)以及我安裝的軟體。

心得&問題:

  • 2013 年的 Air,如果你考慮的是攜帶性、續航時間那在這個價位下他是前段班的選擇,如果有更多預算才能在高階的 Ultrabook 找到更好的選擇。
  • 多點觸控版:
    • 大概是最有趣的地方了,一隻手指頭到四隻手指頭都有不同的手勢可以使用。以前習慣使用觸控版右側來捲動捲軸,而在 mac 則要改用兩指滑動,但這個動作如果只用單手他就必須要整隻手離開鍵盤,這實在有點麻煩。後來我發現可以兩手用拇指一起滑,這樣也是可以捲動的啦。
    • 四指或三指上下滑動可以叫出 mission control 和 launchpad,不過鍵盤的 F3 和 F4 就可以做到了,所以好像沒有特別的優勢。
    • 右鍵需要雙指觸碰或點擊右下角,可惜 air 的觸控版有點硬,點擊要花的力氣手會酸 (還會有聲音),所以又再次使用兩隻拇指來解決xd。
    • 選擇文字是我遇到最大的困難,目前還沒找到解決方法,一定要點擊後才能選取,但如上面說的原因,會手酸。
  • 鍵盤:
    • 鍵盤配置少了 page up, page down, home 跟 end,前面兩個可以用 fn + 上下來達成,後面兩個我還在尋找他們 ||。
    • F1~F12 需要按住 fn 才能使用,最大的問題是在看網頁的時候每有 F5 可以按了 ….. well … 還有 command + R 可以用。
    • Ctrl + C/V 變成 command + C/V,這個配置我覺得距離有點近了,按起來有點彆扭,習慣中。
    • 按 delete 有時候會按到電源開關…
  • OS X
    • 我覺得這是一個相當適合單工的環境,把程式全螢幕顯示是我最愛用的功能。但當你把它最大化後,它會被放到一個新的桌面,我遇到的問題是當你把一個 app 獨立放在一個桌面而你又把它最大化,那這個最大化的app和你放其他東西的桌面間就會跑出一個空白的桌面…
    • 同一個程式的開多個視窗時還是只會有一個 icon 在 dock ,很容易就會找不到視窗,這也是頗困擾我的地方。
    • 注音輸入法我已經換成奇摩輸入法了,但是還是沒辦法只按 shift 就切換中英文輸入,選項到底在哪裡!!!
    • 其他~~還不錯用,繼續尋找它的小秘密和快捷鍵中...

軟體:

  • Chrome
  • Firefox
  • iTerm2
  • Sublime
  • MarsEdit
  • Mou
  • Evernote
  • Readkit
  • LINE
  • Welly
  • MplayerX
  • The Unarchiver
  • Dropbox
  • xcode

還有人要推薦好軟體嗎 :)?

2013年8月9日 星期五

WebConf 2013 筆記

最近好不容易碩士口試結束了,可以花點時間趕緊來追一下過去幾個禮拜...幾個月 lost 調的資訊。COSCUP 2013 的影片還沒出來,所以先來看一下 WebConf 的影片, 以下是 Day 1 我有看的 talk 的筆記:

WebConf 2013 筆記

Day 1

開發 web 的遠大前程

- Speaker: 李智樺 (Ruddy Lee)
  1. 要找到興趣很重要,不要為了達成特並目的去做
  2. Scrum 很重要, 但一個不能用
  3. 沒有 feedback, smaill iteration 就沒有敏捷開發
  4. 敏捷開發還是要寫文件 => test case, live docution
  5. 現在的 programmer 沒有人擁有自己的 code
  6. 開發團隊必須要有 一致的編程規範
  7. 時間管理很重要 番茄工作法
  8. Curation web, 兜兜哲學

node.js production site architecture

- Speaker: Ben (POP 作者)
  1. 監控 node app: Monit(Ubuntu 內建) and Forever(node 模組)
  2. Nginx 可以作為 reverse proxy 和 static file server. 在 production 環境下可以擋一台在前面增加 scalability
  3. 高擴展性架構 client -> load balancer -> * ( Nginx reverse proxy -> * node.js) -> * database cluster -> Membership, Payment -> CDN -> S3 (static files)
  4. 也可以用 Cloud Service: Heroku, Nodejitsu, mongoHQ
  5. 解除 limit
    sudo vi /etc/security/limits.conf
    #add the following 4 lines
    root soft nofile 51200
    root hard nofile 51200
    * soft nofile 51200
    * hard nofile 51200
    sudo vi /etc/pam.d/common-session
    #add
    session required pam_limits.so
    sudo vi /etc/profile
    #add
    ulimit -SHn 51200
  6. 我們在找人, 把 github 帳號丟給我們就好了 <- Github 非常重要

那些 Mockup 沒告訴你的事

- Spearker: Adam Wang (阿當)
  1. mockup 是一個模型: 任何一張 screenshot 都算是
  2. 彈性: i18n, 圖片的濫用
  3. 對齊: line-height, box-model, z-index
    text-overflow: ellipsis; /\*CSS3\*/
  4. 一致性: 配色與變數, 狀態
  5. 親和力: ARIA, tabIndex
    <a role="button" href="#">Panic</a>
  6. 漸進式改良: CSS3 box-shadow, text-shadow, border-radius, keyframe-anmation; placeholder, required
    http://youtu.be/hdTxeR90_
  7. 是介面不是圖: 防呆, pushState/PJAX
  8. 卷軸: 一目瞭然, Parallax scrolling
    stellar.js
  9. 效能: lazyload 10.跨裝置設計: Responsive Web Design
    不要用 :hover 來做提示了, 請加上 :active // 觸控螢幕沒有 hover

磚業也要專業 - 如何成為更好的 PHPer

- Speaker: 大澤木小鐵
此演講獎大量的 guideline,可以直接看投影片
  1. 微薪技嘉是台灣工程師的寫照
  2. debug 工具:
    xdebug.org
    FirePHP
  3. 統一的編成風格 http://www.php-fig.org/
  4. 套件管理 Composer

你們都誤解了,網路是很安全的!

- Speaker: 翁浩正 (Allen Own)
  1. live demo
  2. 無知: 管理者需要學習
    1. 最新資安弱點: expolit
    2. 最新駭客攻擊手法
    3. 新建置技術、新防禦技術
    4. 避免僥倖心態
  3. 無能: 管理者需要修練
    1. 伺服器不安全
      • 系統未更新、修補
      • 未做安全性設定
      • 未使用服務沒關閉
      • 開發環境未隔離: 備份檔, .svn, .sql
      • 管理後台未隔離
    2. 應用程式不安全
      • 使用別人撰寫的套件或框架
      • 自行撰寫不安全程式或設定
      • 網站錯誤訊息未隱藏: 資料庫欄位, 實體路徑
      • 老舊程式維護困難
    3. 管理不安全
      • 權限控管
      • 密碼安全性原則
      線上破解 hash cmd5.com
  4. 無恥: 管理者未盡責任
    1. 隱匿不報
    2. 推卸責任
    3. 湮滅證據
  5. 相關網站
    security focus
    大陸網站

無廢話 DRBD + Heartbeat 實戰

- Speaker: Weithenn
  1. DRBD: Distributed Replicated Block Device
    • 可以想做是跨網路的 RAID 1
  2. 高可用性的三種實現方式
    • DNS
    • IP: Heartbeat
    • MAC
  3. Failover: 壞了後有人救
  4. Failback: 回復後會自動回來 (但因為機器可能時好時壞, 這個動作手動比較好)
  5. DRBD + Heatbeat 是 host-level 的 HA, 不是 application-level 的保護, 所以單一 application 出問題不會切換的

Maintainable CSS with Sass and Compass

- Speaker: hlb (registrano, compass.app, fire.app)
  1. SASS + Compass
  2. SASS 可以直接算 HSL
  3. 可以自動切 Sprites, 也支援 Retina
    不擔心 IE 6, 7, 8 可以用 Icon Font / SVG
  4. 3.2 新增 placeholder 解決 extend 的問題
  5. (中略)
  6. 方法學
  7. CSS code guideline
  8. 自動化產生 style guide

2012 年網頁技術濃縮咖啡

- Speaker: 吳逸文 (Even Wu)
  1. 網頁設計是資訊流的整理, 可以任意折疊 (RWD)
  2. 應該要用 SCSS
    • Fire.app 很好用
  3. 顏色與形狀要注意
    • 調和顏色比重
    • 間隔, 突出
  4. Web 字體,用 Cloud font。
  5. Responsive Design
    • 圖: 先暫位
    • 文: 遺尿 (可以用 Macho.js)
  6. Hi-DPI 設計

Develop Tools in Modern Browsers

- Speaker: OOO
  1. alert 會讓程式停下來, console.log 會繼續執行, 所以 alert debug 還是很有用
  2. Firebug 算是第一個前端的開發工具
  3. live 介紹 chrome 開發者工具
  4. live 介紹 opera 開發者工具
  5. safari + ipad => remote debug
  6. Firebug Lite 獨立 browser 的工具

Media Query 123

- Speaker: 閃光洽 (Hina)
  1. CSS3 的新特性
  2. 針對不同裝置螢幕大小載入不同的 CSS
  3. @media 靠 @viewport 而不是瀏覽器本身
  4. 寬度需要依照裝置螢幕的密度來換算
  5. Content first: 在任何不同裝置上, 都能看到一樣的重點
  6. RWD = @media + @viewport
  7. @viewport 沒事不要亂改, 可以複製貼上
    <meta name="viewport" content="width=device-width">
    <meta name="viewport" content="width=device-width; initial-scale=1">
    <meta name="viewport" content="width=device-width; initial-scale=1; minimum-scale=1.0">

用原型驅動設計

- Speaker: 阿修 (Justin Lee/lis186)
  1. 專業分工: 研究 - 設計 - 前端 - 後端
  2. 環環相扣:
    • 使用者經驗設計師: 研究 + 設計
    • 使用者介面工程師: 設計 + 前端
    • 應用程式工程師: 前端 + 後端
  3. 打造原型
    • 紙面原型
    • 手工打造 HTML e.g. bootstrap
    • 工具打造 HTML e.g. FW
    • 影片
    • 互動 flash
    • 簡報
    • 可點擊 pdf
    • 線上工具
    • 立體模型
  4. Doule Diamond 設計流程: 點子 (Discover)-(Define) 願景 (Develop)-(Deliver) 成果
  5. 原型設計原則
    • 了解給誰看的
    • 設定要探索的範圍
    • 選擇適合的工具
    • 不一定要自己做, 用現成工具, 會意就好
    • 精細度足夠就好
    • 只做需要的部分
    • 早點開始做

網站效能調整-網站系統篇

-Speaker: TonyQ
  1. 效能簡單的定義: 更快的響應時間
  2. 效能調整的時間: 通常已經 production 了, 設計和實作階段只能假想效能問題, 但可能不是源頭
  3. 平民 style: 不用 cluster, load balance, data slicing
  4. 誰要來調整: team 內部的人, 外來專家不了解專案難以處理 (即使用 tools 也是)
  5. 4~5 萬 pageview/day 會碰到第一次門檻 (soft tune 即可), 10-20萬會碰到第二次門檻 (hardware 要強)
  6. 瓶頸產生: (1) 流量增加, (2) 新服務部屬, (3) 使用到外部 API
  7. 調整效能第一步: Profiling (在 tune 之前一定要做)
  8. Profiling 工具:
    • 開發者工具, 先了解時間耗損最多在哪
    • Database 的 slow query log
    • Google Analytics 找到 hot page, 找 downlaod time
    • 在 PHP 中插時間戳, 計算各部分所花的時間 (通常會符合 721 法則)
    • 在 JS 中插時間戳
  9. 一定要看數據說問題, 不要用猜的
  10. 有可能是 Framework 導致的, 例如 ORM 沒有用 lazy load
  11. 會有雪崩效應, 越來越多人按 F5
  12. table lock 要注意
  13. 方法:
    • Refine process
    • cache
    • index
    • 分離長時間的操作

2013年5月23日 星期四

神秘的 JavaScript 邏輯運算

JavaScript 邏輯運算子有個非常有趣的特性,最近遇到跟大家分享一下。(眾人: 連用個邏輯運算你都會有問題去跪算盤吧)

JS 的邏輯運算不會改變運算元的型別,而只是在運算時會將其視為 Boolean 來處理。因為這個特性,"最後" 運算完的值不一定是 Boolean。以下面的程式作為例子:

第一個 alert 中的 str || obj,因為 'hello' 轉換為 Boolean 時視為 true,由於 short path,就直接返回了,結果是 hello (WTF!)。

第二個 alert 中的 str && obj,由於 'hello' 是 true,因此要檢查 obj ,當然啦 obj 也是 true,雖然看起來很像是 false ... (參考 http://www.w3schools.com/js/js_obj_boolean.asp),因此返回後面的結果, object。

也就是說,其實寫在 if 裡面的結果是在最後又被轉換成 Boolean 才判斷的。

http://jsfiddle.net/welkineins/reJp9/


var str = 'hello';
var obj = {};
alert(str || obj);
alert(str && obj);

2013年4月6日 星期六

回頭看「10 倍速影像閱讀法」這本書

  回想國高中的時候我對速讀和影像閱讀還滿著迷的,能夠在一瞬間看完大量的文章資訊、背起大量的單字總是很令人嚮往。加上我那時功課不太好(汗),所以就更想要試試看有沒有效了。現在來看我必須說這些"技巧"和一些練習是有幫助的,雖然我跟隨特定的方法,但是就閱讀的速度上來說其實是真的有增加,或許真的是有讓我在學習時比較順利。

  到研究所的現在要看的資訊越來越多,Google 也越來越方便,我(不知道有沒有包含許多人)其實有一個很錯誤的習慣,我逐漸將頭腦當作一個大型的索引庫(Index),裡面放的只有關鍵字,而把內容就留在那成千上萬的網頁中,反正只要 Google 就可以找到,所以就慢慢演變成知道很多,但是也什麼都不知道的狀況(這可能是因為 RSS 用習慣造成的問題???)。清明連假回到台中在書架上看到這本「10 倍速影像閱讀法」,這是一本當時還滿紅的書,從Google 可以看到相當多的閱讀心得和評論,重新燃起我對這種方法的興趣,想著再來實踐一下這樣的方式,強末自己閱讀,能不能讓自己的頭腦成為知識庫而不是滿滿索引而已了。

博客來連結:10倍速影像閱讀法(新版)
(雖然我看的是舊版的)

永錫先生 2010 年在虎尾科大光電(所?)的講座,把基本方法都講得很完整,但是他把書中最懸的部分,但也是最強的部份抽掉了(XD) 因為他擔心這個說法沒人信... 文後附上 discovery 的說明,看大家相不相信了
 (共八集,請點擊轉跳觀看)



Discovery 讀心術專題報導: (共三集,請點擊轉跳觀看)

2013年2月8日 星期五

Ubuntu 12.10 中文輸入法改用 HIME

趁著年假也把筆電來個大掃除,重新安裝了 VM 上的 Ubuntu。Ubuntu 在安裝時如果選了繁體中文語系,則裝好之後會預設有 ibus + 酷音作為中文輸入法。可是,預設沒有 GUI 設定介面,所以修改設定比要麻煩。原本打算換成 gcin,但突然想到之前吵得很兇的 HIME 姬 (http://hime.luna.com.tw/),就決定來換他了。

Note: 鬧很兇的原因請參考 "HIME INPUT METHOD EDITOR, HIME (姫) 專案,開始!" http://tetralet.luna.com.tw/index.php?op=ViewArticle&articleId=234&blogId=1

安裝步驟

  1. 先移除 ibus
    $sudo apt-get purge ibus





  2. 安裝 HIME
    $sudo apt-get install hime





  3. 更換預設輸入法框架
    # 命令列直接更改
    $ im-switch -s hime
    # 或由GUI修改
    $ im-switch



  4. 重啟 xwindow 或重開機來改用 HIME

注意事項



  1. HIME 目前在 universe 套件庫中,預設應該是有勾選的,若沒有的話請自己加一下了。

參考資料



  1. http://wiki.ubuntu-tw.org/index.php?title=HIME

  2. http://tetralet.luna.com.tw/index.php?op=ViewArticle&articleId=234&blogId=1

  3. http://www.ubuntu-tw.com/modules/newbb/viewpost.php?forum=1&viewmode=flat&type=&uid=0&order=ASC&mode=0&start=22630&menumode=1

  4. http://ahhafree.blogspot.tw/2012/05/ubuntu-1204-gcin-hime.html

在 VMware Workstation 上安裝 Mac OS X Mountain Lion(10.8)

前言:我發現每次寫文章如果要寫得很正規,那寫一兩篇就不想寫了(好懶),所以改走隨意風,希望能久一點!

今天心血來潮又回來看一下把 Mac OS X 裝在筆電上的方法。我發現和一兩年前相比,直接安裝或虛擬機安裝步驟都簡化的相當的多,但是,為了方便切換,我還是選擇了嘗試虛擬機的方式,下面會寫一下測試的心得。

注:有興趣直接安裝把 Mac OS X 作為主系統的朋友們可以參考 OSx86 Project (http://www.osx86project.org/) 。發展得還不錯,可以對照一下自己的硬體支不支援,OK的話就能直上了 :)

OK,開始安裝在 VMware 上的方法,不過完整介紹怎麼安裝的發文已經太多了,我就不講了XD。

在測試中,我用的平台是

  • CPU:Intel Core i5-2410M
  • RAM:8G RAM
  • HDD:美光 m4 128G
  • Host OS:Windows 8 企業版
  • Hypervisor:VMware Workstation 9.0.1
  • Guest OS:Apple Mac OS X 10.8 (Mountain Lion)

基本步驟是如下,詳細步驟(包含圖解)請直接參考參考連結1、2和3

  1. 買一個正版的 Mac OS X 安裝光碟或從 Apple Store 上面下載
  2. 對映像檔做適當的轉檔 (如 dmg2img、dmg2iso,詳情請見參考連結)
  3. 安裝 VMware Workstation (Host 可以在 Windows 或 Linux)
  4. 安裝 Mac OS X Unlocker for VMware (截至本文時,最新版本為 v110,且 VMware Workstation 9 可用)
  5. 建立新的虛擬機,記得啟用虛擬化技術光碟機改為 SCSI介面移除軟碟機勾選 3D 加速。(這些一定要改才能正常 work,另外有一些針對 VMware 的最佳化可以另外做)
  6. 掛載 Mac OS X 映像檔或放入光碟片
  7. 開啟虛擬機,出現安裝畫面;使用硬碟分割工具切割好硬碟後,下一步到底,基本上就裝好囉,聲音鍵盤畫面基本上都是正常的。
  8. 下載 darwin.iso 並掛載來安裝 VMware Tools (由v110 或 workstation 9 提供的版本似乎較舊,可以在網上找找有沒有新的),裝好後解析度就能隨視窗大小改變了,雖然功能不是很正常。
  9. ===參考連結做的事到這邊結束===

做到這邊,一切看起來都很正常,連 Youtube 都可以正常撥放 HTML5 影片,但一放大縮小視窗,或招喚出 Lanuchpad 時,整個畫面會變得非常的頓,感覺 3D 加速沒有在工作,但下面的 Dock 卻有半透明特效,一整個不知道是怎樣。

在這邊有幾點可以做的

  1. 參考連結2、3 中有調整一些 VMware 的設定,可以讓整體操作速度快一點,但對於畫面貌似沒有幫助
  2. 參考連結5、6 和 7,不用 VMware Tools 內建的顯卡驅動,改用VMsvga2,這個是有用的,移動畫面比較不會頓,但是對於 Lanuchpad 和視窗全螢幕的動畫還是沒有改善…
  3. 參考連結4 有調整 Mac OS X 本身的設定來加速,例如關閉某些動畫等等,其實這個方法比較實際,我在把絕大多數的動畫關掉後,操作上比較不會感覺到悲劇。內文有推薦一個工具叫 tincktool (http://www.bresink.com/osx/TinkerTool.html) 還滿好用的。
  4. 調整 VM 顯示卡的 RAM 大小,看起來沒用。

結論

可以玩玩,在2D應用中,已經都正常使用了,但距離在裡面玩 3D 遊戲,或炫麗的特效還有很長的距離。如果是想要嘗試超炫特效的,還是嘗試直接安裝 OSx86 或買一台 Apple 的機器吧,其實到現在跟一般 PC 價差也沒那麼大了。

參考連結:

  1. [教程]【独家首发】VMware Station安装最新Mac OS X 10.8 Mountian Lion! http://bbs.weiphone.com/read-htm-tid-5140461.html
  2. VMware 虚拟机安装 Mac OS X Mountain Lion 苹果系统 http://www.ychong.com/mac-os-x-mountain-lion-vmware-workstation/
  3. VMware 9 安装 Mac OS X 10.8 Mountain Lion 图文全程
    http://unmi.cc/vmware9-install-mac-os-x-mountain-lion
  4. 提高 Mac OS X 速度的 52 个方法! 支持的顶!(转) http://softbbs.pconline.com.cn/10577259.html
  5. Vmware中mac snow leopard蘋果雪豹系統驅動程式安裝方法 http://www.pairsdoll.com/install-drivers-for-mac-snow-leopard-on-vmware.html/
  6. VMsvga2 http://sourceforge.net/projects/vmsvga2/
  7. [solved] Performance Issues with Lion on Workstation 8 http://www.insanelymac.com/forum/topic/268579-solved-performance-issues-with-lion-on-workstation-8/