2024-2025-1 20241411王思棋《计算机基础与程序设计》第十一周学习总结

作业信息

|这个作业属于哪个课程|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))

参考资料

posted @ 2024-12-08 15:07  王思棋  阅读(13)  评论(0编辑  收藏  举报