星期四, 12月 23, 2010

Do things in Dir by C

C語言中如何處理目錄中每筆記錄

在freeBSD裡面的man中說明:
Sample code which searches a directory for entry ``name'' is:
DIR* dirp;
struct direct* dp;
len = strlen(name);
dirp = opendir(".");
while ((dp = readdir(dirp)) != NULL)
if (dp->d_namlen == len && !strcmp(dp->d_name, name)) {
(void)closedir(dirp);
return FOUND;
}
(void)closedir(dirp);
return NOT_FOUND;


十分簡單卻有用。

星期三, 11月 10, 2010

修改已經存在的table -- django-evolution

在manage.py syncdb中,他並不會修改已經存在的table。

所幸有位救星出來了:django-evolution

他可以在修改model後,新增或減少欄位,都直接去alter table。

安裝方法如下:
easy_install -U django_evolution

使用步驟如後:
1. Add django_evolution to the INSTALLED_APPS for your project
2. Run ./manage.py syncdb
3. Make modifications to the model files in your project
4. Run ./manage.py evolve --hint --execute

記得,新增的欄位要給default值,否則要設定null=True,
否則會出現initial value沒有指定的錯誤。

參考:django-evolution

星期五, 10月 22, 2010

Django Short names for ENGINE DeprecationWarning

Django在更新到某版後,跑shell會出現如下訊息:

/usr/lib/python2.5/site-packages/django/db/__init__.py:59: DeprecationWarning: Short names for ENGINE in database configurations are deprecated. Prepend default.ENGINE with 'django.db.backends.'
DeprecationWarning

為了解決它,只要在setting.py裡面更改Engine的名稱即可。

'ENGINE': 'django.db.backends.sqlite3'

之後Short name格式都會取消支援,所以就記得在前面加上
django.db.backends.

星期三, 10月 20, 2010

利用ssh在local跑遠端上的GUI軟體

今天看了hak5,才發現原來ssh有這麼好用的參數。

$ssh -v -X name@host
$firefox &

執行完後,就會發現在本機端可以跑起ff來了!

重點是即使沒有安裝,仍然沒問題。

因為其實ff本身還是在ssh主機上面跑的。

當然,附註一下,要在windows下這樣跑也是可以的。

只要安裝xming和下載pietty,

在pietty連線時候enable x11-forwarding即可。

星期二, 10月 12, 2010

Catalyst 2960-G 開機順序

Pre-Work
準備一台PC及網路線。

開始吧。

1.確認所有網路線都已經被拔除
2.在開機期間因為Switch會以DHCP server的方式運作,所以如果原本PC有static IP的話要調整成DHCP。
在此記得先把static IP抄下來,之後可能會用到。
3.插上Switch電源,大約30秒後會開始自我測試。經過五分鐘後,應該只剩SYSTEM LED是亮著穩定的綠燈,其他都要是關的了。(唯一的例外是STACKMASTER LED,如果它也亮著穩定的綠燈,表示switch 正在用stack mode運作,而且本身是stack master。)
4.按下mode鍵,直到所有LED燈穩定亮著綠色為止。(有些swtich可能RPS LED會不亮。)
5.把網路線插上PC及switch的任一port,switch上該port的LED會閃綠燈,表示已經成功連接。
6.打開瀏覽器,在網址列輸入http://10.0.0.1,可以進入設定網頁。(如果沒有Enable javascript的話會無法順利進入。)
7.下列欄位是必要輸入的:
VLAN ID:預設是1,建議在設定期間先不要改,因為設定期間VLAN是唯一的。之後如果要改的話,改的範圍從1~1001皆可。
IP address:就是IP位置。
Subnet Mask:子網路遮罩。
Default Gateway
Switch password:1~25個字元,大小寫有差,除開始結束外其他地方可有空白字元。(原本預設是cisco)
8.按submit後即可完成設定

記得在此之後,就需要改成用剛才設定的IP位置才能http到switch的設定介面。