Blogger Template by Blogcrowds

2008年4月17日 星期四

下載本站的 Template

有訪客留言要索取本站的 Template,不過他沒有留下 E-Mail,所以我就直接打包釋出給大家下載。 這個 Template 的原始版本應該是來自 DesignfruitBlogcrowds,我把這個 Template 改成 Blogger 可用,並且是 "不限寬度" 的版本,也加入了一些我自己寫的 Script,如果覺得改得還可以的,請直接取用。

安裝至 blogger 時須選取 "展開小裝置範本",將 template.txt 的內容全部貼上即可,裡面很多連結至 http://citypig.googlepages.com/ 的項目,請自己上傳、更改至自己的網路空間,本站下次如有改版,可能就會全部刪除了。

另外,這個 Template 在 IE 下是有 Bug 的,如果螢幕不夠寬,內容的部份會跑到側邊欄的下面,就等待 CSS 能力比較強的人來解決了。

2008年3月16日 星期日

讓 FCKeditor 瀏覽圖檔時,可以顯示縮圖

FCKeditor 雖然有提供很多種程式語言的檔案瀏覽程式,讓你可以很方便地上傳及插入遠端伺服器上的圖檔,但在瀏覽檔案的同時,我們最需要用到的圖檔卻不能顯示縮圖,感覺很不方便 (應該是故意留了一手)。

雖然官方網站上有建議使用 CKFinder 這支外掛程式來管理伺服器上的檔案,但 CKFinder 卻不是免費的。

思考了一下,雖然我的 PHP 很爛,但只是要做個縮圖的功能應該還難不倒我,於是就花了幾個小時把縮圖的功能實做出來。原理很簡單,只是先在相同目錄下產生 ".thumb.gif" 的縮圖檔,在列示時將縮圖顯示出來。

以下的修改方式適用於 FCKeditor 2.512.6Beta 版,請參考下列步驟 (推薦使用 2.6Beta 版):

安裝 php-gd 模組

其實製作完美縮圖的程式應該是 ImageMagick,但 ImageMagick 若要與 php 整合,步驟似乎比較麻煩,以簡單為原則,我們還是使用 GD 模組,你可以用 yum 安裝:

yum install php-gd
安裝完請動新啟動 apache:

service httpd restart

啟用 FKCeditor 的 php 遠端資源瀏覽程式

  1. 編輯 fckeditor/editor/filemanager/connectors/php/config.php:
    • 將 $Config['Enabled'] 的值設為 true。
    • 將 $Config['UserFilesPath'] 的值設為使用者圖檔的相對路徑 (網址的相對路徑)。
    • 將 $Config['UserFilesAbsolutePath'] 的值設為使用者圖檔的絕對路徑 (伺服器上的絕對路徑)。
    • 存檔完成。
  2. 編輯 fckeditor/fckconfig.js:
    • 將 _FileBrowserLanguage 及 _QuickUploadLanguage 的值為 "php"。
    • 將 FCKConfig.LinkBrowser、FCKConfig.ImageBrowser、FCKConfig.FlashBrowser、FCKConfig.LinkUpload、FCKConfig.ImageUpload、FCKConfig.FlashUpload 的值都設為 true。
    • 存檔完成。

製作縮圖的功能

修改圖檔上傳的功能,圖檔上傳時製作縮圖。

編輯 fckeditor/editor/filemanager/connectors/php/commands.php,搜尋:

