Monday, September 09, 2013

檢視windows作業系統中安裝的程式

一般檢視作業系統安裝的程式,大都是到程式集或是程式與功能」中。
其實cmd.exe中的指令也可以檢視喔!!!
在cmd.exe中執行
WMIC
product get name,version,installdate

C:\Users\user>WMIC
wmic:root\cli>product get name,version,installdate
InstallDate  Name                               Version
20130221     Remote Desktop Connection Manager  2.2.0423
20130814     Microsoft Office Standard 2007     12.0.6612.1000

也可以將查出的資料轉到文字檔中
WMIC
/output:D:\install.txt product get name,version,installdate



參考資料:http://jdev.tw/blog/2487/wmic-product, 用wmic建立已安裝軟體清單, 簡睿, 2011.05.16

Friday, January 11, 2013

Google搜尋技巧

參考網站:
[1] 善用GOOGLE  --  從入門到精通
http://ecaaser3.ecaa.ntu.edu.tw/weifang/cea/%E5%96%84%E7%94%A8GOOGLE.htm
[2] 圖表:必學!5個讓 Google 搜尋更精準的小技巧
http://www.techbang.com/posts/7754-chart-required-5-tips-let-google-search-for-more-accurate
[3] Google進階搜尋
http://www.google.com/advanced_search

常用語法:
intitle:OOO
說明:網頁的標題中含有OOO的網站。

inurl:OOO
說明:網址中含有OOO的網址。

filetype:pdf
說明:搜尋檔案格式為pdf的檔案。

site:OOO.OO
說明:搜尋OOO.OO的網域名(Domain Name)。

Friday, December 28, 2012

Freez Screen Video Capture 螢幕錄製軟體


軟體名稱:Freez Screen Video Capture
性質:Freeware
說明:螢幕錄製軟體,可存成.avi檔案。


官網:http://www.smallvideosoft.com/
操作介紹:http://briian.com/?p=5697
ScreenShooter:

Wednesday, December 26, 2012

Inkscape向量圖形編輯軟體


軟體名稱:Inkscape
性質:Freeware, Open Source
說明:向量圖形編輯軟體,能完全遵循與支援XML、SVG及CSS等開放性的標準格式。


官網:http://inkscape.org/
Wiki:http://zh.wikipedia.org/wiki/Inkscape
ScreenShooter:

SVG Sample:



Friday, December 21, 2012

LibreCAD-2D電腦輔助設計



軟體名稱:LibreCAD
性質:Freeware, Open Source
說明:2D的電腦輔助設計(Computer Aided Design, CAD)軟體


官網:http://librecad.org/cms/home.html
Wiki:http://zh.wikipedia.org/wiki/Librecad
ScreenShooter:


Wednesday, September 19, 2012

.Net Framework安裝順序出錯


[IIS] IIS出現[無法從組件 'System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=XXX' 載入型別 'System.ServiceModel.Activation.HttpModule'。] 錯誤訊息排解

上述該原因有可能是因為
先安裝了.NET Framework4.0,在於IIS角色又安裝了.NET Framework 3.5
所致。

可用以下指令解決該問題
  1. 開啟命令提示字元視窗CMD
  2. 然後執行[cd C:\Windows\Microsoft.NET\Framework\v4.0.30319]
  3. 執行[aspnet_regiis -i]
  4. 執行[iisreset]

Monday, April 02, 2012

SyntaxHighlighter Brush name

Brush name Brush aliases File name
ActionScript3 as3, actionscript3 shBrushAS3.js
ash/shell bash, shell shBrushBash.js
ColdFusion cf, coldfusion shBrushColdFusion.js
C# c-sharp, csharp shBrushCSharp.js
C++ cpp, c shBrushCpp.js
CSS css shBrushCss.js
Delphi delphi, pas, pascal shBrushDelphi.js
Diff diff, patch shBrushDiff.js
Erlang erl, erlang shBrushErlang.js
Groovy groovy shBrushGroovy.js
JavaScript js, jscript, javascript shBrushJScript.js
Java java shBrushJava.js
JavaFX jfx, javafx shBrushJavaFX.js
Perl perl, pl shBrushPerl.js
PHP php shBrushPhp.js
Plain Text plain, text shBrushPlain.js
PowerShell ps, powershell shBrushPowerShell.js
Python py, python shBrushPython.js
Ruby rails, ror, ruby shBrushRuby.js
Scala scala shBrushScala.js
SQL sql shBrushSql.js
Visual Basic vb, vbnet shBrushVb.js
XML xml, xhtml, xslt, html, xhtml shBrushXml.js

資料差異備份


echo %DATE% %TIME% 'Starting..' >> BU_log.txt
rem 建立網路磁碟機 , copy 遠端的備份檔
rem NET USE K: \\來源位置 密碼 /user:"主機名稱\administrator"
xcopy /D /E /C /Y D:\T1 D:\T2
echo %DATE% %TIME% '執行程式結束..' >> BU.txt


