韌館-LearnHouse

Archive for the '程式&軟體' Category

[Java]撰寫時的良好的習慣

標準的命名規則

  1. Package (套件)
    英文單字全部小寫,例如zoo.cute, java.lang
  2. Class (類別)
    每一個英文單字的第一個字母大寫,例如Animal, NationalChungChengUniversity
  3. Interface (介面)
    每一個英文單字的第一個字母大寫,規則和類別一樣
  4. Attribute (屬性)
    第一個英文單字的第一個字母小寫,其它單字的第一個英文字母大寫,例如legs, numberOfLegs
  5. Method (方法)
    規則和屬性一樣,不過要在後面加上小括號,例如eat(), eatMeat()
  6. Constant (常數)
    英文單字全部大寫,且兩兩單字之間用底線隔開,例如COUNT, MAX_COUNT

待續..........

 

參考資料

吉米兔的學習園地

2008年1 月 posted by admin in 程式&軟體 and have Comments (4)

[PHP]物件導向程式設計

資料來源:http://php.igt.com.tw/unit_111.htm

PHP 支援物件導向程式設計,雖然就純粹的物件導向程式設計的觀點來看,它的支援並不是很完整,但是,只要我們遵循良好的程式設計習慣,我們還是可以善用 PHP ,來開發物件導向的程式。

為什麼要使用物件導向的程式設計?

在 物件導向程式設計的觀念提出之前,軟體開發者,大多是使用結構化的程式設計。所謂結構化的程式設計,就是把問題切割成各個比較小的問題,比較小的問題,如 果還是複雜到無法以一個函式來解決時,就在切割成為更小的問題。直到可以用一個單一的函式來解決為止。每個函式處理個別的功能,主程式藉由呼叫各個函式, 來完成他的工作。

課程111:物件導向程式設計
摘要:


在這個課程中,我們將討論物件導向程式設計。首先,我們討論物件導向程式設計的觀念。接著,我們以實例來示範 PHP 物件導向程式設計的撰寫。然後,再把物件導向程式設計的方法,應用在留言版的程式中。

物件導向程式設計觀念


PHP 支援物件導向程式設計,雖然就純粹的物件導向程式設計的觀點來看,它的支援並不是很完整,但是,只要我們遵循良好的程式設計習慣,我們還是可以善用 PHP ,來開發物件導向的程式。

為什麼要使用物件導向的程式設計?

在 物件導向程式設計的觀念提出之前,軟體開發者,大多是使用結構化的程式設計。所謂結構化的程式設計,就是把問題切割成各個比較小的問題,比較小的問題,如 果還是複雜到無法以一個函式來解決時,就在切割成為更小的問題。直到可以用一個單一的函式來解決為止。每個函式處理個別的功能,主程式藉由呼叫各個函式, 來完成他的工作。

在前一個課程函式的應用, 我們應用了結構化的程式設計,將留言版的功能分割成各個函式,各網頁藉由呼叫各函式的方式,完成存取留言版資料的工作。使用結構化的程式設計,的確簡化了 我們撰寫程式的工作,也提高了程式的可維護性。但是,結構化程式設計在開發大型專案時,還是無可避免的碰到了他的瓶頸。因為,結構化的程式設計,專注於功 能面(函式)的開發,而往往忽略了功能所要處理的資料。被處理的資料與功能在結構化的程式設計是分離的關係。在大型專案的開發上,由於要處理的問題,相對 的要複雜許多,如果,資料與函式之間沒有關聯性,很容易發生錯誤,維護起來也很不方便。後來,物件導向程式設計的興起,就是為了解決,結構化程式設計所面 臨的資料與功能分離的問題。

物件導向程式設計的常用名詞:

  1. 屬性(Property):即物件裡的資料(變數)。
  2. 方法(Method):即物件裡的功能(函式)。
  3. 成員(Member):即類別裡所定義的變數或函式。
  4. 物件:類別的實例。
  5. 類別:物件的定義。由使用者所定義的資料型態。

物件導向程式設計的支柱

物件導向程式設計的三大支柱,稱之為 PIE(Polymorphism多變, Inheritance繼承, Encapulation封裝)。由於,PHP目前的版本只支援繼承及封裝,所以,我們在此,僅討論繼承與封裝。

