搖擺天秤的蘋果派

攝影是興趣 寫軟體是工作 不論是攝影或是寫軟體 我都樂在其中


在 Windows 上待久了,很習慣 Win32 SDK, MFC, .NET Framework 這些東西
也很了解 C/C++, C#, VB 這類程式語言
Visual Studio 更是每天最常接觸的軟體之一
而剛接觸 MAC 程式設計世界時,什麼 Cocoa,什麼 Obective-C,什麼 Xcode
一時還真是不知道怎麼上手
經過幾天的摸索,總算對這些專有名詞有點概念了
雖然還是有許多不了解的地方
但做個專有名詞整理比較,也讓想接觸 MAC 程式世界的人了解
更讓 MAC 前輩有機會指教天秤錯誤的觀念

1. 首先介紹一下開發工具吧
在 Windows 上應該就是 Visual Studio 系列了
從昂貴的 Visual Stucio 2002 到現在有免費版本的 Visual Studio 2008 Express
一直都是很 powerful 的開發工具,也很直覺方便
RAD 環境也是其重點之一,和 Text Editor 編輯環境整合的很棒
而在 MAC 上相對的軟體就是 Xcode 和 Interface Builder 了
怎麼會有二套呢? 因為在 MAC 上把 Text Editor 和 RAD 開發環境分開成二套軟體
Xcode 負責管理專案,程式開發、編譯及除錯
Interface Builder 負責 UI 界面及 Action (Event) 事件的處理
整個流程為以 Xcode 開啟專案,並在 Interface Builder 設計 UI 界面後
再回到 Xcode 編譯、執行、測試

2. API (Framework)
在 Windows 上最知名的 API 應該就是 Win32 SDK 了
而 MFC 及現在微軟主推的 .NET Framework 也是很多人使用的平台
這些 Framework 提供了一套各種功能 API 的平台讓程式設計師使用
而在 MAC 上相對的 API 就是 Carbon 及 Cocoa 了
不知道這樣舉例好不好
Carbon 就像是 MFC 一樣,由 MacOS 9 末期推出讓程式設計師轉換平台到 MacOSX 上
其有一定的歷史和包袱
而 Cocoa 則是新的 Framework,就像是 .NET Framework 一樣
為物件導向程式語言的架構平台,其提供的物件多且強大
建議初學 MAC 程式設計的人就直接接觸 Cocoa 就好了

3. 程式語言
在 Windows 上 (或說整個 PC 世界) 最常用的程式語言就是 C 語言了吧
不過有 Windows 上也是一些傳奇和新秀一直出現,如 VB, C#, Java, Delphi 等
各有各的特色及市場
在 MAC 上也是 C/C++ 流通的世界,Carbon 主要提供 C/C++ 使用者使用
就像 MFC 一直是 C/C++ 語言的平台
而 Cocoa 則是可以提供了 Objective-C/Objective-C++/Java 語言
就像 .NET Framework 提供了 C++/C#/VB 等語言

接觸過撰寫程式的人應該很清楚,程式語言百百種
不可能每個人都精通各種 Framework 及各種語言
選擇一二種程式語言和平台當主要武器即可
天秤剛接觸 MAC 程式語言,選擇 Cocoa 和 Objective-C 為主要學習的對象
也許某天有點心得了,再跟大家分享好了



提到遠端桌面連線,不外乎是 VNC 或是 Widnows 內建的遠端桌面連線軟體
這兩種連線方式都有 Windows 及 Mac 版,也都很容易使用
使用方法請參考 Mobile01 上的文章 - XP跟Mac互相遠端桌面遙控
不過以上的方法雖然容易使用,但都還是有其共同的致命的缺點
就是你必須知道對方的 IP Address
這點在外網下沒什麼問題,如果是在 NAT 防火牆下呢? 或是 IP 分享器內呢?
有些時候知道該怎麼做,但是就是會搞不定
又或者這樣想
有個不太懂電腦的辣妹請你幫她設定電腦,而她家距離太遠
你又沒時間走不開也不想放棄 (開玩笑,誰會想放棄)
請她開啟遠端連線軟體或是 VNC 軟體,卻失敗在她根本不懂什麼是 IP Address
或是在 IP 分享器下根本不知道怎麼查實際對外的 IP Address
或是得知 IP Address 後才發現根本就被防火牆給擋住了,完全使不上力
就差最後一步了,你甘心就此放棄嗎?
(PS. 我知道直接衝去她家是最快啦,但這就不是這篇討論的範圍了)

方便的遠端桌面連線軟體 – TeamViewer

