2013年2月8日 星期五

Ubuntu 更換鏡像站(mirror)

因為實驗需求,必須時常到 mirror 下載一些套件,但台灣區的 mirror 時常不穩,上網查詢一下後才發現是該 mirror 老舊不穩,而且連 Debian 的 mirror 也是......於是只好改用國網中心的 mirror ,更改後感覺比之前穩定許多。

2012年3月19日 星期一

在 Debian 下設定 vim 顏色區別與行數顯示

由於論文需求,需要安裝 Xen 做實驗,但好死不死,我的 Debian 安裝好 Xen  ,重新開機後居然死機。之後我花了好幾個禮拜查資料,過程中也一直重灌不同版本的 Debian,最後查到是圖形介面跟 Xen 衝到,所以只好乖乖安裝文字模式的 Debian 了。

雖然 vim 文字編輯器還不錯用,但沒有顏色區別,不僅不好辨識,看久了眼睛也會酸,於是以下將設定 vim 的顏色區別與行數顯示:

2012年2月7日 星期二

在 Debian 下其他 User 使用 sudo 之設定

剛安裝好Debian後,其他 user 在使用 sudo 指令時,即便輸入正確密碼,也無法使用指令的問題,主要在於該 user 的權限不足,以下方法將排除權限不足的問題:

2011年9月19日 星期一

在 Linux 下執行 CUDA 時出現 /dev/nvidiactl 無法開啟之問題排除

平時執行 CUDA 程式時,都是以使用者的帳號進行編譯執行,然而遭遇某次異常停電後,安裝 GPGPU 的 Linux 主機在執行 CUDA 程式時,出現下列警告訊息:
  • could not open the device file /dev/nvidiactl (No such file or directory)
但是以 root 的身份去查詢,卻又發現 nvidiactl 確實存在,因此推測系統可能在異常關閉後, nvidiactl 的權限遭到更改,又或者是沒設定開機後CUDA自動啟動,於是以下將介紹該障礙排除的方法:

2011年9月2日 星期五

在 Linux 下直接使用 NVCC 編譯 CUDA SDK 程式

CUDA SDK 不僅提供使用者一些範例程式,使用者也可透過修改 template 範例來設計自己的程式。以往使用者在 Linux 下,都是透過該範例提供的 Makefile 進行編譯,並載入 CUDA SDK 提供的 common.mk 來設定相關編譯參數。然而使用者有時會依需求來決定編譯參數,但在不了解 common.mk 的參數設定之情況下,很難修改其內容。

關於修改 Makefile 來設定 Compute Capability 版本,可參考此篇:

於是,本篇將提供在 CUDA SDK 下直接使用 NVCC 編譯:

在 Linux 下修改 CUDA SDK Makefile 達成 Compute Capability 設定

 一般 CUDA 設計教學,都會要求初學者直接修改 CUDA SDK 的 template 範例。目前我使用的 Device 為 NVIDIA Tesla C1060 ,可支援 Compute Capability 1.3 以下的運算,但若直接使用 make 的指令, Compiler 會預設使用 Compute Capability 1.0 來運行。

然而網路上常看到的設定方式,都是在 Window 下,透過 Microsoft Visual 圖形化介面設定; Linux 上,則都是直接設定 NVCC 編譯器的參數,鮮少有 SDK 範例的修改。因此使用者若想使用 SDK 的範例,並指定 Compute Capability 的版本,可將欲編譯的程式之 Makefile 的主函數描述進行修改:

2011年5月11日 星期三

Tomcat JSP伺服器架設

在架設 Tomcat 以前,使用者必須先瞭解到 Tomcat 與JDK 版本之間的對應關係,要是選擇錯誤的版本搭配,將會造成 Tomcat 無法順利運作。以下為版本間的搭配:
  • Tomcat 7.0.X 搭配 JDK 1.6.0_Y
  • Tomcat 6.0.X 搭配 JDK 1.5.0_Y
  • Tomcat 5.5.X 搭配 JDK 1.4.0_Y ( 特殊功能需改用 JDK 1.5.0_Y )
本篇將以安裝 Tomcat 6.0 為例,請使用者先安裝 JDK 1.5.0_Y並設定環境變數,以下文章為 JDK 安裝方式:

Linux 系統下安裝 JDK

下列網址為 Java 歷屆版本下載:
以 jdk-1_5_0_22-linux-i586.bin 的 bin 檔為例。下載完成後,用 root 登入終端機並移動至下載 JDK 資料夾的位置,開始進行安裝的動作。本例安裝至 /usr/share 的資料夾底下,使用者可自行改變安裝位置,但後半段的環境變數也必須與自行安裝的路徑相同。

