2024-2025-1 20241403 《计算机基础与程序设计》第十一周学习总结
2024-2025-1 20241403 《计算机基础与程序设计》第十一周学习总结
作业信息
这个作业属于哪个课程 | <班级的链接>(2024-2025-1-计算机基础与程序设计) |
---|---|
这个作业要求在哪里 | <作业要求的链接>(2024-2025-1计算机基础与程序设计第十一周作业) |
这个作业的目标 | 计算机网络 网络拓扑 云计算 网络安全 Web HTML,CSS,Javascript XML |
作业正文 | https://www.cnblogs.com/chenqiqi/p/18593765 |
教材学习内容总结
计算机网络(Computer Networks):
指的是将多个计算机设备通过通信线路相互连接,实现资源共享和信息传递的系统。
包括局域网(LAN)、广域网(WAN)、城域网(MAN)等。
网络协议是网络通信的基础,如TCP/IP协议。
网络拓扑(Network Topology):
描述网络中设备(节点)的物理或逻辑排列方式。
主要的网络拓扑包括总线型、星型、环型、树型和网状型等。
每种拓扑都有其优缺点,适用于不同的应用场景。
云计算(Cloud Computing):
提供按需访问计算资源(如服务器、存储、数据库、网络、软件等)的服务,通常通过互联网。
有三种主要的服务模型:基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。
云计算的优势包括成本效益、灵活性和可扩展性。
网络安全(Cybersecurity):
保护计算机系统和网络免受攻击、损害或未经授权访问的实践。
包括数据保护、风险管理、安全策略和合规性等方面。
常见的网络安全措施包括防火墙、加密、入侵检测系统等。
Web开发技术:
HTML(HyperText Markup Language):网页内容的标准标记语言,用于定义网页的结构和内容。
CSS(Cascading Style Sheets):用于描述HTML元素的表现形式,如布局、颜色、字体等。
JavaScript:一种脚本编程语言,用于实现网页的交互性,如响应用户操作、动态更新页面内容等。
XML(eXtensible Markup Language):一种标记语言,用于存储和传输数据,具有自我描述性,常用于配置文件和数据交换。
教材学习中的问题和解决过程(先问 AI)
-
问题1:什么是NAT技术,它在网络中扮演什么角色?
-
问题1解决方案:
NAT(网络地址转换)技术是一种在私有网络和公共网络(如互联网)之间转换地址的技术。它允许多个设备共享一个公共IP地址来访问互联网,同时保持内部网络的私密性。NAT的主要角色包括:
1.地址节省:减少对全球唯一的IP地址的需求。
2.网络安全:隐藏内部网络结构,减少外部攻击的风险。
3.流量过滤:控制进出网络的数据流,提高网络安全。 -
问题2:什么是DDoS攻击,如何防御?
-
问题2解决方案:
DDoS(分布式拒绝服务)攻击是一种网络攻击,攻击者利用大量受控制的计算机向目标服务器发送请求,使其无法处理合法用户的请求。防御DDoS攻击的方法包括:
1.流量监控:监控网络流量,识别异常流量模式。
2.使用防火墙:配置防火墙规则,过滤恶意流量。
3.DDoS防护服务:使用专业的DDoS防护服务,如云清洗服务。
4.分布式架构:使用分布式架构分散流量,提高抗攻击能力。
基于AI的学习
代码调试中的问题和解决过程
- 问题1:定义结构体是把它放在了主函数里,导致调试时有警告
- 问题1解决方案:定义结构体应该在函数声明和主函数之前,原因如下:
- 可见性和作用域:
在C语言中,如果你在函数内部定义一个结构体,那么这个结构体类型只在该函数内部可见。如果你希望在多个函数之间共享结构体类型的定义,你需要在所有函数都能访问的地方定义它,通常是在所有函数之前。 - 编译单元:
结构体定义需要在编译单元中是可见的,以便编译器可以正确地编译使用该结构体的所有函数。如果结构体定义在某个函数内部,那么它只在该函数的编译单元中可见,这限制了其使用。 - 代码的可读性和维护性:
将结构体定义放在文件的顶部,可以提高代码的可读性和维护性。这样做可以让阅读代码的人快速了解程序中使用的数据结构,而不必深入到具体的函数实现中去查找结构体的定义。 - 避免重复定义:
如果结构体定义在每个使用它的函数中重复出现,这将导致代码冗余和不一致性。将结构体定义放在文件的顶部可以确保整个程序中结构体的定义是一致的。 - 链接和外部引用:
在某些情况下,如果结构体用于不同源文件之间的数据交换,那么它需要在所有相关的源文件中被定义。将结构体定义放在一个头文件中,并在需要的源文件中包含这个头文件,是一种常见的做法。
其他(感悟、思考等,可选)
感悟:课上听懂了,不代表对知识点已经掌握,还需要课下多加练习。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第九周 | 500/4000 | 1/9 | 20/20 | |
第十周 | 500/4500 | 1/10 | 18/38 | |
第十一周 | 500/5000 | 1/11 | 22/60 | |
第十二周 | 0/5500 | 0/12 | 30/90 |