2011年3月3日 星期四

javac cannot find symbol

在 dos 指令模式下編譯 java 時, 可能會出現 javac cannot find symbol 這個錯誤訊息.
舉例來說, 有個 dog.java 和 dogTestDrive.java, 前者是 純class, 後者是 main 程式進入點, 這裡會使用 dog 的類別. 當我們在執行
javac dog.java
時沒有問題, 而在執行
javac dogTestDrive.java
時, 系統回應 javac cannot find symbol 的訊息. 這個時候, 是因為系統找不到我們所建立的 dog.class 這個類別, 是的, 雖然在同一個目錄裡, 但就是找不到, 解決的方式是, 編譯時
javac dogTestDrive.java -classpath ./
使用 -classpath 跟 javac 編譯器說明類別的目錄在 ./ (現在的目錄) 這裡, 這樣就可以編譯成功. 然後執行
java dogTestDrive
就可以囉~~ 另外, 使用 java 時, 不要加上副檔案名稱 .class 哦~~

以上的例子, 我是以 Head First Java 裡的例子來說明的.

2011年2月17日 星期四

mysql utf8 中文亂碼解決

參考資料來源:
http://www.sonys.tw/2008/07/php-mysql-phpmyadmin-utf-8.html
http://33tsai.blogspot.com/2008/06/mysql-big5utf8.html

以下資料由第一個參考來源複製備份的~
=====================

PHP, MySQL, phpmyadmin, utf-8 使用中文出現亂碼?

  遇到這個問題的程式設計者,想要利用google大神找尋答案的時候,不外乎就是使用如同標題一般的搜尋字串,希望找到那麼一點機會,讓亂碼的問題可以全面消失!這邊不講原理,原理網路上很多可以慢慢爬,這邊只提供一個可能適用於你的惱人狀況的解法.試試看吧!

在mysql_select_db的區塊之前,安插程式片段如下:
mb_internal_encoding('utf8');
mysql_query("SET CHARACTER SET 'utf8'");
mysql_query("SET NAMES 'utf8'");
mysql_select_db($DB_NAME);

  當然,除了這一段資料庫的編碼設定之外,將網頁存成utf-8格式也是必要的!建議使用Notepad++來做這一個另存新檔的動作.如此一來不但網頁上可以順利呈現utf-8編碼,資料庫在讀寫上也能順利進行,不會有"亂碼"或是"????"的字樣出現~

  這段程式碼是在征戰國內外主機之後,對於utf-8編碼的精華心得,希望對你/妳有幫助!注意,有時候utf8與utf-8這兩個不同寫法,會產生不同結果喔!

2011年2月16日 星期三

apache時區不正確

如果網頁上顯示的時間(時區)不正確,請開啟 php.ini 檔案,找到以下內容:
[Date]
; Defines the default timezone used by the date functions
;date.timezone =
將最底下這一行改為
date.timezone = Asia/Taipei
再重新啟動 apache 就 OK 囉! 

2011年1月26日 星期三

ubuntu 10.10 安裝 ns2

更簡單了,執行 synaptic套件管理程式,按 Ctrl + F 搜尋 ns2 ,將套件勾選,安裝就好囉~~

fedora 14 安裝 ns2

請依內容進行,我做過一次,確實可以正常啟動 ns 。

參考網站: http://www.myelitism.com/?p=596
以下內容轉貼自上述網站~~

1、首先从官网下载Ns-allinone版本 NS-2 Simulator Download

2、最好将下载的文档存放在home根目录中,因为我一开始安装是存放在子文件夹中,造成安装屡次失败,最后存放在根目录之后居然直接就成功了,不得不再次确认Linux是很诡异的系统。。。

3、进入terminal,千万别告诉我你不知道是神马。。。接下来键入 su命令并输入管理员密码,切换到管理员模式,这样提示符就从#变成$了,说明管理员一般都很有米。。。安装一些ns2安装所需的程序包,注意在这个过程中你的linux是要保证能上网的,然后键入以下一组命令,遇到问【Y/N】的时候你知道该怎么选的。。。Y到底,再次提醒一下某些小白$是管理员符号,打命令的时候不要输入。。。

$ yum install gcc.
$ yum install tcl-devel.
$ yum install autoconf
$ yum install automake
$ yum install gcc-c++
$ yum install libX11-devel
$ yum install xorg-x11-proto-devel
$ yum install libXt-devel
$ yum install libXmu-devel
$ yum install libtool

4、解压压缩文档 $ tar -xvf ns-allinone-2.34.tar.gz

5、进入 解压文档的目录 $ cd ns-allinone-2.34/

6、开始安装 $ ./install

7、一般文章都会告诉你顺利安装后会怎样,这里需要说的是,在Fedora 14下装ns2目前一般是不会顺利的-_-!,会提示一些错误

正常情况下第一次会出现如下的错误:

