廣告聯播

2010年12月21日 星期二

PL/SQL Control Statements 控制語法

From: Polin Wei

PL/SQL 在程式語法中對於狀態的判別有兩個語法可作判別:IF 與 CASE 語法 (statements):


IF statements 語法使用方法有下列幾個方式:

IF-THEN Statement

IF condition THEN
sequence_of_statements
END IF;

IF-THEN-ELSE Statement

IF condition THEN
sequence_of_statements1
ELSE
sequence_of_statements2
END IF;

IF-THEN-ELSIF Statement

IF condition1 THEN
sequence_of_statements1
ELSIF condition2 THEN
sequence_of_statements2
ELSE
sequence_of_statements3
END IF;

IF-THEN-ELSE 的例子


2010年12月8日 星期三

PL/SQL Data Type

From: Polin Wei

PL/SQL 的資料型態 ( Data Type ) 可以分成兩大類
  • Predefined Datatypes 預設資料型態
  • User-Defined Subtypes 使用者自定資料型態
  • 進階資料型態宣告
    - %TYPE
    - %ROWTYPE
Predefined Datatypes 預設資料型態的種類,大致整理成下圖:

2010年10月12日 星期二

核心競爭力

From: Polin Wei

三男子去女方提親,說各自的經濟情況。

A說:我有2000萬;


B說:我有一棟豪宅,價值5000萬;

女方家長很滿意,就問C,你家有什麼?

C答:我什麼都沒有,只有一個孩子,現在孩子在你女兒的肚子裡。

A、B 無語,走了。

這告訴了我們一個道理,核心競爭力不是錢和房子,要有自己的人,在關鍵位置上

2010年9月21日 星期二

XOOPS 搜尋功能:讓使用者找資料更方便

From: Polin Wei

XOOPS2 的區塊中有提供一個站內搜尋的工具,雖然現在 Google 可以解決這個問題,但是這仍是 XOOPS2 提供一個方便使用者可以快速找資料的好功能,如果您希望您的模組中的資料可以被搜尋到,那您還是要自己動手撰寫一些程式,才能被搜尋得到。

  撰寫 XOOPS2 的搜尋功能其實不難,主要的步驟有:

* 修改 xoops_version.php
* 撰寫 search.php
* 依 xoops_version.php 的設定,將 search.php 複製到 「模組目錄/include」 目錄裡

繼續詳細閱讀

2010年9月13日 星期一

MySQL 日期時間相關函數

From: Polin Wei

下面的查詢選擇了所有記錄,其date_col的值是在今天前30天以內的記錄:

mysql> SELECT something FROM table
WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30;

* DAYOFWEEK(date)

返回日期date的星期索引(1=星期天,2=星期一, ……7=星期六)。這些索引值對應於ODBC標準。
mysql> select DAYOFWEEK('1998-02-03');
-> 3

* WEEKDAY(date)

返回date的星期索引(0=星期一,1=星期二, ……6= 星期天)。
mysql> select WEEKDAY('1997-10-04 22:23:00');
-> 5
mysql> select WEEKDAY('1997-11-05');
-> 2

* DAYOFMONTH(date)

返回date的月份中日期,在1到31範圍內。
mysql> select DAYOFMONTH('1998-02-03');
-> 3

* DAYOFYEAR(date)

返回date在一年中的日數, 在1到366範圍內。
mysql> select DAYOFYEAR('1998-02-03');
-> 34

* MONTH(date)

返回date的月份,範圍1到12。
mysql> select MONTH('1998-02-03');
-> 2

* DAYNAME(date)

返回date的星期名字。
mysql> select DAYNAME("1998-02-05");
-> 'Thursday'

繼續詳細閱讀

2010年9月8日 星期三

XOOPS2 的 評論功能

From: Polin Wei

XOOPS2 系統提供的評論程式碼,不需要作任何修改。不過我們另外需要 5 支程式:comment_delete.php、comment_edit.php、comment_new.php、 comment_post.php、comment_reply.php。這 5 支程式可以從 poll 模組或從本模組來取得即可。

  以上的評論功能有新增、修改,那如果要刪除某一則評論,或該筆資料刪除時,評論該如何處理呢?這個很簡單,只要在刪除某一筆資料的函式裡加入 xoops_comment_delete($module_id,$item_id); 的 XOOPS2 系統函式即可。