$sFileUrl = CombinePaths( GetResourceTypePath( $resourceType, $sCommand ) , $currentFolder ) ;
在這一行的上面加入:
// 製作縮圖
if ($sExtension == "gif"){
    $src = imagecreatefromgif($sFilePath);
}else if($sExtension == "png"){
    $src = imagecreatefrompng($sFilePath);
}else if($sExtension == "jpeg" || $sExtension == "jpg"){
    $src = imagecreatefromjpeg($sFilePath);
}
if(isset($src)){
    $src_w = imagesx($src);
    $src_h = imagesy($src);
    if($src_w > $src_h){
        $thumb_w = 120;
        $thumb_h = intval($src_h / $src_w * 120);
    }else{
        $thumb_h = 120;
        $thumb_w = intval($src_w / $src_h * 120);
    }
    // 如果你使用 GD 的版本是 1.6.x, 請改用 imagecreate() 函數
    $thumb = imagecreatetruecolor($thumb_w, $thumb_h);
    imagecopyresized($thumb, $src, 0, 0, 0, 0, $thumb_w, $thumb_h, $src_w, $src_h);
    imagegif($thumb, $sFilePath . ".thumb.gif");
}

顯示縮圖的功能

修改資源瀏覽程式,可以顯示圖檔的縮圖。

    編輯 fckeditor/editor/filemanager/browser/default/frmresourceslist.html。
  1. 搜尋:
    return '<tr>' +
            '<td width="16">' +
                sLink +
                '<img alt="" src="images/Folder.gif" width="16" height="16" border="0"><\/a>' +
            '<\/td><td nowrap colspan="2"> ' +
                sLink +
                folderName +
                '<\/a>' +
        '<\/td><\/tr>' ;
    
    改成:
    return '<div style="float:left;width:120px;height:160px;margin-right:20px;">' +
            sLink + '<img width="120px" border="0" src="images/Folder.gif">'+
            '<p style="text-align:center;font-size:10px;margin-top:0px;"><' +
            folderName + '></p></a></div>';
    
  2. 繼續搜尋:
    return '<tr>' +
            '<td width="16">' +
                sLink +
                '<img alt="" src="images/icons/' + sIcon + '.gif" width="16" height="16" border="0"><\/a>' +
            '<\/td><td> ' +
                sLink +
                fileName +
                '<\/a>' +
            '<\/td><td align="right" nowrap> ' +
                fileSize +
                ' KB' +
        '<\/td><\/tr>' ;
    
    改成:
    var isImage = new RegExp(/\.(gif|png|jpg|jpeg)$/i);
    var isThumb = new RegExp(/\.thumb\.gif$/i);
    if(isImage.test(fileName)){
        if(!isThumb.test(fileName)){
            return '<div style="float:left;width:120px;height:160px;margin-right:20px;">' +
                 sLink + '<div style="text-align:center;width:120px;height:120px;cursor:hand;">' +
                 '<img border="0" src="' + ProtectPath( fileUrl ) + '.thumb.gif' +
                 '"></div><p style="text-align:center;font-size:10px;margin-top:0px;">' +
                 fileName + ' (' + fileSize + 'KB)' + '</p></a></div>';
        }
    }else{
        return '<div style="float:left;width:120px;height:160px;margin-right:20px;">' +
                sLink + '<img width="120px" border="0" src="images/icons/' + sIcon + '.gif">'+
                '<p style="text-align:center;font-size:10px;margin-top:0px;">' +
                fileName + ' (' + fileSize + 'KB)' + '</p></a></div>';
    }
    
  3. 存檔完成。

注意事項

以上這樣就算大功告成了,你可以選擇 FCKeditor 工具列上 "插入/編輯影像" 的圖示,在對話框中選擇 "瀏覽伺服器端" 就可以了 (如果 "瀏覽伺服器端" 出現的畫面是空白的,你可能要先清除暫存檔,重新載入 FCKeditor 一次)。

在你上傳圖檔時,會自動產生一個寬或高皆不大於 120px 的圖檔放在同一個目錄,並且,也只有新上傳的圖檔才會有縮圖,之前就已經存在的圖檔,你必須自行製作圖檔放在同一個目錄才會有縮圖顯示(縮圖需命名為 "filename.ext.thumb.gif")。

參考網頁

2008年2月19日 星期二

增加 ssh 的安全性設定

編輯 /etc/ssh/sshd_config,加入或修改下列參數:

