2008年12月18日 星期四

Eclipse 3.4 的中文套件安裝路徑

http://download.eclipse.org/technology/babel/update-site/ganymede

2008年9月5日 星期五

SQL2000 Convert Style

文件摘自
http://msdn.microsoft.com/zh-tw/library/ms174450(SQL.90).aspx

MSDN
MSDN Library
SQL Server
SQL Server 2005
SQL Server 2005 文件集
SQL Server 2005 Compact Edition 線上叢...
SQL Server Compact Edition 程式設計
SQL 參考 (SQL Server Compact Edition)
CONVERT (SQL Server Compact Edition...

2008年9月3日 星期三

Windows 2008的兩三事- 壓縮資料匣的壓縮法好像有點不同

Windows 2008 的內建壓縮法和 Windows XP 使用的好像不太一樣
將資料匣壓縮後, 無法用 pkunzip (Linux) 或 XP 內建的解壓縮程式直接 解開
得用 7-zip 之類的程式解才 OK

7-zip 下載: http://www.7-zip.org/download.html
可下載適用於您的系統的 7-zip 程式
Windows: 7-zip
Linux: p7zip (from SourceForge, p7zip is the command line version of 7-Zip for Unix/Linux, made by an independent developer.)
Fedora 等還可以下載 unofficial 的 p7zip packages 配合 sourceforge 下載的 p7zip , 使用起來較方便

VMware 的一些小筆記 -- 轉移Virtual Machine 時的注意事項

最近為了工作上的需要, 將一個原在Windows主機上的Virtual Machine 移轉到 Linux的主機上
Original
Host OS : Windows 2008
Guest OS: Debian Linux

Destination
Host OS : Fedora
Guest OS: Debian Linux (廢話 ^_^)

傳過去後發現有個問題 系統可以啟動, 但是看不到畫面
VMware Server Console 上出現一個視窗顯示了如下的一個訊息及相關的檔案位置
Unable to view the virtual machine's screen: You need execute access in order to connect with the VMware Server Console. .......(/path/to/your/***.vmx)
就是上面訊息中的 ***.vmx 檔案權限有問題, 造成Server Console 無法顯示畫面

解決辦法很簡單, 將 路徑中的該檔案 權限修改為 可執行就 OK 了
chmod 754 /path/to/your/***.vmx
(提醒一下, 其他的檔案的所有權也要修正到Vmware Server 使用者可正確讀寫才行)

2008年8月19日 星期二

不需使用瀏覽器的網頁存取程式--curl

用過 wget 的人一定很高興可以一個指令就把網站上的資料下載回來而不用開瀏覽器
可是 curl 更好用, 更有彈性, 不僅可以續傳、分割抓檔, 還可以自動連號抓檔, 還可以......
以下資料參考
http://yllan.org/mac/Terminal/curl/
如有引用請以原始作者資料為準, 此處僅供個人操作參考

一、基本抓檔:


% curl -O "http://blueapple.infor.org/curl/1.txt"

敲入這行指令以後,會出現代表抓檔進度以及速度的文字(圖1)。


等到100%都抓完了以後,curl會自動結束,您可以打 open 1.txt 來看看您抓下了什麼東西。這就是curl抓檔案最基本的用法,curl -O (大寫的英文字母O,非數字0)後面接上要抓的檔案位址即可。參數 -O 代表將抓下來的檔案命名成網址裡面的檔名,也就是說您若是想要抓一個叫做aaa.sit的檔案,用參數 -O 就會把抓下來的檔案命名為aaa.sit。要是想要自己取名字該怎麼辦?把大寫的O換成小寫的o就可以嘍!例如:

% curl -o "nothing.txt" "http://blueapple.infor.org/curl/1.txt"

就可以把抓下來的檔案命名為nothing.txt。

二、連續抓檔:


一定有人有過這種經驗:網頁上有許多按照編號命名的檔案(圖2),每次都要一個一個點選以後再儲存,實在很煩!要是只有十個二十個那還好,可是要是遇上了好幾百個、好幾千個檔案呢?curl提供了連續抓檔案的功能:

% curl -O "http://blueapple.infor.org/curl/mac/[1-10].jpg"

這樣子就可以自動把1.jpg、2.jpg、…10.jpg一共十個檔案給抓下來了!只要在URL裡面用中括號括起來的範圍,curl就會自動把這個範圍 的東西都給抓下來。那有些網頁命名是用001.txt、002.txt這樣子該怎麼辦?沒關係,只要把範圍這樣子寫:[001-023]就可以產生以零為 開頭的數字嘍!除此之外,範圍也可以是英文字母,例如[a-z]。接下來我們看看下面的應用:

% curl "http://blueapple.infor.org/curl/{mac,bsd}/[1-10].jpg" -o "#1_#2.jpg"

這一行的結果是會去抓
http://blueapple.infor.org/curl/mac/[1-10].jpg
http://blueapple.infor.org/curl/bsd/[1-10].jpg
一共20個檔案。眼尖的讀者應該看出來了,用中括號括起來並且用逗號分隔的字串,會被分別代入URL裡面。至於 -o 後面的應該是自定檔名,怎麼會變成 "#1_#2.jpg" 這種怪里怪氣的東西呢?那是因為這邊的#1、#2會用目前正在抓的URL裡面的變數給代換進去(圖3)。


#1就是從前面數過來第一個變數,#2就是第二個,以此類推。所以,上面的那一行指令除了會抓二十個檔案以外,還會將他們分別命名為mac_1.jpg~mac_10.jpg、bsd_1.jpg~bsd_10.jpg。

三、續傳檔案:

有的時候抓檔抓到一半就斷線是不是很令人洩氣呢?沒關係,curl支援續傳,若是有一個傳到一半的檔案叫做brokenfile,只要加一個參數 -c (小寫英文字母c):

% curl -c -o "brokenfile" "ftp://ftp.server.com/path/file"

就可以續傳了!不過curl沒有辦法續傳別的軟體傳到一半的檔案。這是因為通常別的軟體(如NetFinder)會把一些有關下載的資訊加入斷掉的檔案 中,包括URL、Login、Password等。但是curl不認帳,會把這些資訊也當成下載檔案的一部份,因此就會造成從錯誤的地方繼續下載檔 案。(圖4)

圖4說明:NetFinder下載後的檔案會多出一些資訊,用來儲存使用者名稱、密碼以及網址等。若是交給curl續傳,會把這些東西也當成檔案的一部份,因此最後整個檔案就不對了。

四、分割下載:

PC上有個著名的軟體叫做FlashGet,可以把一個檔案分割成很多份同時下載。這有什麼好處呢?有些伺服器會限制每個人抓檔案的速度,而把一個檔案分 割成很多份同時下載就好像有很多個人幫您抓一樣,甲抓一部份,乙抓一部份,丙抓一部份。這樣子就可以讓您下載的速度增加。

% curl -r 0-40960 -o "rose.part1" "http://blueapple.infor.org/rose.jpg" & \
curl -r 40961-81920 -o "rose.part2" "http://blueapple.infor.org/rose.jpg" & \
curl -r 81921-125068 -o "rose.part3" "http://blueapple.infor.org/rose.jpg" &

以上的指令就將rose.jpg拆成三個小檔案分別下載。後面的 "&" 代表把這個程式丟到背景執行,而 "\" 則代表一行指令還沒結束,換行繼續打。參數 -r 代表range,要下載的檔案範圍。注意,是從0開始的,不是從1喔!所以,以上的指令會將第1到40961bytes的部份下載到 rose.part1,第40962到81921bytes的部份下載到rose.part2。以此類推。不過這樣子很麻煩呀!要下載個檔案還得打那麼多 遍!沒關係,筆者寫了一個簡單的小程式來幫您呼叫curl做這些事(註1)。

要把抓下來的各個部份結合起來,只要用以下的指令:

% cat rose.part* > rose.jpg

就可以嘍。

五、查字典:

碰上了沒遇過的單字?手頭上沒字典?curl支援DICT通訊協定,您也可以用curl來查字典!

% curl "dict://dict.org/d:apple"

把apple用你想查的字代換進去,就可以透過網路查字典嘍!

六、上傳檔案:

% curl -T "files" -u user:pass "ftp://ftp.server.com/path/filename"

curl除了下載以外,也可以上傳檔案!參數 -T 後面接想要上傳的檔案,參數 -u 後面接使用者名稱和密碼(兩者以冒號分隔),就可以上傳檔案嘍!如果伺服器支援,也可以接 -c 參數來繼續上傳之前傳到一半的檔案。

curl的功能還不只這些,它支援了FTP、HTTP、HTTPS、TELNET、GOPHER、LDAP、DICT、FILE等各種通訊協定,還可以設 定Proxy、安全認證抓檔案、HTTP post form(就是要填資料的那種網頁)、指定從哪張網路卡傳送、自行設定referer(有些網站會看Referer,如果不正確就不給抓資料)、自行設定 User-Agent(就是瀏覽器送出的識別字串,如Mozilla/4.0)…等。而且他們網站上還提供許多種程式語言的framework(連 Cocoa都有!),讓Programmer能夠自己寫程式利用curl提供的功能。無論您是重量級抓抓族還是因為每次都要重寫網路協定支援而覺得厭煩的 程式設計師,curl都是一個很不錯的選擇呢!

註1:

要安裝這個程式,請按照以下的步驟:
% cd ~/Desktop
% curl -O "http://blueapple.infor.org/curl/multiget.sit"
% open multiget.sit
% cd multiget
% ./install.sh
(Password):
輸入您的密碼,就完成了。(您必須有管理者的權限)

使用方法:
% multiget 50 http://www.server.com/path/file
50就是把檔案分割成50份,後面接要抓檔案的URL。

2008年7月13日 星期日