繼續詳細閱讀

2010年9月7日 星期二

Oracle To_Date Function 由文字格式轉成日期格式

From: Polin Wei

to_date function :由文字格式轉換成日期格式

在使用此函式時,可以下列 SQL 來查詢目前的日期格式為何:

SELECT parameter, value FROM v$nls_parameters
where parameter='NLS_TIMESTAMP_TZ_FORMAT';

select to_char(sysdate,'DD-MON-RR') from dual;

select to_date('06-9月-10') from dual;

to_date function 語法如下:

to_date( string1, [ format_mask ], [ nls_language ] )

* string1 :文字格式的日期
* format_mask :選用,將 string1 轉換成此格式的日期
* nls_language is optional: This is the nls language used to convert string1 to a date.

繼續詳細閱讀

2010年8月25日 星期三

XOOPS 內建的全域變數

From: Polin Wei

在開發 XOOPS 模組或者客制程式時,常常有需要用到 XOOPS 內建的物件或陣列,以便取得必要的資料及資訊,這樣的好處在於我們不用自己去開發及維護程式,但要使用這些內定的物件或陣列,在程式的一開始必需先 include mainfile.php 。

  常會用到的物件 ( Object ),以 $xoopsDB 、 $xoopsUser 、 $xoopsModule 、 $xoopsTpl 、 $xoTheme 為最多,而陣列 ( Array ) 則以 $xoopsModuleConfig 、 $xoopsConfig 、 $xoopsOption 為最多。

繼續詳細閱讀

2010年8月19日 星期四

如何更改Oracle XE for Windows的HTTP port number?

From: Polin Wei

Oracle XE (eXpresss Edition) 是一套免費的資料庫管理系統。它的功能和 performance 當然無法和正式的 Oracle 10g Database 相比。但是,當作小型的網頁後端資料庫,已是綽綽有餘。Oracle XE 目前已有 for Windows 和 for Linux 兩個平台的版本,而 for Linux 的版本,又分成給 Redhat/Fedora Core 和 SuSE 用的 RPM 版,以及給 Debian 和 Ubuntu 用的 DEB 版。

  Windows 版和 RPM 版,由於操作界面採用 Web 形式,所以完全相同。但是在安裝的過程中,卻有一點點的差異。RPM 版在安裝完畢後,會出現以下這條訊息,告訴你還有一些東西要設定,其中就包括 HTTP port number。

繼讀詳細閱讀

2010年8月12日 星期四

Datetime Picker 兩款 jQuery 的日期時間選擇器

From: Polin Wei

撰寫網頁程式時,日期選擇器是很常見,但要有日期與時間同時選擇的 javascript 還有點難找到,找到了兩款可供開發網頁時使用。

■ Date-Time-Picker with jQuery UI Datepicker
評論:在一般的網頁上沒有問題;但用在 XOOPS2 的網頁上,IE 流覽器在流覽時,CSS 的設置有些問題。
■ DateTimepicker
評論: IE 、FireFox 流覽在一般網頁或 XOOPS 網頁時均正常。


繼續詳細閱讀

2010年8月10日 星期二

Dreamweaver Plugin Tag For XOOPS

From: Polin Wei

XOOPS 是架構在 smarty 樣版的基礎上,Smarty 允許 PHP 網頁的使用者介面 (UI) 區分為網頁部份與程式邏輯,並允許 PHP 程式設計師以 Smarty 標籤去定義可存取的函數。因此,可以大幅降低 PHP 程式設計師在設計網頁美觀上的工作負擔。

  在設計網頁的工具中,當然以 Dreamweaver 為所見即所示的最佳網頁設計工具。Dreamweaver 軟體有很多免費的 Plugin Tag 可以使用,若只是單純的用在 PHP & Smarty 上,可以用 SmartyDWT 這個 Tag 。

