计算机领域的分类
软件开发
web前端
基础 html(页面骨架) javascript(页面动作) CSS(页面皮肤) DOM(页面树)
辅助 grunt(项目自动执行) jquery(js工具箱) npm(依赖管理器) webpack、gulp、parcel(项目构建) hbuilderx(uniapp的ide) visual studio code (代码编辑器) devtools git、github、gitee(代码管理)
框架 vue(构建前后端分离的轻量js框架,类似后端的模板引擎,使得html具有编程语言的逻辑) uniapp(基于vue的跨平台开发框架) foundcation(移动端响应式开发) react(组件化sj框架) angular(可扩展框架) ember(最强框架) less、sass(css具有编程语言逻辑)
美化 bootstrap(UI框架) fontawesome (字体)
兼容性 ?
UI 墨刀 sketch figma xd
调试测试 Selenium
web后端
基础 java
辅助 maven(项目与依赖管理工具) idea(最强java ide) git、github、gitee(代码管理)
其他中间件 Redis Memcached Kafka WebSocke
框架 spring、struts(java非原生框架) JavaEE框架(它是原生框架标准,包括jsp、servlet、ejb、jpa、jsf、jms、jta、javamail、jax-rs、cdi等一系列标准,这些标准由java服务器实现,它与spring有所不同相互互补,现在java ee由oracle公司转给eclipse基金会并更名jakarta ee) hibernate mybatis
依赖库 apache系列库(commons、httpclient、poi、log4j) guava(基础操作) slf4j(日志框架) gson(json处理器)
测试 JUnit(单元测试) TestNG(并行测试) JMeter(性能测试) SoapUI(web api测试) postman、apifox(http发包工具) LoadRunner(压力测试)
动态javaweb server tomcat(最广泛、轻量) jetty(超轻量) redhat jboss/wildfly(全面支持java ee) ibm websphere、oracle weblogic(最强java ee)
javawebapp半成品 若依
javawebapp成品 目前没有成熟的开源产品,商业项目居多
基础 python
辅助 pip(依赖管理工具) pycharm(最强ide) git、github、gitee(代码管理)
框架 django(重量框架) flask(轻量框架)
依赖库 guzzle(httpclient)
测试 pytest
动态pythonweb server django内置服务器 flask内置服务器
pythonwebapp半成品 若依
pythonwebapp成品 django cms flaskBB
基础 php
辅助 composer(依赖管理工具) phpstorm(最强ide) git、github、gitee(代码管理)
框架 laravel(web框架) thinkphp(国产web框架)
依赖库 guzzle
测试 ?
动态phpweb server php内置服务器(主要用于测试) php-fpm(在win上叫做php-cgi) <---fastCGI规范--->apache、nginx
注解:cgi其实是服务器和应用程序通讯的一种标准,比如php和nginx通讯,php提供一个官方插件fpm支持cgi功能,而java没有类似功能。,只是支持处理动态脚本不支持处理静态页面。
phpwebapp 半成品 若依
phpwebapp成品 discuz(著名开源CMS论坛) wordpress(著名开源CMS博客) joomla(开源CMS) drupal(开源CMS)
这里有个问题我个人一致比较模糊,就是到底是谁在提供web服务器、web应用程序功能。为什么还有个叫做cgi的功能。我画图解释这些区别和架构
本地化开发,这里不清不楚不细说了
应用程序开发
移动端 安卓应用程序 ios应用程序 windows phone应用程序 Appium
pc端 windows应用程序 linux应用程序 unix应用程序 bsd应用程序
嵌入式 家电应用程序 汽车应用程序 工控设备应用程序 卫星应用程序 路由器应用程序 交换机应用程序
操作系统开发
驱动开发
数据科学开发,这里不清不楚不细说了
基础 python R pycharm rstudio jupyter notebook
库 numpy pandas scipy scikit-learn
数据处理 spark
数据建模
数据挖掘
机器学习 tensorflow
人工智能
游戏开发,这里不清不楚不细说了
图形设计
物理模拟
游戏逻辑
用户交互
运维
基础 linux windows server BSD Bash 硬件的基础知识与组装
服务器 nginx、apache-httpd、iis(静态web服务器) tomcat、jboss(动态web服务器、也叫应用程序服务器) pureftp、nas、samba(ftp或文件共享) mysql、postgresql、mongodb(数据库) postfix(邮件服务器) BIND(dns服务器)
辅助 宝塔、phpstudy、lnmp(一键服务器搭建) navicat(数据库管理工具)
日志/监控 zabbix、ELK、Fluentd Prometheus Nagios
云计算 私有云(如OpenStack、VMware vSphere等。) 公有云(如Amazon Web Services (AWS)、Microsoft Azure、Google Cloud Platform (GCP)等。) 云服务模型(如Infrastructure as a Service (IaaS)、Platform as a Service (PaaS)、Software as a Service (SaaS)等) 云原生 分布式存储 网络存储
容器/虚拟化 kvm(异构虚拟化) docker(容器) k8s(容器管理平台) VMware(最强虚拟化)
可视化 Grafana
自动化 ansible puppet chef
devops jenkins(CICD)
三高问题(高可用高并发高效能) 内核调优 备份恢复 数据库优化
网络/安全,因为安全是一件贯穿计算机所有领域的工作有一定的复杂度,作为独立的一个工作
网络协议 TCP/IP协议、子网划分、路由协议
渗透测试 信息收集(namp、fofa) 漏洞分析与利用(Burp Suite 、msf、Nessus、Qualys) 后期利用(msf、 cobalt strike) 报告生成(faraday) 压力测试(HOIC) ctf
密码攻击(jtr) 无线攻击(aircrack-ng) 逆向工程(ida) 嗅探欺骗(wireshark) 数字取证(sleuth kit) 社工工具(set) 隐写匿名(openstego) 在线工具 注入工具 硬件黑客 物理黑客
网络防御 防火墙(Cisco ASA、Palo Alto Networks) ids、ips(Snort、Suricata) nac(Cisco ISE、Aruba ClearPass、天擎)
本地防御 360 卡巴斯基
服务器防御 waf sql防护 远程登录防护
日志审计
运维安全 开源堡垒机
安全事件与响应 Splunk IBM QRadar SANS Incident Handling、NIST 800-61
AAA RSA SecurID、Google Authenticator Okta、Microsoft Azure AD
密码学 RSA AES、DES AWS Key Management Service (KMS)、HashiCorp Vault
分析调试 Cuckoo Sandbox、DRAKVUF备份恢复 Veeam Backup、Acronis Backup
硬件,这里不清不楚不细说了
硬件设计和开发 IC(逻辑门、寄存器、存储器、io、Cadence Virtuoso、Synopsys Design Compiler) 电路板设计 cpu(指令集架构、流水线、缓存、分支预测) 嵌入式设计(微控制器、传感器、通信接口、Eclipse、IAR Embedded Workbenc) vhdl verilog 光刻机 监控设备 电路设计工具(如Altium Designer、OrCAD)仿真工具(如SPICE、PSpice) FPGA开发工具(Xilinx Vivado、Altera Quartus Prime) JTAG调试工具(如Segger J-Link、ST-Link) 电源管理芯片开发工具(如TI WEBENCH Power Designer) 光学仿真软件(如DIALux、Relux) . PCB设计工具(Altium Designer、 Cadence Allegro、Mentor Graphics PADS) CAD软件(如SolidWorks、AutoCAD) 3D打印软件(如Ultimaker Cura、Simplify3D)
系统集成 软件集成 硬件集成
通讯原理 通讯协议 通讯接口 物理载体
数字信号处理 数据采样 数据重构 数据滤波 数据压缩 示波器 逻辑分析仪 多用途测试仪