第二次寒假作业
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzzcxy/2023learning |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzzcxy/2023learning/homework/12898 |
这个作业的目标 | <有所收获> |
github地址:
学习记录:
1.软件工程
软件工程:
系统化、工程化的构建复杂软件系统
案例:大型软件系统Microsoft的office——千万行代码——数十万函数——数万对象
开发:编码、调试、文档
2.编码
编码工具:
类记事本 和 IDE集成开发环境(文本编辑、文件管理)
编码方式:
面向对象编程—将变量、函数、对象封装到对象中;选择性的公开内容;对象配合实现复杂程序功能
站在巨人的肩膀上:
API(提供给外界的访问的函数) & API文档(函数功能和使用说明书)
编程语言:
CPP、C#、Objective-C、Python、Java等面向对象编程语言
readme:
代码外的独立说明文件
3.操作系统与文件系统:
操作系统(OS)
操作系统也是一种程序,是管理计算机硬件与软件资源的计算机程序
设备驱动程序
内核模块,负责管理硬件设备的底层 I/O 操作。
多任务处理
多个程序在单个CPU上同时进行
动态内存分配
虚拟内存的机制使程序的内存大小可以灵活增减,叫做“动态内存分配”,对程序来说,内存看上去是连续的。
4.计算机网络
局域网LAN:
计算机间近距离构成的小型网络。1950-1960年代,第一种计算机网络,用途:公司或研究室内部信息交换
特点:比搬运纸卡或磁带更快速可靠 & 可共享物理资源
典型局域网:1970年代施乐“帕洛阿尔托研究中心Xerox PARC”开发的以太网
【简单网络】所有设备共享信道,借助MAC地址(媒体访问控制地址)局域网中定位
因特网:
使用TCP/IP协议族控制数据传输的互联网
数据交换方式
IP数据报/分组:因特网中数据交换基本单位
【UDP】无连接,开销小,网络质量要求低,数据最大限度送达
【TCP】建立连接,开销大,网络质量要求高,所有数据全部送达
阻塞控制:平衡网状结构中不同节点上的负载,确保数据传输快速可靠
域名系统
域名相比IP更适合人类记忆和使用
万维网:
万维网World Wild Web:因特网中使用最多的网络服务,基于浏览器(客户端)-服务器架构
1990年Tim Berners-Lee建立第一个浏览器和服务器。1991年发布——万维网建立
web网页:万维网基本单位——单个页面,包含文字、图像、视频等 和链接到其它页面的超链接
HTML:超文本标记语言,用于内容组织和网络传输,可由浏览器渲染为web页面
URL:统一资源定位符号,唯一标识万维网中的网页。便于浏览器访问
HTTP:超文本传输协议,客户端和服务器端基于请求和响应交换数据
状态码:HTTP协议中,用于表示数据交换状态 :200—正常 、404—请求资源不存在、500—服务器内部错误
5.计算机安全
计算机安全概念:
保护系统和数据
【保密性】:只允许有权限的人读取系统和数据——查
【完整性】:只允许有权限的人使用和修改系统和数据——增删改
【可用性】:有权限的人可随时访问系统和数据——正常访问
威胁模型:
某种计算机安全威胁(能力、目标、手段(攻击矢量))的应对策略
如何确保软件硬件可信?
系统开发——构建安全内核/可信计算机基础(最小化代码,减少系统软件,达到可验证安全性)
软件开发——减少漏洞影响(发现漏洞立即修复 最小化程序被攻破后损害)
代码检验——独立安全检查和质量验证(安全行业软件开发者审计代码)+ 开源(让所有开发者提issue)
安全组织——类似年度的拉斯维加斯DEF CON安全大会,安全专家集中交流分享想法
隔离运行——内存隔离 + 文件隔离 + 网络隔离,类似沙盒、虚拟机、防火墙,限制程序影响范围
6.机器学习和人工智能
计算机:擅长获取、处理、整理、存储大量数据
机器学习:让计算机在数据中学习,然后自行做出预测和决定
人工智能:研究智能实质,生产开发一种新的能以人类智能相似的方式做出反应的智能机器
机器学习模型:获取训练数据→搭建分析模型→训练→评估模型效果
不同机器学习模型差异在于分析模型不同
- 监督学习:数据有标签标记特征、直接反馈、用于预测结果和未来趋势——分类问题
基统计学的决策树、支持向量机等构建分析模型的输入和输出
- 无监督学习:无标签/目标、无反馈、寻找数据中隐藏结构——识别问题
基于人类大脑神经元构建人工神经网络
-
强化学习:存在决策过程、奖励机制、不断学习进步
-
强人工智能:接近人类智能,像人一样适合多种场景和任务。目前没有实现
-
机器学习和人工智能应用:人脸识别、自动驾驶、智能翻译……
**《计算机导论》课程学习思维导图