SmartyDWT 的下載點:官方網站 http://smartydwt.klitsche.org/ 或從 資訊空間下載

繼續詳細閱讀

XOOPS2 模組連接資料庫的方法

From: Polin Wei

在設定模組需要 MySQL 資料庫的表格 (table) 前,先來說明 XOOPS2 如何來連接資料庫,一般而言,若是 一般的 PHP 程式,需要連結 MySQL 資料庫時,步驟大致如下:

■用 mysql_connect( $server, $username, $password, $new_link, $client_flags) 連接資料庫伺服器。
■用 mysql_select_db( $database_name, $link_identifier ) 指定資料庫。
■寫好要取得資料的 SQL 語法。
■用 mysql_query( $query ) 執行 SQL 語法。
■若是 SQL 語法為查詢 ( select statement ) 的話,需用 mysql_fetch_array() 或 mysql_fetch_row() 來把取得結果的值 ( Set ) 放到陣列中,以便讓 PHP 作後續處理。
  而在 XOOPS2 裡面,連結資料庫的過程大體上是差不多的,只是 XOOPS2 提供一個資料庫的物件叫 $xoopsDB,在開發 XOOPS 程式過程中,若有需要連結 MySQL 資料庫時,可以直接利用該物件 $xoopsDB 來和資料庫作溝通。使用 $xoopsDB 物件的步驟,前面兩個步驟可以省略,只要直接寫好要執行的 SQL 語法,然後執行並取值來應用即可。其步驟如下:

■寫好 SQL 語法。
■用 $xoopsDB->query() 去執行 SQL 語法。
■若是 SQL 語法為查詢 ( select statement ) 的話,需用 $xoopsDB->fetchRow() 或 $xoopsDB->fetchArray() 來把取得結果的值 ( Set ) 放到陣列中,以便讓 PHP 作後續處理。

繼續詳細閱讀

2010年8月9日 星期一

XOOPS2 Language 模組的多國語系檔

From: Polin Wei

XOOPS2 有支援多國語言的功能,它可以隨著使用者所選用的語系不同,XOOPS2 也會秀出不同的語系,當然您必需要建立這些不同的語系的檔案,並依規定放在語系的目錄,如 繁體中文的 UTF8 語系目錄是在「模組目錄/language/tchinese_utf8」,不能放錯目錄;若 XOOPS2 找不到,就會去預設的英文語系目錄「模組目錄/language/english」中去找。

  XOOPS2 是利用 PHP 的常數定義函數 define(); 來作設定,例如在 xoops_version.php 中定義該模組的名稱「_MI_POLIN_BOOKLIBS_NAME」。

//模組名稱
$modversion['name'] = _MI_POLIN_BOOKLIBS_NAME;
  常數是固定不變的值,因此在不同語系檔中,都必需對「_MI_POLIN_BOOKLIBS_NAME」作定義,XOOPS2 才會正確的顯示出訊息,XOOPS2 之所以能夠支援數十國的語言,就是以這種機制來達成的。

繼續詳細閱讀

2010年7月29日 星期四

PHP 多檔案上傳範例 multiple file upload

From: Polin Wei

多檔上傳的程式,可以分成兩個部份來解釋:

  1. 在網頁 HTML 的呈現方面需要用 Ajax 來即時呈現即將上載的檔案有那些。

  2. 將這些上載的檔案記載在陣列 Array 中,並逐一的上載到伺服器。


  關於第一點,需要用到 Ajax 的技術,若對於 Ajax 不瞭解也沒有關係,我們可以使用一個免費的 JQuey 套件:Multiple File Upload Plugin (jQuery.MultiFile) ,套件可以從 http://www.fyneworks.com/jquery/multiple-file-upload 下載,或從或從 資訊空間 - 檔案下載 來取得。

  使用的方法很簡單,只要將兩個 javascript 檔: jquery.js 及 jquery.MultiFile.js 含入,在 form 中加入 <input type="file" name="my_files[]" class="multi" /> 即可。因為 jquery.MultiFile.js 會將要上載的檔案資料記錄在陣列中,所以要用 name="my_files[]"  來作資料的接收;而 class="multi" 是 jQuery 用來作多檔案上傳程式碼置換點的判斷,HTML 檔案的部份如下:


