2023-2024-1 学号20231318《计算机基础与程序设计》第十一周学习总结

发布时间 2023-12-10 20:19:48作者: 20231318傅述令

作业信息

这个作业属于哪个课程 2023-2024-1-计算机基础与程序设计
这个作业要求在哪里 2023-2024-1计算机基础与程序设计第十一周作业
这个作业的目标 自学教材《计算机科学概论》第15,16章与《C语言程序设计》第10章并完成云班课测试。
作业正文 2023-2024-1 学号20231318《计算机基础与程序设计》第十一周学习总结

教材学习内容总结

1.《计算机科学概论》第十五、十六章:

第十五章主要介绍了

  • 连网(网络的类型,Internet连接,包交换)
  • 开放式系统与协议(开放式系统、网络协议、TCP/IP、高层协议、MIME类型)
  • 网络地址(域名系统、因特网的控制)
  • 云计算与区块链

第十六章主要介绍了

  • 万维网(搜索引擎、即时消息、博客、cookie、Web分析)
  • HTML(超文本标记语言)和CSS(层叠样式表)(基本的HTML元素,标记的属性,CSS的更多内容,更多的HTML5的元素)
  • 交互式网页(Java小程序,Java服务器页)
  • XML(可扩展标记语言)
  • 社交网络演化

2.《C语言程序设计》第十章:

主要介绍了

  • 字符串字面量
  • 字符串的存储
  • 字符指针
  • 字符串的访问和输入输出(访问字符串中的单个字符,字符串的输入输出)
  • 字符串处理函数
  • 向函数传递字符串
  • 从函数返回字符串指针
  • const类型限定符,字符处理函数,数值字符串向数值的转换。

教材学习中的问题和解决过程

问题1:

    客户/服务器模型和P2P模型的优劣?P2P“下崽器”(下载器)捆绑下载安装的原理是什么?
   解决:通过询问AI,理解了相关的优劣。

    客户/服务器模型
优势:

  1. 中心化管理:客户端通过请求服务器来获取资源或服务,服务器作为中心节点能够集中管理数据和资源。
  2. 安全性:服务器作为集中管理点,可以实施严格的访问控制和安全策略,以保护数据和系统免受未经授权的访问。
  3. 维护简单:由于服务器集中管理资源,系统的维护和更新相对集中,易于管理和维护。

劣势:

  1. 单点故障:服务器故障可能导致整个系统服务不可用,对系统稳定性有挑战。
  2. 性能瓶颈:服务器作为中心节点可能面临性能瓶颈,特别是在面对大量并发请求时。
  3. 网络依赖:客户端需要与服务器建立连接,对网络连接质量有一定要求。

    P2P模型
优势:

  1. 去中心化:节点之间平等交互,无需中心服务器,增强了系统的弹性和鲁棒性。
  2. 资源共享:节点可以共享资源,包括带宽、计算能力和存储空间,提高了系统的效率和灵活性。
  3. 分布式:不依赖单一节点,可以更好地应对单点故障。

劣势:

  1. 安全风险:P2P网络中数据和资源共享可能增加安全风险,需要更复杂的安全策略来保护系统。
  2. 管理复杂性:由于节点分布广泛,管理和维护相对复杂,可能需要更强大的协调机制。
  3. 性能不确定性:系统性能受到网络中其他节点影响,可能存在性能不稳定的情况。

    实际应用要求

  1. 规模和需求:对于小型应用或需要集中管理的情况,客户/服务器模型可能更适合;而对于大规模分布式系统或对鲁棒性要求更高的情况,P2P模型可能更合适。
  2. 安全性要求:对于对安全性要求较高的应用,客户/服务器模型可能更可靠,而P2P模型可能需要更复杂的安全策略。
  3. 性能和可扩展性:客户/服务器模型可能在性能和可扩展性方面更易于管理和控制,而P2P模型可能更灵活和具有弹性。

问题2:

    P2P“下崽器”(下载器)是几乎每一个计算机小白都会遇到的恶心玩意儿,在学习P2P模型时我对其P2P下载和捆绑下载安装的原理很感兴趣,它的原理是什么?

    解决:同上
    P2P下载的一般工作原理

  1. 种子文件(Torrent文件)创建: 一个用户首先创建一个包含有关待下载文件的信息的种子文件,这通常包括文件名、大小、结构和文件块的校验信息(哈希值)等。

  2. 发布种子: 这个种子文件被发布到一个或多个公共或私有的Tracker服务器,Tracker用于帮助协调文件块的下载,但并不传输文件本身。

  3. 节点连接: 用户(下载者)通过P2P客户端软件打开这个种子文件,与Tracker服务器和其他下载者(种子节点)建立连接。

  4. 文件块下载: 用户开始下载文件的不同块,而不是整个文件。下载者同时上传他们已经下载的块给其他下载者。

  5. 上传和下载同时进行: P2P下载是一种互惠的过程。用户下载文件的同时也上传已经下载的文件块,从而共享资源。

  6. 下载完成: 当一个用户下载完整个文件,他们可以选择继续分享这个文件给其他下载者,成为一个种子节点。

P2P下载的优势包括:

  • 高效性: 下载者从多个源获取文件块,提高了下载速度。

  • 分布式: 文件存储在多个节点上,减轻了服务器的负担。

  • 鲁棒性: 即使某个节点离线,其他节点仍然可以提供文件块。

  • 节省带宽: 由于文件块可以从多个节点下载,减少了对单一服务器的带宽需求。

但也需要注意一些潜在的问题,例如:

  • 版权问题: P2P网络常常被用于分享非法或侵权文件。

  • 安全性: 由于P2P网络的去中心化特性,可能存在一些安全风险。

    P2P“下崽”的原理
经过查找得知,P2P“下崽”的实质是:在安装过程中,附加软件通常会被默认勾选,以便用户在不经意间安装这些附加组件。用户如果不仔细选择安装选项,可能会错过这些默认勾选的细节。
而使广大网民深受侵扰的P2P下崽器甚至会直接不给出可勾选的选项,直接默认勾选,实在恶心至极。

基于AI的学习

image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 10篇 300小时
第一周 200/200 1/1 28/28 学会了markdown语法
第二周 100/300 1/2 10/38 学会了使用chatgpt
第三周 150/450 1/3 15/53 学习运用c语言编写简单程序
第四周 150/600 1/4 20/73 学习运用C语言输出数学计算程序,熟悉门电路知识
第五周 120/720 1/5 13/86 学习运用基本的机器语言、汇编语言和伪代码
第六周 180/900 1/6 20/106 学习综合运用分支结构与循环结构
第七周 200/1100 1/7 14/120 学习运用跳转结构与调用函数
第八周 300/1400 1/8 13/133 学习运用一维和二维数组以及基本的指针用法
第九周 250/1650 1/9 18/151 学会了函数指针、指针与数组以及动态内存分配
第十周 350/2000 1/10 19/171 学习了字符串的运用,初步了解了结构体
第十一周 500/2500 1/11 19/190 学习了结构体与共用体,以及链表这一动态数据结构的运用

预计学习时间:18小时
实际学习时间:19小时

参考资料