/D:m-d-y 複製在指定日期當天或之後發生變更的檔案。如果沒有給日期,只複製那些來源檔案日期比目的檔案日期為新的檔案。
/E 複製每個目錄及其包含的子目錄,也複製空目錄。/S 與 /E相同,能夠用來修改 /T。
/C 如果錯誤發生時也繼續複製。
/Y 不要提示您確認是否要覆蓋一個已經存在的檔案。

Tuesday, October 12, 2010

太極與物件導向

今天看曾仕強教授所出的《易經的奧祕》時,看到一句話"《老子、四十二章》說:「道」生一,一生二,二生三,三生萬物。",這句話讓我有所感悟,因為這跟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環境)

(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

#!/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 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_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



以上方式,僅適合虛擬區域網路內,或是防火牆或閘道器內的網路。

Thursday, August 26, 2010

Java Applet測試



因為Blogger好像不支援外來連接的applet,
所以只能用iframe插入文章中。

Thursday, August 19, 2010

在Chrome中使用ScribeFire來發表文章

這是我第一次在Chrome中使用ScribeFire(以下簡稱SF)來發表文章,感覺很特別。


SF有Blogger登入功能,所以可以很方便存取Blogger中的文章。



SF亦可以編寫新舊文章(舊文章會自Blogger中讀入)。



SF的編文方式是採用Rich Text的方式,與Blogger中的邊文方式大同小異,也可使用HTML Mode,但是不支援圖片上載。



Categories也會將舊有的標籤讀入,亦可加入新的標籤,但是無法同時使用兩個舊有標籤,需要用New Category的方式加入,不是很方便。



最後是可以選擇Publish與Draft。



完整的功能頁





------使用心得------
對於發文量很大的使用者來說,這個套件相當好用,但對於只擁有少數Blogger的人來說,
就沒有什麼大的差別了。
而且雖然這個套件很多人使用,但誰也不敢擔保他會不會洩漏個資(帳號密碼)啊!

Wednesday, August 18, 2010

Java enum的使用範例


enum Today{
Mon(1), Tue(2), Wed(3), Thu(4), Fri(5), Sat(6), Sun(7);
Today(int d){
this.day=d;
}
private int day;
public int getDay(){
return day;
}
}
class Test{
public static void main(String[] args){
Today t = Today.Tue;
switch(t.getDay()){
case 1: System.out.println("Today is Monday."); break;
case 2: System.out.println("Today is Tuesday."); break;
case 3: System.out.println("Today is Wednesday."); break;
case 4: System.out.println("Today is Thursday."); break;
case 5: System.out.println("Today is Friday."); break;
case 6: System.out.println("Today is Saturday."); break;
case 7: System.out.println("Today is Sunday."); break;
default: break;
}
}
}

結果:
java Test
Today is Tuesday.

Friday, August 06, 2010

Wednesday, August 04, 2010

Java基本資料範圍


public class DataRange {
public static void main(String[] args) {
System.out.println("byte range: " + Byte.MAX_VALUE + " ~ " + Byte.MIN_VALUE);
System.out.println("short range: " + Short.MAX_VALUE + " ~ " + Short.MIN_VALUE);
System.out.println("int range: " + Integer.MAX_VALUE + " ~ " + Integer.MIN_VALUE);
System.out.println("long range: " + Long.MAX_VALUE + " ~ " + Long.MIN_VALUE);
System.out.println("float range: " + Float.MAX_VALUE + " ~ " + Float.MIN_VALUE);
System.out.println("double range: " + Double.MAX_VALUE + " ~ " + Double.MIN_VALUE);
}
}



C:\Java\exam>javac DataRange.java

C:\Java\exam>java DataRange
byte range: 127 ~ -128
short range: 32767 ~ -32768
int range: 2147483647 ~ -2147483648
long range: 9223372036854775807 ~ -9223372036854
float range: 3.4028235E38 ~ 1.4E-45
double range: 1.7976931348623157E308 ~ 4.9E-324


byte使用8位元; short使用16位元; int使用32位元; long使用64位元
float使用32位元; double使用64位元
char使用16位元;

左邊的部分都可以指定(assignment)給右邊的型別:
byte --> short --> int --> long --> float --> double

window 自動關機設置

用在xp/vista可以自動關機
只要在Command Prompt
打進 shutdown.exe -s -t 60(60就是1分鐘-3600就是一小時)
-s(是關機)
-t (是時間)
-a (是取消)
-r (是重新啟動)

電腦就會自動的關機啦
這個工能的好處是當你要出門時又怕電腦開太久還
就可以用來關機
時間可以自己設置

Friday, July 23, 2010

Array Length

寫程式常常會需要用到陣列長度,以下列出幾種方法:

C

int a[3]={1,2,3};
int arrLength=(sizeof(a)/sizeof(*a));
printf("%d", arrLength);

結果:3

C++

template
int GetArrLength(T(&)[size]){return size;}
int main()
{
int a[]={1,2,3};
int arrLength = GetArrLength(arr);
printf("%d", arrLength);
getchar();
return 0;
}

結果:3

Java

int a[]=new int[3];
System.out.println(a.length);

結果:3

參考資料:
C Array length function problem
C++ Tip: How To Get Array Length