软件开发中,“前端(Frontend)”和“后端(Backend)”是整个系统的两大核心部分,它们分别负责不同的任务,但通过**接口(API)**进行交互,协同完成用户看到和使用的功能。
前后端的区别
一、前端(Frontend)
定义:
前端是用户可以直接看到和交互的部分。简单来说,就是“用户界面(UI)”。
主要职责:
负责网页或应用的界面展示(排版、颜色、布局、动效等)。
处理用户的交互行为(点击按钮、填写表单、滚动页面等)。
向后端发送请求、接收数据并展示出来。
常用技术:
HTML:定义网页结构(相当于骨架)
CSS:控制网页样式(相当于皮肤)
JavaScript(JS):实现交互逻辑(相当于大脑)
现代框架:
Web:React、Vue、Angular
移动端:React Native、Flutter、UniApp 等
示例:
用户在网页上点击“登录”按钮,这个操作首先由前端捕获。
二、后端(Backend)
定义:
后端是用户看不到的部分,负责数据处理、业务逻辑、数据库交互和安全控制。
主要职责:
处理前端发送的请求(如“登录验证”)。
进行业务逻辑计算。
与数据库交互(存储或读取数据)。
返回结果给前端。
常用技术:
编程语言:Python(Django、FastAPI、Flask)、Java(Spring Boot)、Node.js(Express)、Go 等。
数据库:
关系型:MySQL、PostgreSQL
非关系型:MongoDB、Redis
API 设计:RESTful API、GraphQL、gRPC
示例:
当用户点击“登录”时,前端把账号密码发给后端,后端验证数据库后返回结果(成功/失败)。
三、前后端如何交互
通信方式:
主要通过HTTP(S) 请求(RESTful API 最常见)
常见请求方法:
GET:获取数据POST:提交数据PUT/PATCH:更新数据DELETE:删除数据
数据格式:
通常使用JSON(轻量、通用、易读)
示例:
// 前端发给后端的请求 { "username": "holly", "password": "123456" } // 后端返回的响应 { "status": "success", "token": "abc123xyz" }
接口(API)层:
后端提供一组接口(URL),例如:
POST /api/login GET /api/user/123前端通过 JavaScript 发起网络请求(用
fetch或axios等库)访问这些接口。
四、一个简单的交互流程示意
用户打开网页 → 前端加载页面。
用户输入账号密码并点击登录。
前端调用后端接口:
POST https://example.com/api/login后端验证用户信息 → 查询数据库。
后端返回结果(登录成功 + Token)。
前端收到结果 → 显示欢迎页面。
总结对比
| 对比项 | 前端(Frontend) | 后端(Backend) |
|---|---|---|
| 面向对象 | 用户 | 服务器 |
| 职责 | 展示界面、交互逻辑 | 业务逻辑、数据管理 |
| 技术栈 | HTML、CSS、JS、React、Vue | Python、Java、Node.js、MySQL |
| 数据交互 | 通过 API 调用 | 处理请求并返回响应 |
| 可视性 | 可见 | 不可见 |
举一个例子
假设我们有一个以React 为前端、FastAPI 为后端的应用程序。
一个以React 为前端、FastAPI 为后端的应用程序,其实是一个分层架构系统。
可以想象成一个三层模型:
👩💻 用户界面(React) ⇄ 🧠 应用逻辑层(FastAPI) ⇄ 🗄️ 数据层(数据库)
这三层之间通过“请求”和“响应”不断交流。
二、前端(React)的工作原理
React 是运行在浏览器中的“展示层”,负责所有用户能看到、能点到、能交互的部分。
它的核心作用有三点:
界面展示:
把后端提供的数据(比如用户信息、商品列表)渲染成网页上的内容。用户交互:
当用户点击按钮、输入文字、提交表单时,React 捕获这些操作。数据请求与更新:
React 不直接保存或计算数据,而是通过网络请求向后端要数据。
收到后端返回的数据,再更新界面显示。
你可以把 React 理解为一个智能的“前台客服”,它接待用户、记录需求,然后把请求交给后端去处理。
三、后端(FastAPI)的工作原理
FastAPI 是运行在服务器上的“业务逻辑层”,它不负责展示页面,而是负责处理请求与管理数据。
它的主要职责包括:
接收请求:
当 React 向后端发出一个网络请求(例如“获取用户信息”),FastAPI 会监听特定的接口地址(例如/user/123),接收请求内容。执行业务逻辑:
FastAPI 根据请求内容执行相应的逻辑,比如:检查用户是否登录;
从数据库读取数据;
进行计算或验证。
返回结果:
处理完后,FastAPI 会以JSON 格式把结果返回给前端。
例如:告诉前端“登录成功”、“商品价格是 99 元”、“搜索结果有 10 条”等。
你可以把 FastAPI 理解为后台处理员,负责根据指令操作数据库、计算逻辑、并回复结果。
四、前后端之间的交互方式
React 和 FastAPI 之间的通信是通过HTTP 请求实现的。
这是整个系统“呼吸”的过程:
请求(Request)
前端向后端发出请求:
例如用户点击“登录”,React 发送一个“登录请求”。请求内容通常是JSON 格式数据,例如用户名、密码。
处理(Process)
FastAPI 接收到这个请求;
验证数据(比如比对数据库中的用户名密码);
执行业务逻辑。
响应(Response)
FastAPI 处理完后返回结果;
前端收到这个响应后,更新界面显示,比如跳转主页或显示错误提示。
整个过程通常只需几百毫秒,对用户来说几乎是实时的。
五、接口(API)的作用
前后端之间的交流依赖于一个“桥梁”——API(应用程序接口)。
可以理解为:
API 是前端和后端“说话的语言”或“对话协议”。
前端只要知道“这个接口叫什么、要传什么数据、会返回什么结果”;
后端就负责根据接口规范处理请求并返回结果;
两边互相独立开发,只要接口一致,就能配合工作。
这种方式被称为前后端分离。
六、身份验证与安全机制(简要)
在有登录功能的系统中,通常会有:
前端提交用户名密码;
后端验证身份后返回一个令牌(Token);
前端保存这个 Token;
以后访问其他接口时,带上这个 Token 作为“通行证”;
后端验证 Token 是否有效,以保证安全性。
这保证了即使前后端分离,系统依然能识别“谁在访问”。
七、简单示例流程(举个登录例子)
用一段逻辑来总结整个系统的工作:
用户在浏览器中输入账号密码;
React 捕获输入并发出登录请求;
FastAPI 收到请求,验证数据库;
验证成功后返回登录凭证(Token);
React 保存 Token 并更新页面显示“登录成功”;
之后 React 在访问其他接口时携带 Token;
FastAPI 验证 Token 确认用户身份;
系统继续进行数据交互。
八、总结
| 层级 | 技术 | 职责 | 运行环境 |
|---|---|---|---|
| 前端 | React | 展示界面、接收用户操作、请求数据 | 浏览器(用户端) |
| 后端 | FastAPI | 处理业务逻辑、访问数据库、返回结果 | 服务器(云端或本地) |
| 交互方式 | HTTP + JSON | 双向通信(请求/响应) | 网络连接 |
后端与数据库
一、后端的核心任务到底是什么?
后端的工作可以分为三层理解:
| 层次 | 职责 | 举例 |
|---|---|---|
| 1️⃣接收请求 | 从前端(或其他服务)接收数据 | 登录请求、下单请求 |
| 2️⃣处理逻辑 | 根据业务规则做决策、计算、验证 | 判断密码是否正确、计算价格、生成订单号 |
| 3️⃣管理数据 | 从数据库读取或写入数据 | 查询用户信息、保存订单记录 |
“与数据库交互”是后端非常重要但不是唯一的任务。
它是后端逻辑实现的“数据支撑部分”,但后端还负责安全验证、业务规则、接口规范、性能优化等。
二、数据库与后端的关系
我们可以把数据库看作是后端的记忆系统:
后端是“大脑”——它思考逻辑、决定要做什么;
数据库是“记忆”——它存储事实和历史数据。
比如一个简单的场景:
用户注册账号;
后端接收到注册请求;
后端验证输入合法性;
后端把用户信息写入数据库;
下次用户登录时,后端从数据库读取信息进行验证。
三、后端如何与数据库交互(原理)
后端与数据库的通信主要通过一种**“数据库驱动(Database Driver)”** 或ORM 框架(Object-Relational Mapping)完成。
(1)数据库驱动(Driver)
它是后端语言与数据库的“翻译器”。
比如:
FastAPI 用 Python;
Python 想跟 MySQL 对话;
需要一个 MySQL 驱动(比如
mysql-connector、pymysql);这个驱动把 Python 的命令翻译成数据库语言(SQL)。
流程:
FastAPI → Python 代码 → MySQL 驱动 → SQL 语句 → 数据库(2)ORM 框架(Object-Relational Mapping)
ORM 是一种更高层次的封装,它让你可以像操作对象一样操作数据库。
常用的 Python ORM:
SQLAlchemy,Tortoise ORM,Pydantic + SQLModel作用:
自动生成 SQL;
管理数据库连接;
映射表与 Python 类。
简单理解:
ORM 就像一个“数据翻译员”,让后端不用写复杂 SQL,也能高效管理数据。
四、数据库操作的四大核心动作(CRUD)
无论哪种语言或框架,数据库操作都围绕四类动作展开,统称为CRUD:
| 操作 | 含义 | 举例 |
|---|---|---|
| C - Create | 新增数据 | 注册新用户 |
| R - Read | 读取数据 | 查询用户信息 |
| U - Update | 更新数据 | 修改密码 |
| D - Delete | 删除数据 | 注销账号 |
这四种操作构成了后端与数据库交互的基础。
五、后端与数据库交互时的关键任务
后端不仅仅是“查询和写入”这么简单,它还要在交互中承担一系列关键职责:
| 职责 | 说明 |
|---|---|
| 数据验证 | 防止非法数据写入数据库(例如空用户名、无效邮箱) |
| 权限与安全 | 确保只有授权用户能访问或修改特定数据 |
| 业务逻辑处理 | 在写入或读取数据前进行计算(例如打折、积分计算) |
| 事务管理 | 确保操作的原子性(例如转账时要么都成功,要么都失败) |
| 性能优化 | 缓存热点数据、优化查询、避免重复操作 |
| 接口封装 | 把数据库操作隐藏在后端 API 里,对外提供安全的接口调用 |
六、一个完整的数据流示意(逻辑层面)
以“用户登录”为例:
前端发起请求:
用户输入账号密码,前端发送到后端。后端接收请求:
FastAPI 接到请求,提取用户名和密码。后端访问数据库:
查询数据库中是否存在该用户,并取出密码。后端执行业务逻辑:
比对密码是否正确;后端返回结果:
成功 → 生成 token 并返回;
失败 → 返回错误信息。前端展示结果:
显示“登录成功”或“密码错误”。
整个过程中:
数据的“流动”由后端控制;
数据的“来源与存储”由数据库负责;
数据的“展示”由前端负责。
七、总结一句话
后端的最核心工作是“连接逻辑与数据”。
它通过与数据库交互,保证数据安全、准确、可靠地支持前端业务。
更具体地说:
| 模块 | 职责 |
|---|---|
| 前端 | 展示信息、收集输入 |
| 后端 | 处理业务逻辑、验证请求、操作数据库 |
| 数据库 | 持久化保存数据 |
后端是如何设计数据库结构(表、关系)来支撑业务逻辑”的
一、什么是数据库结构设计?
数据库结构设计,简单来说,就是在设计:
“系统里要保存哪些数据,这些数据之间是什么关系?”
它主要包括三部分内容:
| 内容 | 举例 | 说明 |
|---|---|---|
| 表(Table) | 用户表、订单表、商品表 | 用来保存某一类实体的数据 |
| 字段(Column) | 用户名、密码、邮箱 | 表内的具体属性 |
| 关系(Relation) | 用户和订单的关联 | 不同表之间的联系方式 |
这就像是为业务世界建立一个“数字化的模型”。
二、设计数据库结构的核心逻辑
后端在设计数据库时,一定是从“业务出发”,而不是从“数据出发”。
流程通常是这样的:
1️⃣理解业务需求
→ 比如系统要支持用户注册、下单、支付、评论。
2️⃣抽象出实体(Entity)
→ 用户(User)、商品(Product)、订单(Order)、评论(Comment)等。
3️⃣为每个实体设计数据表
→ 每个表对应一种实体。
4️⃣确定表与表之间的关系
→ 用户有多个订单、订单包含多个商品等。
5️⃣考虑扩展性与性能
→ 预留字段、索引、优化查询方式。
⚙️ 三、三种常见的表关系
在关系型数据库(如 MySQL、PostgreSQL)中,表与表之间的关系一般有三种:
一对一(One-to-One)
定义:A 表中的一条记录只对应 B 表中的一条记录。
示例:
用户表(user)与用户资料表(user_profile)。
每个用户只有一个资料。
用法:拆分数据、减少冗余(例如敏感信息单独存放)。
一对多(One-to-Many)
定义:A 表中的一条记录可以对应 B 表中的多条记录。
示例:
用户(user)与订单(order)
一个用户可以有多个订单,但一个订单只属于一个用户。
这是最常见的关系类型。
多对多(Many-to-Many)
定义:A 表中的一条记录可以对应 B 表的多条记录,反之亦然。
示例:
学生(student)与课程(course)
一个学生可以选多门课,一门课也有多个学生。
👉 需要通过“中间表(关联表)”实现,比如:
student_course(student_id, course_id)
四、数据库设计示例(电商系统)
假设我们要设计一个简单的电商后端系统,核心业务有:
用户注册登录;
浏览商品;
下订单;
订单包含多个商品。
可以抽象出以下数据模型:
| 实体 | 示例字段 | 说明 |
|---|---|---|
| 用户(User) | id, username, email, password | 存储用户账号信息 |
| 商品(Product) | id, name, price, stock | 存储商品信息 |
| 订单(Order) | id, user_id, total_price, created_at | 每个订单属于一个用户 |
| 订单项(OrderItem) | id, order_id, product_id, quantity | 表示订单中具体的商品内容 |
关系如下:
User (1) —— (N) Order (1) —— (N) OrderItem (N) —— (1) Product
含义:
一个用户可以有多个订单;
一个订单可以包含多个商品;
一个商品可以出现在多个订单中。
五、后端如何利用这些关系支撑业务逻辑
后端在编写逻辑时,会利用这些表关系完成各种操作:
| 功能 | 涉及的表 | 操作逻辑 |
|---|---|---|
| 用户注册 | user | 新增一条记录(Create) |
| 用户下单 | order, order_item | 新建订单 + 添加订单项 |
| 查看订单 | order, order_item, product | 通过外键关联查询 |
| 修改库存 | product | 下单后减少库存(Update) |
| 删除用户 | user, order | 删除前检查是否有订单依赖(事务控制) |
后端框架(如 FastAPI + SQLAlchemy)会通过 ORM 自动处理这些表关系和约束。
六、数据完整性与约束
为了让数据库“懂业务”,设计时需要设置一些约束条件:
| 约束类型 | 作用 | 示例 |
|---|---|---|
| 主键(Primary Key) | 唯一标识一条记录 | user.id |
| 外键(Foreign Key) | 建立表之间的关系 | order.user_id → user.id |
| 唯一约束(Unique) | 防止重复数据 | email 唯一 |
| 非空约束(NOT NULL) | 确保必须有值 | username 不可为空 |
| 索引(Index) | 提高查询性能 | 在 email 上建索引 |
这些约束让后端不用每次都手动检查,数据库本身就能防止逻辑错误。
七、后端在设计数据库时还要考虑的策略
除了关系结构,后端工程师还要考虑:
| 考虑点 | 说明 |
|---|---|
| 性能优化 | 通过索引、缓存、读写分离来提高访问效率 |
| 扩展性 | 字段预留、表设计灵活应对未来功能变化 |
| 安全性 | 数据脱敏(如密码加密)、访问权限控制 |
| 事务一致性 | 一组操作要么全部成功,要么全部失败(例如转账) |
| 数据冗余与规范化平衡 | 在性能和存储之间权衡(适当反范式设计) |
八、总结:数据库结构如何支撑业务逻辑
| 层次 | 内容 | 作用 |
|---|---|---|
| 业务逻辑 | 用户注册、下单、支付 | 定义系统要实现的功能 |
| 数据模型 | 用户表、订单表、商品表 | 把业务抽象成数据结构 |
| 数据关系 | 一对多、多对多 | 建立逻辑上的连接 |
| 后端逻辑 | 查询、验证、事务 | 让业务规则与数据行为保持一致 |
2025开年,AI技术打得火热,正在改变前端人的职业命运:
阿里云核心业务全部接入Agent体系;
字节跳动30%前端岗位要求大模型开发能力;
腾讯、京东、百度开放招聘技术岗,80%与AI相关……
大模型正在重构技术开发范式,传统CRUD开发模式正在被AI原生应用取代!
最残忍的是,业务面临转型,领导要求用RAG优化知识库检索,你不会;带AI团队,微调大模型要准备多少数据,你不懂;想转型大模型应用开发工程师等相关岗,没项目实操经验……这不是技术焦虑,而是职业生存危机!
曾经React、Vue等热门的开发框架,已不再是就业的金钥匙。如果认为会调用API就是懂大模型、能进行二次开发,那就大错特错了。制造、医疗、金融等各行业都在加速AI应用落地,未来企业更看重能用AI大模型技术重构业务流的技术人。
如今技术圈降薪裁员频频爆发,传统岗位大批缩水,相反AI相关技术岗疯狂扩招,薪资逆势上涨150%,大厂老板们甚至开出70-100W年薪,挖掘AI大模型人才!
不出1年 “有AI项目开发经验”或将成为前端人投递简历的门槛。
风口之下,与其像“温水煮青蛙”一样坐等被行业淘汰,不如先人一步,掌握AI大模型原理+应用技术+项目实操经验,“顺风”翻盘!
大模型目前在人工智能领域可以说正处于一种“炙手可热”的状态,吸引了很多人的关注和兴趣,也有很多新人小白想要学习入门大模型,那么,如何入门大模型呢?
下面给大家分享一份2025最新版的大模型学习路线,帮助新人小白更系统、更快速的学习大模型!
2025最新版CSDN大礼包:《AGI大模型学习资源包》免费分享**
一、2025最新大模型学习路线
一个明确的学习路线可以帮助新人了解从哪里开始,按照什么顺序学习,以及需要掌握哪些知识点。大模型领域涉及的知识点非常广泛,没有明确的学习路线可能会导致新人感到迷茫,不知道应该专注于哪些内容。
我们把学习路线分成L1到L4四个阶段,一步步带你从入门到进阶,从理论到实战。
L1级别:AI大模型时代的华丽登场
L1阶段:我们会去了解大模型的基础知识,以及大模型在各个行业的应用和分析;学习理解大模型的核心原理,关键技术,以及大模型应用场景;通过理论原理结合多个项目实战,从提示工程基础到提示工程进阶,掌握Prompt提示工程。
L2级别:AI大模型RAG应用开发工程
L2阶段是我们的AI大模型RAG应用开发工程,我们会去学习RAG检索增强生成:包括Naive RAG、Advanced-RAG以及RAG性能评估,还有GraphRAG在内的多个RAG热门项目的分析。
L3级别:大模型Agent应用架构进阶实践
L3阶段:大模型Agent应用架构进阶实现,我们会去学习LangChain、 LIamaIndex框架,也会学习到AutoGPT、 MetaGPT等多Agent系统,打造我们自己的Agent智能体;同时还可以学习到包括Coze、Dify在内的可视化工具的使用。
L4级别:大模型微调与私有化部署
L4阶段:大模型的微调和私有化部署,我们会更加深入的探讨Transformer架构,学习大模型的微调技术,利用DeepSpeed、Lamam Factory等工具快速进行模型微调;并通过Ollama、vLLM等推理部署框架,实现模型的快速部署。
整个大模型学习路线L1主要是对大模型的理论基础、生态以及提示词他的一个学习掌握;而L3 L4更多的是通过项目实战来掌握大模型的应用开发,针对以上大模型的学习路线我们也整理了对应的学习视频教程,和配套的学习资料。
二、大模型经典PDF书籍
书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。(书籍含电子版PDF)
三、大模型视频教程
对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识。
四、大模型项目实战
学以致用,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。
五、大模型面试题
面试不仅是技术的较量,更需要充分的准备。
在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
2025最新版CSDN大礼包:《AGI大模型学习资源包》免费分享