繼續詳細閱讀 Continue Reading...

PHP Picture upload 圖片上載範例

From: Polin Wei

常常有需要將本機端的圖片上載到遠端伺服器上,本章節來說明如何用 PHP 語言作到下列的功能

■由本機的圖片上傳到網站上
■希望在上傳的時候順便將圖片作縮圖
  首先,需要下載 class.upload 這個物件( Class ),這個 Class 可以從 http://www.verot.net 或者從 資訊空間 - 檔案下載 中取得。

  在 HTML 部份撰寫二個欄位,第一個欄位類型為 'text',用來對上傳的檔案重新命名用;另一個欄位類型為 'file',是用來找尋本機端的圖檔。要注意的一點是: form 的 enctype 的類型要是 'multipart/form-data',否則會傳不上伺服器。

繼續詳細閱讀 Continue Reading ...

2010年7月27日 星期二

XOOPS2 模組圖示製作

From: Polin Wei

在 XOOPS2 實用模組的安裝與應用 中看到每個模組前都有一個小圖示來代表這個模組的用途,有時候模組的小小圖示可以勝過千言萬語,因此建議您不妨可以對自制的模組設計個圖示,作好的圖檔,可以放在該模組根目錄的 images 目錄下,例如本示範模組:「modules/polin_bookibs/images/logo.png」。

  對於圖檔的製作,在此建議您可以使用「Paint.NET 具有多圖層管理的免費繪圖軟體」,作好的圖檔檔名可以隨意命名,只要 xoops_version.php 中模組圖示的設定路徑找得到就可以了。可以參考 0-4-2-1 xoops_version.php 的基本設定解析 文件中的「 $modversion['image'] = "images/logo.png";」

繼續詳細閱讀

2010年7月25日 星期日

Paint.NET 具有多圖層管理的免費繪圖軟體

From: Polin Wei

若你並不善長於繪圖,覺得 Photoshop 太專業,Photoimpact 太複雜,而 Windows 內的 Paint 又太簡單了,那不妨使用 Paint.NET。

軟體版本:3.5.5
軟體語言:多國語系
軟體性質:免費

Paint.NET 最小的資源需求 ( Minimum System ):

Windows 7 (recommended),
or Windows XP SP3,
or Windows Vista SP1 (SP2 and Platform Update recommended)
800MHz processor (dual-core recommended)
512MB of RAM
1024 x 768 screen resolution
200+ MB hard drive space
Optional: 64-bit mode requires a 64-bit CPU and a 64-bit edition of Windows

繼續詳細閱讀

2010年7月19日 星期一

XOOPS2 模組的安裝與應用

From: Polin Wei

XOOPS 的模組安裝對一般使用者來說是非常方便的,完全不需要有程式撰寫能力的基礎,只要將模組放在 XOOPS_ROOT_PATH/modules 目錄下。對於 XOOPS_ROOT_PATH 不瞭解的讀者,可以看一下 0-2-0-2 開始建立您專屬的 XOOPS 網站。


  然後進入 XOOPS 系統管理介面的模組管理去安裝即可,未安裝的模組會有安裝的選項。

繼續詳細閱讀

2010年7月16日 星期五

Apache - VirtualHost 架設虛擬網站

From: Polin Wei

在上一章 0-1-0-1 「環境架設- 利用 Apache 架設網站伺服器服務」 裡我們已經建立好 Apache 網站伺服器,它預設安裝在 C:\AppServ (以後稱此目錄為 「APACHE_ROOT」 ),預設網址的主目錄是 「APACHE_HOME\www」 ,這是在 Apache 伺服器的設定檔( 「APACHE_ROOT\Apache2.2\conf\httpd.conf」 )中定義的。

「APACHE_ROOT\Apache2.2\conf\httpd.conf 」檔案的內容:
Apache 伺服器的設定檔 httpd.conf #
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "C:/AppServ/www"