Debian ZeroJudge 系統架設完整詳細流程

本篇將教導大家自己架設高中生程式解題系統 ZeroJudge:

架設之前請先架設好 MySQL 伺服器,建議可以再安裝 Apache2.2 、 PhpMyadmin 以方便管理。此外,由於 ZeroJudge 是使用 Port 80 ,所以必須要修改 Apache2.2 預設的Port,各位可參考下列文章;

2011年5月9日 星期一

修改 Apache 2.2 的 Port Number

以下範例是在 Debain 6.0.1 32位元的作業系統下操作,並請事先安裝 apache2.2:

2011年3月31日 星期四

Linux系統下安裝phpMyAdmin

以下範例是在 Fedora 14 32位元的作業系統下操作,並請事先安裝 apache、MySQL:

2010年9月2日 星期四

瀏覽器自動偵測網站是否具有RSS訂閱

明明都是具有RSS訂閱的網站,為何瀏覽器會有偵測不到的問題呢?其實差別在於網站原始碼<head>標籤內是否具有<link>標籤。

2010年8月25日 星期三

將 Java swing 的 JFrame 縮小至系統托盤上

由於本次專題內會使用到定期更新的功能,必須將系統常駐,但又不可能總是縮小在工作列上,所以這次使用 SystemTray、 TrayIcon ,以及各種觸發事件傾聽來達到縮小至系統托盤上的效果:

2010年8月19日 星期四

Java swing 圖形介面設計時的小提醒

目前專題使用的視窗布局管理有「GirdBagLayout 格群佈局管理員」與「null 不使用視窗布局管理」,這兩個布局管理在使用有許多不起眼的小設定,但這些設定卻足以改變整個布局的外觀:
 (以下均為操作時發生的問題,實際上是否具有該項特性仍需再次測試)

2010年8月18日 星期三

phpMyAdmin 開啟關聯式資料庫

因為我們所學的資料庫系統,都會使用到關聯式資料庫,以方便利用關聯式運算來取得所需資料,但是 phpMyAdmin 預設是不會開啟關聯式資料庫的功能,於是需要使用者手動開啟功能。

以下使用的套件為 appserv-win32-2.5.10 ,其中內部的 phpMyAdmin 版本為 2.10.3 。

2010年8月9日 星期一

自動抓取 Html 的網站編碼

我之前是設計使用者在輸入網址時,也必須輸入網站編碼,但除非從瀏覽器的工作列上選擇「檢視」-> 「編碼」來查看,不然一般使用者是不會在乎網站的編碼,反正能正常顯示就好。於是我必須要加入自動偵測的方式,代替使用者輸入網站編碼。

2010年8月5日 星期四

JComboBox 下拉式選單的注意事項

雖然 JComboBox 也可利用觸發事件來處理所選擇的選項,但實際上跟按鈕的觸發事件略有不同。例如單單選取某個選項,就會觸發兩次 itemStateChanged 的事件,原因在於 itemState 有兩種,各為 ItemEvent.DESELECTED (已選擇變成未被選擇),以及 ItemEvent.SELECTED (未被選擇變成已選擇)。故在 itemStateChanged 事件內再加入 e.getStateChange() 來判斷目前狀況,如下述程式碼:

2010年8月1日 星期日

另一種解析 Xpath 的套件

上次在 利用 Xpath( Xml Path Language XML查詢語言)來達到搜索功能 這篇文章中,是使用 xerces 這個額外下載的套件,實際上 JDK 也有內建 Xpath 的套件,就目前測試結果,兩者並無特別差異,但說不定在更後期的測試過程中,可能會有較明顯的差異。其程式碼如下:

2010年7月28日 星期三

DOM NodeList 動態更新之注意事項

若我們利用 NodeList  取得節點集合後,若新增或刪除該集合內的節點,則 NodeList 馬上會進行更新,這就是 NodeList 具有隨時保持自身更新的特性,我們用簡單的例子來說明這項特性:

2010年7月26日 星期一

在 Java 內使用 SQL 指令儲存 ' \ ' 字元的注意事項

由於 ' \ ' 在 Java 與 SQL 內均判定為跳脫字元,故若想利用 Java 連結 SQL 後,在資料庫內儲存跳脫字元 ' \ ',則除了在 Java 內使用 " \\ " 來表示 ' \ ' ,還要在輸入 SQL 指令時再使用 " \\ " ,故實際寫法為: