Tuesday, March 28, 2006

使用Vim寫C/C++會用到的工具以及設定

1. vim:
Linux系統上一個非常強大的編輯器,也是我們的主角
如果有X-windows的話,輸入gvim可以叫出vim的視窗
版本,讓習慣Windows環境的人也能適應。這套軟體是
open source所以可以很容易抓到且免費使用。一般我們
灌Linux時都已經把他灌進去了。
如果用習慣Windows的Crtl+C複製,Crtl+V貼上,在Vim
中也可以設定成跟Windows一樣,最簡單的方法是在設
定檔中加入source $VIMRUNTIME/mswin.vim
這部份我的設定檔如下
---------------------------------------------------------
if &t_Co > 2 || has("gui_running")
syntax on
set hlsearch
source $VIMRUNTIME/mswin.vim
colors torte
endif
----------------------------------------------------------

2. ctags:
可以將程式的function間建立標籤,先建立標籤後,以後
寫程式就可以知道哪個function是被誰呼叫或是宣告在哪
邊之類的。
常用的語法如下
ctags -R /home/user/project
如此便可將project資料夾中所有的程式檔建立關聯標籤

3. taglist
這個plugin可以讓ctags找到的function列在視窗中方便查找
安裝方法(參考Sam的blog)
(1) 首先必須安裝ctags
(2) 檢查是不是將vimrc裡面的是不是有filetype on
(3) 下載檔案並解壓縮,將taglist.vim放到
/usr/share/vim/vim64/plugin/底下;
將taglist.txt放到/usr/share/vim/vim64/doc/底下。
(4) 更改目錄到/usr/share/vim/vim64/doc/底下執行vim
,然後在裡面執行":helptags ."
如此一來以後才能用help taglist叫出說明檔。
(5) 之後只要在vim/gvim裡面用":Tlist"來叫出function list。
要關閉taglist也是用":Tlist"。

Monday, March 27, 2006

SSH連線程式: pietty

以前都用putty,但是現在有一個新的SSH連線程式叫做 pietty
他是putty的延伸版,支援更多的亞洲語系,也就是比較不會發生看中文變亂碼的情形。

Linux套件管理: yum (yellow dog updater, modified)

今天學到一個新的套件 yum ( yellow dog updater, modified)。
如果有灌這個套件,以後要更新或搜尋Linux的各式套件就變的非常輕鬆。
比如我今天想灌 tftp server但又懶的去網路上慢慢找合適的套件來用。
我只要直接輸入

yum search tftp

他就會自動去搜尋關鍵字相關的套件,並把相關資訊列出來給你看,
而且連你是否有安裝都會顯示。
在觀看過資訊選取合適的套件(tftp.i386)後,鍵入

yum install tftp.i386

他就會自動幫你下載套件且安裝好,非常方便

用兩張網卡在Linux系統架設NAT

因為工作的需要,有一台IAD必須要使用192.168.2.1的網段,因此為了要讓我的Desktop跟NB都能操作這台IAD,所以我必須要讓這三台機器都處在192.168.2.x的網段內。但是我又想讓我的Desktop跟NB都能夠對外連線上網,因此我打算用兩張網卡(N1, N2)架設一個NAT的環境。
我的Desktop的系統是Fedora 5,並且裝設了兩張網路卡,且我有一個固定的對外IP。NB是Windows系統。IAD是固定使用192.168.2.1的板子。首先,設定NB的IP為192.168.2.101,N1的IP設為192.168.2.100,再將NB、IAD、N1用網路線連到 Hub上,那麼這三台就屬於同一個網段,不用靠Gateway就可以互連。之後將對外的網路線連到N2並設定IP為我對外固定的IP,那麼Desktop就可以對外連線,且可連線到IAD但是NB還不行。此時要透過Linux的iptables來設定NAT。
iptables --flush                                              
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain
# Set up IP FORWARDing and Masquerading
iptables --table nat
--append POSTROUTING
--out-interface eth0 -j MASQUERADE
iptables --append FORWARD
--in-interface eth1 -j ACCEPT

echo 1 > /proc/sys/net/ipv4/ip_forward
為了要讓下次開機能自動執行,要將 iptables存起來

iptables-save /etc/sysconfig/iptables

如此只要一開啟iptables的服務就會載入我們的設定值
但是光啟動 iptables而沒有啟動 ip_forward還是不能動作
所以要將
echo 1 > /proc/sys/net/ipv4/ip_forward
這行寫入
/etc/rc.d/rc.local
如此每次開機完都會自動執行。

Saturday, March 25, 2006

鐘樓怪人

今天去看了鐘樓怪人的音樂劇,這是第一次看現場演出的音樂劇,之前去美國非常可惜沒有看到百老匯的音樂劇,這次猴子她們邀約來看當然就來體驗一下現場聆聽音樂劇的感受。這次的演出地點是在台北的小巨蛋,我門買的票價是1800大約是在小巨蛋第二層的位置。可是進去之前工作人員跟我們說我們的位置有被柱子擋住要幫我們換位置,結果換到一個更鳥的位置,坐著都會被欄杆檔到,而且小巨蛋是設計拿來看球賽的,他的座位坐的不舒服而且整個空間拿來看音樂劇感覺也非常不適合,下次如果還有在小巨蛋辦的音樂劇我應該就不會來了,還是到國家歌劇院或音樂廳比較享受。
雖然場地不好,但是音樂劇本身還是很有震撼力,主角一共有七位,加西莫多(鐘樓怪人)、弗洛侯(神父)、艾絲梅拉塔(女主角)、菲布斯(侍衛隊長)、雨林果利(街頭詩人)、克洛平(艾絲梅拉塔的哥哥)。主要的劇情大概是艾絲梅拉塔是一位非常美麗的吉普賽人,男人見到他都會被他的美深深地給吸引住

Saturday, March 04, 2006

研究所聚餐

昨天特地從新竹回到楊梅來住,就是為了今天的研究所聚餐,還害我昨天騎摩托車犁田,兩隻手掌都掛了彩,最近真不知道走啥霉運。
其實心中本來非常不願意來這場聚餐,因為老闆要來,之前因為欺騙她的事情,到現在還愧於跟他見面,可是想想還是來吧!總不能躲一輩子。剛到的時候老師很熱情的招手叫我跟郝伯過去,害我嚇了一跳,想說要罵我們了嗎?還好只是要跟我們要名片。今天老師的心情特別好,因為它的好幾代弟子都同聚一堂,這也是第一次辦這樣的活動,所以老師的開心是可想而知的。
這次來也跟學長還有同學互相交換了彼此的工作心得,感覺收穫不少,覺得來的還算值得。另外還有熱情的學長把活動做成了網頁,希望以後年年都能辦這種活動。