Upload
bnd0327
View
126
Download
12
Embed Size (px)
Citation preview
Network Concepts
Page 1
壹、 OSI 網路七層式架構:
#備註: Bridge=Switch,前者是用軟體模擬;後者是以硬體執行。Switch 會記錄 MAC adrs,效能高。
貳、 TCP/IP 四層式架構:
參、 IP 位址的分類:
Class B example: 163.13.1.60=10100011.00001101.00000001.00111100
等級 第一組 Byte 第一組 Byte 範圍 以 10 進位表示 子網路遮罩範圍
Class A (前 8 bit 需被指定)
0nnnnnnn 00000001~01111111 1~127 註: 127(保留)
255.0.0.0
Class B (前 16 bit 需被指定)
10nnnnnn 10000000~10111111 128~191
255.255.0.0
Class C (前 24 bit 需被指定)
110nnnnn 11000000~11011111 192~223 255.255.255.0
#範例: 請問淡江大學 Class B 等級的網路可以擁有幾個可分配的 IP?
ANS:淡江大學為 163.13.xxx.xxx 網路,其第三組及第四組 byte 共計為 16bit (2x8) 算式=1111111111111111=2^16(bit)=65536 (個 IP 位址) 扣掉 全為 0 及全為 1 的保留位址,剩下 65534 (65536-2) 個可分配的 IP 位址
Application Layer
Presentation Layer
Session Layer
Transport Layer
Network Layer
Data Link Layer
Physical Layer
支援使用者應用程式,如 FTP、e-Mail 等。
轉換兩端應用程式的資料格式,以方便資料交換。
建立不同電腦間之應用程式的連線(交談)管理。
保證封包傳送無誤。切割封包、封包重新編號、流量管制等。
定址、將 IP 轉成 MAC 位址、決定封包傳送路徑。(Router)
將資料轉成”資料框架”(frame)。CRC check. (Switch &Bridge)
將資料轉換為電子訊號、定義 pin 腳數目與功能。(Hub & Repeater)
Application Layer
Transport Layer
Internet Layer
Physical Layer
提供使用者應用程式與傳輸層間的服務介面。
提供主機間的通訊工作階段管理。Ex. TCP, UDP
將資料轉成 IP 封包,用以執行 routing。
定義如何透過網路硬體傳送資料的內容。
Network Concepts
Page 2
肆、 子網路切割(Subnetting)的好處?
ANS:(1)由單一網路分割為多個子網路後,可藉由 Gateway 阻隔不必要的廣播封包,提升效能
(2)由可在不同子網路中,使用不同的拓樸(topology),提高網路的使用彈性。
伍、子網路切割的原理? 以 Class B 之 IP: 180.56.0.1,及 subnet mask: 255.255.0.0 為例
ANS:(1)將原來最左邊的「主機識別碼」借 n 個位元給「網路識別碼」使用,以借 2 個位元為
例,可分成四個子網路,分別是 00、01、10、11。
(2)則四個子網路遮罩分別是:
11111111 11111111 00000000 00000000 => 255.255.0.0
11111111 11111111 01000000 00000000 => 255.255.64.0
11111111 11111111 10000000 00000000 => 255.255.128.0
11111111 11111111 11000000 00000000 => 255.255.192.0
陸、 常見的 TCP Port Number:
Port Number Description 20, 21 FTP
23 Telnet
25 SMTP
80 HTTP
110 POP3
柒、 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
攻擊並不會讓電腦內部資料遭到竊取或修改,而是以癱瘓主機為目的。
Network Concepts
Page 3
Full Duplex / Half Duplex:
全雙工是指資料可同時雙向傳送;半雙工則是在同一時間內,資料只能往單一方向移動。
Fault Tolerant:
容錯系統,指同樣的工作由兩套電腦系統來執行,當其中一套系統發生問題時,另一套系
統就會即時取代並繼續執行。
ADSL:
Asymmetric Digital Subscriber Line,中文譯為「非對稱數位用戶迴路」,它是利用傳統電話
線來提供高速網際網路上網服務的調變/解調變(Modulator/De-modulator)技術。ADSL 使用
「聲音」與「資料」分離技術,同樣使用一條電話線,打電話還可以同時上網路。
ISDN:
Integrated Services Digital Network,可在電話線上同時進行聲音、視訊、及資料的傳輸,整
合了類比與數位訊號的能力。由 2 個 B channel (數據資料通道)與一個 D channel (控制資料
通道)所組成。
IP:定義傳輸資料的基本單位 Datagram,並執行 Routing 功能,選擇最佳路徑。
TCP:
傳輸控制協定,TCP 是點對點的通訊協定標準,它使用 connection-oriented 模式,用以確保
IP 封包資料的正確性。
SNMP:
Simple Network Management Protocol,此服務是用來提供 TCP/IP 網路上某些主機或網路設
備的狀態資訊。
Subnet Mask:
用 AND 運算來辨別某 IP 位址是否位於相同的網路區段 (即檢查是否有相同的「網路識別
碼」)。若該 IP 的「網路識別碼」與目的 IP 位址不同,則表示兩個主機在網路上的資料傳
輸需要透過 Gateway 來轉送。
WINS:
Windows Internet Name Service,用來將電腦的 NetBIOS 名稱解析出對應的 IP 位址,讓使用
者可以直接利用電腦名稱來存取網路資源,而不用記憶 IP 位址。
網路識別碼(network)vs.主機識別碼(host):
前者是用以識別該 IP 位址是否屬於同一網路區段;後者則是用來識別該網路區段中的每個
TCP/IP 主機節點(node)。
5-4-3 原則:
每個 Ethernet 最多只能使用 4 個 Repeater (or Hub),所以會形成 5 個區段,但只有 3 個區段
可以連接電腦,另兩個區段不能連接電腦,只能用來延伸距離。
Reapter:增強訊號以提供更遠的網路傳輸距離。(OSI: Physical Layer)
Hub:提供多 Port 給多台電腦同時使用,在任何時間只能有一對 Port 在傳輸資料,因此又
稱為”頻寬共享式集線器” (Shared Hub)。(OSI: Physical Layer)
Switch:通常又稱 Layer 2 Switch 或 Switch Hub,簡稱 Switch。它會記憶 MAC 位址,並決
定將封包送往何處,效能較高。(OSI: Data Link Layer)
Router:可阻隔廣播封包並將資料封包以最佳的路徑轉送到目的地。可連接不同的網路架構。
Computer Concepts
Page 4
壹、 BIOS 問題聲響判讀:
AMI BIOS 1 短: DRAM 更新錯誤
2 短: DRAM ECC 檢查錯誤
3 短: DRAM 檢查失敗
5 短: CPU 錯誤
6 短: 鍵盤錯誤
8 短: 顯示卡記憶體錯誤
9 短: ROM 錯誤
1 長 3 短: DRAM 損壞
1 長 8 短: 顯示卡或螢幕有問題
AWARD BIOS 1 短: 系統啟動正常
2 短: CMOS 設定錯誤
1 長 1 短: DRAM 錯誤
1 長 2 短: 顯示卡或螢幕連接錯誤
1 長 3 短: 鍵盤錯誤
1 長 9 短: ROM 錯誤
不斷長響: DRAM 未插好
不停急響: 電源有問題
貳、 什麼是 SCSI?
"Small Computer systems Interface" (小型電腦系統介面),這這是一個連接電腦周邊設備的硬
體與軟體標準協定。以下是目前 SCSI 技術的傳輸速率比較一覽表:
壹、 SCSI-1 5MB/Sec 8 bit SCSI Bus 貳、 SCSI-2 5MB/Sec 8 bit SCSI Bus 參、 SCSI-2 Fast 10MB/Sec 8 bit SCSI Bus 肆、 SCSI-2 Fast Wide 20MB/Sec 16 bit SCSI Bus 伍、 SCSI Ultra 20MB/Sec 8 bit SCSI Bus 陸、 SCSI Ultra Wide 40MB/Sec 16 bit SCSI Bus 柒、 Ultra2 Wide 80MB/sec 16 bit SCSI Bus * 捌、 Ultra160 (Ultra3) Wide 160MB/sec 16 bit SCSI Bus ** 玖、Ultra320 (Ultra3) Wide 320MB/sec 16 bit SCSI Bus ***
Computer Concepts
Page 5
參、 1’S 與 2’S complement:
1 的補數: 01;10 2 的補數: 01;10,最後一位還要加 1
補數類型 Sign Bit 大數 – 小數
=大數 + (-小數) 小數 – 大數
=小數 + (-大數)
1’S 不考慮
Ex. 1101-0100 = 1001 1. 將「小數」轉為補數型態(1011) 2. 將「大數」+「小數的補數」 3. 若有進位,將其累加至個位
Ex. 0100-1101 = -1001 1. 將「大數」轉為補數型態(0010) 2. 將「小數」+「大數的補數」
(不會進位,所以答案先加”負號”) 3. 將上述運算結果以 1’s 還原。
2’S 考慮
Ex. 1101-0100 = 1001 1. 將「小數」轉為補數型態(1100) 2. 將「大數」+「小數的補數」 3. 若有進位,將其捨棄。
Ex. 0100-1101 = -1001 1. 將「大數」轉為補數型態(0011) 2. 將「小數」+「大數的補數」 3. 將上述運算結果以 2’s 還原。
肆、 數位系統轉換:
1. 10 進位轉 2 進位、轉 8 進位、轉 16 進位:整數部份用倒除法 (餘數定理)
Ex. (10.25)10 = ( 1010.01 ) 2
整數部份=(1010) 2
小數部份 [直至小數為零止]
=0.25 x 2 = 0.50 =0.50 x 2 = 1.0
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
7. 8 進位轉 16 進位:先轉 2 進位,再轉 16 進位
Ex. (12.2)8=(1010.010)2 = (A.4)16
Computer Concepts
Page 6
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
10. 16 進位轉 8 進位:先轉 2 進位,再轉 8 進位
Ex. (A.4)16=(1010.010)2 = (12.2)8
伍、 BCD 碼:指每個”十進位數”,都用 4 個 bit 的”二進位數”表示。 Ex. (123)10 的 BCD 碼 = 0001 0010 0011 Ex. BCD 碼 101 0011 轉十進位 = (53)10
陸、 ASCII 碼:American Standard Code for Information Interchange 1. ASCII 碼有 7 個 bit,全部共 27 個字碼,即 0~127 個。 2. ASCII 重要內碼:’0’=48;’A’=65;’a’=97
柒、 色彩系統: 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 0 進 位 表 示 109 106 103 10-3 10-6 10-9
2 進 位 表 示 230 220 210
玖、 ROM & RAM: ROM 有 Mask ROM 與 PROM(Programmable)兩種,兩種都是寫入資料後便無法再改變。
EPROM(Erasable)與 EEPROM 兩種都可以重覆修改資料,前者需取下用紫外線照射。
RAM 有 DRAM 與 SRAM 兩種,前者需不斷以 refresh 供電以維持資料,後者速度較快。
壹拾、 計算機五大部門: (1)輸入部、(2)輸出部、(3)控制單元(CU)、(4)儲存單元(MU)、(5)運算邏輯單元(ALU) * 運算邏輯單元(ALU) = 真正處理資料的地方,負責所有的計算與比較工作。 * 控制單元 = 用來控制、選取與分析指令,並監督其執行。
Computer Concepts
Page 7
壹拾壹、 計算機定址法: 計算機組織通常包括: (1)資料匯流排:指 CPU 與記憶體或 I/O 裝置,進行雙向的資料傳輸。 Ex. 一般 32 位元的電腦,即指具有 32 條資料傳輸線的「資料匯流排」。 (2)位址匯流排:表 CPU 最大的記憶體定址能力。訊號僅能由 CPU 單向傳輸。 Ex. 8086 的位址匯流排有 20 條傳輸線,則可定址到 220Bytes=1MB。 (3)控制匯流排:指 CPU 與 I/O 裝置間的控制訊號,每條線亦是單向傳輸。(通常為一組)
壹拾貳、 CPU 排程: FCFS (First Come First Serve):
依照 Queue 中的工作等待順序,讓先到達的工作先進行處理。處理完後才執行下一個工作。
RR (Round Robin):
以 FCFS 為原則,但每個工作都必須在指定時間配額內完成,否則就要再到 Queue 等候。
SJF (Shortest Job First):
以時間最短的工作為第一優先處理。此法的平均等待時間最短。
EX: 假設 process A, B, C, D 分別需要 CPU 時間 10, 8, 6, 4,若以 FCFS 排程執行,每個 process
需等待時間多久?平均等待時間又是多久?
Ans1: A=0、B=10、C=10+8=18、D=18+6=24
Ans2: (0+10+18+24)/4=52/4=13
壹拾參、 記憶體配置法: 先適法 (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
Computer Concepts
Page 8
壹拾伍、 HTML & Server-sided scripting languages
【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%>
Computer Concepts
Page 9
【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; }?>
Computer Concepts
Page 10
壹拾陸、 資料結構:
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-*/
壹拾柒、 計算機硬體名詞解釋:
PIO (Programmed Input/Ouput) mode:
當 CPU 參與磁碟機讀取或寫入記憶體動作時,所能達成的速度規格。PIO MODE 4 16.6 MB/s
容錯(Tolerant):
當系統的一部份失效時,該系統仍可繼續運作的能力。
RAID (Redundant Arrays of Inexpensive Disks):
磁碟陣列是由多個磁碟所共同組成。依據 RAID 等級的不同,資料通常被寫入到一個以上的
磁碟,用以增進效能或可靠性。
RAID 等級說明:(RAID 0 是最佳效能)
等級 0 =等量磁區,結合多個實體磁碟的可用空間,成為一個大型的邏輯磁區。[無容錯功能]
等級 1 =鏡像磁區,由一顆主要磁碟與另一棵次要磁碟所組成,所有寫入主要磁碟的資料也
會同時被寫入(mirror)至次要磁碟上,以確保資料的安全性。寫入慢、讀出快。
等級 5 =具同位檢查的等量磁區,將資料寫入多個磁碟所組成的大型邏輯磁區時,RAID 5
會將同位檢查資訊一併寫入至各個硬碟。日後若有任一磁碟損毀時,便可利用同位
檢查資訊將資料救回。寫入及讀出的效能都比較差,且需要三個以上的硬碟。
綠色電腦:
具有(1)省電、(2)低噪音、(3)低污染、(4)低幅射、(5)可回收、(6)符合人體工學,六項特性。
磁碟的存取時間=(Seek Time) + (Rotation Time) + (Data Transfer Time)
Sector (磁區)為磁碟的基本儲存單位;每一個磁軌的容量皆相同。
Computer Concepts
Page 11
玖、 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 點),而其缺點能在各種不同的層次獲得彌補。
Computer Concepts
Page 12
6. XML 很新,但也沒有那麼新 XML 的發展是從 1996 年開始的,而從 1998 二月開始成為 W3C 的標準。 XML 的前身是
SGML,從 80 年代初期就開始發展了,自 1986 年起成為 ISO 的標準,而且被廣泛地運用在各
種大型的文件計畫中。XML 的設計者只是將 SGML 最精華的部份萃取出來,再依照 HTML 的
發展經驗,產生出一套威力強大且使用上非常規則且簡單的語言。
壹拾、 OOT (物件導向)的觀念:
以小明為例,小明是一個人,小明是一個物件(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):一般而言,物件是透過 class 所定義出來的,OO 允許 user 利用已經定義好
的 class 再去定義其它 class,新定義出的 class 稱為 subclass,原來的 class 稱為 superclass;
subclass 會繼承 superclass 的所有狀態(variable)與行為(method)。
有時候 subclass為了要增強它繼承的某些功能或是改變某些動作,子類別可以利用override
的方式覆蓋掉繼承自 superclass 的 method,提供自我詮釋的 method。
繼承(Inherit) 的好處:Reusability(可再利用性)。
變數視野:分成以下四類:
成員變數:(class 所宣告的 variable;scope 在 class 的範圍中)。
區域變數:(method 所宣告的 variable;scope 在 class 的 method 範圍中)。
類別成員的存取控制:
private:只有同一 class 內的成員可以存取。這類的類別是無法被實體化(產生物件)。
Computer Concepts
Page 13
protected:允許同一 class、同一 package 與其子類別(可以為不同 package)的成員存取。只有此類別的後代才能夠進行物件的建立。
public:所有 package 的成員都可以存取。任何類別都可以建立這樣的物件。 package (default):同一 package 內的成員可以存取。只有同一 packet 下的 class 才能
建立這樣的物件。 Example2:
class Sample extends Object {
int ivar1; int ivar2;
Sample(int i, int j)
{ivar1 = i;
ivar2 = j;}
int emptyMethod() {}
...
}
壹拾壹、 演算法範例
VB array 當我們宣告一個 X(2)的陣列時,表示這個陣列一共可以儲存三個變數(0~2)
陣列變數名稱 資料儲存順序 陣列資料內容
0 X(0)=資料 a
1 X(1)=資料 b X
2 X(2)=資料 c
99 乘法表
Bubble Sort
Binary Search
壹拾貳、 Virus & Hacker
Computer Concepts
Page 14
壹拾參、 補充
10 進位 2 進位 16 進位
0 0000 0
1 0001 1
2 0010 2
3 0011 3
4 0100 4
5 0101 5
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 ※主要的三種數字系統對照表
※各式數字系統轉換對映表
To From
10 進位 2 進位 8 進位 16 進位
10 進位 餘數 餘數 餘數
2 進位 基數 目視法 目視法
8 進位 基數 目視法 目視法
16 進位 基數 目視法 目視法
Computer Concepts
Page 15
壹拾肆、 Linux
I. Device name & partition:
Disk Drive Device Name Partitioning Description
/dev/hda1 1st partition on /dev/hda IDE1 (Master drive) /dev/hda
/dev/hda2 2nd partition on /dev/hda
/dev/hdb1 1st partition on /dev/hdb IDE1 (Slave drive) /dev/hdb
/dev/hdb2 2nd partition on /dev/hdb
IDE2 (Master drive) /dev/hdc N/A N/A
IDE2 (Slave drive) /dev/hdd N/A N/A
SCSI (1st hard disk) /dev/sda N/A N/A
SCSI (2nd hard disk) /dev/sdb N/A N/A
Floppy drive /dev/fd0 N/A Use “mount /dev/fd0 /mnt/floppy”
CD-ROM drive /dev/cdrom N/A Use “mount /dev/cdrom /mnt/cdrom”
建立 quota 設定,或自動掛載(mount)分割區/光碟/軟碟的設定檔:/etc/fstab 若是設定 quota,修改/etc/fstab 後,還要執行 >quotacheck –ugavm,再重開機
II. Linux 系統或伺服器的設定檔名稱:
/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。
Computer Concepts
Page 16
III. Linux 系統-重要目錄介紹
/bin: 系統指令,系統公用程式(cp, mv, dmesg, kill, rm, ping etc.)與各式 shell。 /boot: 系統啟動時必須讀取的核心檔案。 /dev: 各式週邊代號的檔案。Ex. /dev/hda、/dev/tty0 /etc: 各式系統設定檔。 /etc/rc.d: 本目錄包含了「開機」及「關機」時所執行的 script 檔案。 /home: 放置使用者帳號的根目錄。 /lost+found: 系統磁碟發生異常時,修復或找回的檔案片段。 /mnt: 系統預設有/mnt/cdrom 與/mnt/floppy 兩個目錄,供光碟及軟碟的掛載點。 /root: system admin.的專用目錄,亦為 root 的 home directory。 /sbin: 存放啟動系統所需的程式。如 grub、lilo、fsck 等。 /usr: 用來存放使用者使用的系統指令、應用程式等檔案。 /usr/bin: 用來存放使用者可執行的指令(finger, find, grep… etc.)。 /usr/man: 用來存放線上說明文件。 /var: 系統執行時,暫時檔所存放的目錄。(Apache &FTP 專用目錄也在此)
IV. 檔案系統與目錄權限
ext2 & ext3 檔案系統所使用的檔案結構稱為 inode(index node),其可用來記錄檔案類型、大小、權限、擁有者等屬性。
directory : drwx------ owner grpname 4094 6 月 8 21:16 Desktop
file : -rw-r--r-- owner grpname bytes date time test.txt 隱藏檔:若是一個檔案名稱的開頭含有句點“.”,表示此檔為隱藏檔。 改變檔案/目錄權限:chmod [–R] 777 filename/dirname (-R 表啟動遞迴處理)
rwx rwx rwx 可用 777 表示 (r=4 w=2 x=1)
usr grp other Ex1. > chmod 754 test.txt 結果等於 -rwx r-x r-- owner grpname bytes date time test.txt
u g o (u=usr, g=group, o=other) Ex2 > chmod u=rx, g+w, o-r test.txt 結果等於 –r-x rwx --- owner grpname bytes date time test.txt
改變檔案/目錄擁有者:chown [–R] NewUser filename/dirname 改變檔案/目錄群組名:chgrp [–R] NewGroup filename/dirname Hard link:ln /var/temp/srcfile newfile
1. 連結後,不會改變原檔案的擁有者 2. 連結後,兩者的 inode 是一樣的。
Symbolic link:ln –s /var/temp/srcfile newfile 1. 連結後,檔名會變成 newfile->srcfile 2. 連結後,檔案權限的最前面會有一個”l”符號,Soft link 會多佔一個 inode
Hard link 需在同一磁區中,且無法適用在目錄上;Symbolic link 則無此限制。
Computer Concepts
Page 17
V. Linux 系統開機重要關鍵:
載入 Kernel:可執行 /var/log/dmesg 瀏覽所有開機訊息。 執行/sbin/init,並根據/etc/inittab 的內容,決定 Run Level。
RunLevel Description 0 關機 (Halt)
1 單人模式
2 簡易多人模式,無 NFS (Network File System)
3 完整多人模式,文字介面
4 (Reserved)
5 完整多人模式,X11 圖形介面 (default)
6 重新開機 (Reboot)
執行/etc/rc.d/rc.local:可自行指定開機時欲執行的檔案,功能類似 autoexec.bat。
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
VIII. Common Linux Commands: 建立開機片:mkbookdisk `uname –r` (uname=Kernel Version) 關機:shutdown [-arkhncfF] [-t secs] time [warning message]
1. shutdown –h now (-h=halt,立刻關機)
2. shutdown +5 “System will shutdown after 5 minutes!” 3. shutdown –r now (立即關機後再重開機, reboot) 4. shutdown –r 23:59 & (於背景指定時間進行重開機動作) 5. shutdown –k 3 “Warning, system is going to shutdown!” (只送訊息而不關機)
Computer Concepts
Page 18
重新啟動: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 程序)
Computer Concepts
Page 19
IX. Default text editor – vim (PS: “pico” is much easier than vim)
Normal mode:按 ESC 鍵 (default) 1. 按 h 鍵=游標左移一格 (Keyboard layout: H J K L) 2. 按 l 鍵=游標右移一格 3. 按 j 鍵=游標下移一行 4. 按 k 鍵=游標上移一行
Insert mode: 1. 按 a 鍵=從游標後面插入 2. 按 i 鍵=從游標位置插入 3. 按 o 鍵=新增一行, 游標移到行首
Command-line mode:按 : 鍵 1. 按 a 鍵=從游標後面插入 2. 按 i 鍵=從游標位置插入 3. 按 o 鍵=新增一行, 游標移到行首 4. 按 w 鍵=儲存檔案 5. 按 q 鍵=離開 vim (需先存檔) 6. 按 q! 鍵=強制離開 vim,不存檔 7. 按 wq 鍵=存檔後離開 vim。