預設一台主機只有一個獨立的網站,若您想要在同一台主機能夠有一個以上的獨立網站,可以利用 Apache 伺服器中的 Virtual Host 的設定,從下面的示意圖可以瞭解,這些不同的獨立網站都架設在同一個IP的主機上。

繼續詳細閱讀

2010年7月12日 星期一

FTP 的工具 Filezilla

From: Polin Wei

個人專屬的網站,大部份都是在遠端的伺服器上,要如何上傳已經設計好的檔案,是重要的一環,說到上傳檔案到遠端伺服器,並且修改目錄的讀取權限,這個工具 Filezilla 就不可不知了。

   Filezilla 的軟體工具是完全免費的,它分有 Client 及 Server 兩種,但我們只要下載 Filezilla Client 端的軟體即可,除非你想要架設一個 FTP 伺服器,才需要 Filezilla Server。下載的網址如下:

Filezilla Client:http://filezilla-project.org/download.php?type=client
Filezilla Server:http://filezilla-project.org/download.php?type=server

  Filezilla Client 的安裝軟體分成全自動安裝 FileZilla_x.x.x_win32-setup.exe 及免安裝 FileZilla_x.x.x_win32.zip 兩種,若您不瞭解這兩種的差別,可以用全自動安裝的版本,但本人會建議使用免安裝的版本,因為它只要解開 ZIP 壓縮檔在任何一個目錄下,然後點選 filezilla.exe 就可以直接使用它了。

繼續詳細閱讀...

XOOPS 整合 Discuz 論壇的最新回覆與最新主題

From: Polin Wei

XOOPS 架站完成,而 Discuz 論壇也架在 $XOOPS_PATH/forum 目錄後,總希望能在個人專屬的 XOOPS 網站首頁就可以呈現出 Discuz 論壇裡的資料呢?這樣一來就不需要每次點擊論壇的連結才能看到最新的回覆或主題了。

  首先下載 discuz_for_xoops_hack.7z 然後將解開的目錄 discuz20100708 放在 $XOOPS_PATH/modules 下,並奱更名字為 discuz 以方便識別,然後修改 $XOOPS_PATH/modules/discuz/include/functions.php 這個檔案裡的內容。 在第 10,11 行的程式段中作修改。

繼續詳細閱讀...

2010年7月9日 星期五

免費又簡單的 FTP Server ( Quick’n Easy FTP Server Lite )

From: Polin Wei

  現在的即時通訊 MSN 、Skype ... 等工具,都具備有檔案傳輸的功能,小檔案或許沒問題,但若要傳個 10M 以上的檔,那連用 E-Mail 寄送可能都會無法達成。


  可以嚐試在自己電腦中架設 FTP Server ( FTP 伺服器),讓對方登入、上載或下載檔案。一般來說只要你的電腦可連上 Internet 網際網路,網路中沒有其他防火牆或網管設備沒限制對外連線,都可以自己架設 FTP 站台讓朋友或廠商、客戶透過FTP軟體如FTP 的工具 Filezilla 上傳或下載檔案。


  Quick’n Easy FTP Server Lite 是個相當簡單又好用的 FTP 伺服器架設軟體,對於一般初學者來說,只要依照設定精靈設定好帳號並選取資料夾之後,馬上可以讓你的電腦變成可以大量傳檔的FTP伺服器,完全不需做太多複雜的設定或調整,只要 Quick’n Easy FTP Server Lite 的 FTP 服務有開著,對方便可登入傳檔。

繼續詳細閱讀...

2010年6月28日 星期一

遠端遙控軟體 MSN, TeamViewer, UltraVNC

From: Polin Wei

針對不懂電腦的人,要他來說明電腦畫面發生了什麼錯誤訊息,有時真有「秀才遇到兵,有理說不清」之感;這個時候,不妨利用下列幾套免費的軟體,連到遠端的電腦去幫忙處理問題,看他的電腦畫面,甚至幫他點點滑鼠,既節省溝通時間,又可以一邊處理自個兒的事,這樣是不是輕鬆多了。通常