#禁止 root 以 SSH 登入
PermitRootLogin no

#僅允許特定群組登入
AllowGroups group1 group2

#僅允許特定帳號登入
AllowUsers user1 user2

#禁止使用空白密碼登入
PermitEmptyPasswords no

#限定只能使用 SSH2 協定
Protocol 2

#限定最多可以同時連線的數目
MaxStartups 5

2008年2月16日 星期六

vi 與 vim 的指令整理

vi 是 unix 家族下最功能強大的文字編輯器,讓用戶只要使用一個鍵盤就可以完成所有的編輯。而 vim 則是 vi 的加強版,甚至在 Windows 上也找得到 vim 的芳蹤。但 vi/vim 眾多的指令卻經常令初學者卻步,以下就是我所整理出來那些令人卻步的指令:

編輯模式

      指令 說明
    * i 在游標位置進入編輯模式
      I 在游標行的第一個非空白字元進入編輯模式
    * a 在游標位置後進入編輯模式
    * A 在游標行的最後一個字元進入編輯模式
    * o 向下新增一行,並進入編輯模式
      O 向上新增一行,並進入編輯模式
      cc 刪除游標行,並進入編輯模式
    * [ESC] 取消指令或退出編輯模式

游標移動

      指令 說明
    * gg 移到第一行
    * G 移到最後一行
    * 行數 → G 移動到第 n 行
      0 移動到該行最前面
      $ 移動到該行最後面
      字數 → [Space] 向右移動 n 個字元
    * 行數 → [Enter] 向下移動 n 行

標記與複製

      指令 說明
    * v 開始字串標記
    * V 開始行標記
    * v → [Ctrl]-V 開始區塊標記
    * d 刪除標記的內容
    * y 複製標記的內容
    * yy 複製游標行
      yG 複製游標行到最後一行
      y1G 複製游標行到第一行
      y$ 複製游標處到最後一個字元
      y0 複製游標處到第一個字元
    * p 在下一行貼上複製或刪除的內容
      P 在上一行貼上複製或刪除的內容
    * [Ctrl]-R → 0 在下一行貼上複製或刪除的內容,適用於編輯模式及指令行

搜尋與取代

      指令 說明
    * /搜尋字串 向下搜尋字串
    * * 將游標移到字串上,直接按 "*" 也可以做向下搜尋
      ?搜尋字串 向上搜尋字串
    * :set ic 搜尋時不分大小寫
    * :set noic 搜尋時要分大小寫
    * n 繼續下一個搜尋結果
    * N 繼續上一個搜尋結果
    * :起始行,終止行s/搜尋字串/取代字串/gic 從第 n 行到第 n 行取代字串 (後面的 g: 整行全部, i: 不分大小寫, c: 詢問)
    * :1,$s/搜尋字串/取代字串/gic 全部取代字串 (後面的 g: 整行全部, i: 不分大小寫, c: 詢問)

刪除

      指令 說明
    * dd 刪除游標行
    * dG 刪除游標行到最後一行
      d1G 刪除游標行到第一行
    * d$ 刪除游標處到最後一個字元
      d0 刪除游標處到第一個字元

檔案功能

      指令 說明
    * :w 存檔 (加 ! 表示強制存檔)
    * :w 檔案名稱 另存新檔
    * :wq 存檔並退出 vi
      :e 檔案名稱 編輯其它檔案
    * :e! 還原至檔案編修前的狀態
      :r 檔案名稱 讀入檔案內容,並加到游標行的後面
    * :n 切換到下一個開啟的檔案
    * :N 切換到上一個開啟的檔案
    * :set nu 顯示行號
    * :set nonu 取消行號顯示
    * :files 列出所有開啟的檔案

視窗分割

      指令 說明
    * :new 新增水平視窗
    * :new 檔案名稱 新增水平視窗,並在新增的視窗載入檔案
    * :vnew 新增垂直視窗
    * :vnew 檔案名稱 新增垂直視窗,並在新增的視窗載入檔案
    * [Ctrl]-W → [方向鍵] 切換視窗
    * :only 僅保留目前的視窗