所 謂封裝,就是把功能與資料包裝起來成為一個物件,並定義物件的介面。讓外界的程式,透過物件所提供的介面,來與這個物件溝通。外界的使用者,無須知道,物 件內部如何執行他的作業。只需要知道,如何使用物件的介面,來完成自己的工作即可。所以,設計物件的開發者,日後要更新物件的程式時,只要維持物件的介面 不變,便可以確保,使用這物件的外部程式,不需要改寫,一樣可以執行。而外界程式的開發者,只要遵循不直接存取物件內部的功能及資料,僅透過介面來使用物 件的規則,便可以確保程式執行無誤。

所謂繼承,就是子類別藉由繼承父類別的方式,取得父類別所定義的屬性及方法。通常,父類別會定義通用的屬性及方法,而子類別則延伸父類別定義特定的屬性及方法,以解決特定的問題。

如何使用物件導向程式設計來開發程式

使 用物件導向的方式來開發程式,最主要的關鍵,在於程式設計觀念的改變。之前,我們使用函式來開發留言版的時候,我們著重在於找出留言版應該具有的功能,然 後,按照功能來撰寫對應的函式。外界的網頁程式,把資料餵給這些功能,來完成它的工作。使用物件導向程式設計時,我們必須把程式所企圖解決的問題,看做是 一個獨立的個體。在這個個體中,包含了它應該處理的資料,以及處理這些資料的功能。這些功能是為了處理這些資料所產生的。所以,在撰寫留言版的程式時,我 們要把留言版當作是一個自給自足的個體。把程式所要解決的問題,定義成為個別的個體,這個過程稱之為抽象化(Abstraction)。

當 我們的腦子裡,有了這個個體所需要的資料以及功能後,我們就可以專注於定義這個個體的類別。把個體的資料,定義成類別的屬性;把個體的功能,定義成類別的 方法。在定義類別時,先別管外界的程式如何運作,全心全力專注於如何按照這個個體的需求,寫好這個類別。類別定義完之後,外界的程式,便可藉由物件變數, 來使用這個我們定義的類別(使用者定義的資料型態)。物件導向程式設計,名稱上雖然是物件,但是,實際上,程式設計師大部分的心力,在於找出問題中的個 體,定義這個個體的類別。使用這類別的程式部分,反而花的時間不多。

在下一節中,我們將使用實際的例子,來實作 PHP的物件導向程式設計。

 


PHP 物件導向程式設計實例演練


說明:

在這一節中,我們使用範例,來學習如何撰寫類別:

  1. 類別的語法結構。
  2. 封裝:定義屬性及方法。
  3. 使用物件:類別的實例化。
  4. 繼承。
一、類別的語法結構

class 類別名稱 [extends][父類別名稱]{

類別的定義

}

說明:

  1. 定義類別時,在 class 保留字之後,是使用者所定義的類別名稱。
  2. 如果,所定義的類別要繼承其他類別時,需加上 extends 保留字,然後,加上父類別的名稱。否則,省略 extends和父類別名稱。
  3. 之後是由 { 和 }所包圍的類別定義。在這裡,類別的定義,包括了屬性及方法。
二、封裝:定義屬性及方法。

class 類別名稱 [extends][父類別名稱]{

// 屬性的定義

var $變數名稱;

// 方法的定義

function 方法名稱([參數列]){

}

}

說明:

  1. 定義類別的個別屬性時,前面必須加 var 保留字。代表這變數是這個類別的屬性。
  2. 定義屬性時,可以給初始值。
  3. 定義方法時,規則同函式。
  4. 在方法中,如果要存取類別的屬性時,必須用 $this->變數名稱 這個格式。變數名稱在這裡,不可以加 $符號。
  5. 如果,類別中的方法名稱與類別名稱相同時,這個方法稱之為這個類別的建構方法。建構方法在類別被實例化時執行。類別實例化,說白一點,就是在外界的程式中,產生這個類別的物件變數。
範例:定義類別
<?php
/* 檔名:111_01.php
定義 Dog 類別
*/