tools/ranvar.cc: in member function `virtual double gammarandomvariable::value()’:
tools/ranvar.cc:219:70: error: cannot call constructor `GammaRandomVariable::GammaRandomVariable’
tools/ranvar.cc:219:70: error: for a function-style cast, remove the redundant
`::GaammaRandomVariable’
make: *** [tools/ranvar.o] Error 1
ns make failed

这是由于gcc版本提高后对类内部函数调用的简化造成的不兼容,解决方法如下:

在ns-allinone-2.34/tools文件夹下,找到报错提示中的ranvar.cc文件,打开找到对应的219行删除::GaammaRandomVariable,保存,重新在ns目录下键入$ ./install安装,再次出现同类问题时,仿照此次解决方法,找到对应的文件和行数,修改即可。直到安装成功。

8、安装成功后,会出来一些这样的提示:

Please put /opt/ns-allinone-2.34/bin:/opt/ns-allinone-2.34/tcl8.4.18/unix:/opt/ns-allinone-2.34/tk8.4.18/unix
into your PATH environment; so that you'll be able to run itm/tclsh/wish/xgraph.
IMPORTANT NOTICES:


1. You MUST put /opt/ns-allinone-2.34/otcl-1.13, /opt/ns-allinone-2.34/lib,
into your LD_LIBRARY_PATH environment variable.
If it complains about X libraries, add path to your X libraries
into LD_LIBRARY_PATH.
If you are using csh, you can set it like:
setenv LD_LIBRARY_PATH
If you are using sh, you can set it like:
export LD_LIBRARY_PATH=

2. You MUST put /opt/ns-allinone-2.34/tcl8.4.18/library into your TCL_LIBRARY environmental variable.
Otherwise ns/nam will complain during startup.

9、最后在$提示符下键入以下命令设置环境变量

$ export PATH=$PATH:/opt/ns-allinone-2.34/bin:/opt/ns-allinone-2.34/tcl8.4.18/unix:/opt/ns-allinone-2.34/tk8.4.18/unix
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/ns-allinone-2.34/otcl-1.13:/opt/ns-allinone-2.34/lib
$ export TCL_LIBRARY=$TCL_LIBRARY:/opt/ns-allinone-2.34/tcl8.4.18/library

这只是临时的设置了环境变量,如果希望一劳永逸的话,最好将上面语句追加到用户目录(root用户的目录在/root,一般用户的目录在/home /用户名)下的.bashrc文件中。另外需要注意的是上面路径中的/opt需要改成对应的用户目录,例如你把ns-allinone-2.34放在 home目录下就把/opt改成/home。

10、输入ns命令,出现%则安装完成,输入exit退出

ubuntu 10.04 安裝 ns2

參考網站: http://www.anand-iyer.com/blog/?p=22
這個網站的設定動作,是我找到最簡單的~~

操作動作如下:
I spent a reasonably long time getting NS-2 (ns-allinone-2.34) to work in Ubuntu 10.04. Here’s how I finally did it:

1. Install necessary tools for building:

sudo apt-get install build-essential autoconf automake libxmu-dev gcc-4.3

2. It turns out that otcl does not like the version of gcc installed by default in Lucid. So go ahead and change ns-allinone-2.34/otcl-1.13/Makefile.in. Find the line that says:

CC= @CC@

and change it to:

CC= gcc-4.3

3. Now try doing ‘./install’ from the ns-allinone-2.34 directory. It should work.


以上動作完成後,使用 gedit ~/.bashrc ,將底下的內容貼到最下方,記得將 /opt/ 修改 為你解開 ns-allinone 的路徑。

export PATH=$PATH:/opt/ns-allinone-2.34/bin:/opt/ns-allinone-2.34/tcl8.4.18/unix:/opt/ns-allinone-2.34/tk8.4.18/unix
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/ns-allinone-2.34/otcl-1.13:/opt/ns-allinone-2.34/lib
export TCL_LIBRARY=$TCL_LIBRARY:/opt/ns-allinone-2.34/tcl8.4.18/library

重新登入系統後,執行 ns 就會跳出 % 提示字元,應該就表示可以正常使用囉~~

2011年1月3日 星期一

VirtualBox 4.0的匯入匯出

VirtualBox 出到4.0了,原本在指令模式下,透過 vboxmanage clonehd 來複製己存在的磁碟映像檔案,在這裡還沒有試出來,不過,倒是可以用另一個方式來處理。
可以先使用「檔案/匯出應用裝置」的方式,將整個系統匯出為一個 ova 格式。
接著,再使用「檔案/匯入應用裝置」的動作,將整個系統匯入,就可以使用囉。檢查一下匯入後的磁碟映像檔案,發現是 vmdk 的格式,不是原本的 vdi 檔案格式,不過,可以使用就好啦~
另外,在匯入時的「應用裝置匯入設定值」這裡,若要修改系統名稱、RAM...等設定,只要雙按二下就可以修改。