【 Windows Live Messenger ( MSN ) 】
官方網站:http://explore.live.com/windows-live-messenger
費用:免費
  只要點選工具列中的 執行->要求遠端協助,然後選誰來幫你處理問題即可。不過這功能不太穩定,必竟 MSN 是用來聊天的,不是專門的遠端遙控軟體,不能要求它太多啦。

繼續詳細閱讀...

2010年6月27日 星期日

FTP 的工具 Filezilla

From: Polin Wei

個人專屬的網站,大部份都是在遠端的伺服器上,要如何上傳已經設計好的檔案,是重要的一環,說到上傳檔案到遠端伺服器,並且修改目錄的讀取權限,這個工具 Filezilla 就不可不知了。

   Filezilla 的軟體工具是完全免費的,它分有 Client 及 Server 兩種,但我們只要下載 Filezilla Client 端的軟體即可,除非你想要架設一個 FTP 伺服器,才需要 Filezilla Server。下載的網址如下:

Filezilla Client:http://filezilla-project.org/download.php?type=client
Filezilla Server:http://filezilla-project.org/download.php?type=server

  Filezilla Client 的安裝軟體分成全自動安裝 FileZilla_x.x.x_win32-setup.exe 及免安裝 FileZilla_x.x.x_win32.zip 兩種,若您不瞭解這兩種的差別,可以用全自動安裝的版本,但本人會建議使用免安裝的版本,因為它只要解開 ZIP 壓縮檔在任何一個目錄下,然後點選 filezilla.exe 就可以直接使用它了。

繼續詳細閱讀...

2010年6月23日 星期三

利用 Apache 架設網站伺服器服務

From: Polin Wei

  要開始架設 XOOPS 網站前,必需先要有一個可以讓 PHP 運行的平台,Apache 是最著名的平台之一,Apache? XOOPS?怎麼這麼多平台呢?到底什麼是 Apche? 什麼是 XOOPS 呢?用最普通的說法來解釋的話,Apache 就像是 Windows XP/ Vista/ Win 7,而 XOOPS 就像是 MS Office 了。至於 XOOPS 的模組, 就好像是 MS Office 中的 Word,Excel, Power Point. 這樣的說明可以清楚這之間的關係了吧!


  要架設這個平台最方便、最簡單的方法是到 AppServNetwork 去下載已經打包好的軟體去安裝. 「AppServ」它是一個三合一的包裝,包含了「Apache」、「MySQL」、「PHP」,安裝的方法十分簡單, 就和一般軟體安裝沒有兩樣。

繼續詳細閱讀...

2010年6月22日 星期二

External Table In Oracle

From: Polin Wei


Oracle 的 External Tables 被定義為可以讀取資料庫外部的資料,如:文字檔案、CSV...等檔案;您可以把它當成是一個可以不需事先將資料導入( load in ) 資料庫就可以進行 Query 的 View,您可以針對 external table 的 data 作 select、join、sort 等動作,也可以對 external tables 建立 views,synonymes。但是,你不能對這些 external 作DML 的動作(UPDATE, INSERT, or DELETE),也就是只能讀取( Read Only ),而且也不能建立 index。

下面的範例中,將對不同格式 Comma delimitedFixed field length 的檔案來作示範。

繼續詳細閱讀...

2010年6月21日 星期一

支援Windows 7的兩套免費虛擬光碟軟體 DAEMON Tools Lite 與 Virtual Clone Drive

From: Polin Wei

在 windows 7 上若想要使用『免費的虛擬光碟機』,下列有兩套可以作參考,個人使用上以 【Virtual CloneDrive】較為方便。

【Virtual CloneDrive】
官方網站:http://www.slysoft.com/en/virtual-clonedrive.html
支援系統:Windows 98, Windows ME, Windows 2000, Windows XP, Windows Vista or Windows 7 (32 or 64 bit)

【DAEMON Tools Lite】
軟體名稱:DAEMON Tools Lite
官方網站:http://www.disk-tools.com/download/daemon+dtpro+sptd+hashcalc
語言介面:多國語言(含繁體中文)
支援系統:Windows 7/Vista/XP/2000
費用:個人/教育用途免費,另有付費商業版

詳細閱讀

2010年6月9日 星期三

