1. 避免更新特定套件

    因為自己編譯了 vim,而往後必須要避免系統自動去更新 vim,除了透過 Synaptic Package Manager 之外,也可以透過以下方式

    • using dpkg

    如下,

    echo "vim hold" | sudo dpkg --set-selections
    echo "vim install" | sudo dpkg --set-selections
    #display the status
    dpkg --get-selections | grep "vim"
    
    • using apt

    如下,

    sudo apt-mark hold vim
    sudo apt-mark unhold vim
    
    • using aptitude

    如下,

    sudo aptitude hold ...

    Read more...


  2. 設定 locale

    Regenate all the locales

    sudo dpkg-reconfigure locales
    

    以上會輸出

    Generating locales...
      en_AG.UTF-8... done
      en_AU.UTF-8... done
      en_BW.UTF-8... done
      en_CA.UTF-8... done
      en_DK.UTF-8... done
      en_GB.UTF-8... done
      en_HK.UTF-8... done
      en_IE.UTF-8... done
      en_IN.UTF-8... done
      en_NG.UTF-8... done
      en_NZ.UTF-8... done
      en_PH.UTF-8... done
      en_SG.UTF-8... done
      en_US ...

    Read more...


  3. 手動 compile vim

    參考

    先安裝以下這些 dependency。

    sudo apt-get install libncurses5-dev libgnome2-dev libgnomeui-dev \
    libgtk2.0-dev libatk1.0-dev libbonoboui2-dev \
    libcairo2-dev libx11-dev libxpm-dev libxt-dev python-dev ruby-dev mercurial
    

    移除系統的 vim。

    sudo apt-get purge vim vim-runtime gvim vim-tiny vim-common vim-gui-common
    

    如果系統有安裝 pythonbrew,建議先把它關掉,同時把相關的 .bashrc的設定註解掉。

    在下./configure時,會讀取 cache,其中的 python path 一定要是系統目錄的,這樣編譯才會正常。通常如果有裝pythonbrew ...

    Read more...


  4. 完整移除 package

    參考

    在 ubuntu 中,利用 dpkg -l 可以看到套件的狀態。

    總共有三個欄位。

    Desired=Unknown/Install/Remove/Purge/Hold                                     
    | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
    |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
    

    第一個欄位為 desired package state ("selection state")。

    • u ... unknown
    • i ... install
    • r ... remove/deinstall
    • p ... purge (remove including config files ...

    Read more...


  5. clone submodule

    連同 project 一同 clone 下來:

    git clone --recursive git://github.com/foo/bar.git
    

    假設 project 已經存在:

    git submodule update --init --recursive
    

    Read more...


  6. Eclipse的設定

    修改Eclipse預設的Editor Theme及IDE theme

    首先是Editor theme。

    Install new software->add->http://eclipse-color-theme.github.com/update

    Name打Editor Theme。

    接著到preferences->General->Appearance->Editor Theme選擇要的Theme。

    接下來是IDE theme。

    下載Dark Juno

    解壓縮後將jar file放到Eclipse底下的dropins 資料夾內。

    接著到preferences->General->Appearance選擇Dark Juno。

    Read more...


  7. Factory Method Pattern -- 建立物件個體可交給子類別

    用的時間點

    把 Template Method Pattern 應用在建立物件個體上面。

    如何設計

    在父類別規定物件個體的建立方法,但並沒有深入到較具體的類別。所有具體的完整內容都放在子類別。根據這個原則,我們可以大致分成產生物件個體的大綱和實際產生物件個體的類別兩方面。

    程式範例

    建立一個生產身份證的 factory。Product 類別和 Factory 類別屬於 framework 這個 package。負責建立產生物件個體大綱。

    IDCard 類別和 IDCardFactory 類別則處理實際的內容,屬於 idcard 這個 package。

    Product (產品) 參與者

    框架的部份。這個抽象類別是規定此 Pattern 所產生的物件個體應有的介面,具體內容則由子類別的 ConcreteProduct 規定。例如 Product 類別。

    Creater (生產者) 參與者

    框架的部份。這是產生 Product ...

    Read more...


  8. 如何在ubuntu中加入新的字型

    在ubuntu上面安裝字型的話,有三種方式,假設現在要安裝myfont.ttf。

    • 使用gnome-font-viewer

      sudo gnome-font-viewer myfont.ttf
      
    • 直接在myfont.ttf上面點兩下直接安裝。

    • 適合一次安裝大量字型檔

      cd /usr/local/share/fonts/truetype #如果是open type font(otf)的話,資料夾名稱是opentype
      sudo mkdir myfonts && cd myfonts
      cp /path/to/fonts/*.ttf ./
      sudo chown root *.ttf #可能不需要
      fc-cache
      

    可以在這邊下載到字型。

    Read more...


« Page 2 / 13 »