2024-2025-1 20241411王思棋《計算機基礎與程式設計》第十一週學習總結

王思棋發表於2024-12-08

作業資訊

|這個作業屬於哪個課程|https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP
|
|
-- |-- |
|這個作業要求在哪裡|https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP
|
|
這個作業的目標|計算機網路、網路拓撲,雲端計算,網路安全,Web, HTML,CSS,Javascript,XML|
|作業正文|https://www.cnblogs.com/wangsiqi828828/p/18593415
|

教材學習內容總結

一、計算機網路
(一)基本概念
計算機網路是將地理位置不同的具有獨立功能的多臺計算機及其外部裝置,透過通訊線路連線起來,在網路作業系統,網路管理軟體及網路通訊協議的管理和協調下,實現資源共享和資訊傳遞的計算機系統。
(二)分層結構
OSI七層模型
物理層:主要處理物理介質上的訊號傳輸,如電纜、光纖等,規定了物理連線的機械、電氣、功能和規程特性,像RJ - 45介面標準就屬於物理層的範疇。
資料鏈路層:負責將物理層接收到的訊號轉換為資料幀,並進行錯誤檢測和糾正。例如乙太網協議中的MAC地址就用於在資料鏈路層標識裝置。
網路層:主要功能是進行路由選擇和分組轉發,使資料能夠從源節點傳輸到目標節點。IP協議是網路層的核心協議,它為每個裝置分配唯一的IP地址用於定址。
傳輸層:提供端到端的通訊服務,確保資料的可靠傳輸。TCP和UDP是兩種常見的傳輸層協議,TCP提供可靠的、面向連線的服務,而UDP提供不可靠的、無連線的服務。
會話層:用於建立、管理和終止會話,協調不同主機上各種程序之間的通訊。例如在遠端登入過程中,會話層就負責建立和維護會話。
表示層:主要處理資料的表示、轉換和加密等功能。比如將資料從一種編碼格式轉換為另一種格式,以滿足不同系統的需求。
應用層:直接為使用者的應用程式提供網路服務,如HTTP用於網頁瀏覽,SMTP用於電子郵件傳送等。
TCP/IP四層模型:是實際應用中更常用的模型,它將OSI模型進行了簡化。包括網路介面層(對應OSI的物理層和資料鏈路層)、網路層、傳輸層和應用層。
(三)網路裝置
路由器:工作在網路層,用於連線不同的網路,根據IP地址進行路由選擇和資料轉發。
交換機:主要工作在資料鏈路層,透過MAC地址學習來轉發資料幀,能夠提高網路的頻寬利用率和效能。
集線器:工作在物理層,將多個裝置連線起來,對訊號進行放大和再生,但所有裝置共享頻寬,容易產生衝突。
二、網路拓撲
(一)基本概念
網路拓撲是指用傳輸媒體互連各種裝置的物理佈局,就是用什麼方式把網路中的計算機等裝置連線起來。
(二)常見拓撲結構
匯流排型拓撲:所有裝置都連線到一條匯流排上,資料在匯流排上以廣播的形式傳輸。優點是結構簡單、成本低;缺點是匯流排出現故障時整個網路癱瘓,並且隨著裝置增加效能會下降。
星型拓撲:以中央節點(如交換機)為中心,其他裝置都連線到中央節點。這種結構易於維護和管理,某個節點故障不會影響其他節點,但中央節點一旦出現故障,整個網路將無法工作。
環型拓撲:裝置透過通訊線路連線成一個閉合的環,資料沿著環單向傳輸。優點是傳輸延遲固定,缺點是某個節點故障會導致整個網路故障,重新配置較複雜。
樹型拓撲:是一種層次化的結構,它是由多個星型拓撲組成的。易於擴充套件,故障隔離較容易,但根節點出現故障會影響整個網路。
網狀拓撲:每個節點都與其他多個節點直接相連,可靠性高,但成本高、配置複雜,常用於對可靠性要求極高的網路,如軍事網路等。
三、雲端計算
(一)基本概念
雲端計算是一種透過網際網路提供計算服務的模式,包括計算資源(伺服器、儲存、網路等)、軟體和平臺等,使用者可以根據需要按需使用這些資源,而無需自己構建和維護複雜的IT基礎設施。
(二)服務模式
IaaS(基礎設施即服務):提供基礎的計算資源,如虛擬機器、儲存和網路等。使用者可以在這些基礎資源上安裝作業系統和應用程式,就像租用伺服器一樣,例如亞馬遜的EC2。
PaaS(平臺即服務):除了提供基礎設施外,還提供了開發和部署平臺,如作業系統、資料庫、中介軟體等。開發者可以在這個平臺上快速開發和部署應用程式,像谷歌的App Engine。
SaaS(軟體即服務):直接提供軟體應用給使用者,使用者透過瀏覽器等方式使用軟體,無需安裝和維護軟體本身。例如線上辦公軟體Office 365。
(三)部署模式
公有云:由雲服務提供商提供雲端計算服務給多個使用者,這些使用者共享雲服務提供商的資源,成本低但安全性和隱私性相對較弱。
私有云:企業自己構建和維護的雲端計算環境,僅供企業內部使用者使用,安全性和隱私性高,但成本也高。
混合雲:結合了公有云和私有云的特點,將企業的關鍵業務放在私有云,非關鍵業務放在公有云,既能保證安全性又能降低成本。
四、網路安全
(一)基本概念
網路安全是指透過採取一系列措施來保護網路系統中的硬體、軟體和資料免受各種威脅,如未經授權的訪問、破壞、篡改和洩露等。
(二)常見威脅
病毒:一種能夠自我複製並傳播的惡意程式,會破壞計算機系統或竊取資料,如CIH病毒。
木馬:偽裝成正常軟體,當使用者執行時,會在後臺執行惡意操作,如竊取使用者的賬號密碼,灰鴿子木馬就是典型的例子。
蠕蟲:可以透過網路自動傳播的程式,佔用網路頻寬和系統資源,如衝擊波蠕蟲。
DDoS(分散式拒絕服務攻擊):攻擊者利用多個計算機(殭屍網路)同時向目標伺服器傳送大量請求,導致伺服器無法正常提供服務。
(三)安全措施
防火牆:位於內部網路和外部網路之間,用於控制網路訪問,允許合法的流量透過,阻止非法的流量。
加密技術:包括對稱加密(如AES演算法)和非對稱加密(如RSA演算法),用於對資料進行加密,保證資料在傳輸和儲存過程中的安全性。
入侵檢測系統(IDS)和入侵防禦系統(IPS):IDS用於檢測網路中的入侵行為,IPS則可以在檢測到入侵行為時主動採取措施進行防禦。
五、Web
(一)基本概念
Web(全球資訊網)是一個透過網際網路訪問的、由許多互相連結的超文字組成的系統,是網際網路提供的一種服務,使用者可以透過瀏覽器訪問各種網頁資源。
(二)工作原理
客戶端 - 伺服器模型:客戶端(瀏覽器)向伺服器傳送請求(如請求一個網頁),伺服器接收到請求後,根據請求的內容查詢相應的資源,並將資源傳送回客戶端。
HTTP協議:超文字傳輸協議,是Web的核心協議,用於在客戶端和伺服器之間傳輸資料。它定義了請求和響應的格式,如請求方法(GET、POST等)、狀態碼(200表示成功,404表示未找到資源等)。
(三)網頁型別
靜態網頁:內容是固定的,由HTML編寫,當客戶端請求時,伺服器直接傳送預先編寫好的網頁內容,不需要進行額外的處理。
動態網頁:內容是根據使用者請求或其他因素動態生成的,通常結合伺服器端指令碼語言(如PHP、ASP.NET等)和資料庫來實現,能夠提供更豐富的功能,如使用者註冊、登入、資訊查詢等。
六、HTML、CSS、JavaScript
(一)HTML(超文字標記語言)
基本概念:用於構建網頁的結構,透過各種標籤來定義網頁中的元素,如<html>標籤表示整個網頁,<body>標籤包含網頁的可見內容,<h1> - <h6>標籤用於定義標題等。
標籤屬性:每個標籤可以有多個屬性,用於進一步定義元素的特性。例如<img>標籤的src屬性用於指定影像的來源,alt屬性用於在影像無法顯示時提供替代文字。
文件結構:一般包括文件型別宣告()、<html>標籤、<head>標籤(用於包含文件的後設資料,如標題、樣式表引用等)和<body>標籤。
(二)CSS(層疊樣式表)
基本概念:用於控制網頁的外觀和佈局,透過選擇器選擇HTML元素,併為其定義各種樣式屬性,如顏色、字型、大小、邊距等。
樣式規則:由選擇器和宣告塊組成,選擇器指定要應用樣式的HTML元素,宣告塊包含一個或多個樣式屬性和值,例如p {color: red; font - size: 16px;}表示將段落(

)元素的顏色設定為紅色,字型大小設定為16畫素。
引入方式:可以透過內聯樣式(在HTML標籤內使用style屬性)、內部樣式表(在HTML文件的<head>標籤內使用<style>標籤)和外部樣式表(透過<link>標籤引用外部的.css檔案)三種方式將CSS應用到HTML文件。
(三)JavaScript
基本概念:是一種指令碼語言,用於為網頁新增互動功能,如表單驗證、動畫效果、響應滑鼠和鍵盤事件等。
變數和資料型別:包括基本資料型別(如數字、字串、布林值等)和複雜資料型別(如物件、陣列等),可以透過varletconst等關鍵字來宣告變數。
函式和事件處理:函式用於封裝一段可重複執行的程式碼,事件處理則用於響應網頁上的各種事件,如onclick(滑鼠點選事件)、onload(頁面載入事件)等。例如,function myFunction() {alert("Hello!");}定義了一個函式,當透過<button onclick="myFunction()">點選我</button>呼叫時,會彈出一個包含“Hello!”的對話方塊。
七、XML(可擴充套件標記語言)
(一)基本概念
XML是一種用於儲存和傳輸資料的標記語言,它的設計目的是具有自我描述性,能夠方便地表示各種複雜的資料結構。
(二)語法規則
標籤:XML使用自定義的標籤來描述資料,標籤必須成對出現(有開始標籤和結束標籤),或者是自閉合標籤。例如<book><title>計算機網路基礎</title></book>
屬性:標籤可以有屬性,用於提供關於元素的額外資訊,屬性值必須用引號括起來,如<book id="001" category="計算機">
文件結構:必須有一個根元素,所有其他元素都必須包含在根元素內部。
(三)應用場景
資料儲存:可以作為一種輕量級的資料儲存格式,用於儲存配置資訊、日誌檔案等。
資料交換:在不同的系統之間交換資料,因為它具有良好的可讀性和通用性,許多系統都能夠解析和生成XML資料。