TeamViewer 就是很好解決方案,Windows 及 Mac 上都有 
只要對方電腦安裝 TeamViewer 軟體 (也有 Portable 版本連安裝都不用)
執行後會給一組 ID 及密碼,讓對方把 ID 和密碼告訴你
就可以在我方電腦上輸入該 ID 及密碼來達端控制對方的電腦
根本不用管什麼是 IP Address 了,很方便吧 
圖片 1.jpg
最重要的是,只要不是商業用途,它就是完全免費的
而且 Windows 及 MacOSX 版本一應俱全
看你是要 Windwos 控制 MacOSX,還是要 MacOSX 控制 Windows
或是同作業系統的控制都難不倒它
以開頭的例子來看,就算你沒時間過去幫她處理電腦,那個辣妹也逃不出你的手掌心了
一堆數字的 ID 和密碼總看得懂吧
只要她在電話中告訴你 ID 和密碼,你就有辦法連上去她的電腦幫她修理
接下來後續的報答事宜,就看你的意思了 …
圖片 3.jpg
PS. 密碼可以亂數產生,或是固定同一組密碼都可
亂數產生可以確保每次連線都必須通知對方密碼後才可能連得進來

邀請對方來控制我吧

如果那個辣妹對你還是有點戒心,不敢把 ID 和密碼告訴你
怕你這個人面獸心的傢伙日後心懷不軌的話怎麼辦? (做人太差有什麼辦法!)
別怕,TeamViewer 還有個功能,邀請對方來控制我的電腦
她不敢告訴你 ID 和密碼,你的告訴她總可以吧
只要她選擇 Presentation,再輸入你的 ID 和密碼後
就會自動邀請你的電腦去控制她的電腦
圖片 2.jpg
而且還可以開啟對談視窗來即時交談,有點類似線上會議的方式
一邊幫她解決問題,一邊哈啦
圖片 4.jpg

立即切換遠端控制方向

不太了解這個功能的用意,但用法就是原本是你控制對方的電腦
可以馬上切換成由對方控制你的電腦
如果笨辣妹操作錯誤,不是選到 Presentation 來邀請你控制她的電腦
而是選擇 Remote Support 來控制你的電腦的話,而且怎麼教都教不會選擇
可以連線後選擇 Switch sides with partner 一樣可以切換成你控制她的電腦
一樣可以搞定啦
圖片 5.jpg

電腦間檔案傳送

如果操作時發現原來她的電腦缺少了一些檔案造成的問題,怎麼辦?
難道一世英名就此毀於一旦了
沒問題,選擇 File transfer 即會出現雙方電腦目錄的視窗
把她缺少的檔案傳給她就行了嘛,當然也可以把她電腦的檔案 Copy 出來
這點請小心使用,因為她電腦中的檔案完完全全的暴露在你的視窗之中
有什麼 JPG 或是什麼鬼東西的,請發揮正人君子的態度,不要去翻它下載它
不然有什麼後果 (如陳x希事件) 可是不負責的
雖然所有動作都馬上有 Log 記錄顯示,但是會仔細看的人應該不多吧
圖片 6.jpg
PS. 在 Options 裡的 Security 頁的 Access Control incoming
可以選擇是否分享檔案傳送等各項設定,操作前請先查閱

VPN 功能

就是 VPN 功能啦,還滿好用的
直接把對方電腦當成網路芳鄰來用,但是 Windows 版本限定,Mac 版就沒了

畫面品質及連線速度

TeamViewer 可以設定連線的品質,最佳速度、最佳畫面等
畫面可以指定是否自動縮放,也就是說縮小視窗時
連線的桌面會自動縮小至視窗,但解析度還是不變
而 Access Control outgoing 可以設定是否讓對方全權控制
或是不讓對方檔案傳送等
這些設定就讓大家自己研究了~
圖片 7.jpg

突破 NAT 防火牆及注意事項

這個軟體最大的特色,不只是將難懂的 IP Address 轉換成 ID 和密碼來方便連線之外
另一個特色就是 NAT 防火牆的突破,技術有點像 STUN 或是 DDNS 般的應用
兩端電腦啟動軟體後以 TCP 向 TeamViewer Server 註冊,取得唯的 ID
Server 會記住註冊的 Client 的對外實際的 IP Address
連線時軟體會依照 ID 向 Server 取得對方的實際的 IP Address 來連線
而不自己去查到 IP 才能連線,一切動作都是由 Server 來管理
經過測試,如果內網間相連線時,其實向 Server 溝通後即是兩台電腦間的連線
也就是內網的連線,速度很快
但是不同內網又遇到 NAT 防火牆擋得很嚴格時,是由 Server 做 relay 的動作
也就是封包動作會透過 Server 來傳送,理論上只要兩台電腦都連得上 Server 就可以連線
不管 NAT 防火牆擋得怎麼嚴格可都行
除非是擋到連 TCP 向 Server 註冊都失敗那就沒辦法了
這還有個問題,就是如果資料必須由 Server 做 relay 動作
就有安全性的問題,因為 Server 就可能側錄連線的封包
知道你們做了什麼動作,傳了什麼檔案,這點就只能相信他們了
不過換個方式想,如果他們敢動手腳的話,網路上應該一堆人跳出來指責了
更何況 MSN 訊息也是經由 MSN Server 傳送,Server 也可以解析你的封包
如果你害怕了,應該連 MSN 這種軟體都不要碰才是

