Professional Documents
Culture Documents
壹、OSI 網路七層式架構:
貳、TCP/IP 四層式架構:
參、IP 位址的分類:
Page 1
Network Concepts
肆、子網路切割(Subnetting)的好處?
柒、RJ-45 雙絞線之線路顏色與順序:
編號 1 2 3 4 5 6 7 8
口訣:橙、藍、綠、棕
跳線:1、2 與 3、6 對調
捌、網路名詞解釋:
ARP:
Address Resolution Protocol,用來解析 IP 位址或主機名稱所對應的硬體位址。
DHCP:
Dynamic Host Configuration Protocol,提供動態的 IP 位址給 DHCP 用戶端電腦、指定用戶端
DNS 位址等,以避免位址衝突並有助於 IP 的管理。
DoS:
Denial of Service,Dos 是一種入侵程式,可以讓電腦無故當機或無法執行某些動作。DoS
攻擊並不會讓電腦內部資料遭到竊取或修改,而是以癱瘓主機為目的。
Page 2
Network Concepts
Page 3
Computer Concepts
壹、 BIOS 問題聲響判讀:
貳、 什麼是 SCSI?
Page 4
Computer Concepts
1 的補數: 01;10
2 的補數: 01;10,最後一位還要加 1
大數 – 小數 小數 – 大數
補數類型 Sign Bit =大數 + (-小數) =小數 + (-大數)
Ex. 1101-0100 = 1001 Ex. 0100-1101 = -1001
1. 將「小數」轉為補數型態(1011) 1. 將「大數」轉為補數型態(0010)
1’S 不考慮 2. 將「大數」+「小數的補數」 2. 將「小數」+「大數的補數」
3. 若有進位,將其累加至個位 (不會進位,所以答案先加”負號”)
3. 將上述運算結果以 1’s 還原。
Ex. 1101-0100 = 1001 Ex. 0100-1101 = -1001
1. 將「小數」轉為補數型態(1100) 1. 將「大數」轉為補數型態(0011)
2’S 考慮
2. 將「大數」+「小數的補數」 2. 將「小數」+「大數的補數」
3. 若有進位,將其捨棄。 3. 將上述運算結果以 2’s 還原。
肆、 數位系統轉換:
2. 2 進位轉 8 進位:[整數]從小數點左,每三碼為一組,最左邊若不足三碼,補 0
Ex. (1010.01)2=(001 010.010)2=(12.2) 8
3. 2 進位轉 10 進位:
Ex. (1010.01)2=1x23 + 0x22 + 1x21 + 0x20 + 0x2-1+ 1x2-2 = 10 + 0.25 = 10.25
4. 2 進位轉 16 進位:[整數]從小數點左,每四碼為一組,最左邊若不足四碼,補 0
Ex. (1010.01)2=(1010.0100)2 = (A.4)16
5. 8 進位轉 2 進位:[整數]每三碼為一組開始以目視法分解為 2 進位
Ex. (12.2)8=(001 010.010)2=(1010.010)2
6. 8 進位轉 10 進位:
Ex. (12.2)8=1x81 + 2x80 + 2x8-1 = 8 + 2 + 2(1/8) = 10.25
Page 5
Computer Concepts
8. 16 進位轉 2 進位:[整數]每四碼為一組開始以目視法分解為 2 進位
Ex. (A.4)16=(1010.0100)2
9. 16 進位轉 10 進位:
Ex. (A.4)16=Ax160 + 4x16-1 = 10x1 + 4(1/16) = 10.25
柒、 色彩系統:
16 色=每個 pixel 佔 4bits,即有 24=16 種顏色變化。
256 色=每個 pixel 佔 8bits,即有 28=256 種顏色變化。
高彩=每個 pixel 佔 16bits,即有 216=65,536 種顏色變化。
全彩=每個 pixel 佔 24bits,即有 224=16,777,216 種顏色變化。
捌、 科學記號表示法:
單位 GB MB KB ms μs ns
壹拾、 計算機五大部門:
(1)輸入部、(2)輸出部、(3)控制單元(CU)、(4)儲存單元(MU)、(5)運算邏輯單元(ALU)
* 運算邏輯單元(ALU) = 真正處理資料的地方,負責所有的計算與比較工作。
* 控制單元 = 用來控制、選取與分析指令,並監督其執行。
Page 6
Computer Concepts
壹拾壹、 計算機定址法:
計算機組織通常包括:
(1)資料匯流排:指 CPU 與記憶體或 I/O 裝置,進行雙向的資料傳輸。
Ex. 一般 32 位元的電腦,即指具有 32 條資料傳輸線的「資料匯流排」。
(2)位址匯流排:表 CPU 最大的記憶體定址能力。訊號僅能由 CPU 單向傳輸。
Ex. 8086 的位址匯流排有 20 條傳輸線,則可定址到 220Bytes=1MB。
(3)控制匯流排:指 CPU 與 I/O 裝置間的控制訊號,每條線亦是單向傳輸。(通常為一組)
壹拾參、 記憶體配置法:
先適法 (First Fit):
即,選擇第一塊,且能夠容納程式大小的連續記憶空間。
最適法 (Best Fit):
即,選擇最小塊,且能夠容納程式大小的連續記憶空間。
最不適法 (Worst Fit):
即,選擇第大塊,且能夠容納程式大小的連續記憶空間。
壹拾肆、 資料庫管理系統:
正規化 (normalization):一種將資料元素組織成為適當記錄(record)及表格(table)的技術
(1) 1NF: 移去重覆群 [讓每一筆記錄的各欄位,僅包含一個不重覆的值(value)]
(2) 2NF: 移去部份依賴 [不允許記錄的非 key 欄位,僅依賴組合鍵裏的部份欄位]
(3) 3NF: 移去遞移依賴 [即每個非 key 欄位不可依賴於另一個非 key 欄位,而需完全
依賴於該表格的主鍵才行]
外來鍵 (Foreign Key): 指某表格中的「非鍵值欄位」 ,在另一個表格中為「主鍵」。
常用的 SQL 異動資料語法
(1)【新增】Insert Into 資料表(ID, 數學, …) Values (“T0371”, 90, …)
(2)【刪除】Delete From 資料表 Where ID = ”T0371”
(3)【更新】Update 資料表 Set 數學=80 Where ID Like “T%” ‘%表「全部所有」
(4)【查詢】Select * From 資料表 Where ID Like “_0371” And 數學>= 80 ‘_即表 DOS ?
(5)【查詢】Select * From 資料表 Where 數學 > 60 Order By 總分, 國文, 英文 Desc
Page 7
Computer Concepts
【ASP】
<form name="MyForm" method="POST" action="DoUpdateBasic.asp">
【基本資料修改】
<table border="1">
<tr> <td valign="top">
請輸入兵號:<input type="text" name="ID" value="" size="10"><br>
請輸入姓名:<input type="text" name="chtName" value="" size="20"><br>
請輸密碼:<input type="password" name="passWD" size="20"><br>
<td>
性別:
<input type="radio" name="Gender" value="男" checked>男生
<input type="radio" name="Gender" value="女">女生<br>
專長:
<input type="checkbox" name="Item1" value="On">班排教練<br>
<input type="checkbox" name="Item2" value="On">迫砲教練<br>
<input type="checkbox" name="Item3" value="On">甲車教練<br>
軍種:<select name="MilType" size="1">
<option value="1" selected>陸軍</option>
<option value="2">海軍</option>
<option value="3">空軍</option>
</select><br>
</table>
<input type="Submit" value="更新" name="Finish">
<input type="Reset" value="取消" name="Cancel">
</form>
[DoUpdateBasic.asp]
<%Dim conn, rs, sqlstr
Set conn=server.CreateObject("ADODB.connection")
conn.Open "driver={sql server};server=(local);uid=sa; pwd=;database=人事資料庫"
Set rs=server.CreateObject("ADODB.RecordSet")
varID = request("ID")
sqlstr="select * from 軍人資料表 where 兵籍號碼='" & varID & "'"
rs.open sqlstr,conn, adOpenKeySet,adLockPessimistic
If rs.EOF Then
rs.AddNew
rs("兵籍號碼")= varID
…
rs("性別")= request("Gender")) '男 or 女
If request("Item1")="On" then
rs("專長 1")="班排"
End If
...
rs("軍種")= request("MilType")
rs.Update
Else
response.write "該員已有建檔紀錄,系統無法建檔!"
End If%>
Page 8
Computer Concepts
【PHP】
<form name="MyForm" action="OpenStuFiles.php" method="POST">
<table align="center" border="5" width="579">
……………………………………………
<tr><td>
<INPUT type=radio name=RadioType value="FrontPage" checked>FrontPage<br>
<INPUT type=radio name=RadioType value="PhotoImpact"> PhotoImpact<br>
<td>
<select name="ClassNo" size="1" style="FONT-SIZE: 11pt">
<option value="" checked>請選擇</option>
<option value="316">316</option>
<option value="317">317</option>
</select></p>
</table>
<input type="submit" value="開始查詢" name="cmdQuery" style="Font-size=12pt">
<input type="button" value="回前畫面" name="cmdReturn" style="Font-size=12pt">
</form>
[OpenStuFiles.php]
<?php
$StuDB="StuProfiles/List$ClassNo.txt"; //Open the Student Data File (.txt)
$DLstr="";
$Found=false; //Not found
if (file_exists($StuDB))
{
$fp=fopen($StuDB, "r");
while (!feof($fp))
{
$line++;
$contents=fgets($fp, filesize($StuDB)-1);
list($No, $Name, $ID) = sscanf($contents,"%d %s %s");
if ($No==$StuNo)
{$Found=true;
break;}
else
{$Name="<font color=red><b>???</b></font>";
$ID="<font color=red><b>???</b></font>";}
}
fclose($fp);
}
else
{echo "<font color=red><b>Student file: $StuDB does not exist!</font><br>";}
switch ($RadioType)
{
case 'Word2000' : $filename="StuProfiles/2nd/$ClassNo/$StuNo/$Name.doc";
if (!file_exists($filename))
$DLstr="<font color=red><b>不存在</b></font>";
else
$DLstr="下載";
break;
default : break;
}?>
Page 9
Computer Concepts
壹拾陸、 資料結構:
In-Order、Pre-Order、Post-Order Notation:
(1) In-Order=LNR,ex. A+B
(2) Pre-Order=NLR, ex. +AB
(3) Post-Order=LRN, ex. AB+
Ex. 請將 A/B+C*(D-E)轉為後序式(Post-Order)。
a. AB/+C*(DE-)
b. AB/+CDE-*
c. AB/CDE-*/
壹拾柒、 計算機硬體名詞解釋:
Page 10
Computer Concepts
玖、XML 的特性
1. XML 是用純文字格式檔案來表現結構化資料的一種方法
什麼是 "結構化的資料"?就好比說:試算表、通訊錄、設定參數、財務交易、技術圖表等等。產
生這些資料的程式都常也會把它們存在磁碟上,可能是用 binary 格式,也可能是用純文字格式。
後者(如果必要的話)可以讓你直接看到裡面的資料,而不用透過原來產生這些資料的程式。XML
是一組由許多的規則(或是指導架構、協定)所組成的集合,可以用來設計這些資料的文字格式,
且依此格式定義出來的檔案可以很容易地由電腦產生及讀取,而且不會模稜兩可,不會導致一些
常見的問題,例如:缺乏擴充性、缺乏對國際化/地區化的支援、需依存於某個特定的平台等等。
2. XML 看起來有點像是 HTML,但它不是 HTML
XML 像 HTML 也使用 標籤 (被夾在 '<' 和 '>'之間的文字)和 屬性 (以 name="value" 這
種格式出現),但 HTML 明確地定義出每一個標籤和屬性的意義(通常是表示夾在其中的文字
在瀏覽器中該如何表示),而 XML 只是利用標籤來界定每一筆資料,至於如何去解譯這些資料
則完全是應用程式的工作。換句話說,如果你在一個 XML 檔案中看到 "<p>" 這樣的一個標籤,
不要直覺地想到:它代表的就是「段落(paragraph)」。依據各種情況,它有可能代表的是「價
格(price)」、「參數(parameter)」、「人(person)」、「p...」
3. XML 是純文字格式,但它不是給你直接讀的
正如我前面說的,XML 檔案是純文字格式的,但是比起 HTML,它更不是設計來給人類閱讀的。
XML 之所以是純文字格式,是因為它要能讓專家們(例如程式員)能夠簡單地為應用程式除錯,
而且在情況緊急的時候,也可以讓他們用簡單的文字編輯器去修改有問題的 XML 檔。但是 XML
檔的規則比 HTML 更加嚴格,一旦發現檔案損毀,應用程式必須立刻停止運作,並產生錯誤訊息。
4. XML 是一個由許多技術所構成的大家族
現在是有一份 XML 1.0,定義了 "標籤" 和 "屬性" 代表了什麼意義的規格書;但圍繞在 XML
1.0 周圍的,還有許多不斷出現的模組。例如: Xlink 是用來描述一種在 XML 檔案中加入超鍊
結的標準方法。XPointer 和 XFragments 是用來指向 XML 文件中某一部份的語法。
(Xpointer
有一點像是 URL,但它所指向的不是 Web 上的文件,而是在 XML 檔案中的一部份資料。)
CSS,文件樣式語言,在 XML 上使用和在 HTML 上一樣合用。 XSL 是用來表達文件樣式更 進
階的語言。它以 XSLT 為基礎,用來加入或刪除標籤和屬性。 DOM 是一組標準的函式呼叫,
可供程式語言去操控 XML 以及 HTML 檔案。 XML 命名空間(Namespaces) 是一種用來描
述在一份 XML 文件中,你要怎麼讓每一個單獨的標籤和屬性能夠關聯到一個 URL 上面的規格
書。不過這個 URL 要做什麼用是由讀取它的應用程式來決定的。(RDF,W3C 的中介資料
(metadata)標準,就是利用它讓每一個中介資料連結到定義這個資料的型態的檔案上。) XML
Schemas 1 和 2 幫助開發人員精確地定義他們以 XML 為基礎所制定的檔案格式。除此之
外,還有更多的模組和工具已經可以利用或正在發展中。
5. XML 的累贅稍多,但那不是個問題
因為 XML 是純文字格式的,而且它利用標籤去分格資料,所以 XML 的檔案幾乎是一定會比相
對應的 binary 格式來等大。這是 XML 的發展人員刻意的抉擇。純文字格式的好處非常明顯(詳
見第 3 點),而其缺點能在各種不同的層次獲得彌補。
Page 11
Computer Concepts
6. XML 很新,但也沒有那麼新
XML 的發展是從 1996 年開始的,而從 1998 二月開始成為 W3C 的標準。 XML 的前身是
SGML,從 80 年代初期就開始發展了,自 1986 年起成為 ISO 的標準,而且被廣泛地運用在各
種大型的文件計畫中。XML 的設計者只是將 SGML 最精華的部份萃取出來,再依照 HTML 的
發展經驗,產生出一套威力強大且使用上非常規則且簡單的語言。
以小明為例,小明是一個人,小明是一個物件(Object),人這個名詞稱為 class(類別),小
明的數量是一個,這個數量稱為 class variable(類別變數),小明是一個 instance(實體),小明的
名字,稱為實體變數(instance variable)。
真實的物件皆有兩種特性:狀態(status;例如名字、年齡、身材高矮)及行為(active;
例如吃飯、睡覺、動作)。在軟體上,我們利用變數(varible)來描述(儲存)真實物件的狀態,
利用方法(method)來模擬真實物件的行為。
物件變數置於物件的核心,利用 method 來處理物件變數的內容,適度的與外部程式隔
絕的包裝技術,在 OO 中稱為『封包』(Encapsulation)。封包的好處:模組化(Modularity)、資
訊隱藏(Information hiding)。
類別(class):可以視為某一類的物件的藍本或樣板,用來定義同種類物件的狀態(共同的
variable)與行為(method)。類別可以藉由實體化的方式來描述物件,實體化前的 variable 稱
為類別變數,method 稱為類別方法,實體化後的 variable 稱為實體變數,method 稱為實
體方法,有時候我們也可以定義一種,不需要實體化就可以使用的 variable 或 method,例
如人的數量(count)。一般而言,物件都必須將類別實體化後,才能夠使用。
類別的好處:Encapsulation(模組化、資訊隱藏)、Reusability(可再利用性)。
繼承(Inherit) 的好處:Reusability(可再利用性)。
變數視野:分成以下四類:
成員變數:(class 所宣告的 variable;scope 在 class 的範圍中)。
區域變數:(method 所宣告的 variable;scope 在 class 的 method 範圍中)。
類別成員的存取控制:
private:只有同一 class 內的成員可以存取。這類的類別是無法被實體化(產生物件)。
Page 12
Computer Concepts
壹拾壹、 演算法範例
VB array
當我們宣告一個 X(2)的陣列時,表示這個陣列一共可以儲存三個變數(0~2)
陣列變數名稱 資料儲存順序 陣列資料內容
0 X(0)=資料 a
X 1 X(1)=資料 b
2 X(2)=資料 c
99 乘法表
Bubble Sort
Binary Search
Page 13
Computer Concepts
壹拾參、 補充
10 進位 2 進位 16 進位 ※各式數字系統轉換對映表
0 0000 0
To
1 0001 1 10 進位 2 進位 8 進位 16 進位
From
2 0010 2
10 進位 餘數 餘數 餘數
3 0011 3
2 進位 基數 目視法 目視法
4 0100 4
8 進位 基數 目視法 目視法
5 0101 5
16 進位 基數 目視法 目視法
6 0110 6
7 0111 7
8 1000 8
9 1001 9
10 1010 A
11 1011 B
12 1100 C
13 1101 D
14 1110 E
15 1111 F
※主要的三種數字系統對照表
Page 14
Computer Concepts
壹拾肆、 Linux
建立 quota 設定,或自動掛載(mount)分割區/光碟/軟碟的設定檔:/etc/fstab
若是設定 quota,修改/etc/fstab 後,還要執行 >quotacheck –ugavm,再重開機
/etc/fstab:開機時,可自動掛載指定分割區/光碟/軟碟的設定檔。
/etc/crontab:系統工作排程設定檔。
/etc/chinese/xcin/xcinrc:中文輸入法設定檔。
/etc/hosts:主機位址設定檔。
/etc/services:網路服務資料檔
xinetd (Extended Internet Services Daemon):一個專門管理 Internet 連線要求的程式
/etc/xinetd.conf:供 xinetd 使用的設定檔。
/etc/resolv.conf:DNS 搜尋順序設定檔。
/etc/sysconfig/network:網路組態設定檔。For TCP/IP.
[FTP] /etc/ftpaccess:wu-ftp server 主要存取權限設定檔。
[FTP] /etc/ftpusers:wu-ftp server 的黑名單設定檔。
[FTP] /etc/xinetd.d/wu-ftpd:wu-ftp server 組態設定檔。
修改後需再執行 >/etc/rc.d/init.d/xinetd reload,重新載入組態設定。
[WWW] /etc/httpd/conf/httpd.conf:Apache server 主要設定檔。
[WWW] /etc/rc.d/init.d/httpd stop:停止 Apache daemon。
[WWW] /etc/rc.d/init.d/httpd start:啟動 Apache daemon。
[sendmail] /etc/sendmail.cf:設定”中繼”(relay)郵件位址設定檔。
[sendmail] /etc/rc.d/init.d/sendmail stop:停止 sendmail daemon。
[sendmail] /etc/rc.d/init.d/sendmail start:啟動 sendmail daemon。
[sendmail] /etc/rc.d/init.d/sendmail restart:重新啟動 sendmail daemon。
[POP3] /etc/xinetd.d/ipop3:POP3 設定檔。
修改後需再執行 >/etc/rc.d/init.d/xinetd reload,重新載入組態設定。
[Squid] /etc/squid/squid.conf:Squid proxy server 設定檔。
[Squid] /etc/rc.d/init.d/squid start:啟動 Squid daemon。
Page 15
Computer Concepts
IV. 檔案系統與目錄權限
V. Linux 系統開機重要關鍵:
VI. 系統及網路相關指令:
ps:報告程序狀況 (-l=long, -u=user)
netconfig:設定網路基本組態。
ifconfig:設定及顯示網路卡組態資訊。Ex. > ifconfig eth0 [down | up] (關閉|啟動)
netstat:顯示網路的連線狀態與統計資訊。
Ex1. >netstat –a (顯示本機所有網路連線狀態)
Ex2. >netstat –t (顯示本機 TCP/IP 協定的連線狀態)
Ex3. >netstat –r (查看 routing table 的狀態)
traceroute:顯示封包經過歷程。
route:顯示及管理路由。(顯示路由=netstat –r)
free:檢查記憶體使用狀態。
VII. 帳號管理相關指令:
/etc/passwd, /etc/shadow:內含所有使用者的帳號
useradd/adduser:建立使用者帳號
userdel:刪除使用者帳號。Ex. > userdel –r hwtang (-r 表該帳號相關目錄)
quota:查詢使用者使用磁碟空間限制。Ex. > quota –v (需先編輯 /etc/fstab)
edquota:編輯使用者/群組的磁碟限制。Ex. > edquota –u hwtang / edquota –g grp1
重新啟動:reboot
顯示磁碟尚可用空間:df
顯示磁碟已使用空間:du
複製檔案或目錄:cp –v –R * /backup
(將當前目錄及其子目錄裏的所有檔案,全部複製到/backup 內)
–v 表示顯示執行過程
–R 表示遞迴複製
刪除檔案或目錄:rm –v –r *
(將當前目錄及其子目錄裏的所有檔案,全部刪除)
–v 表示顯示執行過程
–r 表示遞迴刪除
顯示檔案內容,或合併檔案:
1. cat preface.txt | more (運用 pipe,將前者的輸出當作後者的輸入)
2. cat a.txt b.txt > new.txt (將 a.txt 與 b.txt 合併,並輸出到 new.txt)
3. cat preface.txt >> outline.txt (將 preface.txt 的內容附加在 outline.txt 後)
尋找檔案:locate zh_TW (列出所有包含”zh_TW”字串的檔案或目錄)
搜尋字串:grep text *.conf (搜尋 *.conf,包含 “text” 字串的檔案)
登出後,程序繼續執行:nohup myserver &
打包檔案:tar –cvf data.tar * (將所有檔案*打包成 data.tar,檔名需指定)
–c 表示建立一個新的 tar 檔
–v 表示顯示打包過程資訊
–f 表示指定打包的檔案名稱
–x 表示解開 tar 檔 (ex. tar –xvf data.tar)
–z 呼叫 gzip 壓縮指令,壓縮或解壓縮檔案
ex1. tar –czvf data.tar.gz *
ex2. tar –xzvf data.tar.gz
gzip & gunzip:配合 tar 使用的壓縮及解壓縮指令。只能處理單一檔案。
ex1. > gzip data.tar
ex2. > gunzip data.tar.gz (=gzip –d data.tar.gz)
RPM installation: rpm –ivh bind*.rpm (安裝 Bind RPM 套件)
–i 表示使用安裝模式(installation)
–v 表示顯示安裝過程資訊
–h 表示安裝過程中顯示進度#
–e 表示移除(erase)RPM 套件
–U 表示升級(Upgrade)RPM 套件(ex. –Uvh)
–F 表示更新(Fresh)RPM 套件,只更新版本較新的套件(ex. –Fvh)
–V 表示驗證(Verify)RPM 套件正確性
刪除/終止/重新啟動程序:kill –9 1330 (強制刪除 1330 程序)
ex. kill –HUP 1330 (Hang Up, 重新啟動指定的 daemon 程序)
Page 18
Computer Concepts
IX. Default text editor – vim (PS: “pico” is much easier than vim)
Page 19