class Dog{
var $food = '骨頭';
var $name;
     function Dog(){
echo '產生 Dog 類別的物件時,便會呼叫這個方法(建構方法)';
}
     function Eat(){
echo $this->name.'吃'.$this->food;
}
}
?>

三、使用物件:類別的實例化。
// 產生物件時
$物件變數名稱 = new 類別名稱;
// 呼叫物件方法或存取屬性時
$物件變數名稱->物件的方法或屬性;

說明:

  1. 要產生物件時,必須以一個變數來存放物件。
  2. 必須使用 new 保留字來產生物件。產生物件時,會執行這個物件的建構方法。
  3. 存取物件的屬性或呼叫物件方法時,物件與其成員之間,必須加 ->
  4. 物件的屬性之前,不可加 $ 符號。
範例:使用物件

程式碼:

<?php
/* 檔名:111_02.php
使用 Dog 類別
*/
// 含括 111_01.php 定義 Dog 類別的PHP檔
include_once('111_01.php');
// 產生 Dog 類別的物件
$mydog = new Dog;
$mydog->name = '來福';
echo '<br>';
$mydog->Eat();
?>
執行程式
四、繼承

說明:

  1. 當子類別繼承父類別時,子類別取得父類別所有的成員(屬性及方法)。
  2. 在子類別的方法,要呼叫父類別的方法時,使用 $this->父類別的方法名稱。
  3. 父類別通常只定義通用的成員。
  4. 子類別延伸父類別原有的功能,可另行定義專屬於子類別的功能。
  5. 當父類別的成員改變時,子類別的成員跟著改變。所以,藉著繼承的關係,可以讓我們的程式維護性大為提高。
範例:繼承

程式碼:

<?php
/* 檔名:111_03.php
定義 Pet, Dog, Cat 類別
*/
class Pet{
var $food;
var $name;
var $language;
     function Pet(){
echo '產生 Pet 類別的物件時,便會呼叫這個方法(建構方法)';
}
     function Eat(){
echo $this->name.'吃'.$this->food;
}
     function Speak(){
echo $this->name.'說'.$this->language;
}
}
class Dog extends Pet{
function Dog(){
$this->food = '骨頭';
$this->language = '汪汪';
echo '產生 Dog 類別的物件時,便會呼叫這個方法(建構方法)';
}
}
class Cat extends Pet{
function Cat(){
$this->food = '魚';
$this->language = '喵喵';
echo '產生 Cat 類別的物件時,便會呼叫這個方法(建構方法)<br>';
$this->Pet();
}
     function showFear(){
echo $this->name.'怕水';
}
}
?>
<?php
/* 檔名:111_04.php
使用 Dog, Cat 類別
*/
// 含括 111_03.php 定義 Pet, Dog, Cat 類別的PHP檔
include_once('111_03.php');
// 產生 Dog 類別的物件
$mydog = new Dog;
$mydog->name = '來福';
echo '<br>';
$mydog->Eat();
echo '<br>';
$mydog->Speak();
echo '<hr>';
$mycat = new Cat;
echo '<br>';
$mycat->Eat();
echo '<br>';
$mycat->Speak();
echo '<br>';
$mycat->showFear();
?>
執行程式

將物件導向程式設計應用在留言版的資料庫網頁


說明:

在這一節當中,我們將把物件導向程式設計,應用在留言版的網頁程式中。

我們按照以下的步驟,來修改留言版的程式:

  1. 準備工作
  2. 產生網站設定檔:web_config.php
  3. 產生資料庫類別檔:db.php
  4. 產生應用程式設定檔:app_config.php
  5. 產生留言版類別檔:Guestbook.php
  6. 修改原本的程式: index.php, add.php, update.php, delete.php
一、準備工作

說明:

將之前110課程所做好的PHP程式,放在另一個新的目錄 guestbook111 之下。然後,在網站的根目錄底下,建立一個 inc 的目錄。存放網站整體各項設定的檔案,以及存取資料庫物件的父類別檔案。

