作者:kerkermonkey

[分享] 雙系統應該怎麼分配硬碟分割區

文章來源網址

http://www.ubuntu-tw.org/modules/newbb/viewtopic.php?topic_id=38590

避免自己以後找不到,複製一份過來

建議在正式安裝Ubuntu前 先用Ubuntu Live光碟試用模式中的「GParted」硬碟分割軟體規劃好分割區
請把Windows分割區的尾端往前移動來縮小Windows分割區 縮小NTFS格式的分割區可能會花費數分鐘到數小時
然後參考下面這樣分配硬碟

sda1 ntfs   /windows   30G左右   主要分割,裝Windows
sda2 ext4   /        10G左右   主要分割,裝Linux的根目錄
sda3 ext4   /home     20G左右   主要分割,裝Linux的家目錄
sda4 extended                延伸分割
sda5 swap            2G     邏輯分割,裝Linux的置換空間
sda6 ntfs   /media/data  剩餘的空間    邏輯分割,放Windows跟Linux共用資料

其中掛載點是在安裝系統分配磁碟空間時 按「手動」來對各分割區進行設定
另外若記憶體有1G以上 則可以不要swap 但是沒有swap就沒有休眠功能

還有假如是 原本只有Ubuntu單系統後來加裝Windows 則更新GRUB選單的指令是sudo update-grub
並且Ubuntu與Windows之間有時差的話 在終端機輸入 sudo gedit /etc/default/rcS
將UTC=yes改為UTC=no

另外線上安裝軟體時 會下載套件到/var/cache/apt/archives存放當快取檔
只要根目錄與家目錄是不同分割區 若要重灌Ubuntu 則先於終端機打以下指令備份好這些套件到家目錄

