导图社区 关于计算机的n个关键词之技术方向类
涵盖了前端开发、后端开发、全栈开发、嵌入式开发、移动开发、云计算开发、大数据开发、人工智能开发、机器学习工程、区块链开发、桌面应用开发等。
编辑于2025-08-28 22:53:37关于计算机的n个关键词之 技术方向类
前端开发
前端开发的定义
专注于网页/App可视化界面开发,用HTML搭结构、CSS做样式、JavaScript实现交互,并适配多设备优化体验,常用Vue/React等框架提升效率。
HTML
HTML(超文本标记语言)是构建网页的核心基础语言,通过标签系统定义内容的结构和语义(如标题、段落、列表等),明确指示浏览器如何解析和呈现文字、图片、链接、表单等元素,形成网页的基本框架与内容布局,相当于网页的“骨架”和“内容容器”。
程序里的标记语言“<>”之类的 让计算机能看懂要怎么展示网页
CSS
CSS(Cascading Style Sheets,层叠样式表)** 是用于**控制网页外观和布局**的样式语言。如果说 **HTML 是网页的骨架**,那么 **CSS 就是网页的衣服和化妆**——它决定了内容如何呈现,包括颜色、字体、间距、动画等。
美化网页——加特效之类的
JavaScript
JavaScript(JS)** 是一种**脚本编程语言**,主要用于为网页添加**动态交互功能**和**逻辑处理能力**。它是现代 Web 开发的三大核心技术之一(与 HTML、CSS 并列),也是唯一能在浏览器中直接运行的编程语言。
在HTML CSS并列中前二者像是页面装饰 而javascrpt是让页面真正能跟用户交互起来的
Vu e
Vue.js** 是一个用于构建用户界面的**渐进式 JavaScript 框架**,其核心设计目标是通过**声明式渲染**和**组件化开发**模式,高效地实现数据驱动的动态 Web 应用。
依赖于javascrpt 像一个智能化的模版工具
React
**React** 是一个用于构建用户界面的 **JavaScript 库**(非完整框架),由 Facebook 开发并开源。其核心专注于 **组件化** 和 **声明式编程**,通过虚拟 DOM 技术高效更新界面。
跟Vue实现差不多的效果
后端开发
后端开发的定义
负责业务逻辑、数据处理、服务器通信,是用户看不到的“幕后支撑”。比如处理登录注册、订单计算、数据库读写,保障前端请求能正确响应,常用 Java、Python、Go 等语言,搭配 SpringBoot、Django 等框架。
做后台
Spring Boot
Spring Boot 是 基于 Spring 框架的轻量级应用开发框架,通过 自动配置和 Starter 依赖管理 机制,零 XML 配置 即可快速构建独立运行的 生产级微服务 或 Web 应用。
·嵌入式服务器支持:它内置了 Tomcat、Jetty 等服务器,无需额外配置独 立的 Web 服务器,直接运行 JAR 文件就能启动应用。 ·自动配置:依据项目依赖,Spring Boot 会自动进行合理的默认配置。比如,若项目中添加了 Spring Data JPA 和 H2 数据库依赖,系统会自动配置内存数据库和 JPA 仓库。 ·起步依赖(Starters):起步依赖是一系列方便的依赖描述符,借助它能将所需的依赖快速添加到项目里。 ·生产就绪特性:它提供了健康检查、指标监控、外部化配置等功能,便于应用在生产环境中的管理和监控。 ·无代码生成和 XML 配置:Spring Boot 支持基于 Java 的配置方式,不需要编写 XML 配置文件,也不会生成额外代码。
智能一点的工具
Django
Django 是 Python 语言编写的高等级开源 Web 应用框架,核心定位是 让开发者快速构建可维护、可扩展的生产级 Web 应用,遵循 DRY(Don’t Repeat Yourself,避免重复) 设计哲学,兼具 开发效率、安全性、扩展性 三大核心优势
自动化工具链: Admin 后台:一行代码快速生成数据管理界面,支持权限控制、数据批量操作。 数据库迁移(Migrations):版本化管理数据库结构变更,开发与生产环境无缝同步。 表单处理:自动生成表单、校验用户输入,支持与 Model 绑定。 安全防护内置: 原生防御 SQL 注入、XSS(跨站脚本)、CSRF(跨站请求伪造)、点击劫持 等常见攻击;提供安全的用户认证、密码加密机制。 扩展性与生态: 支持中间件扩展(如日志、权限、缓存),兼容 Django REST Framework(快速构建 API)等第三方库。 活跃社区提供海量插件,覆盖搜索、支付、异步任务等场景。
“为赶工期的完美主义者设计的 Web 框架”:通过丰富的内置工具减少重复开发,以严谨的架构保障可维护性,借生态和性能支撑复杂业务,是 Python Web 开发的 “全能工具箱”。
全栈开发
全栈开发(Full Stack Development)指的是 能够独立完成 “前端 + 后端 + 数据库 + 部署上线” 全流程开发的能力,简单说就是 “能从 0 到 1 搞定一个完整产品的技术实现”。
前端(用户能看到的部分) 负责页面展示、交互逻辑,比如: 基础:HTML(结构)、CSS(样式)、JavaScript(交互); 框架:React、Vue、Angular(快速开发复杂界面); 工具:打包工具(Webpack)、UI 组件库(Element、Ant Design)。 后端(用户看不到的 “后台逻辑”) 负责处理数据、业务规则,比如: 语言:Python(Django/Flask)、Java(Spring Boot)、Node.js(Express); 核心工作:写接口(供前端调用)、处理登录权限、数据校验、业务逻辑(如订单计算)。 数据库(数据存储) 负责存数据,比如: 关系型:MySQL、PostgreSQL(存结构化数据,如用户信息、订单); 非关系型:MongoDB、Redis(存非结构化数据,如日志、缓存)。 部署与运维(让产品跑起来) 负责把代码放到服务器上并保证稳定运行,比如: 服务器:阿里云、AWS; 工具:Docker(容器化)、Nginx(服务器配置)、CI/CD(自动部署)。
嵌入式开发
嵌入式开发是一种 将计算机系统 “嵌入” 到特定设备或产品中,实现特定功能的技术领域。这些设备通常不是传统的计算机(如手机、电脑),而是 “隐藏” 在各种产品内部的智能系统
嵌入式开发的 “三层架构” 硬件层: 设计电路板、选型芯片(如 STM32、ESP32)、连接传感器(如温度传感器、加速度计)、配置外设(如显示屏、蓝牙模块)。 驱动层: 写代码让硬件 “动起来”,比如: 驱动 LCD 屏幕显示图像; 读取温湿度传感器的数据; 控制电机转速。 应用层: 实现具体功能,比如: 智能音箱的语音识别与应答逻辑; 工业设备的数据采集与远程监控; 汽车仪表盘的 UI 显示。
嵌入式开发的技术选型:语言、系统、工具链 编程语言: C/C++:主流选择(性能高、直接操作硬件); Python:在资源充足的设备(如树莓派)上快速开发; 汇编:在极底层(如启动代码、中断处理)优化性能。 操作系统: 裸机开发:直接操作硬件(适合资源极有限的设备,如智能电表); 实时操作系统(RTOS):如 FreeRTOS、μC/OS(需精确控制时间,如工业机器人); Linux:如 Ubuntu Core、Yocto(适合资源较丰富的设备,如智能家居网关)。 开发工具: 编译器:GCC、ARM Keil; 调试工具:JTAG、ST-Link; 仿真器:Proteus(模拟硬件行为)。
软件+硬件
移动开发
移动开发是指 创建运行在移动设备(如手机、平板)上的应用程序的过程,核心目标是让用户通过触摸屏等移动设备特有的交互方式,便捷地获取服务或信息。它是当前软件开发领域最活跃的分支之一,涉及多种技术栈和开发模式。
设计移动端app
云计算开发
云计算开发是指 基于云服务平台构建、部署和管理应用程序的过程,核心是利用云端的弹性计算、存储、网络等资源,替代传统的本地服务器,实现更高效、灵活、低成本的软件开发与运维
优化利用效率
按需调用云端资源+自动化运维
大数据开发
大数据开发是指 针对海量、高速、多样的数据(即 “大数据”),设计、构建和维护数据处理系统的过程,核心目标是从数据中提取有价值的信息,支撑业务决策或人工智能训练
人工智能开发
让计算机模拟人类智能(如识别、推理、决策) ,涵盖图像识别(区分猫狗)、自然语言处理(聊天机器人)、推荐算法(抖音推流)等。常用 Python,依赖 TensorFlow、PyTorch 等框架,需懂算法、数学(如深度学习)
机器学习工程
机器人学习工程(Robotics Learning Engineering)是 融合机器人技术与机器学习算法,让机器人通过数据自主优化行为、适应环境的交叉学科领域。其核心目标是使机器人从 “按程序执行任务” 进化为 “通过学习不断提升能力”,广泛应用于工业自动化、自动驾驶、医疗手术、物流配送等场景
机器人学习工程的 “三大核心模块” 感知(Perception) 目标:让机器人理解环境,类似人类的 “视觉”“听觉”。 技术: 计算机视觉:识别物体(如 YOLO 算法检测快递包裹)、SLAM(同步定位与地图构建,如扫地机器人建图); 传感器融合:结合激光雷达、摄像头、深度相机等数据(如自动驾驶汽车综合多传感器决策)。 决策(Decision-Making) 目标:让机器人根据感知信息做出最优行动,类似人类的 “思考”。 技术: 强化学习(Reinforcement Learning, RL):通过 “试错” 与环境交互,最大化奖励(如 AlphaGo 下棋、机器人学会抓握物体); 规划算法:路径规划(如 A * 算法避障)、运动规划(如机械臂轨迹优化)。 控制(Control) 目标:将决策转化为物理动作,类似人类的 “肌肉控制”。 技术: 电机控制:精确控制机器人关节运动(如工业机械臂的 PID 控制); 力反馈:实现柔顺操作(如手术机器人感知组织阻力)。
机器人学习工程的关键技术趋势 多模态学习: 融合视觉、听觉、触觉等多传感器数据(如机器人通过触摸和观察学习物体属性)。 少样本 / 零样本学习: 让机器人通过少量示例快速学习新任务(如看过一次开门动作后自行尝试)。 人机协作(HRC): 机器人学习理解人类意图,与人安全协作(如工厂工人与机械臂协同装配)。 自监督学习: 机器人从无标签数据中自动学习(如通过碰撞反馈理解物理世界规则)。 云机器人(Cloud Robotics): 利用云端算力训练模型,再下发到边缘设备(如 Google Brain 的云机器人平台)
机器人学习工程师的技能要求 核心技术: 机器学习:强化学习(DQN、PPO 等)、监督学习、无监督学习; 机器人学:运动学、动力学、传感器原理; 编程:Python(PyTorch/TensorFlow)、C++(机器人底层控制); 工具:ROS(机器人操作系统)、Gazebo(仿真)、OpenCV(视觉处理)。 典型任务: 设计机器人学习算法(如让机械臂通过强化学习学会拧螺丝); 搭建仿真环境测试算法; 部署模型到硬件并优化实时性能。
深度学习研究(AI的分支之一)
深度学习研究是 人工智能领域中聚焦于构建、训练和优化深度神经网络的学术与工程实践,其核心目标是让计算机通过多层非线性变换自动从数据中学习复杂模式,解决图像识别、语音理解、自然语言处理等传统方法难以攻克的问题。
深度学习的 “三层架构” 与核心原理 1. 神经网络基础 神经元模型:模仿生物神经元,接收输入→加权求和→通过激活函数(如 ReLU)输出; 多层结构:输入层→隐藏层(可能有数十至数百层)→输出层,每层包含多个神经元; 参数学习:通过反向传播(Backpropagation)算法计算梯度,优化权重参数。
2.典型网络架构 ·卷积神经网络 (CNN) 局部连接、权重共享,擅长处理网格结构数据(如图像)。 图像分类(ImageNet 竞赛)、人脸识别(Face ID)。 ·循环神经网络 (RNN) 带时间记忆的网络结构,适合序列数据(如文本、语音)。 机器翻译(如 Transformer 的前身)、语音识别。 ·生成对抗网络 (GAN) 由生成器和判别器对抗训练,擅长生成逼真数据。 图像生成(如 DALL-E 3)、风格迁移(如 Neural Style Transfer)。 ·Transformer 基于自注意力机制(Self-Attention),擅长长序列建模和并行计算。
卷积神经网络(Convolutional Neural Network, CNN)是一种专门为处理具有网格结构数据(如图像、音频)而设计的深度学习模型,它通过卷积运算自动提取数据特征,大幅减少了传统神经网络的参数数量,显著提升了模型效率和性能。CNN 是计算机视觉领域的核心技术,广泛应用于图像分类、目标检测、语义分割等任务。
3. 训练机制 数据驱动:依赖海量标注数据(如 ImageNet 包含 1400 万张标注图像); 优化算法:随机梯度下降(SGD)及其变种(Adam、Adagrad); 正则化:Dropout、L2 正则化、Batch Normalization 防止过拟合。
区块链开发
区块链开发是指 基于区块链技术构建分布式应用(DApps)、智能合约或联盟链 / 公链系统的过程,核心是利用去中心化、不可篡改、共识机制等特性,解决传统中心化系统在信任、透明度和效率方面的痛点。
用区块链技术做东西,这些东西能让数据没法偷偷改、大家不用靠一个中心老大也能互相信任
应用场景
游戏开发(客户端/服务端)
游戏开发是一个多学科协作的系统性工程,核心是通过技术、艺术和设计的结合,创造出可供玩家体验的互动娱乐产品(即 “游戏”)。它涵盖了从创意构思到最终上线运营的全流程,需要开发者运用编程、美术、音效、叙事、用户体验等多方面能力
核心技术实现 引擎开发与使用:基于游戏引擎(如 Unity、Unreal Engine、Cocos)搭建游戏运行的底 层框架,处理物理碰撞、渲染画面、音频播放、网络同步(如多人联机)等核心功能; 编程开发:通过代码(如 C#、C++、Python)实现游戏逻辑,例如角色移动、任务触发、AI 敌人行为、数值计算(如伤害公式)、服务器架构(支撑多人在线); 性能优化:解决卡顿、掉帧、内存占用过高等问题,确保游戏在不同设备(PC、手机、主机)上稳定运行。
桌面应用开发(Windows/Linux/Mac)
桌面应用开发是指 创建运行在计算机桌面上(如 Windows、macOS、Linux)的软件程序,这类应用通常需要安装到本地设备,提供比网页应用更强大的功能、更流畅的性能和更丰富的本地资源访问能力
桌面应用开发的 “三大技术路线” 根据开发语言和运行机制,桌面应用开发可分为 3 种主流模式: 1. 原生开发(Native Development) 技术栈: Windows:C# + .NET Framework/WPF、C++ + Win32 API; macOS:Swift/Objective-C + Cocoa 框架; Linux:C/C++ + GTK/QT。 特点: 性能最优:直接调用操作系统 API,响应速度快; 体验一致:完全符合平台设计规范(如 Windows 的 Fluent Design、macOS 的 AppKit 风格); 需单独开发:不同平台需维护多套代码,开发成本高。 适用场景:对性能要求极高的应用(如视频编辑软件、游戏引擎)、需深度整合系统功能的应用(如驱动程序)。 2. 跨平台开发(Cross-Platform Development) 技术栈: Electron:用 JavaScript/TypeScript + HTML/CSS,基于 Chromium 和 Node.js 构建(如 VS Code、Slack); Flutter Desktop:用 Dart 语言,自绘 UI(如 GitHub Desktop); Qt:用 C++/Python,跨平台 UI 框架(如 VirtualBox、Blender)。 特点: 一套代码多平台运行:大幅降低开发成本; 性能接近原生:通过硬件加速渲染(如 Electron 的 Chromium 引擎); 生态丰富:有大量开源组件库(如 Electron 的electron-builder用于打包发布)。 适用场景:功能相对标准化的应用(如聊天工具、笔记应用)、需快速迭代的项目。 3. Web 技术封装(Web-to-Desktop) 技术栈: Tauri:用 Rust 作为后端,Web 技术(HTML/CSS/JS)作为前端,比 Electron 更轻量; NW.js(原名 Node-WebKit):类似 Electron,但更偏向 Web 应用封装。 特点: 前端开发者友好:无需学习复杂的原生语言,用熟悉的 Web 技术即可开发; 轻量级:安装包体积小(如 Tauri 应用通常只有几 MB,而 Electron 应用可能超 100MB); 适合轻量级应用:如小型工具、文档阅读器。
边缘计算开发
边缘计算开发是指 为 “边缘设备”(如智能摄像头、工业传感器、车载终端、智能家居设备等)设计和开发软件系统,让数据处理、计算任务在设备本地(或离设备最近的边缘服务器)完成,而不是全部依赖云端。简单说,就是 “让数据在产生的地方就近处理”,避免全量上传云端带来的延迟和带宽浪费。
边缘计算开发的核心目标 边缘计算的核心是解决传统 “云端集中式计算” 的痛点: 降低延迟:比如自动驾驶汽车需要实时处理传感器数据(刹车决策需在毫秒级完成),若数据传到云端再返回,延迟可能导致事故; 减少带宽:工业设备每秒产生 GB 级数据,全传云端会占用大量网络资源; 提升可靠性:偏远地区网络不稳定时,边缘设备可离线工作(如农业物联网传感器)。
边缘计算开发的 3 大关键领域 1. 边缘设备端开发 设备类型:嵌入式设备(如树莓派)、工业控制器(PLC)、智能终端(如智能音箱)等。 核心任务: 数据采集:通过传感器(温度、图像、声音)获取原始数据; 本地计算:用轻量化算法处理数据(如摄像头本地识别异常行为,只上传报警信息); 资源管理:边缘设备算力 / 内存有限,需优化代码体积和运行效率(如用 C/C++ 替代 Python)。 技术栈: 编程语言:C/C++(高效)、Python(快速验证算法)、Rust(内存安全); 嵌入式系统:Linux(如 Ubuntu Core)、RTOS(实时操作系统,如 FreeRTOS); 工具框架:TensorFlow Lite(轻量 AI 模型部署)、OpenCV(本地图像处理)。 2. 边缘节点(边缘服务器)开发 节点角色:位于设备和云端之间的小型服务器(如 5G 基站边缘机房),负责汇总多个设备数据并做复杂计算。 核心任务: 分布式协同:协调多个边缘设备分工(如工厂里不同区域的传感器数据汇总分析); 数据过滤与转发:筛选有价值的数据上传云端(如只传异常的设备运行日志); 边缘 - 云协同:与云端同步模型 / 配置(如 AI 模型在云端训练好后,下发到边缘节点更新)。 技术栈: 容器化:Docker(轻量部署)、Kubernetes(K8s)的边缘版本(如 K3s、MicroK8s); 通信协议:MQTT(低带宽设备通信)、gRPC(边缘与云端高效数据交互); 边缘框架:Azure IoT Edge、AWS Greengrass、阿里云 Link Edge。 3. 边缘 - 云协同开发 核心逻辑:边缘处理 “实时、简单” 的任务,云端处理 “非实时、复杂” 的任务(如全局数据分析、模型训练)。 典型场景: 智能监控:摄像头本地识别陌生人(边缘),云端分析一周内的异常行为趋势(云端); 自动驾驶:车载边缘设备实时避障(边缘),云端优化全局路线规划(云端)。
技术栈在计算机科学与软件工程领域,技术栈(Technology Stack)是指完成特定软件项目或实现某类业务需求时,所采用的一系列相互协作的技术组件、工具、框架、编程语言及平台的集合。这些组件按功能分工,共同支撑软件系统的设计、开发、部署、运行和维护全流程。
前端: HTML/CSS/JS 框架:React、Vue 后端:Python、Java 框架:Django、Spring Boot 数据库: MySQL、MongoDB
浮动主题
应用框架;相当于预先做好的模板,开发者往里填东西就好了(乐高里设计好的图纸;外卖平台(只需要填入信息就可以投入使用))
两者效果差不多 V是自动挡(亚洲好点)R是手动挡(外国好点)