複製檔案:
  1. 使用putty連線到伺服主機。
  2. 輸入以下的命令,進入 public_html 目錄:
    cd public_html
  3. 輸入以下的命令,產生新的目錄 guestbook111,並將 guestbook110 中所有檔案,
    複製到guestbook111:
    cp -r guestbook110 guestbook111
  4. 輸入以下命令,產生新的目錄 inc。用來存放整體網站的設定檔及父類別檔。
    mkdir inc
  5. 輸入以下命令,產生 web_config.php 和 db.php 這兩個檔案。
    touch inc/web_config.php inc/db.php
二、產生網站設定檔:web_config.php

說明:

在 web_config.php 中,我們定義一些有關整體網站各含括目錄所需的參數,以及存取資料庫的設定,方便網站的管理者,日後修改網站的設定。

程式碼:

<?php
/* 檔名:web_config.php
定義各目錄及資料庫參數的常數
*/
// 定義網站目錄的設定
define(WEB_DIR, '/home/lib13/public_html/');
define(INCLUDE_DIR, WEB_DIR.'inc/');
// 定義資料庫的設定
define(DB_HOST, 'localhost');
define(DB_USER, 'lib13');
define(DB_PASSWORD, 'mypassword');
define(DB_DATABASE, 'lib13');
?>
三、產生資料庫類別檔:db.php

說明:

在 db.php 檔案中,我們定義存取資料庫的父類別,供網站中所有需要存取資料庫的類別繼承之用。在這個類別中,我們定義了資料庫連線及選用資料庫的方法 init()。同時,我們也擷取出存取資料庫的通用功能,分別依照功能定義成各種方法。透過繼承這個父類別,其他子類別就可繼承父類別的方法,無須再個別 定義存取資料庫的方法。子類別只需定義,個別類別所需的特定功能。這樣子的做法,一來,減輕修改程式的負擔,提高整個網站程式的維護便利性。二來,要新增 其他類似的資料庫網頁時,可以透過繼承父類別的方式,減少程式碼的撰寫,提高程式開發的效率。

程式碼:

<?php
/* 檔名:db.php
定義資料庫父類別,供其他需要存取資料庫的類別繼承之用。
*/
class DB{
var $add_sql;
var $update_sql;
var $delete_sql;
var $select_sql;
var $retrieve_sql;
     function DB(){
$this->init();
}
     function init(){
mysql_pconnect(DB_HOST, DB_USER, DB_PASSWORD)
|| die('無法與資料庫建立連結');
mysql_select_db(DB_DATABASE)
|| die('無法選擇資料庫:'.DB_DATABASE);
}
     function Add(){
$this->setSQL();
return mysql_query($this->add_sql);
}
     function Update(){
$this->setSQL();
return mysql_query($this->update_sql);
}
     function Delete(){
$this->setSQL();
return mysql_query($this->delete_sql);
}
     function Select(){
$this->setSQL();
return $this->recordset($this->select_sql);
}

function recordset($sql){
$rs = array();
$result = mysql_query($sql);
if($result){
while($record = mysql_fetch_assoc($result)){
array_push($rs, $record);
}
return $rs;
}else{
return false;
}
}
     function Retrieve(){
$this->setSQL();
$result = mysql_query($this->retrieve_sql);
if($result and mysql_num_rows($result) == 1){
return mysql_fetch_assoc($result);
}else{
return false;
}
}
}
?>
四、產生應用程式設定檔:app_config.php

說明:

app_config.php 這個檔案,定義了有關留言版所有網頁程式的設定。其他留言版的網頁,只需含括這個檔案,便可以使用定義好的各種設定。

藉由使用目錄來存放各相關子系統的方式,可以讓我們網站的功能模組化,日後需要增減功能時,只要新增或刪除目錄即可。在各目錄中,放置個別的 app_config.php 檔,來負責個別子系統的環境設定。這樣可以提昇各模組的可攜性,方便網站程式開發的管理。

程式碼:

<?php
/* 檔名:app_config.php
定義這個目錄所需的各項設定
*/
// 含括網站設定檔 web_config.php
include_once('../inc/web_config.php');
?>
五、產生留言版類別檔:Guestbook.php

說明:

Guestbook.php,定義了留言版所需要使用的類別 Guestbook。Guestbook類別藉由繼承父類別 DB,取得了存取資料庫的通用功能。所以,在這個類別,只要定義專屬於留言版的各種屬性及功能即可。