Xoops 帳號登入無效

From: Polin Wei

今天在免費網站架了一個 資訊空間 - MIS Workplace 輸入帳號與密碼後, 顯示歡迎的頁面後, 又跳回首頁要求再登入一次, 就是沒有登錄帳號密碼的地方. 這個問題原來是 session 資料表出了問題。

解決方法如下:
將舊的那個 session 資料表裡面的資料清除後, 再登入一次就可以了.

2010年6月2日 星期三

寫部落格 賺大錢

  每年五月的報稅季節,從收入的清單中,赫然發現一筆部落格的收入NT$1,862,雖然不多,但也不無小補。回想起來,這筆錢在收到時,真是欣喜若狂,只是利用平常晚上的時間,寫寫部落格,就能有額外的收入,真是不錯呢。


  


在台灣比較實在的部落格行銷公司有 BloggerAds 部落格行銷







以及 BlogAD 部落格廣告聯播網




BlogAD部落格廣告行銷




若你也有寫部落格的習慣,不妨可以加入上面兩個部落格廣告行銷網,順便賺一下自己的私房錢,零用金。

2010年5月28日 星期五

Wii 的勁敵 Xbox Natal

From: Polin Wei

風光一時的遊戲 Wii 帶動一股在家運動潮,由於它只要用一根小白(搖桿)就可以玩任何遊戲,堪稱史上不需動頭腦,最簡單可以上手的一款遊戲。


不讓 Wii 專美於前,即將在 2010 年 06 要上巿的 Xbox 也將出一款類似 Wii 的設備,但神奇的是:它連那根小白(搖桿)都不用了。它會感測你的舉動,聲音來模擬出人體相對應的動作。


  看到影片中挑衣服的情節了嗎? 這真是造福宅女們,讓她們可以不出門就可以挑衣服,連換衣服都省了。 Wii 與 Xbox - Natal 究竟鹿死誰手? 還不知道咧?!

2010年4月2日 星期五

FTP 指令自動上下載的批次檔及作業

From: Polin Wei

環境:
OS: Windows 平台

FTP Server IP: 192.168.1.1
FTP User: myftp
User PWD: ftppwd
FTP 的目錄: c:\dbdump
要下載的資料: c:\dbdump\abc.txt

先建立一個批次檔 myftp.bat , 內容如下:

ftp -s:myftp.txt


內容的意義是: 執行 ftp 時, 取得 myftp.txt 作為執行每一行命令列的資料來源

myftp.txt 的內容為:

open 192.168.1.1
myftp
ftppwd
cd dbdump
get abc.txt
del abc.txt
bye


再將這個檔案 myftp.bat 放在 附屬應用程式->系統工具->排定的工作 中即可

2010年4月1日 星期四

MySQL 的備份及復原

From: Polin Wei

MySQL 的備份及復原
要備份 MySQL 資料庫主要分為兩個方法,一是將資料庫目錄完整備份:二是使用 MySQL 內建的 mysqldump 程式。


備份資料庫目錄
MySQL 預設的儲存目錄在 /var/lib/mysql 內容,底下會有以資料庫名稱的目錄,例如 mydb 目錄便應該是 mydb 資料庫的資料。

如果 MySQL 正在運行,請先停止 MySQL,原因是可能會有資料未完全寫入,而 MySQL 會 lock 在使用中的 DB 檔案。


01 /etc/rc.d/init.d/mysqld stop
02 cd /var/lib/mysql/
03 tar zxcf mydb_backup.tgz mydb
04 /etc/rc.d/init.d/mysqld start


以上指令會先停止 MySQL,然後把 mydb 資料庫製作一個 taz 檔的備份,並儲存到 mydb_backup.tgz。
在使用以上指令時,請根據個別系統的設定作出修改。

好了,以上就麼 3 句指令就完成備份了,如果不幸的事情發生了,資料庫發生錯誤而要復原資料,可使用以下指令:


01 /etc/rc.d/init.d/mysqld stop
02 cd /var/lib/mysql/
03 mv mydb mydb_error
04 tar zxvf mydb_backup.tgz
05 /etc/rc.d/init.d/mysqld start


