编程语言
C语言:一种通用的、面向过程的编程语言,广泛应用于系统软件和嵌入式开发。
C++:在C语言基础上发展而来,支持面向对象编程,常用于尊戏开发、高性能计算等领域。
Java:一种广泛使用的面问对象编程语言,具有跨平台性,应用宇企业级应用并发等。
Python:洁易学,拥有丰富的库,适用于数狐分析、人工智能、Web并发等。
javaScript:主要用于网页前端开发,也可用于服务器渊开发(Node.js)。
C#:由微软开发,主要用于Windows平台上的应用开发。
Ruby:一种简洁而富有表现力的编程语言,常用于b开发。
PHP:主要用于Nb开发,尤其适合服务器端即本编程,
GO:一种高效、简洁的编程语言,适用宇网络编程和云计算等领域。
Swift:苹果公司开发的编程语言,用于i0S和mac0S应用开发。
Kotlin:可与Java互操作,主要用于Android开发.
函数编程语言:
HaskII:纯函数式编程语言,以强大的类型系统和数学上的严谨性著称。
Lisp(包括Common Lisp、,Scheme等):历史悠久的编程语言家族,以其高度的灵活性和宏系统闻名。
CIojure:运行在Java虚拟机上的Lisp方言,结合了函数式编程和Java平台的优势。
数据科学和机器学习领域:
R:在统计分析和数据可视化方面应用广泛
Juia:设计用干高性能科学计算和数据分析。
web全栈开发:
TypeScript:是JavaScript的超集,增加了静态类型检查等特性,提高了大型项目的开发效率。
移动开发:
Objective–C:曾经是iOS开发的主要语言,现在逐渐被Swift取代
嵌入式系统开发:
Assembly Language(汇编语言):不同的处理器架构有不同的汇编语言,用于对硬件进行底层控制。
其他:
Pasca|:曾经在教学和早期软件开发中有广泛应用,
Delphi(基于06 ject Pascal):用于快速应用开发.
Sca1a:慰合了面向对象编程和函数式编程,运行在Jav3虚拟机上。
Elixir:基于Erlang虚拟机,具有高并发和容错性,适合构建分布式系统。
软件程序
Web程序(网站)
二进制程序
驱动程序
上位机
脚本程序
操作系统
- 实时操作系统:在确定的时间内对外部事件作出响应并完成特定的任务,具有严格的时间确定性和可预测性,常用于对时间要求极为严格的嵌入式系统、工业控制等领域
- 非实时操作系统:致力于在各种情况下提供良好的整体性能、用户体验和多任务处理能力,但不能保证在严格的时间限制内对事件作出响应
裸板程序
机器学习
量子计算
工控程序
bios程序
网络通讯
网络类型
- 局域网(LAN):覆盖范围较小,一般在一个建筑物或一个校园内。例如,公司办公室内的网络就是一个局域网,用于员工之间共享文件、打印机等资源
- 城域网(MAN):覆盖范围较大,一般在一个城市内。例如,城市的有线电视网络、宽带网络等。
- 广城网(WAN):覆盖范围菲常大,可以跨越国家和地区。例如,互联网就是一个广域网,连接了全球各地的计算机和网络设备。
网络协议 - TCP/IP协议:是互联网的基础协议,包括传输控制协议(TCP)和网际协议(IP)。TCP负责数据的可靠传输,IP负责数据的路由和导址。
- HTTP协议:超文本传输协议,用于在Web浏览器和Web服务器之间传输超文本数据,如网页、图片、视频等。
- FTP协议:文件传输协议,用于在计算机之间传输文件。(端口协议)
- SMTP、POP3和IMAP协议:用于电子邮件的发送和接收。(端口协议)
网络设备 - 路由器:连接不同的网络,实现网络之间的数据转发。它根据IP地址和路由表来确定数据的传输路径。
- 交换机:在局域网中连接多台计算机,实现数据的快速交换。它根据MAC地址来转发数据顿。
- 网卡:安装在计算机上用于连接网络。它将计算机的数据转换为网络信号进行传输,并接收网络信号转换为计算机可识别的数据。
- 无线接入点(AP):提供无线网络连接,使无线设备能够接入局域网或广域网。
网络安全 - 防火墙:用于保护网络免受外部攻击,它可以根据预设的规则过滤网络流量:
- 加密技术:对数据进行加密,防止数据被窃取或篡改。例如,SSL/TLS协议用于在Web浏览器和Web服务器之间进行加密通信。
- 身份认证:确保只有授权用户能够访问网络资源,常见的身份认证方式有用户名和密码、数字证书、生物识别等。
软件程序
通讯协议
机器学习
web程序
构成:前端-后端-数据库-服务器
语言:
- html(点击劫持)
- css(注入)
- javascript(xss、dom型、反射型、存储型、点击劫持、请求走私)
代码库 - JQuery
- B00tstrap
- elementui
框架 - vue
- react
- angular
前端
潜在漏洞:信息泄露、xss、csrf、点击劫持、访问控制、web缓存漏洞、跨域漏洞、请求走私
后端
潜在漏洞:信息泄露、xss、csrf、反序列化漏洞、sql注入漏洞、命令注入漏洞、服务器模板注入、跨域漏洞、访问控制
数据库
sql注入、xss、命令注入等
服务器程序
潜在漏洞:信息泄露、文件上传漏洞、文件分析漏洞、目录遍历、访问控制
- Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一,它主要用来提供http协议。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。
- Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务,Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
- iis是一种 Web 服务器软件,用于托管和发布 Web 应用程序和网站。它是在 Windows 操作系统上运行的,并提供处理 HTTP 请求、托管 Web 应用程序和提供 Web 服务所需的功能。
- tengine本质上就是nginx,用法跟nginx一模一样,由淘宝团队进行二次开发。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的Web平台。
- Tomcat既是一个开放源码、免费支持JSP和Servlet技术的容器,同时又是一个Web服务器软件,受到了Sun公司的大力推荐和支持。因此,Servlet和JSP的最新规范都可以在Tomcat的新版本中得到实现。
- WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中