跳转到内容

Module 18: 技术栈、工具链与常用术语

📖 深度参考手册 — 本模块属于理论参考,非主线必读。 主线学习路径见 README.md。 当你在项目实战中遇到相关问题时,回来查阅。

这个模块是参考手册,帮你在技术选型时快速做出决策,在阅读技术文章时理解术语。


定义:前端技术栈是构建用户界面所使用的框架、库和工具的组合,决定了开发体验、性能表现和可维护性。 为什么重要:选错前端框架可能导致项目中期大规模重写,选对则能让团队效率翻倍。

框架特点适合场景学习曲线
React生态最大,灵活,JSX大型应用,团队项目中等
Vue模板语法,渐进式,中文生态好中小型应用,个人项目较低
Svelte编译时框架,无虚拟DOM,体积小性能敏感,简单应用
Next.jsReact全栈框架,SSR/SSG,App Router需要SEO的应用,全栈较高
NuxtVue全栈框架,对标Next.jsVue生态的全栈方案中等
方案原理优点缺点
Tailwind CSS原子类,直接在HTML中写样式最流行,开发快,一致性强HTML较冗长
CSS Modules编译时生成局部作用域类名无冲突,传统CSS写法文件多,复用性一般
styled-componentsCSS-in-JS,样式写在JS中动态样式方便,组件化运行时开销,包体积大

定义:后端技术栈是服务器端处理业务逻辑、数据存储和API服务所使用的编程语言和框架的组合。 为什么重要:后端选型直接影响系统的性能上限、运维复杂度和团队招聘难度。

语言特点适合场景代表框架
Go编译型,并发强(goroutine),部署简单微服务,高并发API,CLI工具Gin / Echo / Fiber
Node.jsJS全栈,非阻塞IO,npm生态大实时应用,全栈,快速原型Express / Fastify / NestJS
Python语法简洁,ML/数据生态强数据处理,ML服务,脚本,快速原型FastAPI / Django / Flask
Java企业级,JVM生态,强类型大型企业系统,金融Spring Boot / Quarkus
Rust内存安全,零成本抽象,性能极致系统编程,性能关键组件Actix / Axum
场景推荐理由
一个人快速做MVPNode.js(Express)或 Python(FastAPI)开发速度最快,生态丰富
团队开发生产系统Go(Gin)或 Java(Spring Boot)性能好,类型安全,易维护
性能关键组件Go 或 Rust接近C的性能,内存占用低

定义:数据库技术栈是根据数据模型和访问模式选择的存储引擎组合,不同类型的数据库解决不同类型的问题。 为什么重要:数据库是系统中最难替换的组件,选错数据库的迁移成本远高于换一个前端框架。

数据库类型特点适合场景
PostgreSQL关系型功能最全(JSON/GIS/全文搜索),ACID,扩展性强默认选择,复杂查询
MySQL关系型简单可靠,读性能好,生态成熟Web应用,读多写少
MongoDB文档型Schema灵活,水平扩展,JSON原生快速迭代,异构数据
Redis键值/内存极快(微秒级),数据结构丰富(String/Hash/List/Set/ZSet)缓存,会话,排行榜,限流
Elasticsearch搜索引擎倒排索引,全文搜索,聚合分析搜索,日志分析
ClickHouse列式/分析极快的聚合查询,适合大量数据分析数据分析,报表
Neo4j图数据库节点+关系,多跳查询高效社交关系,推荐,知识图谱
InfluxDB时序时间戳索引,自动降采样监控指标,IoT数据
你的项目需要什么?
├── 默认 → PostgreSQL
├── 需要缓存 → + Redis
├── 需要搜索 → + Elasticsearch
├── 需要分析 → + ClickHouse
└── 需要图查询 → + Neo4j

定义:全栈技术方案是前端、后端、数据库的固定搭配组合,经过社区验证,有完整的文档和最佳实践。 为什么重要:使用成熟的技术方案组合比自己东拼西凑更可靠,遇到问题更容易找到解决方案。

方案名称前端后端数据库适合场景
T3 StackNext.jstRPC + Prisma + TypeScriptPostgreSQL类型安全全栈
MERNReactExpressMongoDB快速原型,JS全栈
Go + ReactReact(Vite)Go(Gin)PostgreSQL高性能API
Django + ReactReactDjango RESTPostgreSQLPython生态,数据处理
Laravel + VueVueLaravel(PHP)MySQLPHP生态,快速开发
Rails + ReactReactRuby on RailsPostgreSQL快速MVP

定义:开发工具链是从编码、调试、测试到部署过程中使用的全套工具,好的工具链能显著提升开发效率。 为什么重要:工具选得好,每天节省30分钟,一年就是180小时。

类别工具说明
IDE/编辑器VS Code最流行,插件生态丰富,免费
JetBrains 系列功能强大但较重,付费
Vim / Neovim极高效但学习曲线陡峭
终端iTerm2(Mac)Mac上最流行的终端
Windows TerminalWindows默认现代终端
WarpAI驱动的现代终端
API测试Postman最流行的API测试GUI工具
Insomnia轻量替代品
HTTPie命令行HTTP客户端
VS Code REST Client编辑器内直接测试API
版本控制Git + GitHub / GitLab行业标准
容器Docker Desktop官方方案
OrbStack(Mac)更轻量,启动快
数据库管理DBeaver通用,支持所有数据库
pgAdminPostgreSQL专用
TablePlus界面美观,付费
设计FigmaUI设计行业标准
Excalidraw手绘风格架构图