教材學習中的問題和解決過程(先問 AI)

  • 問題1:使用字串指標和字元陣列來儲存字串有什麼區別?
  • 問題1解決方案:
  1. 儲存位置與記憶體分配
    • 字元陣列在棧上分配一塊連續的記憶體來儲存字串,大小在定義時確定,可能出現緩衝區溢位問題。字串指標變數在棧上,它指向的字串通常在只讀資料段,不能直接修改其指向的常量字串內容,指標可以重新指向其他字串。
  2. 初始化方式
    • 字元陣列可以在定義時用字元逐個初始化或用字串字面量初始化,未初始化時元素值不確定。字串指標通常在定義時指向一個已有字串,未初始化的指標可能導致程式崩潰。
  3. 作為函式引數傳遞的行為
    • 字元陣列作為引數傳遞的是首地址,函式內部可以修改陣列元素。字串指標作為引數傳遞也是地址,但如果指向常量字串,函式內部修改其內容可能會出錯,若指向動態分配的字串則可以修改。

基於AI的學習

程式碼託管

(statistics.sh指令碼的執行結果截圖)

上週考試錯題總結

  • 錯題1及原因,理解情況
  • 錯題2及原因,理解情況
  • ...

其他(感悟、思考等,可選)

xxx
xxx

學習進度條