其它

    * 指令 說明
    * J 將游標行與下一行合併
    * u 還原指令
    * [Ctrl]-R 重做指令
    * . 重覆上一個指令
      ! 命令 執行 linux 指令,並顯示執行結果
    * :q 退出 vi (加 ! 表示強制退出)

vim 的設定檔

通常我會編輯 /etc/vimrc,在檔案最後加入:
    " 顯示列號
    set number
    " 語法高亮度顯示
    syntax on
    " 標記搜尋到的字串
    set hlsearch
    " 自動縮排
    set autoindent
    " 顯示說明
    set ruler
    " 顯示編輯狀態
    set showmode
    " 設定註解的顏色
    highlight Comment ctermfg=cyan
    " 設定搜尋到的字串顏色
    highlight Search term=reverse ctermbg=4 ctermfg=7
    " 設定 tab 鍵的字元數
    set tabstop=4
    

2008年2月6日 星期三

在 XWindow 安裝及變更新字型

安裝新字型

  1. 將新字型(*.ttf, 例如:微軟正黑體)複製到 "/usr/share/fonts/zh_TW/TrueType/"。
  2. 執行
    fc-cache -f -v
    
    
    更新系統字型資料。

變更 XWindow 的字型

  • GNOME:
    到工具列的 [系統] → [偏好設定] → [字型] 做變更。
  • KDE:
    到 [控制中心] 的 [外觀&主題] → [字型] 做變更。

2008年1月21日 星期一

SVN + Trac + Apache 完整安裝攻略

SVN + Trac + Apache 完整安裝攻略,而原本在 SVN 所欠缺的用戶及權限管理介面,也都可以由 Trac 的外掛程式來搞定,可謂兩全其美。

本文章適合熟悉 SVN 但沒用個任何線上專案管理的人做為參考。

請注意,本人使用的 Linux 是 CentOS 4.x,RHEL 4.x 也適用。

伺服器環境及設置

在伺服器上,我會做如下的設置:
  1. SVN 相關設定檔: /etc/svn
  2. SVN 檔案庫的根目錄: /var/svn (裡面可以存放多個檔案庫)
  3. Trac 專案的根目錄: /var/trac (裡面可以存放多個專案)
  4. SVN 用戶的帳號密碼檔: /etc/svn/account
  5. SVN 用戶的權限檔: /etc/svn/authz
  6. 伺服器 IP: 192.168.1.10
  7. SVN 的存取網址: http://192.168.1.10/svn
  8. Trac 的存取網址: http://192.168.1.10/trac
所以要先建立這些目錄及檔案:
mkdir /etc/svn
mkdir /var/svn
mkdir /var/trac
touch /etc/svn/account
touch /etc/svn/authz
chown -R apache /etc/svn
因為 "account" 及 "authz" 這兩個檔案都需要由 Trac 來管理,所以都要把擁有者改為 apache (包含 /etc/svn 這個目錄)

增加 yum 的套件伺服器

編輯 /etc/yum.repos.d/CentOS-Base.repo,在檔案最後加入下列的 yum 套件伺服器(來自 dag 及 kbs):
[dag]
name=Dag RPM Repostory for RHEL
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag/
gpgkey=http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
gpgcheck=1
enabled=1
[kbs-CentOS-Misc]
name=CentOS.Karan.Org-EL$releasever - Stable
baseurl=http://centos.karan.org/el$releasever/misc/stable/$basearch/RPMS/
gpgkey=http://centos.karan.org/RPM-GPG-KEY-karan.org.txt
gpgcheck=1
enabled=1
增加了這兩個套件伺服器之後,就可以直接用 yum 安裝 SVN 及 Trac 了。

安裝 SVN 及相關套件

以 yum 輕鬆安裝 SVN 主程式及相關套件:
yum -y install subversion subversion-perl mod_dav_svn apr apr-util