定义:AI辅助开发是利用大语言模型在编码、调试、重构等环节提供智能辅助的开发方式,正在重塑软件开发的工作流程。 为什么重要:AI工具能将常规编码效率提升2-5倍,但前提是你知道如何给出好的指令和判断生成结果的质量。

工具特点适合场景
Claude CodeCLI工具,自主编码能力强,支持复杂任务后端/全栈开发,重构,复杂任务
CursorVS Code fork,内置AI,Tab补全前端开发,日常编码
GitHub CopilotIDE插件,代码补全日常编码,行级补全
Windsurf类Cursor的AI IDE编码+对话
  1. 需求描述越清楚,生成质量越高 — 用本课程的5层框架来组织你的指令
  2. 分步骤给指令,不要一次要求太多 — 把大任务拆成小步骤,逐步推进
  3. 生成后检查 — 用 review-checklist.md 逐项核对生成的代码
  4. AI擅长写代码但不擅长做架构决策 — 这正是你学本课程的意义:你做决策,AI做执行

定义:软件开发领域的常用技术术语中英对照表,按类别分组整理,方便在阅读技术文章时快速查阅。 为什么重要:技术文章中大量使用英文缩写和术语,看不懂术语就无法理解文章,更无法和AI工具有效沟通。

术语全称中文含义
APIApplication Programming Interface应用程序接口
DNSDomain Name System域名系统
CDNContent Delivery Network内容分发网络
SSL/TLSSecure Sockets Layer / Transport Layer Security安全传输层
CORSCross-Origin Resource Sharing跨源资源共享
WebSocket全双工通信协议
gRPCGoogle Remote Procedure Call远程过程调用
RESTRepresentational State Transfer表述性状态转移
GraphQL图查询语言
术语全称中文含义
ACIDAtomicity, Consistency, Isolation, Durability原子性/一致性/隔离性/持久性
ORMObject-Relational Mapping对象关系映射
CRUDCreate, Read, Update, Delete增删改查
Sharding分片/分区
Replication复制
Index索引
Migration数据库迁移
Transaction事务
Deadlock死锁
Connection Pool连接池
术语全称中文含义
CI/CDContinuous Integration / Continuous Deployment持续集成/持续部署
Docker容器化平台
K8sKubernetes容器编排
IaCInfrastructure as Code基础设施即代码
SLA/SLO/SLIService Level Agreement/Objective/Indicator服务级别协议/目标/指标
RTO/RPORecovery Time Objective / Recovery Point Objective恢复时间目标/恢复点目标
Blue-Green Deployment蓝绿部署
Canary Release金丝雀发布
Rolling Update滚动更新
Feature Flag功能开关
术语全称中文含义
JWTJSON Web TokenJSON网络令牌
OAuth开放授权
RBACRole-Based Access Control基于角色的访问控制
XSSCross-Site Scripting跨站脚本
CSRFCross-Site Request Forgery跨站请求伪造
SQL InjectionSQL注入
HTTPS超文本传输安全协议
WAFWeb Application FirewallWeb应用防火墙
DDoSDistributed Denial of Service分布式拒绝服务
Encryption加密
术语全称中文含义
Microservices微服务
Monolith单体架构
Load Balancer负载均衡器
Reverse Proxy反向代理
Message Queue消息队列
Pub/SubPublish / Subscribe发布/订阅
Event-Driven Architecture事件驱动架构
Serverless无服务器
BaaSBackend as a Service后端即服务
SaaS/PaaS/IaaSSoftware/Platform/Infrastructure as a Service软件/平台/基础设施即服务
术语全称中文含义
MVPMinimum Viable Product最小可行产品
SDKSoftware Development Kit软件开发工具包
Boilerplate样板代码
Refactoring重构
Technical Debt技术债务
Code Review代码审查
Linting代码风格检查
Middleware中间件
Webhook网络钩子
Idempotent幂等的

定义:技术选型决策框架是一套结构化的评估方法,通过多维度对比帮助团队在众多技术方案中做出理性选择,而非凭直觉或跟风。 为什么重要:技术选型是影响最深远的决策之一,选型失误的代价往往在项目中后期才暴露,届时更换的成本极高。

维度关键问题权重建议
团队规模和技能团队熟悉什么技术?招人容易吗?最高
项目阶段是MVP、成长期还是规模化?
性能需求QPS多少?延迟要求?数据量多大?
生态和社区文档完善吗?第三方库多吗?
运维成本自托管还是用托管服务?团队有运维能力吗?
阶段推荐技术栈理由
MVP(0→1)Next.js 全栈 或 Supabase + 前端最快出活,一个人能搞定
成长期(1→100)Go/Node.js + PostgreSQL + Redis性能和可维护性的平衡点
规模化(100→10000)微服务 + K8s + 专用数据库按需扩展各组件,独立部署

“技术选型没有银弹,最好的技术是你的团队能驾驭的技术。”

  • 先精通一套技术栈,再横向扩展。 比起什么都会一点,深入掌握一套完整方案更有价值。
  • 用减法做选型。 不是选最好的技术,而是排除明显不合适的,剩下的都能用。
  • 参考但不盲从。 大厂用的技术未必适合你的3人团队,根据自身情况做判断。