程式碼:

<?php
/* 檔名:Guestbook.php
定義 Guestbook 類別
*/
// 藉由含括子系統的設定檔,取得網站及子系統的各種設定
include_once('app_config.php');
// 含括父類別 db.php 
include_once(INCLUDE_DIR.'db.php');
class Guestbook extends DB{
// 定義屬性
/ 通常可以用所要存取的資料表的各個欄位,作為這個類別的屬性
var $id;
var $name;
var $email;
var $web;
var $content;
var $post_time;
var $fk_icon;
 // 類別的建構方法
function Guestbook(){
$this->DB();
}

// setProperties 方法用來連接表單的欄位以及類別的屬性
function setProperties(){
$this->id = $_POST[id];
$this->name = $_POST[name];
$this->email = $_POST[email];
$this->web = $_POST[web];
$this->content = $_POST[content];
}
 // setSQL 方法定義存取資料表所需的各個 SQL 命令
function setSQL(){
$this->add_sql = 'INSERT INTO Guestbook ";
$this->add_sql .= "(name, email, web, content, post_time) ';
$this->add_sql .= "VALUES('$this->name','$this->email','$this->web',";
$this->add_sql .= "'$this->content',NOW())";
$this->update_sql = "UPDATE Guestbook SET name='$this->name', ";
$this->update_sql .= "email='$this->email', web='$this->web', ";
$this->update_sql .= "content='$this->content' WHERE id=$this->id";
$this->delete_sql = "DELETE FROM Guestbook WHERE id=$this->id";
$this->select_sql = "SELECT * FROM Guestbook ORDER BY post_time DESC";
$this->retrieve_sql = "SELECT * FROM Guestbook WHERE id=$this->id";
}
}
?>
六、修改原本的程式: index.php, add.php, update.php, delete.php

說明:

在這裡,我們含括 Guestbook.php檔案。藉由產生 Guestbook的物件 $obj,按照各網頁程式所需要的功能, 透過 $obj物件,呼叫Guestbook所定義及繼承的各個方法。

index.php
add.php
update.php
delete.php
執行程式
2007年11 月 posted by admin in 程式&軟體 and have No Comments

安裝EclipseMe

參考來源:EclipseMe

在安裝之前,請先確認以下軟體是否已安裝

  1. Sun Java Wireless Toolkit 下載
  2. Eclipse 下載

官方提供的安裝方式也有兩種,一種是直接線上安裝,一種是下載後再安裝

我在這裡只列出直接安裝的部份,而且我是建議能不用中文化的Eclipse最好就不要用

畢竟以後可能會想裝一些plug-in,如果用中文化的很容易會產生其他的莫名問題

  1. 啟動Eclipse → Help menu → Software Updates → Find and install

  2. 選擇Search for new features to install:
    screenshot

  3.   點選 New Remote Site:
    screenshot

  4. 輸入以下資訊URL http://www.eclipseme.org/updates/
    screenshot

  5. 勾選EclipseME update site → Next
    screenshot

  6. 勾選EclipseME → Next.
    screenshot

  7. 選擇 I accept the terms of the license agreements → Next.
    screenshot

  8. 選擇你想要安裝的路徑: screenshot

  9. Install:
    screenshot

  10.  

    New installations screenshot
    Updates screenshot

    安裝好後會有 J2ME entry 在Window / Preferences
    screenshot

2007年10 月 posted by admin in 程式&軟體 and have No Comments

破解IE只能下載兩個檔案

雖然說這個好像不是什麼大問題,但由於我電腦重灌後要重新設定

同時好不容易週末些許有空,就來寫寫部落格囉!!

因為要下載課業上要用的SQL Server 2005,而且要安裝在XP上,所以就不能是企業版的

而找到的載點竟然是一堆連續的MegaShare空間網址

在找不到合用的下載軟體時,只好手動一個一個下載,但卻受限於IE只能下載兩個

以下就是破解的方法啦!!

1.按 "開始" -> "執行",在開啟的地方鍵入 "regedit.exe" 再按確定。

2.在左邊的視窗,請找到
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVers ionInternet Settings