|
| 程式碼行數(新增/累積)| 部落格量(新增/累積)|學習時間(新增/累積)|重要成長
|
|
-------- | :----------------😐:----------------😐:---------------: |:-----😐
| 目標 | 5000行 | 30篇 | 400小時 | |
| 第一週 | 200/200 | 2/2 | 20/20 | |
| 第二週 | 300/500 | 2/4 | 18/38 | |
| 第三週 | 500/1000 | 3/7 | 22/60 | |
| 第四周 | 300/1300 | 2/9 | 30/90 | |

嘗試一下記錄「計劃學習時間」和「實際學習時間」,到期末看看能不能改進自己的計劃能力。這個工作學習中很重要,也很有用。
耗時估計的公式
:Y=X+X/N ,Y=X-X/N,訓練次數多了,X、Y就接近了。

參考:軟體工程軟體的估計為什麼這麼難,[軟體工程 估計方法](http://www.cnblogs.com/xinz/archive/2011/04/06/2007294
.html)

  • 計劃學習時間
    :XX
    小時

  • 實際學習時間
    :XX
    小時

  • 改進情況:

(有空多看看[現代軟體工程 課件
軟體工程師能力自我評價表](
http://www.cnblogs.com/xinz/p/3852177
.html))

參考資料

  • 《電腦科學概論(第七版)》
  • ...

相關文章