結論

下次遇到辣妹的要求時,千萬別慌了手腳
或是做叫她先報上 IP Address 這種沒人性的事,或請她先檢查是不是在防火牆底下
辣妹就是辣妹,不是用來做這種事的 (那是哪種事啊? 自己想~)
她優雅的說出 ID 及密碼,你輕鬆的連上線,然後帥氣的處理掉問題
這才是王道啊~

天秤入手 MBP 後,第一件想到的事
當然就是將手上的工作轉移到 MBP 來,不然一台 Pentium-M 1.4G + 768MB Ram 的老機器
又要跑 Visual Studio 2008 和 VMWare 上的 Linux 來開發軟體
實在是難為它了
可惜 MAC 上沒有可以取代 Visual Studio 2008 的軟體 (必須編譯出在 Windows 上執行的軟體)
不然還真想全面放棄 Windows,所以第一件事當然就是安裝 Windows XP 了

以哪種方式安裝 Windows ?

考慮過以下幾個方式

  1. 安裝在 VMWare 上,不執行原生 Windows
  2. 以 BootCamp 分割 15 G 的 partition 來安裝 Windows
    另外分割 15G 的 partition 讓 MAC 及 Windows 共用
  3. 以 BootCamp 分割 30G 的 partition 來安裝 Windows
    也可以用 VMWare 讀取 BootCamp 的 Windows 來執行

第一點由於不是原生 Windows,怕有些軟體無法執行,先淘汰了

第二點原本覺得是好主意,用 BootCamp 切割 15G 來安裝 Windows 後
再用 MacOSX 光碟片開機,執行磁碟工具將 Macintosh HD 分割 15G 出來成新磁碟
這個新磁碟 Format 成 FAT32 讓 Windows 及 Mac 可以共用
只要修改 Windows HD 裡的 boot.ini 檔案
把裡面的 (3) 全改成 (4) 再存檔即可正常啟動 Windows了
但這有個缺點,就是不能用 VMWare 執行 Windows 並使用共用的新磁碟成為 D 磁碟
也就是說 Mac 放檔案上新磁碟後,只能重開機成 Windows 再使用,反之亦同
這讓原本共用磁碟的計劃變成意義不大了

最後決定使用第三點,用 BootCamp 安裝 Windows
為了檔案安全、效率及單檔超過 4G 限制,決定 Format 成 NTFS 格式
且安裝 MacFUSENTFS-3G 讓 Mac 可直接在 Windows HD 的磁碟來讀寫檔案
只要執行 VMWare 啟動安裝在 BootCamp 上的 Windows
就可以在 Mac 上直接拖曳檔案進 Windows 的目錄來達到交換檔案的目的
遇到不行在 VMWare 執行的軟體,也可以重開機以原生 Windows 來執行即可

Mac 及 Windows 的系統備份

Mac 上本身就有 Time Capsule 來備份系統,只要安裝上 USB 隨身硬碟就可以設定
這點沒有問題,甚至買台 Time Capsule 自動無線備份都行
而安裝在 VMWare 上的 Windows 也沒什麼大問題
只要把文件夾中的 VMWare 的整個 Copy 走即可,日後出問題 Copy 回來就好
但是安裝在 BootCamp 上的 Windows 呢?
安裝 Windows 上的 Ghost 或 TrueImage 來備份? 那太麻煩了而且也要花錢
況且只能在 Windows 上執行備份,回復時都必須用它做的光碟開機再回復才行
要是不小心搞亂了 partition,連 Mac 都完蛋就不好了

image

強烈建議在 Mac 上安裝 WinClone 這套軟體
只要在 Mac 上就可以輕輕鬆鬆的完整備份 Windows 了
軟體界面和 Mac 上其它軟體風格一樣簡約,不用多餘的設定

 image

只要以下幾個步驟即可

  1. 選擇 Source 指到 Windows 的磁碟
  2. 寫上說明 (非必要)
  3. 按下方的 [Image] 按鈕來指定儲存的位置

這樣就可以把 Windows 磁碟存成一個 Image 來備份了
還原也是大同小異,相信大家都一定會的



訂閱: 文章 (Atom)