认识自己的渺小,知识的渊博,保持虚心,好学
程序语言
编程语言
- C语言:一种通用的,面向过程的编程语言,广泛应用于系统软件和嵌入式开发
- C++:在C语言基础上发展而来,支持面向对象编程,常用于游戏开发,高性能计算等领域
- Java:一种广泛使用的面向对象的编程语言,具有跨平台性,应用于企业级应用开发等
- Python:简单易学,拥有丰富的库,适用于数据分析,人工智能,Web开发等
- JavaScript:主要用于网页前端开发,也可用于服务器端开发(Node.js)
- C#:由微软开发,主要用于Windows平台上的应用开发
- Ruby:一种简洁富有表现力的编程语言,常用于Web开发
- PHP:主要用于Web开发,尤其适合服务端脚本编程
- Go:一种高效,简洁的编程语言,适用于网络编程和云计算等领域
- Swift:苹果公司开发的编程语言,用IOS和macOS应用开发
- Kotlin:可与Java互操作,主要用于Android开发
函数式编程语言
- Haskell:纯函数式编程语言,以强大的类型系统和数学上的严谨性著称
- Lisp(包括Common Lisp,Scheme等):历史悠久的编程语言家族,以其高度灵活性和宏系统闻名
- Clojure:运行在Java虚拟机中的Lisp方言,结合了函数式编程和Java平台的优势
数据科学和机器学习领域
- R:在统计分析和数据可视化方面应用广泛
- Julia:设计用于高性能科学计算和数学分析
Web全栈开发
- TypeScript的超集,增加了静态类型检查等特性,提高了大型项目的开发效率
移动开发
- Objective-C:曾经是IOS开发的主要语言,现在逐渐被Swift取代
嵌入式系统开发
- Assembly Language(汇编语言):不同的处理器架构有不同的汇编语言,用于对硬件进行的底层控制
其他
- Pascal:曾经在教学和早期软件开发中有广泛应用
- Delphi(基于Object Pascal):用于快速应用开发
- Scala:融合了面向对象编程和函数式编程,运行在Java虚拟机上
- Elixir:基于Erlang虚拟机,具有高并发和容错性,适合构建分布式系统
操作系统
- ios
- mac
- linux
- windows
- android
- wince
- vxworks
- RT-Thread
windows ,mac,linux,ios这种是非实时操作系统,实时操作系统vxworks,RT-Thread,wince
Q:什么是实时与非实时?
A:我们在操作过程中,比如我们刷新,点一下立马弹出,但是电脑CPU在执行的时候并没有立马执行你的命令,它可能先执行其他的命令再执行你的命令,这就是非实时的
- 非实时操作系统主要致力于在各种情况下提供良好的整体性能,用户体验和多任务处理能力,但不保证在严格的时间限制内对事件作出响应
- 实时操作系统(RTOS), 一种专门设计用于实时应用的操作系统,其关键特性是能够在严格的时间限制内响应外部事件。这类操作系统广泛应用于对时间要求极高的环境,例如嵌入式系统、工业控制、航空航天、医疗设备、汽车电子等
硬件设备
计算机硬件
中央处理器(CPU):计算机的核心部件,负责执行指令和处理数据。它的性能决定了计算机的运行速度。
内存:用于存储正在运行的程序和数据,它的容量和速度对计算机的性能有很大影响。
硬盘:用于长期存储数据,包括操作系统、应用程序、文件等。硬盘的容量和读写速度也是影响计算机性能的重要因素。
显卡:用于处理图形和图像数据,它的性能决定了计算机的图形处理能力。对于游戏玩家和图形设计师来说,显卡的性能非常重要
主板:是计算机的核心电路板,连接着各种硬件设备,如CPU、内存、硬盘、显卡等。主板的质量和性能对计算机的稳定性和扩展性有很大影响。
网络硬件
网络服务器:提供网络服务,如文件存储、电子邮件、Web服务等。网络服务器通常具有较高的性能和可靠性,以满足大量用户的需求
网络存储设备:用于存储网络中的数据,如网络附加存储(NAS)和存储区域网络(SAN)。它们提供了大容量、高可靠性的数据存储解决方案。
网络打印机:可以通过网络连接被多台计算机共享,方便用户打印文件。
网络摄像头:用于视频监控和远程会议等应用。它可以通过网络将视频信号传输到其他设备上。
移动设备硬件
智能手机:集成了多种功能,如通信、拍照、娱乐、办公等。智能手机的硬件包括处理器、内存、存储、,屏幕、摄像头等
平板电脑:类似于智能手机,但屏幕更大,适合阅读、浏览网页、观看视频等。平板电脑的硬件也包括处理器、内存、存储、屏幕、摄像头等。
可穿戴设备:如智能手表、智能手环等,它们可以监测用户的健康数据、运动数据等,并与智能手机等设备进行连接和交互。可穿戴设备的硬件包括传感器,处理器,内存,存储,屏幕等
硬件发展趋势
小型化:硬件设备越来越小型化,便于携带和使用。例如,智能手机、平板电脑等移动设备的体积越来越小,性能却越来越强
高性能:随技术的不断进步,硬件设备的性能不断提高。例如,CPU的处理速度越来越快,内存和存储的容量越来越大,显卡的图形处理能力越来越强
智能化:硬件设备越来越智能化能够自动适应不同的环境和用户需求。例如,智能手机可以根据用户的使用习惯自动调整屏幕亮度、音量等设置
互联互通:硬件设备之间的互联互通越来越紧密,形成了一个庞大的物联网。例如,智能家居设备可以通过网络连接实现自动化控制,智能汽车可以与其他车辆和交通设施进行通信
网络类型
- 局域网(LAN):覆盖范围较小,通常局限在几公里以内,通常用于构建企业内部网络。
- 城域网(MAN):覆盖范围比局域网大,通常在一个城市范围内,用于连接城市中的多个局域网。
- 广域网(WAN):覆盖范围最广,通常跨越城市、国家或地区,用于连接远程的计算机和局域网。
网络协议
- TCP/IP协议: - 定义:传输控制协议/互联网协议,是互联网通信的基础协议。- 功能:将数据分割成小的数据包进行传输,并通过IP地址定位目标设备。TCP负责数据的可靠传输,IP负责数据的路由和寻址。- 应用:广泛应用于互联网通信、网页浏览、电子邮件等。
- HTTP协议: - 定义:超文本传输协议,用于在网络中传输超文本的应用层协议。- 功能:在Web浏览器和Web服务器之间传输HTML页面。- 应用:Web应用开发、网页浏览等。
- FTP协议: - 定义:文件传输协议,用于在网络中传输文件的协议。- 功能:允许用户在客户端和服务器之间进行文件的上传和下载。- 应用:文件共享、文件备份等。
- SMTP协议: - 定义:简单邮件传输协议,用于在网络中传输电子邮件的协议。- 功能:定义了如何发送和接收电子邮件。- 应用:电子邮件服务、邮件客户端等。
- DHCP协议: - 定义:动态主机配置协议,用于在一个网络中自动分配IP地址的协议。- 功能:允许设备动态获取IP地址、子网掩码、网关等网络配置信息。- 应用:企业内部网络、家庭网络等。
- DNS协议: - 定义:域名系统协议,用于将域名解析为IP地址的协议。- 功能:通过将用户输入的域名转换为IP地址,使计算机能够找到目标服务器。- 应用:互联网通信、网页浏览等。
网络设备
- 路由器:连接不同的网络,实现网络之间的数据转发,它根据ip地址和路由表来确定数据的传输路径
- 交换机:在局域网中连接多台计算机,实现数据的快速交换。它根据MAC地址来转发数据帧
- 网卡:安装在计算机上,用于连接网络。它将计算机的数据转换为网络信号进行传输,并接收网络信号转换为计算机可识别的数据
- 无线接入点(AP):提供无线网络连接,使无线设备能接入局域网或广域网
网络安全
- 防火墙:(软/硬)防火墙,它能够有效地保护内部网络资源免受外部网络的攻击和威胁
- 加密技术:对数据进行加密,防止数据被窃取或篡改
- 身份认证:确保只有授权用户能够访问网络资源,常见的身份认证方式有用户名和密码,数字证书,生物识别等
人工智能
机器学习(python)
- 数据收集: - 从各种来源(如数据库、文件、网络爬虫等)收集与任务相关的数据。- 确保数据的多样性和代表性,以覆盖各种可能的场景和情况。
- 数据预处理: - 清洗数据,去除重复、缺失、异常或噪声数据。- 进行特征提取和选择,从原始数据中提取有用的特征,并去除不相关或冗余的特征。- 对数据进行归一化或标准化处理,以确保不同特征在相同尺度上。
- 算法选择: - 根据任务类型(如分类、回归、聚类等)和数据特点(如线性、非线性、高维等)选择合适的机器学习算法。- 常见的算法包括线性回归、逻辑回归、决策树、支持向量机、神经网络等。
- 模型选择: - 在选定的算法框架内,选择具体的模型结构和参数。- 考虑模型的复杂度、泛化能力和计算效率等因素。
- 模型训练: - 使用训练数据集对模型进行训练,通过迭代更新模型参数来最小化损失函数。- 训练过程可能需要多次迭代,直到模型的性能达到一定的要求或收敛为止。
- 模型优化: - 采用正则化、早停法、批量标准化等技术防止模型过拟合。- 调整学习率、批量大小、迭代次数等超参数以优化模型性能。- 使用交叉验证等技术来更好地利用数据集,并评估模型的性能。
- 模型评估: - 使用测试数据集对训练好的模型进行评估,计算模型的预测准确率、召回率、F1值等指标。- 根据评估结果对模型进行调优,调整模型的参数和结构以达到更好的性能。
- 模型测试: - 在实际应用场景中测试模型的性能,确保模型能够稳定、准确地完成预测任务。- 收集用户的反馈和数据,以便对模型进行持续改进和优化。
- 模型保存: - 将训练好的模型保存到磁盘或数据库中,以便后续使用或部署。- 确保模型文件的完整性和可读性。
- 模型部署: - 将模型部署到实际应用场景中,如Web服务、移动应用、嵌入式设备等。- 确保模型能够实时、高效地处理新的数据并输出预测结果。
深度学习
深度学习是一种机器学习形式,它试图模拟人脑中的神经网络结构,通过构建多层非线性处理单元(即神经元)的网络结构,从大量数据中学习和提取特征,以实现复杂任务的自动化处理和决策。深度学习的核心是神经网络,它由若干个层次构成,每个层次包含若干个神经元。这些网络可以从原始数据中自动提取特征并进行学习。
神经网络的结构与功能
- 层级结构:神经网络由多个层次组成,包括输入层、隐藏层和输出层。输入层负责接收原始数据,隐藏层位于输入层和输出层之间,负责学习和提取特征,输出层则给出最终预测或分类结果。
- 神经元与连接:神经元是神经网络的基本处理单元,它接收上一层次神经元的输出作为输入,通过加权和转换后输出到下一层次神经元。神经元之间的连接通过权重和偏置来实现,这些参数决定了输入值和输出值之间的关系。
深度学习的训练与优化
- 前向传播与反向传播:在神经网络中,前向传播是指输入数据从输入层开始通过网络,经过各层的计算和激活函数处理,最终得到输出结果的过程。反向传播则是用于更新神经网络的权重和偏置的关键步骤,它通过计算预测值与实际值之间的误差,然后将误差从输出层向前传播,根据链式法则更新每个神经元的权重和偏置。
- 损失函数与优化算法:损失函数用于衡量模型预测结果与实际值之间的差异,是深度学习中优化的目标。常见的损失函数包括均方误差(MSE)、交叉熵损失函数等。为了最小化损失函数,深度学习使用优化算法来更新神经网络的权重和偏置。常见的优化算法包括随机梯度下降(SGD)、Adam、Adagrad等。
深度学习的常见网络类型与应用
- 卷积神经网络(CNN):CNN是一种特殊的神经网络,主要用于处理图像和视觉数据。它通过卷积层和池化层来提取图像中的局部特征,并通过全连接层进行分类或回归任务。CNN在图像识别、目标检测等领域取得了重大突破。
- 循环神经网络(RNN):RNN主要用于处理序列数据,如文本、语音等。它通过循环连接实现对序列数据的建模,能够捕捉序列中的时序信息。RNN在自然语言处理、语音识别等领域有着广泛的应用。
- 其他网络类型:除了CNN和RNN外,还有深度神经网络(DNN)、长短期记忆网络(LSTM)、生成对抗网络(GAN)等多种深度学习网络类型。它们在各自的领域内发挥着重要的作用。
声明
B站全栈渗透测试教学学习视频(免费):
https://space.bilibili.com/350329294
学习视频来自B站UP主 泷羽sec,如涉及侵权马上删除文章
笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负
版权归原作者 CTF~ 所有, 如有侵权,请联系我们删除。