通常要畫 流程圖 都會用 MS 的 visio
但是如果你只是偶而畫一下,也不想買 visio
可以到 Gliffy 來試試看
目前發現一個缺點,轉出的圖檔中文會變成亂碼
星期三, 8月 02, 2006
星期四, 7月 27, 2006
星期二, 6月 13, 2006
星期四, 6月 08, 2006
安裝 pmwiki
最近想裝個 wiki 來玩玩看,上google 找到了 pmwiki,就決定下載來安裝看看。
首先到 這裡下載 pmwiki-latest.tgz 及 i18n.tgz ,根據 安裝說明 安裝起來。
然後就開始使用了,現在正在研究中
ps:Pmwiki是個不需要資料庫的 wiki 系統,只要有 PHP 就可以裝了
ps:Linux 2.4.25-2mdk + PHP 4.3.4
---------------------------
安裝起來時,其實遇到一個問題,就是會出現 Fatal error: Call to undefined function: utf8_encode() 這個訊息,原來是我的 PHP 少裝了一些模組,造成上述問題。
但是我又不想再安裝模組,於是上網找了一段 utf8 decode的程式碼,加到 pmwiki 程式中,稍微改一下然後就可以 run 了,使用到現在還算正常。
以下為那一段程式碼:
首先到 這裡下載 pmwiki-latest.tgz 及 i18n.tgz ,根據 安裝說明 安裝起來。
然後就開始使用了,現在正在研究中
ps:Pmwiki是個不需要資料庫的 wiki 系統,只要有 PHP 就可以裝了
ps:Linux 2.4.25-2mdk + PHP 4.3.4
---------------------------
安裝起來時,其實遇到一個問題,就是會出現 Fatal error: Call to undefined function: utf8_encode() 這個訊息,原來是我的 PHP 少裝了一些模組,造成上述問題。
但是我又不想再安裝模組,於是上網找了一段 utf8 decode的程式碼,加到 pmwiki 程式中,稍微改一下然後就可以 run 了,使用到現在還算正常。
以下為那一段程式碼:
function decode_utf8($str){
# erase null signs in string
$str=eregi_replace("^.{10,13}q\?","",$str);
# paterns
$pat = "/=([0-9A-F]{2})/";
$cha="'.chr(hexdec(";
# to decode with eval and replace
eval("\$str='".
preg_replace($pat,$cha."'$1')).'",$str).
"';");
# return
return $str;
}
星期一, 6月 05, 2006
使用 ppm 安裝 Active Perl 模組
我在 Win32 下安裝了 Active Perl
那要如何安裝各項模組呢?
答案是:使用 ppm
首先,先到DOS命令提示環境下,執行 ppm:
ppm
需要幫助時:
ppm>h
列出ActiveState網站上Perl模組的清單
ppm>search 模組名稱
ps:假如 不輸入 模組名稱 ,會列出全部模組
安裝模組
ppm>install 模組名稱
離開
ppm>q
假如已經知道模組名稱,也可以直接用
ppm install 模組名稱
來安裝模組
那要如何安裝各項模組呢?
答案是:使用 ppm
首先,先到DOS命令提示環境下,執行 ppm:
ppm
需要幫助時:
ppm>h
列出ActiveState網站上Perl模組的清單
ppm>search 模組名稱
ps:假如 不輸入 模組名稱 ,會列出全部模組
安裝模組
ppm>install 模組名稱
離開
ppm>q
假如已經知道模組名稱,也可以直接用
ppm install 模組名稱
來安裝模組
[perl]我想要知道 user 是從那裡連到我的網頁的,如何做呢?(續)
使用 perl 來統計上次產生的 referer.txt 檔
#! /usr/bin/perl
sub trim {
my @out = @_;
for (@out) {
s/^\s+//;
s/\s+$//;
}
return wantarray ? @out : $out[0];
}
open(FP,'< /tmp/referer.txt'); while (<FP>) { @aReferer = split(/=>/);
$aR =trim( $aReferer[2]);
$aR =~ s/http\:\/\///i;
@aU = split(/\//,$aR);
$aUrl = @aU[0];
$aSource{$aUrl} += 1;
}
foreach $aa (sort keys %aSource) {
printf "%-30s = %4d\n" , $aa , $aSource{$aa};
}
close(FP);
星期六, 6月 03, 2006
網路對時 (win2000)
在 windows 2000 的環境底下,在不安裝任何網路對時軟體的情況下,要怎麼作網路對時呢??
首先,到 DOS 命令提示環境下
C:\>net time /setsntp:time.stdtime.gov.tw(設定ntp server)
指令執行成功。
C:\>w32tm -once(執行一次對時)
接著會出現一堆執行w32Time的訊息,就完成對時了。
ps:time.stdtime.gov.tw 是中華電信研究所時間與頻率國家標準實驗室 的 Server
首先,到 DOS 命令提示環境下
C:\>net time /setsntp:time.stdtime.gov.tw(設定ntp server)
指令執行成功。
C:\>w32tm -once(執行一次對時)
接著會出現一堆執行w32Time的訊息,就完成對時了。
ps:time.stdtime.gov.tw 是中華電信研究所時間與頻率國家標準實驗室 的 Server
星期四, 6月 01, 2006
[PHP]我想要知道 user 是從那裡連到我的網頁的,如何做呢?
使用 PHP 的環境變數 $HTTP_REFERER 或是 $_SERVER['HTTP_REFERER'] 就可以知道是從那一個網頁連接過來的。
<?
echo $_SERVER['HTTP_REFERER'];
?>
將資料紀錄到檔案中,以便分析
<?
$now = date("Y-m-d H:i:s",mktime());
$fp = fopen("/tmp/referer.txt","a");
if (!empty($HTTP_REFERER)) {
fwrite($fp,"$now => $HTTP_HOST => $HTTP_REFERER\n");
}
fclose($fp);
?>
<?
echo $_SERVER['HTTP_REFERER'];
?>
將資料紀錄到檔案中,以便分析
<?
$now = date("Y-m-d H:i:s",mktime());
$fp = fopen("/tmp/referer.txt","a");
if (!empty($HTTP_REFERER)) {
fwrite($fp,"$now => $HTTP_HOST => $HTTP_REFERER\n");
}
fclose($fp);
?>
星期日, 5月 28, 2006
perl 讀取 excel 檔的方法
#! /usr/env perl
use strict;
use Win32::OLE qw(in with);
use Win32::OLE::Const 'Microsoft Excel';
$Win32::OLE::Warn = 3;
my $Excel = Win32::OLE->GetActiveObject('Excel.Application')
|| Win32::OLE->new('Excel.Application', 'Quit');
# 打開 excel 檔
my $Book = $Excel->Workbooks->Open("c:/test/test.xls");
# 選擇 sheet , 1 代表第一個 sheet , 也可以直接給 sheet 的名稱
my $Sheet = $Book->Worksheets(1);
# 顯示 A1 的值
print $Sheet->Range("A1")->{'Value'}."\n";
$Book->Close;
use strict;
use Win32::OLE qw(in with);
use Win32::OLE::Const 'Microsoft Excel';
$Win32::OLE::Warn = 3;
my $Excel = Win32::OLE->GetActiveObject('Excel.Application')
|| Win32::OLE->new('Excel.Application', 'Quit');
# 打開 excel 檔
my $Book = $Excel->Workbooks->Open("c:/test/test.xls");
# 選擇 sheet , 1 代表第一個 sheet , 也可以直接給 sheet 的名稱
my $Sheet = $Book->Worksheets(1);
# 顯示 A1 的值
print $Sheet->Range("A1")->{'Value'}."\n";
$Book->Close;
星期五, 5月 26, 2006
UltraVNC SC
大家都知道 VNC 是個遠端遙控的軟體
但是通常都會遇到電腦在 IP分享器底下,而造成無法連線的問題
如果要跟對方描述在 IP 分享器下如何設定 Virtual Server ,那真是大工程了
UltraVNC SC (SingleClick) 就可以處理掉這個問題
原理是:
由 Server 端(客戶)來呼叫 Viewer 端(我),那這樣就變成需要在 Viewer 這端設定 Virtual Server 了,當然設定 Virtual Server 對工程師而言是小問題
製作專屬的 VNC SC Server 端執行檔:
首先,先到網站上,下載設定檔,然後按照網站上的說明修改設定檔,最後把這些設定檔壓縮成 zip 檔,再到這裡上傳 zip 檔,上傳後接著就可以下載 .exe 檔,這個 .exe 檔就是你專屬的 VNC SC Server 端執行擋了
如何執行:
把這個執行檔丟給對方,然後在自己的電腦商開啟 VNC Viewer 端,再請對方執行該執行檔後,點一下連結,這樣就可以連上了
缺點:
因為在製作 VNC SC Server端執行檔時,就把 Viewer 端的 IP 寫進去了,如果 Viewer 端是變動 IP,那下次要再用時,可能就要重新製作執行擋了
UltraVNC SC
但是通常都會遇到電腦在 IP分享器底下,而造成無法連線的問題
如果要跟對方描述在 IP 分享器下如何設定 Virtual Server ,那真是大工程了
UltraVNC SC (SingleClick) 就可以處理掉這個問題
原理是:
由 Server 端(客戶)來呼叫 Viewer 端(我),那這樣就變成需要在 Viewer 這端設定 Virtual Server 了,當然設定 Virtual Server 對工程師而言是小問題
製作專屬的 VNC SC Server 端執行檔:
首先,先到網站上,下載設定檔,然後按照網站上的說明修改設定檔,最後把這些設定檔壓縮成 zip 檔,再到這裡上傳 zip 檔,上傳後接著就可以下載 .exe 檔,這個 .exe 檔就是你專屬的 VNC SC Server 端執行擋了
如何執行:
把這個執行檔丟給對方,然後在自己的電腦商開啟 VNC Viewer 端,再請對方執行該執行檔後,點一下連結,這樣就可以連上了
缺點:
因為在製作 VNC SC Server端執行檔時,就把 Viewer 端的 IP 寫進去了,如果 Viewer 端是變動 IP,那下次要再用時,可能就要重新製作執行擋了
UltraVNC SC
程式設計的好幫手Notepad++
我習慣使用純文書處理系統來撰寫一些小程式 or HTML
但發現 windows 上附的記事本實在難用,因此找了這個 Notepad++ 來試試看
一試,發現還蠻符合我的需求的
先說一下我喜歡它是因為哪些特色:
1.針對語法做高亮度的顯示
2.支援 RE 搜尋
3.可以自訂某些功能鍵,ex:我習慣刪掉一行是按 [Ctrl]+Y,我就可以這樣設定
4.[Ctrl]+D 可以複製目前這一行
5.[Ctrl]+[Shift]+上下鍵,可以直接將目前行上下移動
但是還是有些我不喜歡的地方:
1.當游標移到某些中文字,那個中文字就會出現亂碼
2.自訂程式語言對話框,使用上覺的不太友善
ps:我使用的是 v3.5版
Notepad++
但發現 windows 上附的記事本實在難用,因此找了這個 Notepad++ 來試試看
一試,發現還蠻符合我的需求的
先說一下我喜歡它是因為哪些特色:
1.針對語法做高亮度的顯示
2.支援 RE 搜尋
3.可以自訂某些功能鍵,ex:我習慣刪掉一行是按 [Ctrl]+Y,我就可以這樣設定
4.[Ctrl]+D 可以複製目前這一行
5.[Ctrl]+[Shift]+上下鍵,可以直接將目前行上下移動
但是還是有些我不喜歡的地方:
1.當游標移到某些中文字,那個中文字就會出現亂碼
2.自訂程式語言對話框,使用上覺的不太友善
ps:我使用的是 v3.5版
Notepad++
星期二, 5月 23, 2006
[perl]檢查字串是否皆為英數字所組成
檢查該字串是否為第一字為英數字且其餘字為英數字及一些符號所組成
$aStr = "abc*-123";
if ($aStr =~ /^[a-zA-Z0-9][a-zA-Z0-9\~\@\#\$\%\^\&\*\+\-\.\_]*$/) {
print "yes"; }
else {
print "no";
}
$aStr = "abc*-123";
if ($aStr =~ /^[a-zA-Z0-9][a-zA-Z0-9\~\@\#\$\%\^\&\*\+\-\.\_]*$/) {
print "yes"; }
else {
print "no";
}
星期一, 5月 22, 2006
google alerts
google alerts 中文為 google 快訊
http://www.google.com/alerts
這個功能讓你可以建立你想要知道的訊息,你想要追蹤的東西

然後 google 會把發現的資料,mail 到你的 Gmail 中
http://www.google.com/alerts
這個功能讓你可以建立你想要知道的訊息,你想要追蹤的東西
然後 google 會把發現的資料,mail 到你的 Gmail 中
星期日, 5月 21, 2006
星期五, 5月 19, 2006
http://del.icio.us
http://del.icio.us這也是一個網路上的 紀錄bookmarks 的網站
跟 google bookmarks 是一樣的東西,但是我覺得比 google bookmarks 好用。
跟 google bookmarks 一樣是用 tag 來歸類。
它還有一些 special 的功能,就是可以看到有哪些人跟你 bookmark 同一個網頁。
也可以直接將別人的 bookmarks 存到自己的 bookmarks。
跟 google bookmarks 是一樣的東西,但是我覺得比 google bookmarks 好用。
跟 google bookmarks 一樣是用 tag 來歸類。
它還有一些 special 的功能,就是可以看到有哪些人跟你 bookmark 同一個網頁。
也可以直接將別人的 bookmarks 存到自己的 bookmarks。
星期四, 5月 18, 2006
google bookmarks
google bookmarks 顧名思義就是讓 user 存放 bookmarks 的地方
我將我常用的 bookmarks 建立在 google bookmarks 上
以後就算沒有帶著自己的 nb,只要可以上網,隨處都可以查看我的 bookmarks
google bookmarks
我將我常用的 bookmarks 建立在 google bookmarks 上
以後就算沒有帶著自己的 nb,只要可以上網,隨處都可以查看我的 bookmarks
google bookmarks
星期二, 5月 16, 2006
訂閱:
文章 (Atom)