mkdir ~/archives
cp /var/cache/apt/archives/*.deb ~/archives

然後灌好系統後打下列指令 把套件放回去繼續當快取檔 重裝軟體時便不用重新下載

sudo cp ~/archives/*.deb /var/cache/apt/archives

同時 軟體的個人設定檔位於家目錄 所以只要家目錄與根目錄是不同分割區 便可免除重灌後重做偏好設定的麻煩
因為Ubuntu重灌時只需格式化根目錄的分割區

——————————————————————-

<附註>

若安裝Ubuntu時 有設定掛載Windows的C槽
那麼裝好Ubuntu後 可以改為以唯讀的方式掛載Windows的C槽 以免用戶誤刪Windows的重要系統檔

請在終端機中輸入

sudo gedit /etc/fstab

更改

# /windows was on /dev/sda1 during installation
UUID=0123456789ABCDEF /windows        ntfs    defaults,nls=utf8,umask=007,gid=46 0       0

成為

# /windows was on /dev/sda1 during installation
UUID=0123456789ABCDEF /windows        ntfs    ro,defaults,nls=utf8,umask=007,gid=46 0       0

2011/4/30 16:25

最後修改: xenomorph0525 於 2012/11/23 20:30:08

學習筆記 Mock Object Framework – mockito

做Unit Testing時,待測單元有時會需要與別的物件或單元互動,若該單元還沒完成或是需要獨立測試時,mock object就能拿來模擬別的單元,用來假設其它單元一切正常,測試起來會更清晰。

實作mock的概念方法有許多,目前用過兩種:

  1. 自己寫mock object

  2. 使用mock object framework

當測試情境不覆雜時,自己寫是個不錯的方式,能清楚知道整個測試專案(一個獨立於開發中的環境)的脈絡,但mock object類別充斥在測試專案中,維護起來就麻煩,故此,用別人寫好的framework,就是比較適當的做法。試過的framework有EasyMockjMockmockito,本來網路上查到較多人用的是EasyMock,所以也跟著用,但實在是「不好操作」,所以又放了一段時間沒用;近日在網友的blog上看到Mockito,我照著官方教學試了試,甚好,下面將重點概念做個記錄。

mockito Mock Object基本概念

網友fcamel在<<使用 Mockito 更輕鬆地寫 unit test>>文中提到

四種不同層級的輔助元件: dummy、stub、spy、mock:

  • dummy: 什麼事也不做。

  • stub: 依據輸入傳回物件,藉此控制後續的邏輯。(相對來說) 不在意被呼叫的方式,像是何時被呼叫、呼叫了幾次等。

  • spy: 用來確認該物件如何被使用。比方說呼叫 cursor 物件的 commit() 前有沒有先呼叫 execute()。

  • mock: 同stub + spy,既需要傳回物件供待測方法使用,也在意它如何被呼叫。

拿這種概念分類修正自己對mock的理解相當不錯,搭配上適當的練習,決定要在下個專案使用它。

Mockito實現了上述概念,至於怎麼使用就不在此覆述,官網的教學相當清楚,先做過一遍在心裡留個底,實務上在找適合的地方運出來。

有趣的是,官網FAQ認為mockito並不是mock object framework

…Technically speaking Mockito is a Test Spy framework. Usually developers use Mockito instead of a mocking framework. Test Spy framework allows to verify behaviour (like mocks) and stub methods (like good old hand-crafted stubs).

書摘與心得 軟體預先架構之美學 Prefactoring

中文書名:軟體預先架構之美學

英文書名:Prefactoring

ch1

基本觀念

  • Extreme Abstraction

  • Extreme Separation

  • Extreme Readability

另一面向是把焦點放在介面(interface);想著介面,就能進一步邁向抽象化的目標,也就是說,要去想哪些元件能為你所用,而不是去想這些元件該怎麼運作。

預構無法保證你的設計不用做重構。

情境是一切。不同的路要準備不同裝備,而且要知道終點在哪理。

保持敏捷。

ch2

探討需求時,採用精簡過的使用案例(Use Case)或故事板(Stroy Board)記錄情境,用它跟客戶討論。在我們的團隊中,如果BA未寫Use Case,則用它跟BA討論。

不要重新發明輪子。如果系統的某個部份已有成熟、可靠的元件可用,就不要再重新開發。

系統中每個概念都要定義清晰的名詞。

結合兩個概念,比分離一個概念簡單許多。

把資料凝結可以簡少必須劉在心中的概念數量。例如:把street, no, state凝結成address。

用抽象資料型態(Abstract Data Type),建立模型時,避免使用基本資料型態。用顯態定型(explicit typeing)描述問題和解法,日後有需要時容易轉成隱態定型,但反向則困難許多。

避免一切都是字串。

不要只是為了實作上的考量而把類別合併起來。

快速的做出雛型。

ch3

從大藍圖開始

系統裡的設計決策應該和架構一致。

建立系統前,先對既存環境有所認知,可協助你節省開發時間。

介面規範

介面和使用該介面的人之間有個規範。規範的內容包含了該介面中每個方法的先決條件(precondition)和後續條件(postcondition)。先決條件主張,每個方法被呼叫時必為真,使其能執行運算,後續條件主張方法執行完後,應為真。

作者傾向於被呼叫的方法會特別在其程式中查核其先決條件。這些程式就是規範的記錄。

查驗

應該把來到系統的輸入資料,轉成其對應的抽象資料型態。

所有識別項目都應含有自我查驗值,以防止多數常見資料錯誤。

就分層系統而言,查驗工作都是在各層的邊界上,至於查驗什麼,則是根據每層之間所定義的規範。

把假設和決策形諸文件

錯誤處理和錯誤

找出你的系統會有那些誤差和錯誤,並決定如何處理。

誤差和錯誤發生時,回報給使用者的訊息應該對使用者有意義。訊息中應該包含盡可能多的資訊,說明該如何避開或更正問題。

ch4

系統初次成品完工時,我們想保有最少功能集(minimum feature set,MFS)。

過成

分析的中點是描述使用者需求(不是規格),而設計的重點是建立一套解決方案,使其滿足需求。

分析停滯

你不能花一輩子的時間,確認你的系統需求,你應該花時間瞭解基本的抽象化內容、基本的使用案例、以及每件事之間如何互動。

設計停滯

要確認類別的設計是否足夠,方式之一是利用你考量的類別運作使用案例,如果所有案例都能實施,很可能你已經抓住所有有意義的類別了。

初始設計

除非某人試著使用該概念,否則該概念不會被完整理解。

從大處規劃,從小處設計

如果我們的設計結果無法執行某些使用案例,繼續走下去之前,就得重做一遍。

有了最初一組類別之後,我們檢視每個使用案例,想弄明白會不會影響我們選配出來的類別。

檢測功能

系統開發的每個時點,你都應該建立檢測內容的草案,檢測內容可以包含基本的使用案例,以及日後討論時會出現的任何誤用案例。

AT與UT都要寫,而且最好可以自動化。

安全

安全不能事後諸葛,隨時都要考量進去。

姚仁祿 品牌、設計與行銷課程筆記 – 第四堂課

5-1

30秒把故事說完 用3張投影片

做設計就是,用很短的畫面把故事說完

綠設計責任

設計思想

品牌新秩序

 

5-2

It’s clear to us that the traditional business models and strategies markcters have used for generations no longer work.. Consumer behaior has changed so rapidly and so profoundly it requires an entirely new vision of brand management. The Brain Bubble(Book) John Gerzema and Ed Lebar A brand with energy

1. Has velocity and direction

2. Constantly reinvents itself

3. Engages consumers on its own terms

4. Attracts without chasing

5. Moves culture as well as categries

學習開始問對的問題

 

5-3 要做出一個模型去測試看看,邊做邊想。 設計是去創造選擇。

不同行業的人應一起討論同一個主題。

要做好設計的第一步就是從「問對的問題」開始。

TED影片 綠設計的救贖與獲利 John Doerr

企業的力量很大

個人的力量很大

政策是最大的力量

預測未來最好的方法就是去創造它

預測未來次好的方法就是去投資它

案:預測未來次好的方法就是去參予它

vi指令

取代、置換

:1,$s/aaa/bbb/gc

1:由第一個字元開始

$:到最後一個字元

s:做搜尋

/:分隔符號

aaa:要被找到的字元

bbb:置換的字元

g:全域

c:確認

 

分頁

:tabe #開啟一個新的分頁

:tabe file #開啟一個名叫file的檔案,並創建一個新分頁

:tabc #關閉目前分頁

:tabc n #關閉第幾號分頁

:tabo #關閉其它分頁

:tabn #跳轉到下一個分頁

gt #同上

n gt #跳轉到第n個分頁。n代表分頁索引

:tabp #跳轉到上一個分頁

gT #同上

:tabf #跳轉到第一個分頁

:tabl #跳轉到最後一個分頁

姚仁祿 品牌、設計與行銷課程筆記 – 第三堂課

第三堂課 – 設計的知識能力與販售方法

沒有能力的設計,無法販售
沒有知識的設記,無法販售
沒有販售的設計,就無法改變世界

設計販售,就是重新定義需求
inner branding
權力交給設計家

設計知識
http://www.google.com/cop15
有足夠的知識,才知道綠設計不只是責任,也是商機
如果你要解決一個很嚴重的問題,應該不要用以前的方法
Collaboration and the Copyfight
學會怎麼樣讓人家跟你合作
綠色的設計不只是我們說的環保,而是所有的資源我們都不要浪費掉,TED演講舉例巴西聖保羅用Linux教大眾技術,就是一種綠設計

設計能力
了解腦與知覺的運作真相,是關鍵的設計能力
同一個東西隨著它參數的改變,可以被看成無限多種樣子
我們看東西是學習來的,看的越多通常就會越準,我們要有足夠的知識,判斷才會較準確