3.在右邊的視窗,按右鍵應該會出現 "新增" 訊息。

4.選擇 "DWORD值",然後鍵入 "MaxConnectionsPer1_0Server",再按右鍵修改為 "63"。

5.按步驟4,新增另一 "MaxConnectionsPerServer",並設值為 "63"。

6.結束 Regedit.exe,登出系統並重新啟動 Windows

以下就是破解的方法啦!!

1.按 "開始" -> "執行",在開啟的地方鍵入 "regedit.exe" 再按確定。

2.在左邊的視窗,請找到
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVers ion\Internet Settings

3.在右邊的視窗,按右鍵應該會出現 "新增" 訊息。

4.選擇 "DWORD值",然後鍵入 "MaxConnectionsPer1_0Server",再按右鍵修改為 "63"。

5.按步驟4,新增另一 "MaxConnectionsPerServer",並設值為 "63"。

6.結束 Regedit.exe,登出系統並重新啟動 Windows

以下就是破解的方法啦!!

1.按 "開始" -> "執行",在開啟的地方鍵入 "regedit.exe" 再按確定。

2.在左邊的視窗,請找到
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVers ionInternet Settings

3.在右邊的視窗,按右鍵應該會出現 "新增" 訊息。

4.選擇 "DWORD值",然後鍵入 "MaxConnectionsPer1_0Server",再按右鍵修改為 "63"。

5.按步驟4,新增另一 "MaxConnectionsPerServer",並設值為 "63"。

6.結束 Regedit.exe,登出系統並重新啟動 Windows

以下就是破解的方法啦!!

1.按 "開始" -> "執行",在開啟的地方鍵入 "regedit.exe" 再按確定。

2.在左邊的視窗,請找到
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVers ionInternet Settings

3.在右邊的視窗,按右鍵應該會出現 "新增" 訊息。

4.選擇 "DWORD值",然後鍵入 "MaxConnectionsPer1_0Server",再按右鍵修改為 "63"。

5.按步驟4,新增另一 "MaxConnectionsPerServer",並設值為 "63"。

6.結束 Regedit.exe,登出系統並重新啟動 Windows

以下就是破解的方法啦!!

1.按 "開始" -> "執行",在開啟的地方鍵入 "regedit.exe" 再按確定。

2.在左邊的視窗,請找到
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVers ionInternet Settings

3.在右邊的視窗,按右鍵應該會出現 "新增" 訊息。

4.選擇 "DWORD值",然後鍵入 "MaxConnectionsPer1_0Server",再按右鍵修改為 "63"。

5.按步驟4,新增另一 "MaxConnectionsPerServer",並設值為 "63"。

6.結束 Regedit.exe,登出系統並重新啟動 Windows

以下就是破解的方法啦!!

1.按 "開始" -> "執行",在開啟的地方鍵入 "regedit.exe" 再按確定。

2.在左邊的視窗,請找到
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVers ionInternet Settings

3.在右邊的視窗,按右鍵應該會出現 "新增" 訊息。

4.選擇 "DWORD值",然後鍵入 "MaxConnectionsPer1_0Server",再按右鍵修改為 "63"。

5.按步驟4,新增另一 "MaxConnectionsPerServer",並設值為 "63"。

6.結束 Regedit.exe,登出系統並重新啟動 Windows

以下就是破解的方法啦!!

1.按 "開始" -> "執行",在開啟的地方鍵入 "regedit.exe" 再按確定。

2.在左邊的視窗,請找到
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVers ionInternet Settings

3.在右邊的視窗,按右鍵應該會出現 "新增" 訊息。

4.選擇 "DWORD值",然後鍵入 "MaxConnectionsPer1_0Server",再按右鍵修改為 "63"。

5.按步驟4,新增另一 "MaxConnectionsPerServer",並設值為 "63"。

6.結束 Regedit.exe,登出系統並重新啟動 Windows

以下就是破解的方法啦!!

1.按 "開始" -> "執行",在開啟的地方鍵入 "regedit.exe" 再按確定。

2.在左邊的視窗,請找到
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVers ionInternet Settings

3.在右邊的視窗,按右鍵應該會出現 "新增" 訊息。

