今天看曾仕強教授所出的《易經的奧祕》時,看到一句話"《老子、四十二章》說:「道」生一,一生二,二生三,三生萬物。",這句話讓我有所感悟,因為這跟Java物件導向的設計很像,因為所有的物件都是繼承Object這個物件而來,由Object可以產生無限個物件。
而太極有陰陽,正如同程式設計中所有的基本概念也是如此,如if, for, while, try catch, switch等都有這個概念,甚至物件導向的多載也是。而且每個都是陰陽不可分的,有人會說"我可以只寫if不寫else啊!",但實際上就算不寫else你一樣在做else的事,也就是do nothing,只是你有沒有將他寫出來而已。因為程式設計的概念會將所有的東西轉換成兩個狀態去運行,即便你是用"if, else if",在他的最小的狀態也就是只有兩個狀態,這跟電腦最初的設計原理有關。而這兩個狀態並不是單純的"0,1"狀態,而是兩個狀態同為一體的,因為誰也不能單獨存在,如果單獨存在,那設計出來的程式就只有一直0而沒有1,或是一直1沒有0了。而這兩個狀態是在有資源時會同時存在,同時運轉,只是在設計上我們需要對狀態做"切片",看看現狀是如何。
Wednesday, September 15, 2010
Java檔案套件使用
預設檔案配置(在Windows環境)
兩個檔案都是屬於com.coffee這個套件中
bowCoffee.java
products.java
在編譯的時候在 C:\JavaProject\MyProject 下執行
-d classes 會將編譯好的.class依照他的套件目錄存放在classes資料夾中
在執行products.java編譯時會出現以下錯誤,
因為products.java無法找到com.coffee.bowCoffee
所以products.java要改以-cp(-classpath)的方式執行
要用package路徑方可執行。
若在classes資料夾中則不需要在加-cp classes便可以執行。
備註:
現在開發JAVA的相關IDE都很放便,由其是在版本與套件管理上,
若想單純使用編譯器來開發大型程式,那-d與-cp(-classpath)的使用就相當重要了。
(myProject)
|
|--(source)
| |
| |--(com)
| |
| |--(coffee)
| |
| |--bowCoffee.java
| |--products.java
|
|--(classes)
|
|--(com)
|
|--(coffee)
|
|--bowCoffee.class
|--products.class
兩個檔案都是屬於com.coffee這個套件中
bowCoffee.java
package com.coffee;
public class bowCoffee{
void bow(String str){
System.out.println(str + " is bowing!");
}
}
products.java
package com.coffee;
import com.coffee.bowCoffee;
public class products{
public static void main(String[] args){
bowCoffee bc = new bowCoffee();
bc.bow("Blue Mountain coffee bean");
}
}
在編譯的時候在 C:\JavaProject\MyProject 下執行
-d classes 會將編譯好的.class依照他的套件目錄存放在classes資料夾中
javac -d classes source\com\coffee\bowCoffee.java
javac -d classes source\com\coffee\products.java
在執行products.java編譯時會出現以下錯誤,
因為products.java無法找到com.coffee.bowCoffee
source\com\coffee\products.java:2: cannot find symbol
symbol : class bowCoffee
location: package com.coffee
import com.coffee.bowCoffee;
^
source\com\coffee\products.java:5: cannot find symbol
symbol : class bowCoffee
location: class com.coffee.products
bowCoffee bc = new bowCoffee();
^
source\com\coffee\products.java:5: cannot find symbol
symbol : class bowCoffee
location: class com.coffee.products
bowCoffee bc = new bowCoffee();
^
3 errors
所以products.java要改以-cp(-classpath)的方式執行
javac -d classes -cp classes source\com\coffee\products.java
要用package路徑方可執行。
java -cp classes com.coffee.products
若在classes資料夾中則不需要在加-cp classes便可以執行。
備註:
現在開發JAVA的相關IDE都很放便,由其是在版本與套件管理上,
若想單純使用編譯器來開發大型程式,那-d與-cp(-classpath)的使用就相當重要了。
Tuesday, September 14, 2010
在Ubuntu上安裝eclipse
首先要先確定自己的環境,因為Ubuntu上預設安裝的是OpenJava,
所以要先安裝SUN JAVA並將其配置好。
至於安裝的部份可以參考我上一篇
Ubuntu上安裝SUN-JAVA6 + Apache Tomcat
配置Sun版本的Java,選擇現在要使用的版本。
$ sudo update-alternatives --config java
安裝eclipse,將其安裝在你想要的地方,我同常是放在/usr/local底下
$ sudo tar xzf eclipse-java-helios-linux-gtk.tar.gz
$ sudo chmod -R +r eclipse
建立一個eclipse執行文件
$ sudo touch /usr/bin/eclipse
$ sudo chmod 755 /usr/bin/eclipse
$ sudo gedit /usr/bin/eclipse
建立應用程式選單
$ sudo gedit /usr/share/applications/eclipse.desktop
在第一次使用eclipse時,先執行以下指令
/usr/local/eclipse/eclipse -clean
現在你可以透過應用程式MENU來開啟eclipse了。
參考資料:
http://flurdy.com/docs/eclipse/install.html
所以要先安裝SUN JAVA並將其配置好。
至於安裝的部份可以參考我上一篇
Ubuntu上安裝SUN-JAVA6 + Apache Tomcat
配置Sun版本的Java,選擇現在要使用的版本。
$ sudo update-alternatives --config java
安裝eclipse,將其安裝在你想要的地方,我同常是放在/usr/local底下
$ sudo tar xzf eclipse-java-helios-linux-gtk.tar.gz
$ sudo chmod -R +r eclipse
建立一個eclipse執行文件
$ sudo touch /usr/bin/eclipse
$ sudo chmod 755 /usr/bin/eclipse
$ sudo gedit /usr/bin/eclipse
#!/bin/sh
export ECLIPSE_HOME="/usr/local/eclipse"
$ECLIPSE_HOME/eclipse $*
建立應用程式選單
$ sudo gedit /usr/share/applications/eclipse.desktop
[Desktop Entry]
Encoding=UTF-8
Name=Eclipse
Comment=Eclipse IDE
Exec=/usr/local/eclipse/eclipse
Icon=/usr/local/eclipse/icon.xpm
Terminal=false
Type=Application
Categories=GNOME;Application;Development;
StartupNotify=true
在第一次使用eclipse時,先執行以下指令
/usr/local/eclipse/eclipse -clean
現在你可以透過應用程式MENU來開啟eclipse了。
參考資料:
http://flurdy.com/docs/eclipse/install.html
Monday, September 13, 2010
Ubuntu上安裝SUN-JAVA6 + Apache Tomcat
第一次使用Ubuntu,現在正在測試軟體安裝的狀況。
不過發現起初要安裝SUN-JAVA6時確無法使用aptitude找到相關套件,
後來拜了一下Google後發現,原來是有apt server沒有更新到。
$ sudo gedit /etc/apt/sources.list
把這兩行前面的#拿掉
deb http://archive.canonical.com/ubuntu lucid partner
deb-src http://archive.canonical.com/ubuntu lucid partner
在進行搜尋
$ sudo aptitude search SUN-JAVA6
終於找到了
因為要執行Apache-Tomcat
所以就先安裝SUN-JAVA6-bin SUN-JAVA6-jre SUN-JAVA6-jdk
$ sudo aptitude install SUN-JAVA6-bin SUN-JAVA6-jre SUN-JAVA6-jdk
再來是安裝Apache Tomcat,先去下載
$ wget http://ftp.twaren.net/Unix/Web/apache//tomcat/tomcat-6/v6.0.29/bin/apache-tomcat-6.0.29.tar.gz
安裝到/usr/local下
$ sudo mkdir /usr/local/tomcat
$ sudo mv apache-tomcat-6.0.29.tar.gz /usr/local/tomcat/
$ sudo tar -zxvf apache-tomcat-6.0.29.tar.gz
tomcat環境設定
$ sudo gedit ~/.bashrc
增加JAVA_HOME位置
export JAVA_HOME=/usr/lib/jvm/java-6-sun
建立tomcat的auto-start and shutdown檔
$ sudo gedit /etc/init.d/tomcat
其中tomcat是你的資料夾位置,以此次安裝來說要改成tomcat/apache-tomcat-6.0.29
改變tomcat資料夾權限
$ sudo chmod 755 /etc/init.d/tomcat
建立啟動連結
$ sudo ln -s /etc/init.d/tomcat /etc/rc1.d/K99tomcat
$ sudo ln -s /etc/init.d/tomcat /etc/rc2.d/S99tomcat
現在只要重開電腦,他就會自動登入啦!
參考資料:
http://www.howtogeek.com/howto/linux/installing-tomcat-6-on-ubuntu/
不過發現起初要安裝SUN-JAVA6時確無法使用aptitude找到相關套件,
後來拜了一下Google後發現,原來是有apt server沒有更新到。
$ sudo gedit /etc/apt/sources.list
把這兩行前面的#拿掉
deb http://archive.canonical.com/ubuntu lucid partner
deb-src http://archive.canonical.com/ubuntu lucid partner
在進行搜尋
$ sudo aptitude search SUN-JAVA6
終於找到了
因為要執行Apache-Tomcat
所以就先安裝SUN-JAVA6-bin SUN-JAVA6-jre SUN-JAVA6-jdk
$ sudo aptitude install SUN-JAVA6-bin SUN-JAVA6-jre SUN-JAVA6-jdk
再來是安裝Apache Tomcat,先去下載
$ wget http://ftp.twaren.net/Unix/Web/apache//tomcat/tomcat-6/v6.0.29/bin/apache-tomcat-6.0.29.tar.gz
安裝到/usr/local下
$ sudo mkdir /usr/local/tomcat
$ sudo mv apache-tomcat-6.0.29.tar.gz /usr/local/tomcat/
$ sudo tar -zxvf apache-tomcat-6.0.29.tar.gz
tomcat環境設定
$ sudo gedit ~/.bashrc
增加JAVA_HOME位置
export JAVA_HOME=/usr/lib/jvm/java-6-sun
建立tomcat的auto-start and shutdown檔
$ sudo gedit /etc/init.d/tomcat
# Tomcat auto-start
#
# description: Auto-starts tomcat
# processname: tomcat
# pidfile: /var/run/tomcat.pid
export JAVA_HOME=/usr/lib/jvm/java-6-sun
case $1 in
start)
sh /usr/local/tomcat/bin/startup.sh
;;
stop)
sh /usr/local/tomcat/bin/shutdown.sh
;;
restart)
sh /usr/local/tomcat/bin/shutdown.sh
sh /usr/local/tomcat/bin/startup.sh
;;
esac
exit 0
其中tomcat是你的資料夾位置,以此次安裝來說要改成tomcat/apache-tomcat-6.0.29
改變tomcat資料夾權限
$ sudo chmod 755 /etc/init.d/tomcat
建立啟動連結
$ sudo ln -s /etc/init.d/tomcat /etc/rc1.d/K99tomcat
$ sudo ln -s /etc/init.d/tomcat /etc/rc2.d/S99tomcat
現在只要重開電腦,他就會自動登入啦!
參考資料:
http://www.howtogeek.com/howto/linux/installing-tomcat-6-on-ubuntu/
Saturday, September 11, 2010
Windows7對vista的檔案分享與印表機分享
兩台電腦在同一個區域網路內,網路架構如下
網路分享設定步驟
Windows7上的設定
開始\控制台
控制台\系統及安全性
控制台\系統及安全性\系統
設定工作群組
重新啟動電腦
控制台\網路和網際網路
控制台\網路和網際網路\網路和共用中心
選擇關閉密碼保護共用
控制台\網路和網際網路\網路和共用中心\進階共用設定
家用或公用場所(目前設定檔)
Vista上的設定
開始\控制台
控制台\系統及維護
控制台\系統及維護\系統
使用相同的工作群組
重新啟動電腦
控制台\
控制台\網路和網際網路
控制台\網路和網際網路\網路和共用中心
關閉以密碼保護的共用,將要分享的功能打開
檔案分享
分享Windows7上的檔案
電腦當中的網路選項可以找到windows7電腦
印表機分享
分享配置在Windows7上的印表機
控制台\硬體和音效\裝置和印表機
選擇要分享的印表機,按右鍵選擇"印表機內容"
共用設定與其他驅動程式設定
其他驅動程式設定,選擇共享的驅動程式類型(x86就是32位元版; x64為64位元版)
Vista上的設定
控制台\硬體和音效\印表機
新增印表機
若沒有自動偵測到,可使用第二個紅圈選項
依名稱選取功用應表機,可用瀏覽的方式新增
最後,安裝驅動程式,完成分享。
以上方式,僅適合虛擬區域網路內,或是防火牆或閘道器內的網路。
![]() |
| 寄件者 windows7_vista_share |
網路分享設定步驟
Windows7上的設定
開始\控制台
![]() |
| 寄件者 windows7_vista_share |
控制台\系統及安全性
![]() |
| 寄件者 windows7_vista_share |
控制台\系統及安全性\系統
設定工作群組
![]() |
| 寄件者 windows7_vista_share |
![]() |
| 寄件者 windows7_vista_share |
![]() |
| 寄件者 windows7_vista_share |
重新啟動電腦
控制台\網路和網際網路
![]() |
| 寄件者 windows7_vista_share |
控制台\網路和網際網路\網路和共用中心
![]() |
| 寄件者 windows7_vista_share |
選擇關閉密碼保護共用
![]() |
| 寄件者 windows7_vista_share |
控制台\網路和網際網路\網路和共用中心\進階共用設定
家用或公用場所(目前設定檔)
![]() |
| 寄件者 windows7_vista_share |
Vista上的設定
開始\控制台
![]() |
| 寄件者 windows7_vista_share |
控制台\系統及維護
![]() |
| 寄件者 windows7_vista_share |
控制台\系統及維護\系統
使用相同的工作群組
![]() |
| 寄件者 windows7_vista_share |
重新啟動電腦
控制台\
![]() |
| 寄件者 windows7_vista_share |
控制台\網路和網際網路
![]() |
| 寄件者 windows7_vista_share |
控制台\網路和網際網路\網路和共用中心
關閉以密碼保護的共用,將要分享的功能打開
![]() |
| 寄件者 windows7_vista_share |
檔案分享
分享Windows7上的檔案
![]() |
| 寄件者 windows7_vista_share |
![]() |
| 寄件者 windows7_vista_share |
電腦當中的網路選項可以找到windows7電腦
![]() |
| 寄件者 windows7_vista_share |
![]() |
| 寄件者 windows7_vista_share |
印表機分享
分享配置在Windows7上的印表機
![]() |
| 寄件者 windows7_vista_share |
控制台\硬體和音效\裝置和印表機
選擇要分享的印表機,按右鍵選擇"印表機內容"
![]() |
| 寄件者 windows7_vista_share |
共用設定與其他驅動程式設定
![]() |
| 寄件者 windows7_vista_share |
其他驅動程式設定,選擇共享的驅動程式類型(x86就是32位元版; x64為64位元版)
![]() |
| 寄件者 windows7_vista_share |
Vista上的設定
控制台\硬體和音效\印表機
新增印表機
![]() |
| 寄件者 windows7_vista_share |
![]() |
| 寄件者 windows7_vista_share |
若沒有自動偵測到,可使用第二個紅圈選項
![]() |
| 寄件者 windows7_vista_share |
依名稱選取功用應表機,可用瀏覽的方式新增
![]() |
| 寄件者 windows7_vista_share |
最後,安裝驅動程式,完成分享。
![]() |
| 寄件者 windows7_vista_share |
以上方式,僅適合虛擬區域網路內,或是防火牆或閘道器內的網路。
Subscribe to:
Posts (Atom)





























