將滑鼠指向要執行的程式, 先按住 shift 鍵後, 再按滑鼠右鍵, 就會出現該功能選項(以不同使用者身分執行)
記得要執行該程式的使用者先設定好密碼
2010年12月17日 星期五
使用 php winbinder 寫一個計算檔案的 MD5 碼
< ?php
include "winbinder.php";
define("IDC_STATUSWIN", 101);
define("IDC_TEXTWIN", 102);
define("ID_OPEN" , 201);
define("ID_CLOSE", 202);
function process_main($window, $id)
{
switch($id) {
case ID_OPEN:
$filename = wb_sys_dlg_open($window, "Choose a file", array(array("All files", "*.*")) );
if(file_exists($filename) )
{
$sn="S/N: ".md5_file($filename);
wb_set_text(wb_get_control($window,IDC_TEXTWIN) , $filename);
wb_set_text(wb_get_control($window,IDC_STATUSWIN), $sn );
}
break;
case IDCLOSE : // IDCLOSE is predefined
case ID_CLOSE: wb_destroy_window($window); break;
}
}
$mainwin = wb_create_window(null, AppWindow,"PHP " . PHP_VERSION, WBC_CENTER, WBC_CENTER,500,100);
wb_create_control($mainwin, Menu,
array(iconv('big5','utf-8',"檔案-&File"),
array(ID_OPEN ,iconv('big5','utf-8',"開啟-&Open") , NULL, "" ,"Ctrl+O"), null,
array(ID_CLOSE,iconv('big5','utf-8',"關閉-&Close"), NULL, "" ,"Ctrl+X")
)
);
wb_create_control($mainwin, Label ,"Choose a file" ,1, 10, 290, 80, IDC_TEXTWIN);
wb_create_control($mainwin, StatusBar,"MD5:" ,0, 0, 0, 0, IDC_STATUSWIN);
wb_set_handler($mainwin, "process_main");
wb_main_loop();
?>
include "winbinder.php";
define("IDC_STATUSWIN", 101);
define("IDC_TEXTWIN", 102);
define("ID_OPEN" , 201);
define("ID_CLOSE", 202);
function process_main($window, $id)
{
switch($id) {
case ID_OPEN:
$filename = wb_sys_dlg_open($window, "Choose a file", array(array("All files", "*.*")) );
if(file_exists($filename) )
{
$sn="S/N: ".md5_file($filename);
wb_set_text(wb_get_control($window,IDC_TEXTWIN) , $filename);
wb_set_text(wb_get_control($window,IDC_STATUSWIN), $sn );
}
break;
case IDCLOSE : // IDCLOSE is predefined
case ID_CLOSE: wb_destroy_window($window); break;
}
}
$mainwin = wb_create_window(null, AppWindow,"PHP " . PHP_VERSION, WBC_CENTER, WBC_CENTER,500,100);
wb_create_control($mainwin, Menu,
array(iconv('big5','utf-8',"檔案-&File"),
array(ID_OPEN ,iconv('big5','utf-8',"開啟-&Open") , NULL, "" ,"Ctrl+O"), null,
array(ID_CLOSE,iconv('big5','utf-8',"關閉-&Close"), NULL, "" ,"Ctrl+X")
)
);
wb_create_control($mainwin, Label ,"Choose a file" ,1, 10, 290, 80, IDC_TEXTWIN);
wb_create_control($mainwin, StatusBar,"MD5:" ,0, 0, 0, 0, IDC_STATUSWIN);
wb_set_handler($mainwin, "process_main");
wb_main_loop();
?>
2010年12月13日 星期一
Windows7 建立一個隱藏目錄防君子不防小人
1. 開啟 dos 視窗, 先建立一個目錄: secrete..\
mkdir secrete..\
2. 將要隱藏的檔案放到目錄 secrete..\
3. 同一資料夾下再建立一個相同名稱的目錄
mkdir secrete
4. 然後將 secrete 隱藏起來
attrib +h secrete
則 secrete..\ 目錄下的東西, 在 windows7 會以為是 secrete 內的東西, 因而消失不見了
5. 除非用 dos 視窗將 secrete 目錄刪除, windows7 才可以看到 secrete..\ 下的內容
神奇吧!
WindowsXP 應該也可以!
mkdir secrete..\
2. 將要隱藏的檔案放到目錄 secrete..\
3. 同一資料夾下再建立一個相同名稱的目錄
mkdir secrete
4. 然後將 secrete 隱藏起來
attrib +h secrete
則 secrete..\ 目錄下的東西, 在 windows7 會以為是 secrete 內的東西, 因而消失不見了
5. 除非用 dos 視窗將 secrete 目錄刪除, windows7 才可以看到 secrete..\ 下的內容
神奇吧!
WindowsXP 應該也可以!
2010年11月7日 星期日
使用 phpExcel 讀取 excel 檔
phpExcel 網址:http://phpexcel.codeplex.com/
底下原始碼, 假設將 phpExcel 放在 httpd 所設定的 $DocumentRoot/phpExcel 下面
另外,tag <> 內的空格須自行刪除,加空格目的是避免此 blog 會當成tag 來解釋, 而影響 php 原始碼的閱讀性,
< ?php
require_once './phpExcel/Classes/PHPExcel.php';
require_once './phpEXCEL/Classes/PHPExcel/IOFactory.php';
header("Content-Type: text/html; charset=big5");
$file="sample.xls";
$objReader = PHPExcel_IOFactory::createReader('Excel5');
$objReader->setReadDataOnly(true);
$objPHPExcel = $objReader->load($file);
$objWorksheet = $objPHPExcel->getActiveSheet();
echo '< table border="1">';
foreach ( $objWorksheet->getRowIterator() as $row )
{
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false);
echo '< tr>';
foreach ($cellIterator as $cell)
{
echo '< td>';
echo iconv('utf-8','big5', $cell->getValue() . ' ');
echo '< /td>';
}
echo '< /tr>';
}
echo '< /table>';
?>
底下原始碼, 假設將 phpExcel 放在 httpd 所設定的 $DocumentRoot/phpExcel 下面
另外,tag <> 內的空格須自行刪除,加空格目的是避免此 blog 會當成tag 來解釋, 而影響 php 原始碼的閱讀性,
< ?php
require_once './phpExcel/Classes/PHPExcel.php';
require_once './phpEXCEL/Classes/PHPExcel/IOFactory.php';
header("Content-Type: text/html; charset=big5");
$file="sample.xls";
$objReader = PHPExcel_IOFactory::createReader('Excel5');
$objReader->setReadDataOnly(true);
$objPHPExcel = $objReader->load($file);
$objWorksheet = $objPHPExcel->getActiveSheet();
echo '< table border="1">';
foreach ( $objWorksheet->getRowIterator() as $row )
{
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false);
echo '< tr>';
foreach ($cellIterator as $cell)
{
echo '< td>';
echo iconv('utf-8','big5', $cell->getValue() . ' ');
echo '< /td>';
}
echo '< /tr>';
}
echo '< /table>';
?>
2010年10月23日 星期六
twbbs.org 網域 + hinet 轉址
1. 申請免費網域可到 twbbs.org 註冊一個帳號, 一個帳號可申請多組網域(例如 your_domain,則所申請的網域將會是 your_domain.twbbs.org)
來去 twbbs 網站申請一個帳號及網域吧: http://twbbs.org/
(A) 使用者登錄 twbbs.org 後, 按 "設定‧修改 網域"
(B) 挑選所要設定的 your_domain 網域處, 按 "設定" 紐,
(C) 接著再按 "設定DNS" 項,
(D) 將 FQDN 欄位的 your_doamin.twbbs.org, 挑選型態為 A 的 record, 將位址(ip)以 203.66.87.5 直接填入, 按 "新增一筆資料"
完成設定
2. Hinet 用戶可到 Hinet 轉址服務網頁申請一個帳號,
(例如帳號為 your_web,則所申請的網址將會是 http://your_web.myweb.hinet.net)
來去 hinet 網站申請一個帳號及網頁吧: http://www.myweb.hinet.net
(A) 登錄帳號後, 點選 "網站資料修改"
(B) 將 "網域名稱" 欄位內填入在步驟 1 所填的 ip 位址所對應的網域名稱
(例如 your_doamin.twbbs.org )
(C) 等待 dns 完成資料交換, 開啟 dos 視窗,
ping your_doamin.twbbs.org
如果 domain name 已經對應成功, 203.66.87.5 會回應, 則代表已完成設定
3. 開始瀏覽 your_domain.twbbs.org, 開啓瀏覽器填入網址:
http://your_domain.twbbs.org
便會轉址到 http://your_web.myweb.hinet.net
另外原來在 hinet 的 your_web 網頁,並不受影響,仍可以用網址
http://your_web.myweb.hinet.net 直接瀏覽
註: Hinet 的轉址僅限定 http 轉址, 其它如 mail 等並不適用
來去 twbbs 網站申請一個帳號及網域吧: http://twbbs.org/
(A) 使用者登錄 twbbs.org 後, 按 "設定‧修改 網域"
(B) 挑選所要設定的 your_domain 網域處, 按 "設定" 紐,
(C) 接著再按 "設定DNS" 項,
(D) 將 FQDN 欄位的 your_doamin.twbbs.org, 挑選型態為 A 的 record, 將位址(ip)以 203.66.87.5 直接填入, 按 "新增一筆資料"
完成設定
2. Hinet 用戶可到 Hinet 轉址服務網頁申請一個帳號,
(例如帳號為 your_web,則所申請的網址將會是 http://your_web.myweb.hinet.net)
來去 hinet 網站申請一個帳號及網頁吧: http://www.myweb.hinet.net
(A) 登錄帳號後, 點選 "網站資料修改"
(B) 將 "網域名稱" 欄位內填入在步驟 1 所填的 ip 位址所對應的網域名稱
(例如 your_doamin.twbbs.org )
(C) 等待 dns 完成資料交換, 開啟 dos 視窗,
ping your_doamin.twbbs.org
如果 domain name 已經對應成功, 203.66.87.5 會回應, 則代表已完成設定
3. 開始瀏覽 your_domain.twbbs.org, 開啓瀏覽器填入網址:
http://your_domain.twbbs.org
便會轉址到 http://your_web.myweb.hinet.net
另外原來在 hinet 的 your_web 網頁,並不受影響,仍可以用網址
http://your_web.myweb.hinet.net 直接瀏覽
註: Hinet 的轉址僅限定 http 轉址, 其它如 mail 等並不適用
2010年10月10日 星期日
nginx config 內容小解
漂浮線 ~ 用來指示隨後的 regular expression 大小寫不介意
漂浮線加星號 ~* 用來指示隨後的 regular expression 須區分大小寫
漂浮線加星號 ~* 用來指示隨後的 regular expression 須區分大小寫
2010年10月8日 星期五
另一好用的 Web server: nginx
下載 nginx web server
http://nginx.org/en/download.html
設定檔: nginx.conf 放在 nginx/conf
docroot 一般設定在 nginx/html
讓 php-cgi 可支援, 修改 nginx.conf,加入以下內容:
location ~ .php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
如果要支援 drupal,修改 nginx.conf,加入以下內容:
location /drupal {
index index.php index.html index.htm;
if (!-e $request_filename) {
rewrite ^(.+)$ /drupal/index.php?q=$1 last;
}
}
如果要支援 wordpress , 修改 nginx.conf
location /wordpress {
index index.php index.html index.htm;
if (!-e $request_filename) {
rewrite ^(.+)$ /wordpress/index.php?q=$1 last;
}
}
如果要使用 sqlite 資料庫, 則到 wordpress 官網下載 pdo_sqlite plugin, 並將此plugin 模組放入 wp-content 目錄下, 另外需修改 wp-config.php, 加入以下的程式碼:
define('DB_TYPE','sqlite');
Drupal 7 才開始有支援 php data object (PDO) 的 slite 資料庫 (pdo_sqlite),
但我用起來不是很穩, 看起來 drupal7 與 nginx 相容性友有待驗證
須修改 php.ini 的 extension 設定值, 將以下的 extension enable:
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mysql.dll
extension=php_pdo_mysql.dll
extension=php_pdo_sqlite.dll
將 nginx 檔案全部放入 c:\nginx
將 php 檔案全部放入 c:\nginx\php
啟動 nginx
start c:\nginx\nginx.exe
命令 php-cgi listen port 9000
start c:\nginx\php\php-cgi.exe -b 127.0.0.1:9000 -c c:\nginx\php\php.ini
http://nginx.org/en/download.html
設定檔: nginx.conf 放在 nginx/conf
docroot 一般設定在 nginx/html
讓 php-cgi 可支援, 修改 nginx.conf,加入以下內容:
location ~ .php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
如果要支援 drupal,修改 nginx.conf,加入以下內容:
location /drupal {
index index.php index.html index.htm;
if (!-e $request_filename) {
rewrite ^(.+)$ /drupal/index.php?q=$1 last;
}
}
如果要支援 wordpress , 修改 nginx.conf
location /wordpress {
index index.php index.html index.htm;
if (!-e $request_filename) {
rewrite ^(.+)$ /wordpress/index.php?q=$1 last;
}
}
如果要使用 sqlite 資料庫, 則到 wordpress 官網下載 pdo_sqlite plugin, 並將此plugin 模組放入 wp-content 目錄下, 另外需修改 wp-config.php, 加入以下的程式碼:
define('DB_TYPE','sqlite');
Drupal 7 才開始有支援 php data object (PDO) 的 slite 資料庫 (pdo_sqlite),
但我用起來不是很穩, 看起來 drupal7 與 nginx 相容性友有待驗證
須修改 php.ini 的 extension 設定值, 將以下的 extension enable:
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mysql.dll
extension=php_pdo_mysql.dll
extension=php_pdo_sqlite.dll
將 nginx 檔案全部放入 c:\nginx
將 php 檔案全部放入 c:\nginx\php
啟動 nginx
start c:\nginx\nginx.exe
命令 php-cgi listen port 9000
start c:\nginx\php\php-cgi.exe -b 127.0.0.1:9000 -c c:\nginx\php\php.ini
2010年10月3日 星期日
安裝 Ubuntu 到 SD 卡上
1. 先安裝 boot loader , 我習慣用 grub, grub 也是 ubuntu 內建的 boot loader
2. 將 SD 分割好, 我習慣將 partition 1 設成 FAT, 將 partition 2 設成 linux, 務必確認 SD 卡所在的磁碟機, 一般來說, 開機碟是 hd0, 第二個是 hd1, 我的 SD 卡是在 hd1, 可以利用 grub 內建指令搜尋檔案所在位置
先使用 Ubuntu Linux 開機:
再取得 Ubuntu 的 root 控制權
\UbuntuLinux>sudo su
使用 fdisk 分割 SD 卡, 例如 sdb1(FAT 06), sdb2(Linux 83)
\UbuntuLinux>fdisk /dev/sdb
....
參考命令: n, a, t, l, m
....
\UbuntuLiux>cd /mnt
將 partition 2 格式化成 Linux
\UbuntuLinux\mnt>mke2fs /dev/sdb2
建立 grub 所需資料夾:
\UbuntuLinux\mnt>mkdir sdb
\UbuntuLinux\mnt>mount /dev/sdb2 sdb
\UbuntuLinux\mnt>mkdir sdb/boot
\UbuntuLinux\mnt>mkdir sdb/boot/grub
將 grub 所需的檔案存入 /mnt/sdb/boot/grub 內: stage1, stage2, stage1_5..., menu.lst
\UbuntuLinux\mnt>cp ... /mnt/sdb/boot/grub
修改 /boot/grub/ment.lst 內容
\UbuntuLinux\mnt>vi sd/boot/grub/menu.lst
將Ubuntu 的 iso 檔(例如 Ubuntu10.04.iso ) 放在 partition 1 (hd0,0) 的 capser 目錄下,
Ubuntu 10 的 linux kernel 名稱叫作 vmlinuz, ramdisk 名稱叫作 initrd.lz, 一般來說,都放在 cdrom 的 casper 目錄內, 可以將他複製到 SD 卡上的 partition 1 (FAT) 內,只要在 menu.lst 明確設定好 kenrel 及 ininrd 所在位置即可
...
default=0
timeout=2
root (hd0,0)
kernel /casper/vmlinuz boot=casper iso-scan/filename=/casper/ubunt10.04.iso ro splash locale=zh_TW.UTF-8
initrd /casper/initrd.lz
...
卸載 SD 卡, 並執行 grub 安裝 boot loader
\UbuntuLinux\mnt>umount sdb
\UbuntuLinux\mnt>grub
在 grub 內設定好 root device, 以便讓它去找尋 stage1, stage2, stage1_5, menu.lst 所在磁碟
\grub>root (hd1,1)
並確認 root device 所在磁碟: 例如將 id 存入在 /mnt/sdb/boot/grub/id , 則執行以下命令:
\grub>find /boot/grub/id
安裝 grub 到 SD 卡 MBR
\grub>setup (hd1)
\grub>quit
重新開機並設定 BIOS 讓 SD 卡可以啟動開機
2. 將 SD 分割好, 我習慣將 partition 1 設成 FAT, 將 partition 2 設成 linux, 務必確認 SD 卡所在的磁碟機, 一般來說, 開機碟是 hd0, 第二個是 hd1, 我的 SD 卡是在 hd1, 可以利用 grub 內建指令搜尋檔案所在位置
先使用 Ubuntu Linux 開機:
再取得 Ubuntu 的 root 控制權
\UbuntuLinux>sudo su
使用 fdisk 分割 SD 卡, 例如 sdb1(FAT 06), sdb2(Linux 83)
\UbuntuLinux>fdisk /dev/sdb
....
參考命令: n, a, t, l, m
....
\UbuntuLiux>cd /mnt
將 partition 2 格式化成 Linux
\UbuntuLinux\mnt>mke2fs /dev/sdb2
建立 grub 所需資料夾:
\UbuntuLinux\mnt>mkdir sdb
\UbuntuLinux\mnt>mount /dev/sdb2 sdb
\UbuntuLinux\mnt>mkdir sdb/boot
\UbuntuLinux\mnt>mkdir sdb/boot/grub
將 grub 所需的檔案存入 /mnt/sdb/boot/grub 內: stage1, stage2, stage1_5..., menu.lst
\UbuntuLinux\mnt>cp ... /mnt/sdb/boot/grub
修改 /boot/grub/ment.lst 內容
\UbuntuLinux\mnt>vi sd/boot/grub/menu.lst
將Ubuntu 的 iso 檔(例如 Ubuntu10.04.iso ) 放在 partition 1 (hd0,0) 的 capser 目錄下,
Ubuntu 10 的 linux kernel 名稱叫作 vmlinuz, ramdisk 名稱叫作 initrd.lz, 一般來說,都放在 cdrom 的 casper 目錄內, 可以將他複製到 SD 卡上的 partition 1 (FAT) 內,只要在 menu.lst 明確設定好 kenrel 及 ininrd 所在位置即可
...
default=0
timeout=2
root (hd0,0)
kernel /casper/vmlinuz boot=casper iso-scan/filename=/casper/ubunt10.04.iso ro splash locale=zh_TW.UTF-8
initrd /casper/initrd.lz
...
卸載 SD 卡, 並執行 grub 安裝 boot loader
\UbuntuLinux\mnt>umount sdb
\UbuntuLinux\mnt>grub
在 grub 內設定好 root device, 以便讓它去找尋 stage1, stage2, stage1_5, menu.lst 所在磁碟
\grub>root (hd1,1)
並確認 root device 所在磁碟: 例如將 id 存入在 /mnt/sdb/boot/grub/id , 則執行以下命令:
\grub>find /boot/grub/id
安裝 grub 到 SD 卡 MBR
\grub>setup (hd1)
\grub>quit
重新開機並設定 BIOS 讓 SD 卡可以啟動開機
2010年9月29日 星期三
免費又好用的工具程式
好用的看圖軟體及編修工具: http://www.xnview.com/en/download.html
好用的文字檔編輯工具: http://notepad-plus-plus.org/download
好用的數學軟體: http://freemat.sourceforge.net/
另一款數學軟體: http://www.gnu.org/software/octave/download.html
好用的 HTML 編輯軟體: http://kompozer.net/
好用的 ftp 軟體: http://filezilla-project.org/
好用的 sshd http://www.freesshd.com/?ctt=download
好用的 ssh client: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
好用的虛擬電腦: http://www.virtualbox.org/wiki/Downloads
好用的解壓縮軟體 http://www.7-zip.org/
好用的加密軟體 http://www.truecrypt.org/downloads
好用的遠端遙控軟體: http://www.realvnc.com/products/download.html
好用的燒錄軟體http://www.imgburn.com/index.php?act=download
好用轉 PDF 工具: http://sourceforge.net/projects/pdfcreator/
好用的 p2p 軟體: http://www.utorrent.com/
好用的文字檔編輯工具: http://notepad-plus-plus.org/download
好用的數學軟體: http://freemat.sourceforge.net/
另一款數學軟體: http://www.gnu.org/software/octave/download.html
好用的 HTML 編輯軟體: http://kompozer.net/
好用的 ftp 軟體: http://filezilla-project.org/
好用的 sshd http://www.freesshd.com/?ctt=download
好用的 ssh client: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
好用的虛擬電腦: http://www.virtualbox.org/wiki/Downloads
好用的解壓縮軟體 http://www.7-zip.org/
好用的加密軟體 http://www.truecrypt.org/downloads
好用的遠端遙控軟體: http://www.realvnc.com/products/download.html
好用的燒錄軟體http://www.imgburn.com/index.php?act=download
好用轉 PDF 工具: http://sourceforge.net/projects/pdfcreator/
好用的 p2p 軟體: http://www.utorrent.com/
2010年9月26日 星期日
Windows sshd
1. 下載
free SSH Server: http://www.freesshd.com/
free SSH Client: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
2. 安裝 freesshd, 設定:
Users TAB: 增加 user, 設定密碼, 使用 Password stored as SHA1 hash,並勾選 Shell, SFTP, Tunnling
Tunneling TAB: 勾選 Allow local port forward, 並勾選 Allow remote forwarding
其他使用內定值即可
3. 安裝 putty
設定 SSH/Tunnels,
增加 Source port (將使用 127.0.0.1:SorcePort 來存取), 要連線的 host 及 port: DestinationIP:DestinationPort
4. 開啟防火牆設定,令其可通過防火牆
free SSH Server: http://www.freesshd.com/
free SSH Client: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
2. 安裝 freesshd, 設定:
Users TAB: 增加 user, 設定密碼, 使用 Password stored as SHA1 hash,並勾選 Shell, SFTP, Tunnling
Tunneling TAB: 勾選 Allow local port forward, 並勾選 Allow remote forwarding
其他使用內定值即可
3. 安裝 putty
設定 SSH/Tunnels,
增加 Source port (將使用 127.0.0.1:SorcePort 來存取), 要連線的 host 及 port: DestinationIP:DestinationPort
4. 開啟防火牆設定,令其可通過防火牆
2010年9月25日 星期六
安裝 phpBB (電子布告欄)討論區
到官方網站下載
1. phpBB 主程式及中文語系相關檔案: http://www.phpbb.com/downloads/olympus.php
2. language pack 共有 3 個檔案需要下載: http://www.phpbb.com/languages/
Language, subsilver2, proSilver 等 3 個壓縮檔
3. 參考竹貓星簡易安裝法: http://phpbb-tw.net/phpbb/viewtopic.php?f=116&t=50303
4. 將上述檔案解壓縮放到 Web server 適當目錄底下: ./phpBB3
5. 執行 mysql client, 產生新資料庫, 並將資料庫權限設好管理員帳號及密碼
6. 利用瀏覽器訪問 http://.../phpBB3/install/index.php
7. 將 資料庫名稱, 管理員帳號, 管理員密碼, 輸入
8. 移除 ./phpBB3/install 目錄
9. 完成
10.開始管理版面
1. phpBB 主程式及中文語系相關檔案: http://www.phpbb.com/downloads/olympus.php
2. language pack 共有 3 個檔案需要下載: http://www.phpbb.com/languages/
Language, subsilver2, proSilver 等 3 個壓縮檔
3. 參考竹貓星簡易安裝法: http://phpbb-tw.net/phpbb/viewtopic.php?f=116&t=50303
4. 將上述檔案解壓縮放到 Web server 適當目錄底下: ./phpBB3
5. 執行 mysql client, 產生新資料庫, 並將資料庫權限設好管理員帳號及密碼
6. 利用瀏覽器訪問 http://.../phpBB3/install/index.php
7. 將 資料庫名稱, 管理員帳號, 管理員密碼, 輸入
8. 移除 ./phpBB3/install 目錄
9. 完成
10.開始管理版面
Apache2 一些資訊
啟用 Directory 時, 其內部選項是會被其子目錄所繼承的, 但後續的相同的 directive 可以改寫,蓋掉前面之敘述
(A) 策略 1: 先嚴格禁止,在慢慢開放,
在根目錄先用 AllowOverride None, 其底下目錄, 接下來如沒有特別指定,則預設是關閉 Override:
AllowOverride None
Order deny,all
deny from allow
(A) 策略 2: 先全部開放, 再一一禁止
在根目錄先用 AllowOverride All, 其底下目錄, 接下來如沒有特別指定,則預設是開啟 Override:
AllowOverride All
Order allow,deny
allow from all
... : path 使用絕對路徑
只作用在此目錄內, path 欄可以使用 Regex 語法, 包含 ~ 符號, regular expression 使用 "" 括起來
例:
Options Indexes FollowSymLinks
AllowOverride --> 只存在於 內
Ubuntu 的 Appach 設定會 include /etc/apache2/sites-enabled/000-default
在此他會將 DocumnentRoot,AllowOverride 重新改寫,
Options: ALL, ExecCGI , FollowSymLinks, Includes, IncludesNOEXEC, Indexes, Multiviews, SymLinksIfOwnerMatch
FollowSymLinks : Apache2 是否會遵循 Symbolic link
Indexes : 要不要顯示目錄裡的內容
(A) 策略 1: 先嚴格禁止,在慢慢開放,
在根目錄先用 AllowOverride None, 其底下目錄, 接下來如沒有特別指定,則預設是關閉 Override:
AllowOverride None
Order deny,all
deny from allow
(A) 策略 2: 先全部開放, 再一一禁止
在根目錄先用 AllowOverride All, 其底下目錄, 接下來如沒有特別指定,則預設是開啟 Override:
AllowOverride All
Order allow,deny
allow from all
只作用在此目錄內, path 欄可以使用 Regex 語法, 包含 ~ 符號, regular expression 使用 "" 括起來
例:
Options Indexes FollowSymLinks
AllowOverride --> 只存在於
Ubuntu 的 Appach 設定會 include /etc/apache2/sites-enabled/000-default
在此他會將 DocumnentRoot,AllowOverride 重新改寫,
Options: ALL, ExecCGI , FollowSymLinks, Includes, IncludesNOEXEC, Indexes, Multiviews, SymLinksIfOwnerMatch
FollowSymLinks : Apache2 是否會遵循 Symbolic link
Indexes : 要不要顯示目錄裡的內容
2010年9月23日 星期四
DMSguestbook 啟用
Wordpress 的 DMSguestbook plugins 在 Ubuntu Linux Server 上無法運作原因:
驗證碼的 PNG 圖像無法產生 --> 需安裝 php5-gd
apt-get update
apt-get install php5-gd
驗證碼的 PNG 圖像無法產生 --> 需安裝 php5-gd
apt-get update
apt-get install php5-gd
2010年9月22日 星期三
安裝 Wordpress
1. 下載 Wordpress
英文版: http://wordpress.org/
正體中文版: http://www.wordpress.com.tw/
2. 安裝 WAMP server: http://www.wampserver.com/en/
或 phpnow: http://phpnow.org/
3. 設定Mysql,新增一個資料庫給wordpress使用並產生wordpress的管理者,例如資料庫=wp3,管理者=admin, 密碼=123456
create database wp3;
grant all on wp3.* to 'admin'@'localhost' identified by '123456'
4. 將wordpress解壓縮,並將所有檔案放入Apache server的 www 根目錄內
5. 使用 Borwser 瀏覽 Apache server 上 wordpress 所在之根目錄, 並將(A)資料庫名稱,(B)使用者名稱,(C)密碼,分別填入設定檔內.
英文版: http://wordpress.org/
正體中文版: http://www.wordpress.com.tw/
2. 安裝 WAMP server: http://www.wampserver.com/en/
或 phpnow: http://phpnow.org/
3. 設定Mysql,新增一個資料庫給wordpress使用並產生wordpress的管理者,例如資料庫=wp3,管理者=admin, 密碼=123456
create database wp3;
grant all on wp3.* to 'admin'@'localhost' identified by '123456'
4. 將wordpress解壓縮,並將所有檔案放入Apache server的 www 根目錄內
5. 使用 Borwser 瀏覽 Apache server 上 wordpress 所在之根目錄, 並將(A)資料庫名稱,(B)使用者名稱,(C)密碼,分別填入設定檔內.
2010年7月22日 星期四
不使用防毒軟體的 Windows 作業系統規劃
買了 Acer Aspire 1410, 上面搭載了 Windows 7, 還不錯用, 只是它預先裝了一堆我不喜歡的軟體和防毒軟體, 索性將它全部移除,系統現在順多了,為了避免上網中毒,於是便規劃了一下:建立 4 個帳戶, 2 個一般用戶及 2 個系統管理員帳戶,除非安裝軟體要使用系統管理員登入外, 其餘時間用一般帳戶登入即可,各別建立2個是作為備份用,萬一有其中一個帳號中毒了,用另一個系統管理員將其帳戶刪除,再重新建立一個新帳號就可,如此也不需要防毒軟體了,省的它拖慢系統速度.
改變 Virtualbox 的映像檔的 uuid
VirtualBox 3.2.6 出新版了, 網路上抓的 WindowsXP sp3 整合版, 終於可以灌進去了玩看看了.
若直接複製映像檔(.vdi) 後, 想再創建一個虛擬機器, 開啟這個複製的映像檔將會產生錯誤,可利用工具程式vboxmanage 更改其 uuid 即可重複使用了:
C:\Program Files\Oracle\VirtualBox\vboxmanage internalcommands setvdiuuid NewImage.vdi
另外, 虛擬機器的設定, 在'主機板(M)'頁籤'有一選項'啟用 IO APIC', 最好不要勾選, 應為它會造成作業系統變慢
若直接複製映像檔(.vdi) 後, 想再創建一個虛擬機器, 開啟這個複製的映像檔將會產生錯誤,可利用工具程式vboxmanage 更改其 uuid 即可重複使用了:
C:\Program Files\Oracle\VirtualBox\vboxmanage internalcommands setvdiuuid NewImage.vdi
另外, 虛擬機器的設定, 在'主機板(M)'頁籤'有一選項'啟用 IO APIC', 最好不要勾選, 應為它會造成作業系統變慢
EWF 系統取得/安裝/使用
EWF 系統取得/安裝/使用
號稱 WindowsXP 下免費的影子軟體( ewf.sys , ewfmgr.exe , ewfntldr, EWFreg.reg )
好處:讓 WindowsXP 成為唯讀作業系統, 所有寫入動作, 會自動轉至 DRAM 所模擬的檔案系統上, 可避免不當系統破壞或病毒感染
(A) 取得檔案
1. 到 http://www.thevod.org/applications/ewfadmin/ewffiles.rar 下載檔案
2. 使用解壓縮軟體 7-zip 解 rar, 可以到 http://downloads.sourceforge.net/sevenzip/7zip465.exe 下載檔案
3. 安裝 7-zip 後將上述 ewffiles.rar 解壓縮
4. 內含 4 個重要系統檔案(ewf.sys, ewfmgr.ee, ewfntldr, EWFreg.reg )及 1 個英文說明檔( Instructions.txt)
(B) 安裝方式
0. 將根( \ )目錄下的 ntldr 改個名稱,或將它備份起來後刪除.
1. 複製 ewfntldr 到根目錄下( \ ), 並將它改名為 ntldr
2. 複製 ewf.sys 到系統目錄( \windows\system32\drivers )內
3. 複製 ewfmgr.exe 到系統目錄( \windows\system32\ )內
4. 啟動註冊工具程式 regedit.exe, 並找到機碼 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root後,
按滑鼠右鍵選擇 "使用權限", 讓 Everyone 擁有 '完全控制' 之權限(也就是說將此選項勾選)
5. 將 EWFreg.reg 內容稍作必要之修改,以反映開機磁碟(ArcName), 之後存檔, 並雙擊滑鼠將此機碼資訊登錄到 windowsXP 內
6. EWF 系統安裝完成,重新開機
(C) 系統管理
1. ewfmgr c: -enable
下一次啟動時, 開啟 ewf 保護
2. ewfmgr c: -commitanddisable -live
馬上將現有改變反映到磁碟 c:, 並在下一次啟動時, 停止 ewf 保護
號稱 WindowsXP 下免費的影子軟體( ewf.sys , ewfmgr.exe , ewfntldr, EWFreg.reg )
好處:讓 WindowsXP 成為唯讀作業系統, 所有寫入動作, 會自動轉至 DRAM 所模擬的檔案系統上, 可避免不當系統破壞或病毒感染
(A) 取得檔案
1. 到 http://www.thevod.org/applications/ewfadmin/ewffiles.rar 下載檔案
2. 使用解壓縮軟體 7-zip 解 rar, 可以到 http://downloads.sourceforge.net/sevenzip/7zip465.exe 下載檔案
3. 安裝 7-zip 後將上述 ewffiles.rar 解壓縮
4. 內含 4 個重要系統檔案(ewf.sys, ewfmgr.ee, ewfntldr, EWFreg.reg )及 1 個英文說明檔( Instructions.txt)
(B) 安裝方式
0. 將根( \ )目錄下的 ntldr 改個名稱,或將它備份起來後刪除.
1. 複製 ewfntldr 到根目錄下( \ ), 並將它改名為 ntldr
2. 複製 ewf.sys 到系統目錄( \windows\system32\drivers )內
3. 複製 ewfmgr.exe 到系統目錄( \windows\system32\ )內
4. 啟動註冊工具程式 regedit.exe, 並找到機碼 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root後,
按滑鼠右鍵選擇 "使用權限", 讓 Everyone 擁有 '完全控制' 之權限(也就是說將此選項勾選)
5. 將 EWFreg.reg 內容稍作必要之修改,以反映開機磁碟(ArcName), 之後存檔, 並雙擊滑鼠將此機碼資訊登錄到 windowsXP 內
6. EWF 系統安裝完成,重新開機
(C) 系統管理
1. ewfmgr c: -enable
下一次啟動時, 開啟 ewf 保護
2. ewfmgr c: -commitanddisable -live
馬上將現有改變反映到磁碟 c:, 並在下一次啟動時, 停止 ewf 保護
2010年5月16日 星期日
父親病危
5/13 晚上接到老哥的電話, 說父親住院了,接著老妹也CALL 了一通電話,說爸情況並不樂觀.我真後悔沒馬上趕回家.
5/14 一早到公司請了假,就趕到高醫去探望,看到父親插了鼻胃管,鼻頭酸了一下,眼淚濕潤了我雙眼,眼前一片模糊,趕緊拿了手帕,拭去眼淚,聽老媽在父親耳朵旁哽咽的說,兒子來看你了,你知道嗎?老爸點點頭,似乎已無法言語,也沒氣力爬起身子,看著老爸乾裂的嘴唇,似乎不吃不喝有一陣子了,想起老妹昨天說父親什麼都不吃,似乎已經絕望,不再想對抗病魔,不一會,大阿姨攜著表嫂一起來,還沒到病房門,眼眶便已泛紅,我和哥再也忍不住,對著窗戶向著外頭啜泣.走到老爸病床前,阿姨輕輕叫著老爸的暱名,眼淚不時流出,不捨的神情,任誰看了都不忍.接著主治醫師來了,要我和母親到外面聽述病情,告訴我們現在父親的病情,說現在父親肝已逐漸失去功能,或稱肝衰竭,造成體內無法排毒,體內阿摩尼亞可能會衝到腦部,造成肝昏迷,因此會有無意識的現象發生,目前只能用高營養物質灌食,看能否促進肝細胞再生,但除非奇蹟,否則要恢復,只能換肝一途.還記得過年前父親的身體檢查報告出來,肝癌,老爸就召開家庭會議,大致說肝癌的嚴重性和未來會面對的事實,要我們做好心理準備,也再三叮嚀不要做換肝手術,也不要強行急救,因為他看到他老朋友多數患癌的朋友,往生時都相當痛苦,只知當時空氣瀰漫一股哀傷的氣氛,無人發言,接著妹婿提了建議,既然做了報告,也驗出結果,何不做一些防範措施,父親看是接受了,開始做肝栓塞,作化療,似乎這些都沒發揮作用,上禮拜老爸常說身體不適,說話已沒氣力,也不像以前那麼有活力,可以到外面散步,應該就是徵兆,在普通病房的護士告訴我們,可以請看護,幫忙照顧父親的衛生清理,對餵食也比較有經驗,也可替病人拍拍背,可讓父親活動一下筋骨,讓專業人負責照料,可省下很多氣力,12 小時收費 1000元, 是公定價,到護理站申請就可,否則以普通病房的護士照料,一般都無法全程勝任,或等加護病房的安排,到時才會有較好的醫療照顧,便雇了2 員看護分別一晚一日的班,這樣應可大大減輕母親照護的負擔,晚上老哥留守.我便載著母親回家休息
5/15 跟老哥換班,老哥說昨晚父親不時爬起,躺下,他整晚都沒睡,看護也累得 4 點鐘的時候便打呼睡著了,8 點換了一位新看護,下午,醫院通知加護病房已經空出來,要我們準備轉到加護病房,進加護病房有一堆措施要遵守:
探病只有兩個時段早上 11:30~12:00, 及下午 5:00~5:30, 親屬可在旁邊休息室隨時等候緊急通知,並且要簽署一些文件:自費同意書,病危處理同意書,在加護病房內之照料同意書,均須經家屬簽字同意,晚上換我留守,老哥便載著母親回家休息,一晚其實無所事,躺在床椅並不會很舒服,但也還過得去,只是醫院內冷氣到了半夜會冷了點,還好有帶夾克,可稍微取暖
5/16 小阿姨和姑姑嫂嫂及老爸老媽的一些朋友來探望,每個見到我爸這樣瘦的身軀,莫不眼眶泛紅.跟老媽說老爸現已經進加護病房照料,晚上回家睡就好,只是老媽與老爸鶼鰈情深,希望有親人可以陪伴父親,執意要留在醫院,明日我和老哥要上班了,也沒再勸母親,現只能祈求保佑我老爸真的有奇蹟發生,畢竟老爸一生奉獻,不應這麼年輕就回老家和奶奶相聚的,大嫂 8 月要臨盆,孫子就要出生了,這樣的奢求,為何不讓它實現呢?
5/14 一早到公司請了假,就趕到高醫去探望,看到父親插了鼻胃管,鼻頭酸了一下,眼淚濕潤了我雙眼,眼前一片模糊,趕緊拿了手帕,拭去眼淚,聽老媽在父親耳朵旁哽咽的說,兒子來看你了,你知道嗎?老爸點點頭,似乎已無法言語,也沒氣力爬起身子,看著老爸乾裂的嘴唇,似乎不吃不喝有一陣子了,想起老妹昨天說父親什麼都不吃,似乎已經絕望,不再想對抗病魔,不一會,大阿姨攜著表嫂一起來,還沒到病房門,眼眶便已泛紅,我和哥再也忍不住,對著窗戶向著外頭啜泣.走到老爸病床前,阿姨輕輕叫著老爸的暱名,眼淚不時流出,不捨的神情,任誰看了都不忍.接著主治醫師來了,要我和母親到外面聽述病情,告訴我們現在父親的病情,說現在父親肝已逐漸失去功能,或稱肝衰竭,造成體內無法排毒,體內阿摩尼亞可能會衝到腦部,造成肝昏迷,因此會有無意識的現象發生,目前只能用高營養物質灌食,看能否促進肝細胞再生,但除非奇蹟,否則要恢復,只能換肝一途.還記得過年前父親的身體檢查報告出來,肝癌,老爸就召開家庭會議,大致說肝癌的嚴重性和未來會面對的事實,要我們做好心理準備,也再三叮嚀不要做換肝手術,也不要強行急救,因為他看到他老朋友多數患癌的朋友,往生時都相當痛苦,只知當時空氣瀰漫一股哀傷的氣氛,無人發言,接著妹婿提了建議,既然做了報告,也驗出結果,何不做一些防範措施,父親看是接受了,開始做肝栓塞,作化療,似乎這些都沒發揮作用,上禮拜老爸常說身體不適,說話已沒氣力,也不像以前那麼有活力,可以到外面散步,應該就是徵兆,在普通病房的護士告訴我們,可以請看護,幫忙照顧父親的衛生清理,對餵食也比較有經驗,也可替病人拍拍背,可讓父親活動一下筋骨,讓專業人負責照料,可省下很多氣力,12 小時收費 1000元, 是公定價,到護理站申請就可,否則以普通病房的護士照料,一般都無法全程勝任,或等加護病房的安排,到時才會有較好的醫療照顧,便雇了2 員看護分別一晚一日的班,這樣應可大大減輕母親照護的負擔,晚上老哥留守.我便載著母親回家休息
5/15 跟老哥換班,老哥說昨晚父親不時爬起,躺下,他整晚都沒睡,看護也累得 4 點鐘的時候便打呼睡著了,8 點換了一位新看護,下午,醫院通知加護病房已經空出來,要我們準備轉到加護病房,進加護病房有一堆措施要遵守:
探病只有兩個時段早上 11:30~12:00, 及下午 5:00~5:30, 親屬可在旁邊休息室隨時等候緊急通知,並且要簽署一些文件:自費同意書,病危處理同意書,在加護病房內之照料同意書,均須經家屬簽字同意,晚上換我留守,老哥便載著母親回家休息,一晚其實無所事,躺在床椅並不會很舒服,但也還過得去,只是醫院內冷氣到了半夜會冷了點,還好有帶夾克,可稍微取暖
5/16 小阿姨和姑姑嫂嫂及老爸老媽的一些朋友來探望,每個見到我爸這樣瘦的身軀,莫不眼眶泛紅.跟老媽說老爸現已經進加護病房照料,晚上回家睡就好,只是老媽與老爸鶼鰈情深,希望有親人可以陪伴父親,執意要留在醫院,明日我和老哥要上班了,也沒再勸母親,現只能祈求保佑我老爸真的有奇蹟發生,畢竟老爸一生奉獻,不應這麼年輕就回老家和奶奶相聚的,大嫂 8 月要臨盆,孫子就要出生了,這樣的奢求,為何不讓它實現呢?
2010年5月12日 星期三
好用的 TeraTerm
TeraTerm 是一個終端機模擬程式,可以支援 Telnet, ssh, 也可完全取代 MS 的 Hyper Terminal, 網址是
http://ttssh2.sourceforge.jp/
其中最強大的功能是它獨特的 script language,可批次處理執行 command line 命令, 比起 MS 內建 telnet.exe 無法使用 script 批次處理. 簡直太方便了, 在 Linux 下, telnet 要執行批次處理, 使用 script 方式下命令, 須搭配 Expect 來用才容易, 但 MS Windows 下, 除非使用 cscript 來寫(但 csript 寫起來可不容易, 且控制不易,常常會有執行時間差的因素造成錯亂,或因為失焦,而無法控制) , 否則就沒有方便的套裝軟體可用, 除非安裝 GNU Cygwin, 並且安裝套件Expect, 讓他模擬成 Linux 環境就可使用, 但 Cygwin 安裝起來還蠻龐大的,對不熟 Linux 操作環境的人而言,其實是一大負擔.
Teraterm 4.65 安裝起來只要勾選 Teraterm 就好, 其他可以取消不安裝, 當執行 TeraTerm 時, 他會找尋其目錄底下的 TERATERM.ini 初始化內部參數, 內定會 POPUP 開啟一個新連線視窗, 還挺煩人的, 可修改 TERATERM.ini 的內容將他移除: 找尋 HostDialogOnStartup=on, 將它改成 HostDialogOnStartup=off 就可. 要執行其 script language, 在功能列 Control 的 Macros 子功能上開啟檔案就可讓它批次執行,其內建 script language 可在其功能列 Help 中找到(當然前提是安裝時要選擇'安裝手冊'那一個選項)詳細的文件, 底下我寫了一個 telnet 的 script,另外在 script 內的字串參數應使用單引號將兩邊括住, 整個 script 圍繞在 wait 及 sendln 兩個命令上, 可說非常容易理解與使用
;=========================================
; Sample macro for Tera Term Telnet login
; login to a server
timeout = 10
connect '192.168.0.1:23 /nossh'
;Wait a prompt message to login
wait 'login:'
; Send username
sendln 'user'
;Wait for a keyword to enter password
wait 'Password:'
; Send password
sendln '1234'
; OK I am login
sendln 'clear'
; Wait for timeout
; waitevent 1
mpause 3000
sendln 'exit'
;=========================================
http://ttssh2.sourceforge.jp/
其中最強大的功能是它獨特的 script language,可批次處理執行 command line 命令, 比起 MS 內建 telnet.exe 無法使用 script 批次處理. 簡直太方便了, 在 Linux 下, telnet 要執行批次處理, 使用 script 方式下命令, 須搭配 Expect 來用才容易, 但 MS Windows 下, 除非使用 cscript 來寫(但 csript 寫起來可不容易, 且控制不易,常常會有執行時間差的因素造成錯亂,或因為失焦,而無法控制) , 否則就沒有方便的套裝軟體可用, 除非安裝 GNU Cygwin, 並且安裝套件Expect, 讓他模擬成 Linux 環境就可使用, 但 Cygwin 安裝起來還蠻龐大的,對不熟 Linux 操作環境的人而言,其實是一大負擔.
Teraterm 4.65 安裝起來只要勾選 Teraterm 就好, 其他可以取消不安裝, 當執行 TeraTerm 時, 他會找尋其目錄底下的 TERATERM.ini 初始化內部參數, 內定會 POPUP 開啟一個新連線視窗, 還挺煩人的, 可修改 TERATERM.ini 的內容將他移除: 找尋 HostDialogOnStartup=on, 將它改成 HostDialogOnStartup=off 就可. 要執行其 script language, 在功能列 Control 的 Macros 子功能上開啟檔案就可讓它批次執行,其內建 script language 可在其功能列 Help 中找到(當然前提是安裝時要選擇'安裝手冊'那一個選項)詳細的文件, 底下我寫了一個 telnet 的 script,另外在 script 內的字串參數應使用單引號將兩邊括住, 整個 script 圍繞在 wait 及 sendln 兩個命令上, 可說非常容易理解與使用
;=========================================
; Sample macro for Tera Term Telnet login
; login to a server
timeout = 10
connect '192.168.0.1:23 /nossh'
;Wait a prompt message to login
wait 'login:'
; Send username
sendln 'user'
;Wait for a keyword to enter password
wait 'Password:'
; Send password
sendln '1234'
; OK I am login
sendln 'clear'
; Wait for timeout
; waitevent 1
mpause 3000
sendln 'exit'
;=========================================
2010年5月10日 星期一
使用自然人憑證
到戶政事務所辦理自然人憑證, 本人攜帶身分證即可, 工本費 275 元,
準備 Email 帳號, 想好帳戶密碼(用於解鎖 PIN), 預設 PIN碼是自己國曆生日共 6 碼
可上內政部憑證管理中心網站(http://moica.nat.gov.tw)去修改 PIN 碼
1. 使用 Windows 7 安裝讀卡機 card reader (Ez100PU)驅動程式,
讓它上網自動安裝就可,並且將自然憑證插入讀卡機內
2. 內政部憑證管理中心中文版:
http://moica.nat.gov.tw/html/index.htm
3. 點選 "憑證作業" 頁簽
4. 再點選左邊 "檢視憑證IC卡資訊", 如可正確顯示自己憑證內容,
則代表已正確安裝
5. 如無法顯示, 或有任何錯誤發生, IE 8 須加信任網站
工具 -> 網際網路選項 -> 安全性-> 信任的網站 -> 網站
輸入 http://moica.nat.gov.tw 後, 按新增鈕
並取消最下方 "此區域內的所有網站需要伺服器驗證(https:)(S)" 的勾選後,
按關閉鈕,最後按確定鈕.
6. 此時應該可正確運行才對
7. 報稅程式下載: http://tax.nat.gov.tw/download.html
8. 如使用 opera 瀏覽器, 會無法瀏覽, 還是乖乖使用 IE 較不會有問題!
準備 Email 帳號, 想好帳戶密碼(用於解鎖 PIN), 預設 PIN碼是自己國曆生日共 6 碼
可上內政部憑證管理中心網站(http://moica.nat.gov.tw)去修改 PIN 碼
1. 使用 Windows 7 安裝讀卡機 card reader (Ez100PU)驅動程式,
讓它上網自動安裝就可,並且將自然憑證插入讀卡機內
2. 內政部憑證管理中心中文版:
http://moica.nat.gov.tw/html/index.htm
3. 點選 "憑證作業" 頁簽
4. 再點選左邊 "檢視憑證IC卡資訊", 如可正確顯示自己憑證內容,
則代表已正確安裝
5. 如無法顯示, 或有任何錯誤發生, IE 8 須加信任網站
工具 -> 網際網路選項 -> 安全性-> 信任的網站 -> 網站
輸入 http://moica.nat.gov.tw 後, 按新增鈕
並取消最下方 "此區域內的所有網站需要伺服器驗證(https:)(S)" 的勾選後,
按關閉鈕,最後按確定鈕.
6. 此時應該可正確運行才對
7. 報稅程式下載: http://tax.nat.gov.tw/download.html
8. 如使用 opera 瀏覽器, 會無法瀏覽, 還是乖乖使用 IE 較不會有問題!
2010年4月1日 星期四
5 分鐘學會使用 freemat
變數的定義, 等式左邊叫變數, 右邊叫做運算式, 直接在 console 下輸入下列運算式定義, 並將答案存入變數a中,例如:
a=1+2
產生
a=
3
如果在運算式後面加上分號 (;), 將不會顯示出答案 (例如: a=1+2;)
數學運算 運算符號
加 +
減 -
乘 *
除 /
n次方(例如 2^7 = 2 的7次方) ^
數學記號 10 的 n次方(例如 1.23e-3 = 1.23 * 10的 -3次方) e
矩陣轉置(將矩陣行列對調) ‘
已經定義過的變數可以用於運算式中或公式中, 例如:輸入下列命令
b=2*a;
b
產生
b=
6
常用內建(已經定義過)變數:
i = sqrt(-1) = 虛數 i
j = sqrt(-1) = 虛數 i
pi = 3.1416 = 圓周率
例如: 輸入下列運算式:
y=2*(pi+4*j)
產生
y=
6.2832+8.000i
一些常用的數學函數:
abs 絕對值, 複數的絕對值
angle 複數的角度
cos 餘旋涵數
sin 正旋涵數
exp 指數
log10 基底為10的對數
log 自然對數 ln
矩陣定義:
v=[1 3 5 7];
會產生 1x4 矩陣, 內含 1, 3, 5, 7 等 4 個元素, 也可另外再增加元素
v(5)=8;
之前定義過的矩陣變數,可以放入運算式中, 或加以合併, 例如:
b=[v a]; % 矩陣合併
c=b(2:5); % 部分矩陣
另外可以使用用冒號(:)來產生等差級數, 例如:
t= 0: .1: 10;
產生 0, 0.1 , 0.2 , 0.3 … 10
如果只用一個冒號來產生等差級數,則內定級距=1, 例如:
K=0:10
產生 0, 1 , 2 , 3 … 10
使用分號來分割列與列,以便產生多維矩陣,例如
M=[1 2 4;3 6 8];
將產生 2x3 的矩陣, 第一列是 [1 2 4], 第二列是 [3 6 8]
一些內定特殊矩陣:
[] : 空矩陣
zero(n,m) : n * m 的 0 矩陣
ones(n,m): n * m 的 1 矩陣
eye(n) : n *n 的 單位矩陣
直接取用矩陣內元素, 例如第1列,第2行放入 5
M(1,2)=5;
freemat 的變數, 大小寫是有分的, 因此 a 與 A將被視為不同變數, 如果前置字元加上符號 %, 則其後的文字將被視為註解,而不允以解讀,例如
% 這是註解
在 freemat 中可用 helpwin 來查詢用法,語法, 例如
helpwin sin
盡可能用陣列方式來產生變數,而不要以迴圈方式(for-loop, while-loop)產生,例如:
k=1:10;
x=cos(k);
比起
for k=1:10,
x(k)=cos(k);
end
要來的有效率
矩陣相加
a=[1 2 3] ; b=[4 5 6] ; c=a+b
產生
c=
5 7 9
矩陣相乘
a=[1 2 3] ; b=[4 5 6] ; d=a * b’
產生
d=
32
但如果要做兩個矩陣一對一的元素相乘應使用 .* 運算符號, 例如
c= a .* b
產生
c=
4 10 18
同理, 如果要做兩個矩陣一對一的元素相除應使用 ./ 運算符號
條件式流程控制
If a<=2
b=1;
else
b=2;
end
一些固定的程序, 可以寫在一個.m檔案內, 附檔名為m(例如 test1.m),就好比如一個 script(巨集macro)一樣, 也可定義寫成 function, 將變數輸入及回傳結果, 例如:
function z=yplusx (x,y)
z=x+y;
如果需要在流程中要求使用者輸入(敲進)按鍵,可以呼叫:
input(‘Prompt Message, press enter to finished’)
來提醒使用者,
呼叫 plot 可以將矩陣直接繪圖, 例如:取樣頻率 8000Hz, 共8000 點, 繪出一個頻率為 1000Hz的 sin 的波形, 時間長度等於 1秒鐘:
fs=8000 ; n=[1:fs] ; f=1000 ; t=n/fs ; x=sin(2*pi*f*t) ; plot(x);
呼叫 wavplay(x,fs) 可以將上述波形直接從喇叭輸出,產生 1000Hz 的音頻
a=1+2
產生
a=
3
如果在運算式後面加上分號 (;), 將不會顯示出答案 (例如: a=1+2;)
數學運算 運算符號
加 +
減 -
乘 *
除 /
n次方(例如 2^7 = 2 的7次方) ^
數學記號 10 的 n次方(例如 1.23e-3 = 1.23 * 10的 -3次方) e
矩陣轉置(將矩陣行列對調) ‘
已經定義過的變數可以用於運算式中或公式中, 例如:輸入下列命令
b=2*a;
b
產生
b=
6
常用內建(已經定義過)變數:
i = sqrt(-1) = 虛數 i
j = sqrt(-1) = 虛數 i
pi = 3.1416 = 圓周率
例如: 輸入下列運算式:
y=2*(pi+4*j)
產生
y=
6.2832+8.000i
一些常用的數學函數:
abs 絕對值, 複數的絕對值
angle 複數的角度
cos 餘旋涵數
sin 正旋涵數
exp 指數
log10 基底為10的對數
log 自然對數 ln
矩陣定義:
v=[1 3 5 7];
會產生 1x4 矩陣, 內含 1, 3, 5, 7 等 4 個元素, 也可另外再增加元素
v(5)=8;
之前定義過的矩陣變數,可以放入運算式中, 或加以合併, 例如:
b=[v a]; % 矩陣合併
c=b(2:5); % 部分矩陣
另外可以使用用冒號(:)來產生等差級數, 例如:
t= 0: .1: 10;
產生 0, 0.1 , 0.2 , 0.3 … 10
如果只用一個冒號來產生等差級數,則內定級距=1, 例如:
K=0:10
產生 0, 1 , 2 , 3 … 10
使用分號來分割列與列,以便產生多維矩陣,例如
M=[1 2 4;3 6 8];
將產生 2x3 的矩陣, 第一列是 [1 2 4], 第二列是 [3 6 8]
一些內定特殊矩陣:
[] : 空矩陣
zero(n,m) : n * m 的 0 矩陣
ones(n,m): n * m 的 1 矩陣
eye(n) : n *n 的 單位矩陣
直接取用矩陣內元素, 例如第1列,第2行放入 5
M(1,2)=5;
freemat 的變數, 大小寫是有分的, 因此 a 與 A將被視為不同變數, 如果前置字元加上符號 %, 則其後的文字將被視為註解,而不允以解讀,例如
% 這是註解
在 freemat 中可用 helpwin 來查詢用法,語法, 例如
helpwin sin
盡可能用陣列方式來產生變數,而不要以迴圈方式(for-loop, while-loop)產生,例如:
k=1:10;
x=cos(k);
比起
for k=1:10,
x(k)=cos(k);
end
要來的有效率
矩陣相加
a=[1 2 3] ; b=[4 5 6] ; c=a+b
產生
c=
5 7 9
矩陣相乘
a=[1 2 3] ; b=[4 5 6] ; d=a * b’
產生
d=
32
但如果要做兩個矩陣一對一的元素相乘應使用 .* 運算符號, 例如
c= a .* b
產生
c=
4 10 18
同理, 如果要做兩個矩陣一對一的元素相除應使用 ./ 運算符號
條件式流程控制
If a<=2
b=1;
else
b=2;
end
一些固定的程序, 可以寫在一個.m檔案內, 附檔名為m(例如 test1.m),就好比如一個 script(巨集macro)一樣, 也可定義寫成 function, 將變數輸入及回傳結果, 例如:
function z=yplusx (x,y)
z=x+y;
如果需要在流程中要求使用者輸入(敲進)按鍵,可以呼叫:
input(‘Prompt Message, press enter to finished’)
來提醒使用者,
呼叫 plot 可以將矩陣直接繪圖, 例如:取樣頻率 8000Hz, 共8000 點, 繪出一個頻率為 1000Hz的 sin 的波形, 時間長度等於 1秒鐘:
fs=8000 ; n=[1:fs] ; f=1000 ; t=n/fs ; x=sin(2*pi*f*t) ; plot(x);
呼叫 wavplay(x,fs) 可以將上述波形直接從喇叭輸出,產生 1000Hz 的音頻
訂閱:
文章 (Atom)