安全见闻一
一.编程语言
C
语言:一种通用的,面向过程的编程语言,广泛应用于系统软件和嵌入式开发。c++
:在C
语言的基础上发展而来,支持面向对象,常用于游戏开发,高性能计算等领域。Java
:一种广泛使用的面向对象的编程语言,具有跨平台性,应用于企业级应用开发。Python
:简介易学,拥有丰富的库,适用于数据分析,人工智能,Web
开发等领域。JavaScript
:主要用于网络前端开发,也可以用于服务器端开发(Node.js
)。C#
:由微软开发,主要用于Windows
平台上的应用开发。PHP
:主要用于Web
开发,尤其适当服务器强脚本编程。Go
:一种高效、简洁的编程语言,通用于网络编程和云计算等领域。Swif
:苹果公司开发的编程语言,用于iOS
和macOS
应用开发。Kotlin
:可与Java互操作,主要用于Android
开发。
1.函数式编程语言
Haskell
:纯洁数式编程语言,以强大的类型系统和数学上的严谨性著称。Lisp
:(包括Common Lisp
、Scheme
等),历史悠久的编程语言家族,以其高度的灵活性和宏系统闻名。Clojure
:运行在Java
虚拟机上的Lisp
方言,结合了函数式编程和Java
平台的优势。
2.数据科学和机器学习领域
R
:在统计分析和数据可视化方面应用广泛。Julia
:设计用于高性能科学计算和数据分析。
3.
Web
全栈开发
TypeScript
:是JavaScript
的超集,增加了静态类型检查等特性,提高了大型项目的开发效率。
4.移动开发
Objective-C
:曾经是iOS
开发的主要语言,现在逐渐被Swift
取代。
5.嵌入式系统开发
Assembly Language
(汇编语言):不同的处理器架构有不同的汇编语言,用于对硬件进行底层控制。
6.其他
Pascal
:曾经在教学和早期软件开发中有广泛应用。Delphi
(基于Object Pascal
),用于快速应用开发。Scalal
:融合了面向对象编程或函数式编程,运行在Java虚拟机上。Elixir
:基于Entang
虚拟机,具有高并发和容错性,适合构建分布式系统。
编程语言种类繁多,语言本身没有好坏之分,没有那个语言就比其他语言好的说法。这个主要决定于程序员想干什么,比如我们要写一个
Web
程序,可以用
PHP
,
golang
,
lua
,
java
去写。每个语言都有自己擅长的领域,也没自己不擅长的领域,这种就没有可比性。
也没有必要去每种语言都会,我们要根据不同的需求去选择自己所要使用的语言。
二.软件程序
1.
Web
程序(网站)
Web
程序是指运行在网络服务器上,通过浏览器访问的应用程序。它们可以提供各种服务,如信息展示、在线购物、社交媒体互动等。Web程序通常由前端和后端两部分组成。
- 前端:用户直接与之交互的部分,包括
HTML
(超文本标记语言)、CSS
(层叠样式表)和JavaScript
。前端负责展示内容和处理用户输入。 - 服务器端的逻辑处理部分,通常使用服务器端编程语言如
PHP
、Python
、Ruby
、Java
、Node.js
等来编写。后端负责处理业务逻辑、数据库交互、用户认证等。
2.二进制程序
二进制程序是指以二进制格式存储在计算机上的程序,它是机器语言的直接表现,由0和1组成。二进制程序是计算机能够直接理解和执行的代码形式。当一个程序被编写和编译后,它会转换成二进制格式,以便计算机的处理器(
CPU
)能够执行。
3.驱动程序
驱动程序是一类特殊的软件,它作为操作系统和计算机硬件之间的桥梁,允许操作系统与硬件设备进行通信和控制。驱动程序的主要功能是为操作系统提供一个抽象层,使得操作系统可以使用统一的接口来管理各种不同的硬件设备,而不需要关心这些设备的具体实现细节,以
Windows
为例后缀为
.sys
结尾的都属于驱动程序
4.脚本程序
脚本程序是一种自动化工具,它由一系列指令或命令组成,这些指令或命令按照特定的顺序执行,以完成特定的任务。脚本程序通常用于自动化重复性任务,简化复杂的操作,或者执行需要一系列步骤才能完成的过程,
lua
,
PHP
,
java
(也可以算作脚本程序)。
5.操作系统
操作系统(
Operating System
,简称
OS
)是管理计算机硬件和软件资源的系统软件,它提供了用户和其他软件与计算机硬件交互的接口,操作系统也属于软件的一种,只不过是一种很大的软件本质上还是软件程序。
6.裸板程序
裸板程序,也称为裸机程序,是指在没有操作系统支持的情况下,直接在硬件上运行的程序。这种程序通常用于嵌入式系统开发,因为它们允许对硬件资源进行极致的利用和对系统性能的最大化优化。
7.机器学习
机器学习是人工智能的一个分支,它使计算机系统能够利用数据和算法自动学习和改进其性能。简单来说,机器学习涉及到开发数学模型,这些模型可以基于数据做出预测或决策,而无需明确编程指令,一般使用
Python
编写
8.
bios
程序
BIOS
(
Basic Input/Output System
,基本输入输出系统)是一组被固化在计算机主板上的ROM芯片中的程序,负责在计算机启动时进行硬件的初始化、检测以及启动操作系统等任务。它是连接软件程序与硬件设备之间的桥梁,负责解决硬件的即时需求,并按软件对硬件的操作要求具体执行。
三.操作系统
1.非实时操作系统
Ios
mac
Liunx
Android
Windows
Wince
2.实时操作系统
VxWorks
RT-Thread
常见系统
Windows
,
ios
,
mac
,
liunx
这种是非实时操作系统,实时操作系统
VxWorks
,
RT-Thread
,什么是实时与非实时,就是在操作过程中是否立即执行当前的指令,以此为区分。
非实时操作系统主要致力于在各种情况下提供良好的整体性能,用户体验和多任务处理能力,但是无法保证在限制时间内对时间做出响应。
与之相反,实时操作系统(RIOS)可以在指定时间内对外部时间做出相应并完成指定的任务,具有严格的时间确定性和可预测性,常用于对时间要求极为严格的嵌入式系统,工业控制等领域。
四.硬件设备
1.计算机硬件
- 中央处理器(
CPU
):计算机的核心部件,负责执行指令和处理数据。他的性能决定了计算机的运行速度。 - 内存:用于存储正在运行的程序和数据,它的容量和速度对计算机的性能又很大影响。
- 硬盘:用于长期储存数据,包括操作系统,应用程序,文件等。硬盘的容量和读写速度也是计算机性能的重要因素。
- 显卡:用于处理图形和图像数据,他的性能决定了计算机的图形处理能力。对于游戏玩家和图形设计师来说买显卡的性能非常重要。
- 主板:连接各种硬件设备,影响计算机稳定性和扩展性。
2.网络硬件
- 网络服务器:提供文件存储、电子邮件、Web服务等。
- 网络存储设备:如NAS和SAN,提供大容量、高可靠性的数据存储。
- 网络打印机:多台计算机共享,方便打印文件。
- 网络摄像头:用于视频监控和远程会议,通过网络传输视频信号。
3.移动设备硬件
- 智能手机:集成通信、拍照、娱乐、办公等功能。
- 平板电脑:屏幕更大,适合阅读、浏览网页、观看视频。
- 可穿戴设备:如智能手表、手环,监测健康和运动数据,与智能手机连接。
4.硬件发展趋势
- 小型化:设备越来越小,便于携带,性能增强。
- 高性能:技术进步,性能不断提高,如CPU速度、内存容量、显卡能力。
- 智能化:设备智能化,自动适应环境和用户需求。
- 互联互通:设备间互联互通紧密,形成物联网,如智能家居和智能汽车。
五.网络
1.网络类型
- 局域网(
LAN
):覆盖范围较小,一般在一个建筑物或一个校园内。例如,公司办公室内的网络就是一个局域网,用于员工之间共享文件、打印机等资源。 - 城域网(
MAN
):覆盖范围较大,一般在一个城市内。例如,城市的有线电视网络、宽带网络等。 - 广域网(
WAN
):覆盖范围非常大,可以跨越国家和地区。例如,互联网就是一个广域网,连接了全球各地的计算机和网络设备。
2.网络协议
TCP/IP
协议:是互联网的基础协议,包括传输控制协议(TCP
)和网际协议(IP
)。TCP
负责数据的可靠传输,IP
负责数据的路由和寻址。HTTP
协议:超文本传输协议,用于在Web
浏览器和Web
服务器之间传输超文本数据,如网页、图片、视频等。FTP
协议:文件传输协议,用于在计算机之间传输文件。SMTP
、POP3
和IMAP
协议:用于电子邮件的发送和接收。
3.网络设备
- 路由器:连接不同的网络,实现网络之间的数据转发。它根据
IP
地址和路由表来确定数据的传输路径。 - 交换机:在局域网中连接多台计算机,实现数据的快速交换。它根据
MAC
地址来转发数据帧。 - 网卡:安装在计算机上,用于连接网络。它将计算机的数据转换为网络信号进行传输,并接收网络信号转换为计算机可识别的数据帧。
- 无线接入点(
AP
):提供无线网络连接,使无线设备能够接入局域网或广域网。
4.网络安全
- 防火墙:用于保护网络免受外部攻击,它可以根据预设的规则过滤网络流量。
- 加密技术:对数据进行加密,防止数据被窃取或篡改。例如,
SSL/TLS
协议用于在Web
浏览器和Web
服务器之间进行加密通信。 - 身份认证:确保只有授权用户能够访问网络资源,常见的身份认证方式有用户名和密码、数字证书、生物识别等。
版权归原作者 不酱紫 所有, 如有侵权,请联系我们删除。