以上指令是先把 /var/lib/mysql/mydb 移到 /var/lib/mysql/mydb_error,然後將原先製作的備份檔解壓到 /var/lib/mysql/mydb。


mysqldump
雖然以上方法十分簡單,但有一個問題存在,那就是在備份及復原時均需停止 MySQL 的運作,這樣對於實際應用十分不便。再者,這樣備份出來的檔案,如果在相同版本的 MySQL Server 應該沒有問題,但移到版本不同的 Server 則不一定可以成功復原。

因為有以上的問題,MySQL 已經內建了備份工具,它就是 mysqldump。
mysqldump 的備份方法是將資料庫內的每個資料表結構及每筆資料產生 SQL 語句,然後存到文字檔。而且它可以自訂每一個資料表一個檔案,以及將資料表結構及資料分開儲存,以下是使用例子:


> mysqldump --user=root -p mydb > /backup/mydb.sql


以上指令會使用 mysqldump 將 mydb 備份到 /backup/mydb.sql,在輸入指令後,需要輸入 MySQL 的 root 密碼。

至於復原資料同樣簡單,只要一句指令便完成:


01 mysql --user=root -p mydb < /backup/mydb.sql
(原文使用"mysqldump"來復原,應為筆誤,改成上述指令才對)

以上指令會將 /backup/mydb.sql 備份檔復原到 mydb 裡面。如果你的 MySQL Server 不止一個資料庫,希望可以一次過將所有資料庫備份起來,可以寫一個簡單的 shell script 完成,又或者使用以下指令:


01 mysqldump --user=root -p --all-databases > /backup/mysql.sql


這個 --all-databases 代表所有資料庫,這樣 mysqldump 便會將所有資料庫備份到 /backup/mysql.sql。

若你想要在 Windows 平台作自動備份, 可以撰寫一個批次檔 dumpdb.bat , 內容如下:

@echo off
REM 產生日期及時間變數
@For /f "tokens=1-3 delims=/ " %%a in ('date /t') do (set date=%%a-%%b-%%c)

REM **********************************
REM 備份MySQL資料庫 xoops ....
REM **********************************

@mysqladmin --user=root --password=password flush-logs
@mysqldump --user=root --password=password > "c:\dbdump\xoops%date%.sql"


再將這個檔案放在 附屬應用程式->系統工具->排定的工作 中即可

參考文獻: http://learn.bles.tp.edu.tw/moodle/mod/resource/view.php?id=92

2010年2月8日 星期一

目錄比對與檔案內容比對工具 WinMerge

From: Polin Wei

PHP & Java 的程式是文字模式檔案, Java 程式可以透過 Eclipse 與 Subversion 的整合運作來比對 目錄 的不同 以及 程式版本內容不同的比對. 而 PHP 程式在這方面就比較薄弱, 但可以使用 WinMerge 但補強這方面的不足.

目錄比對圖例


檔案比對圖例


WinMerge 可以選擇免安裝版 WinMerge-2.12.4-exe.7z 這樣就可以帶著走囉. 在執行前可以在 檢視 ->語言 改變成中文, 一些建議設定可以在 編輯->選項 作修改,如下:

一般:勾選「自動捲至最初差異」


比較:比對空白通常沒什麼意義,多按了個 Enter 也不需要大驚小怪的,斷行符號也不是挺重要的。


編碼頁:程式檔案通常都是 UTF-8 編碼,使用「系統用的編碼頁」在繁體作業系統是 Big5,常會造成無法比對的情況, 可以改為 65001。


參考文獻:
WinMerge 官方網站

2010年1月6日 星期三

Xoops 的表單設計

From: Polin Wei

WEB程式開發中, 表單設計是一定需要的, 在 PHP 中大部份都是直接echo表單的html代碼居多, 但在 Xoops 中有一套非常完善的表單生成器. 這些表單類別都放在 XOOPS_ROOT/class/xoopsform 目錄下. 詳細的作法可以參考下列的參考文件. 下一次再來舉實例來說明.

參考文件
XOOPS的表單設計
東至備忘錄
impresscms