4.選擇 "DWORD值",然後鍵入 "MaxConnectionsPer1_0Server",再按右鍵修改為 "63"。

5.按步驟4,新增另一 "MaxConnectionsPerServer",並設值為 "63"。

6.結束 Regedit.exe,登出系統並重新啟動 Windows

以下就是破解的方法啦!!

1.按 "開始" -> "執行",在開啟的地方鍵入 "regedit.exe" 再按確定。

2.在左邊的視窗,請找到
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVers ionInternet Settings

3.在右邊的視窗,按右鍵應該會出現 "新增" 訊息。

4.選擇 "DWORD值",然後鍵入 "MaxConnectionsPer1_0Server",再按右鍵修改為 "63"。

5.按步驟4,新增另一 "MaxConnectionsPerServer",並設值為 "63"。

6.結束 Regedit.exe,登出系統並重新啟動 Windows

2007年10 月 posted by admin in 程式&軟體 and have No Comments

利用MRTG觀看TECOM4031b數據機整體流量

為什麼今天要寫這一篇呢??主要是因為我朋友跟我抱怨說網路超級慢,想要把大量上下傳的使用者抓出來!!

我第一個念頭就是想到用MRTG,只是我沒想到架設好後好像只能偵測整體流量

有需要的朋友也可以參考一下!!其實架設MRTG裡面有很多網路管理的概念

他所用到的協定是SNMP,比較詳細的內容就自行找辜狗大師吧!

之前有迴響說要用圖示教學這樣比較應楚,但這篇可能就要大失所望了

因為我沒那麼多時間一張一張截圖,不過我會盡可能的描述清楚

首先先從硬體先說吧!!

當然要監控TECOM 4031b數據機就要在想要監控的設備開啟SNMP

登入TECOM 4031b後,進入Management -> SNMP Agent

點選SNMP Agent Enable -> Save/Apply  (其他都用預設的)

再來就是安裝軟體了

首先確定三個必要的軟體

1. Apache網頁伺服器(站長傾向用Appserv)

2.運行MRTG所要用的Perl程式(ActivePerl官方)

3.當然就是主角MRTG囉!!(MRTG官方)

分別安裝完後就是重頭戲了,要注意www的所在位置,與解壓縮MRTG後放置的地方

解壓縮MRTG後會是一個版本命名的資料夾,可以重新命名為mrtg,並在www底下建立mrtg資料夾

以我的路徑為例:解壓縮MRTG之後重新命名  ex. C:mrtg

並在www底下建立mrtg   ex. I:Appservwwwmrtg

開啟命令提示字元,切換目錄到C:mrtgbin底下

輸入:(要先切換到C:mrtg bin)
perl cfgmaker public@192.168.1.1 --global "WorkDir: I:Appserv www mrtg" --output mrtg.cfg

此時C:mrtg-2.9.27bin> 會生成 mrtg.cfg,可用記事本編輯它

1. 去掉 Options[_]: growright, bits  其面的#字號

2. 在頁尾加上 Language: big5

輸入:(要先切換到C:mrtg bin)
perl mrtg mrtg.cfg

這時再修改 mrtg.cfg 在頁尾加上 RunAsDaemon: yes

輸入:(要先切換到C:mrtg bin)

2007年10 月 posted by admin in 程式&軟體 and have No Comments

突破學校防火牆限制

大學的同學跟我抱怨說他們他們政戰學校很多網頁都鎖,即時通訊也都不能用

就算沒鎖80 port可以找到web msn,但很多web IM性質的也幾乎被鎖了

所以要我架設破解的平台,當然這篇文章其實不適合寫的

因為這方法可適用於企業與學校等任何有防火牆限制

學校或企業會有如此限制就是有他的安全考量

不過網管人員也不是省油的燈,假使限制只能用公司的proxy或只能瀏覽網頁的80 443等port

這樣這個方法還是無用武之地,不過道高一尺魔高一丈,其實還是有破解的方法

但我在這就不提供怎麼做了,只講述如何利用SOCKS來突破學校防火牆 Read more...

2007年9 月 posted by admin in 程式&軟體 and have Comments (4)