安裝 Trac 及相關套件

以 yum 輕鬆安裝 Trac 主程式及相關套件:
yum -y install trac clearsilver python-clearsilver

修改網頁配置:

編輯 /etc/httpd/conf/httpd.conf,在最後面加上:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>
  DAV svn
  SVNParentPath /var/svn
  Satisfy Any
# HTTP 用戶驗證
  AuthType Basic
  AuthName "SVN Repository"
  AuthUserFile /etc/svn/account
  AuthzSVNAccessFile /etc/svn/authz
  Require valid-user
</Location>
<Location /trac>
  SetHandler mod_python
  PythonInterpreter main_interpreter
  PythonHandler trac.web.modpython_frontend
  PythonOption TracEnvParentDir /var/trac
  PythonOption TracUriRoot /trac
# HTTP 用戶驗證
# AuthType Basic
# AuthName "Trac Project"
# AuthUserFile /etc/svn/account
# Require valid-user
</Location>
請注意上面註解(#)的部份,因為要用 Trac 的外掛程式來管理用戶的登入,所以就不需要 HTTP 用戶驗證,如果比較喜歡用 HTTP 驗證就把下面四行的註解拿掉即可,並且下面 trac.ini 的設定也要把 "trac.web.auth.LoginModule" 啟用。

建立第一個 SVN 的儲存庫

先在 /var/svn 建立一個名為 "project1" 的儲存庫:
svnadmin create /var/svn/project1
chown -R apache /var/svn/project1

新增一個管理者帳號

先在 /etc/svn/account 新增一個名為 "admin" 的管理者:
htpasswd /etc/svn/account admin

是的,只要建立這一個管理者用戶即可,稍後可以在 Trac 的外掛程式來新增其它用戶及管理其權限。

建立第一個 Trac 的專案

繼續在 /var/trac 建立一個名為 "project1" 的專案:
trac-admin /var/trac/project1 initenv

執行時會問你一些東西,你需要輸入 "Project Name" 代表專案名稱,而 "Path to repository" 必須輸入 "/var/svn/project1",代表 SVN 儲存庫的路徑,其它選項只要按 Enter 使用預設值即可。這裡面的值稍後可以在專案目錄底下的 conf/trac.ini 做修改。

接著仍需將專案的擁有者改為 "apache":
chown -R apache /var/trac/project1

安裝 Trac 的外掛程式

安裝 Trac 的外掛程式前,需安裝 python-setuptools 及建立 Python Egg 的快取目錄:
cd /tmp
wget http://peak.telecommunity.com/dist/ez_setup.py
python ez_setup.py
mkdir /var/www/.python-eggs
chown apache /var/www/.python-eggs
以 easy_install 安裝五個實用的 Trac 外掛程式 (安裝 for Trac 0.10 的版本):
easy_install http://svn.edgewall.com/repos/trac/sandbox/webadmin
easy_install http://trac-hacks.org/svn/iniadminplugin/0.10
easy_install http://trac-hacks.org/svn/accountmanagerplugin/0.10
easy_install http://trac-hacks.org/svn/tracwysiwygplugin/0.10
easy_install http://trac-hacks.org/svn/svnauthzadminplugin/0.10
這五個外掛程式分別為:
  1. WebAdmin: Trac 的基本管理模組。
  2. IniAdmin: trac.ini 管理。
  3. Account Manager: Trac 的用戶管理。
  4. TracWiki WYSIWYG Editor: 讓 Wiki 編輯器變成 WYSIWYG 編輯器。
  5. Svnauthz File Administration: SVN 的帳號及存取權限管理。
然後繼續編輯 /var/trac/project1/conf/trac.ini,在最後加上:
[components]
#啟用 WebAdmin 外掛程式
webadmin.* = enabled
#啟用 IniAdmin 外掛程式
iniadmin.iniadmin.iniadminplugin = enabled
#啟用 TracWysiwyg 外掛程式
tracwysiwyg.* = enabled
#啟用 SvnAuthzAdmin 外掛程式
svnauthz.* = enabled
#啟用 AccountManager 外掛程式
acct_mgr.api.accountmanager = enabled
acct_mgr.htfile.HtPasswdStore = enabled
#關閉預設的 Http 登入認證方式,改用 AccountManager 的登入認證
trac.web.auth.LoginModule = disabled
acct_mgr.web_ui.LoginModule = enabled
#啟用帳號管理
acct_mgr.admin.AccountManagerAdminPage = enabled
#允許用戶變更密碼、刪除帳號
acct_mgr.web_ui.AccountModule = enabled
[account-manager]
password_format = htpasswd
password_file = /etc/svn/account
password_store = HtPasswdStore
另外,你還要到 [trac] 區塊找到 "authz_file" 及 "authz_module_name" 這兩個參數,分別設為:
authz_file = /etc/svn/authz
authz_module_name = project1
這兩個參數與 SVN 的存取權限有關,"authz_module_name" 要設成 SVN 的儲存庫名稱。

最後,你可能還要再修改 "default_charset" 參數,預設是 "iso-8859-15",請改成與你 Checkin 到 SVN 儲存庫內的檔案相同文字編碼。

Trac 的用戶管理

通常我會先指定 Trac 的管理者、移除訪客的權限、增加一個一般用戶群組,指令如下:
trac-admin /var/trac/project1 permission add admin TRAC_ADMIN
trac-admin /var/trac/project1 permission remove anonymous '*'
trac-admin /var/trac/project1 permission add @user LOG_VIEW FILE_VIEW WIKI_VIEW WIKI_CREATE WIKI_MODIFY SEARCH_VIEW REPORT_VIEW REPORT_SQL_VIEW
trac-admin /var/trac/project1 permission add @user TICKET_VIEW TICKET_CREATE TICKET_MODIFY BROWSER_VIEW TIMELINE_VIEW CHANGESET_VIEW ROADMAP_VIEW MILESTONE_VIEW
在 Trac 裡,用戶與群組的命名及管理方式是沒有什麼區別的,用戶也可以是群組,所以,你也可以把第一個用戶指定給第二個用戶,那第一個用戶就會擁有與第二個用戶一樣的權限。在上面的指令,我新增了一個名稱叫 "@user" 的群組以做為識別,並設定其權限,只要把用戶指定給 @user,就可以使用相同的權限。

設定完成

所有的設定都完成了,請重新啟動 apache:
service httpd restart

現在該裝的都裝好了,Trac 的存取位址為 "http://192.168.1.10/trac",SVN 的存取位址為 "http://192.168.1.10/svn/project1"。

用瀏覽器連上 Trac 的存取位址,選擇進入 "project1" 專案後,會顯示 Forbidden 說你沒有讀取權限,因為我們在上一個步驟已經把訪客所有的權限給移除了,現在你只能在網頁的右上角找到 "login" 來登入 "admin" 帳號。

成功登入 admin 之後,你可以從導覽列右邊的 [Admin] 進入管理介面,其中:
  1. General 下的 "Permissions" 是用來管理 Trac 的使用權限
  2. Account 下的 "Users" 可以用來管理 Trac 及 SVN 的用戶 (/etc/svn/account)
  3. Subversion 下的 "Subversion Access" 才是用來管理 SVN 的路徑存取權限及 SVN 的用戶群組 (/etc/svn/authz)

現在你要進行的,除了新增用戶(Users)及修改權限(Permissions)之外,你如果點選導覽列上的 [Browse Source] 系統也會跟你說權限不足,同樣的,現在任何人都還不能存取 SVN 的專案(http://192.168.1.10/svn/project1),因為 "/etc/svn/authz" 這個檔案的內容還是空白的,你必須到 Trac 管理介面的 "Subversion Access" 去讓你的用戶擁有讀寫 "/" 這個路徑的權限才行。

稍後等我有空我再來發表 Trac 的詳細使用方式,大家可以先參考下面的網頁連結。

參考網頁

2008年1月11日 星期五

Apache 1.3.x 限制頻寬(mod_bandwidth)

僅限 Apache 1.3.x 使用 mod_bandwidth 來限制用戶流量。

安裝步驟

  1. 安裝 mod_bandwidth 模組,並建立相關目錄:
    apt-get install mod_bandwidth
    mkdir /tmp/apachebw
    mkdir /tmp/apachebw/link
    mkdir /tmp/apachebw/master
    chmod -R 777 /tmp/apachebw
    
  2. 編輯 /ect/httpd/conf/httpd.conf,檢查是否有
    <IfDefine HAVE_BANDWIDTH>
    LoadModule bandwidth_module   modules/mod_bandwidth.so
    </IfDefine>
    
    <IfDefine HAVE_BANDWIDTH>
    AddModule mod_bandwidth.c
    </IfDefine>
    
    沒有的話請自行加入。
  3. 在 AddModule 的區段之後再加上:
    BandWidthModule on
    BandWidth 192.168.1 0 #內網(192.168.1.*)不限流量
    BandWidth all 10240 #其它網路限流 10KB/s
    
  4. 儲存 httpd.conf 之後,重新啟動 Apache 即可。

參考網頁

2008年1月1日 星期二

Microsoft Office 工具集

Office Viewer

沒有安裝或不想安裝 Microsoft Office 的人,這些是好工具:
  1. Word Viewer 2007 英文版
  2. Word Viewer 2003 中文版
  3. Excel Viewer 2003 中文版
  4. Visio Viewer 2007 SP1 中文版
  5. Visio Viewer 2003 中文版
  6. PowerPoint Viewer 2007 SP1 中文版
  7. PowerPoint Viewer 2003 中文版
  8. PowerPoint 2003 增益集:Office Animation Runtime 中文版
  9. Snapshot Viewer for Access 97/2000/2002 中文版

其它

  1. Office 2007 相容性套件
    讓 Office 2003 的用戶可以使用 Office 2007 的新檔案格式開啟、編輯與儲存文件、活頁簿與簡報。
  2. Office 2003 簡繁轉換增益集

2007年12月27日 星期四

Linux 下幾種網芳/Samba 目錄的 mount 方式

Linux 下幾種網芳/Samba 目錄的 mount 方式,比較新的 Smaba 只能用 cifs 的 mount 方式。

[smbmount]

smbmount -o username="Username",password="Password" //IP/share /mnt/smb
smbumount /mnt/smb

[mount]

mount -t smbfs -o username="Username",password="Password" //IP/share /mnt/smb
umount /mnt/smb

[cifs]

mount -t cifs -o username="Username",password="Password" //IP/share /mnt/smb
umount /mnt/smb
mount.cifs -o username="Username",password="Password" //IP/share /mnt/smb
umount.cifs /mnt/smb

2007年12月13日 星期四

軟體測試中,各階段 (Alpha, Beta...) 的涵義

Alpha:
內部測試版,由公司的人員做測試,在這個階段中,軟體的部份功能可能還沒完成,bug 也比較多,且是已知、但還沒有解決的 bug。

Beta:
發佈給公司以外的用戶做測試,應該是基本可使用的版本,而此階段中的 bug 是要由用戶去發現的,並且還會陸續加入新功能。

RC (Release Candidate):
候選版本,這個階段的版本通常不會再增加新功能,著重在除錯,此階段的軟體是接近完整的,又稱為 "Golden"。

RTM (Release to Manufacture):
要將母片送到工廠大量壓片版本,經由多重測試無誤之後釋出,到此階段已經算是正式的版本了,又稱為 "Final Code"。

在 Alpha, Beta, RC 階段都還算 "預覽版本",到 RTM 才算 "穩定版本"。

較舊的文章 >>