全栈学习路线图
TIP
以下是一个全栈学习路线图,涵盖了前端、后端、数据库和 DevOps 等方面的知识。
前端开发
Details
- 前端开发
- HTML
- HTML 基础
- HTML 语义化
- 表单和输入元素
- 可访问性
- SEO 优化
- CSS
- CSS 基础知识
- 布局技术(Flexbox、Grid)
- 响应式设计
- CSS 预处理器(Sass、Less)
- CSS in JS(在JavaScript中应用CSS的方法)
- CSS Modules(模块化CSS样式,避免样式冲突)
- Styled Components(基于JavaScript的CSS样式库)
- Vanilla Extract(零依赖、类型安全的CSS工具库)
- Panda CSS(快速、可定制的样式工具库)
- CSS框架与组件库:
- MUI (Material-UI)
- daisyUI
- Chakra UI
- Mantine
- Tailwind CSS
- Radix UI
- Shadcn UI
- BEM(块元素修饰符)
- CSS架构
- Sass (CSS预处理器)
- PostCSS(CSS后处理器)
- JavaScript
- 学习DOM操作 (文档对象模型)
- 学习事件处理
- 学习AJAX和Fetch API(XHR)
- 版本控制系统
- GitHub
- GitLab
- Bitbucket
- TypeScript
- 类型系统
- 接口和类型
- 泛型
- 装饰器
- git
- 学习版本控制
- 学习Git命令行
- 学习GitHub
- 学习Git Flow
- 学习GitLab
- 前端框架
- React
- Vue.js
- Angular
- Svelte
- Solid JS
- Qwik
- Node.js
- 包管理器
- npm
- pnpm
- yarn
- 构建工具
- Module Bundlers(模块打包器)
- Vite
- esbuild
- Webpack
- Rollup
- Parcel
- Task Runners(任务运行器)
- npm scripts
- Prettier
- ESLint
- Linters和Formatters(代码检查和格式化工具)
- Module Bundlers(模块打包器)
- 包管理器
- 网络基础
- 互联网如何工作
- HTTP/HTTPS
- 域名是什么
- 什么是托管
- 浏览器及其工作原理
- DNS及其工作原理
- Web安全基础
- CORS(跨域资源共享)
- HTTPS
- 内容安全策略
- OWASP安全风险
- 认证策略(JWT、OAuth、SSO、Basic Auth、Session Auth等)
- Web组件
- HTML模板
- 自定义元素
- Shadow DOM
- 服务端渲染(SSR)
- 测试
- Jest
- Vitest
- Playwright
- Cypress
- 了解Unit、Integration和Functional测试的区别
- 静态站点生成器
- Astro
- Eleventy
- Hugo
- Jekyll
- Next.js
- Nuxt.js
- Remix
- GraphQL
- Apollo
- Relay Modern
- 渐进式Web应用(PWA)
- 性能优化
- 使用Lighthouse
- 使用DevTools
- 计算、测量和优化性能
- 移动应用开发
- React Native
- Flutter
- Ionic
- NativeScript
- 桌面应用开发
- Electron
- Tauri
- Flutter
- HTML
后端开发
Details
- 后端开发
- 互联网基础
- 互联网如何工作
- 什么是HTTP/HTTPS
- 什么是域名
- 什么是托管
- 浏览器和它们如何工作
- DNS及其工作原理
- 学习一门语言
- Rust
- Go
- Java
- JavaScript/TypeScript
- C#
- PHP
- Python
- Ruby
- 版本控制系统
- GitHub
- GitLab
- Bitbucket
- 快速托管服务
- 关系型数据库
- PostgreSQL
- MySQL
- MariaDB
- MS SQL
- Oracle
- NoSQL数据库
- 文档数据库
- MongoDB
- CouchDB
- 时间序列数据库
- InfluxDB
- TimescaleDB
- 列式数据库
- Cassandra
- HBase
- 实时数据库
- Firebase
- RethinkDB
- 键值存储
- Redis
- DynamoDB
- 图数据库
- Neo4j
- 文档数据库
- 数据库进阶知识
- ORM工具
- ACID原则
- 事务处理
- N+1问题
- 数据库规范化
- 索引和优化
- 数据复制
- 分片策略
- CAP定理
- 学习API开发
- REST API
- JSON API
- SOAP
- gRPC
- GraphQL
- 认证方式
- Cookie Based
- OAuth
- Basic Auth
- Token Auth
- JWT
- OpenID
- SAML
- 缓存
- 客户端缓存
- 服务器端缓存
- CDN(内容分发网络)
- Redis
- Memcached
- Web安全知识
- HTTPS
- CORS
- SSL/TLS
- OWASP安全风险
- 内容安全策略
- 哈希算法家族
- MD5及为什么不使用它
- 测试
- 集成测试
- 单元测试
- 功能测试
- 测试策略与方法论
- CI/CD(持续集成/持续部署)
- 操作系统和通用知识
- 终端使用
- POSIX基础
- stdin, stdout, stderr, pipes
- 进程管理
- 线程和并发
- 内存管理
- 进程间通信
- I/O管理
- 基本网络概念
- 基本终端命令
- grep, awk, sed, lsof, curl, wget, tail, head, less, find等
- 软件设计与架构
- 设计和开发原则
- GOF设计模式
- 领域驱动设计(DDD)
- 测试驱动开发(TDD)
- SOLID原则
- KISS原则
- YAGNI原则
- DRY原则
- 架构模式
- 单体应用
- 微服务
- SOA(面向服务架构)
- 无服务架构
- Serverless
- 事件驱动
- 十二要素应用
- 设计和开发原则
- 消息队列与代理
- RabbitMQ
- Kafka
- 服务器发送事件(SSE)
- WebSockets
- 搜索引擎
- Elasticsearch
- Solr
- 容器化与虚拟化
- Docker
- Kubernetes
- LXC
- GraphQL
- Apollo
- Relay Modern
- GraphQL查询
- GraphQL变更
- Web服务器
- Nginx
- Apache
- Caddy
- MS IIS
- Tomcat
- 构建可扩展系统
- 扩展策略
- 迁移策略
- 水平与垂直扩展
- 可观测性
- 指标、日志和其他可观测项
- 用于调试和解决问题
- 负载均衡
- 回压机制
- 限流
- 熔断器
- 扩展策略
- 互联网基础
全栈开发
Details
- 全栈开发
基础阶段
- HTML
- CSS
- JavaScript
- 检查点 - 静态网页制作
交互性开发
- JavaScript进阶
- npm包管理器
- 检查点 - 交互性功能
协作与版本控制
- GitHub
- Git
- 检查点 - 协作工作
前端框架
- React
- Tailwind CSS
- 检查点 - 前端应用
后端开发
- Node.js(推荐作为后端语言,因为已经熟悉JavaScript)
- 检查点 - CLI应用
数据库
- PostgreSQL
- 检查点 - 简单CRUD操作
API与认证
- RESTful APIs
- JWT认证
- Redis
- 检查点 - 完整应用
DevOps基础
- Linux基础
- 基础AWS服务
- Route53
- SES
- EC2
- VPC
- S3
- 检查点 - 部署
监控与自动化
- Monit
- GitHub Actions
- Ansible
- Terraform
- 检查点 - 自动化
- 检查点 - CI/CD
- 检查点 - 监控
- 检查点 - 基础设施
学习路径建议
- 按照检查点顺序学习
- 每个检查点实践项目巩固知识
- 前端框架可在学习一些后端知识后再回头学习
- 完成基础路径后可继续深入专业前端、后端或DevOps路线
学习过程中请使用检查点来验证你的学习进度,每个检查点都包含可以用来巩固知识的项目创意。