全栈工程师实战:从

全栈工程师实战:从 0 开发云笔记

杨凯乐 · 系统架构师

1051人已买
详情
目录(34)

专栏亮点

  • 无死角全栈开发:数据库设计、服务端开发、Web 前端开发,三大板块,无死角学习,弥补你的技能短板;
  • 真实项目实战:基于真实项目的实战开发,即学即用,不再迷茫;
  • 规范化开发流程:每个功能,都严格遵循方案选择、接口文档设计、数据库设计、流程图设计、代码实现、单元测试的流程;
  • 完整的知识体系:全程按照一个项目的开发过程进行,对涉及到的知识点完整讲解并在项目中真实使用,形成一套完整的知识体系。

为什么要成为全栈工程师?

技术人最怕的就是只关注自己的「一亩三分地」,成为项目中的螺丝钉

长此以往,这类工程师的技能将变得越来越狭窄,他们得到的机会和选择也将越来越少。对于有经验的工程师来说,虽然他们参与的项目越来越多,积累的却是同质化的经验;对于在校生或初级工程师来说,由于视野狭窄,他们无形中错过了很多好机会。

拓展自己的技术能力,对于求职、晋升,乃至创业来说都至关重要。而成为一位全栈工程师,将为你带来更好的发展机会。

在实战中融会贯通

本专栏为有志于成为全栈工程师的你量身打造,带你进行一次 Spring Boot + MyBatis + Vue + Element 全栈项目开发实战。我们选用当下主流的技术,带你从零开始实现一个完整的云笔记应用,实现前端、后端、数据库设计与开发流程。

专栏的每篇文章都有对应的完整代码在 GitHub 上托管。大家既可以参考项目的代码风格规范自己的书写习惯,也可以从中学习到合适的技术知识和设计思想,还可以基于此项目开发自己的系统和应用。

  • 如果你是没有开发经验的在校大学生,想从事开发工作而又不知道选择哪个方向;通过本专栏的学习,可以使你真正参与到前后端分离开发的项目中去,轻松入门全栈开发,在项目的实际开发过程中选择感兴趣的技术方向,并积累足够的项目经验。

  • 如果你是有工作经验的前端开发工程师,对后端开发感兴趣;通过本专栏的学习,可以使你对 Java 后端开发全流程有深入了解,扩展你的知识领域。

  • 如果你是有工作经验的 Java 开发工程师,希望在技术上进一步提升;通过本专栏的学习,不仅可以使你对 Java 各种技术有重新的认知,获取到各种有助于快速开发的工具和设计结构,还可以使你对前端开发全流程有深入了解,并通过快速搭建前端项目、灵活运用各种 Vue.js 组件及 Element UI 控件来完成你想要的功能和页面布局。

专栏结构

本专栏分为 7 个部分,由浅入深,循序渐进,带你一步步开发出完整完善的属于自己的项目。

第 1 部分 项目简介

介绍专栏内容及专栏内的项目内容,完成项目需求分析,正式立项。

  • 第 1 篇:导读,对本专栏要讲述的内容做简单说明

  • 第 2 篇:需求分析,明确项目目标及产品功能树,作为后续项目开发的依据

第 2 部分 项目前期准备

进行项目正式开发前的所备工作:架构选择、数据库设计、接口文档设计等,以严谨的思想和正式的开发流程对待我们的项目,保证整个项目开发过程有法可依、有据可查。

  • 第 3 篇:数据库设计,透过现象看本质,从一款产品的界面中分析出它底层的数据结构,并将其整理成文档

  • 第 4 篇:接口文档设计,从不同的角度对功能树进行分析,将其拆分成接口,并整理成文档,作为前后端分离开发的依据

  • 第 5 篇:前端结构设计,选择 Vue.js + Element UI 做为项目的前端架构,完成前端项目搭建,并保证功能的可用性

  • 第 6 篇:后端结构设计,选择 Spring Boot + MyBatis 做为项目的后端架构,完成后端项目搭建,选择 Postman 做为 RestFul 接口测试工具,完成测试接口的测试工作

第 3 部分 核心功能开发

进行云笔记项目后端核心功能的开发,以登录注册功能为引,将项目后端的基石打牢,为后续的快速开发做准备。在这一部分的学习中,你会对 Java 深入了解,自己动手设计安全易用的服务端架构、发送邮件、开发通用工具、存取文件、压缩图像……

  • 第 7 篇:MyBatis 通用 Mapper,利用 Java 反射机制、泛型机制完成轻量级 MyBatis 工具的开发,使后续的开发免除手写 SQL 的烦恼

  • 第 8 篇:MyBatis 自动建表,利用 Java 自定义注解,在 通用 Mapper 的基础上完成自动建表,后续开发过程中不用再手动创建数据表

  • 第 9 篇:统一的 HTTP 应答格式,按照接口文档要求,定义统一的应答格式,避免多人协作及前后端分离开发过程中数据格式的不统一引起的沟通成本

  • 第 10 篇:统一的 HTTP 请求处理,通过对 HttpServletRequest 的深度解析及 RestTemplate 的灵活运用,实现 HTTP 请求的统一解析和转处理,为后端接口布置上天然屏障

  • 第 11 篇:注册 1,在 Spring Boot 中使用 JavaMail 发送邮件验证码,完成注册接口开发

  • 第 12 篇:注册 2,在 Vue 中,使用 Element UI 进行页面布局,并使用 axios 发送 HTTP 请求,完成注册功能

  • 第 13 篇:登录 1,在 Spring Boot 中使用 JWT 做为用户身份认证机制,完成登录接口的开发

  • 第 14 篇:登录 2,生成 HTTPS 证书,并在 Spring Boot、Vue 及 Postman 中进行配置,使其均支持 HTTPS,保证 JWT 在网络传输过程中的安全性;同时在 Vue 中完成登录功能

  • 第 15 篇:用户名片1,在 Spring Boot 中实现图片的上传及压缩功能,用来保存用户头像原图和缩略图,完成用户头像上传和名片设置与读取接口

  • 第 16 篇:用户名片 2,通过搭建 Nginx 文件服务器来为前端提供文件服务,使 Spring Boot 免受文件访问的压力;同时补充图片元数据解析与定位图片拍摄地点的知识,形成完整的图片处理知识体系

  • 第 17 篇:用户名片 3,在 Vue 项目中,完成用户名片设置和头像上传功能

  • 第 18 篇:修改密码,梳理用户修改密码的两种场景和三种方式,使用 JavaMail 配合 JWT 通过发送重置密码链接邮件的方式修改密码

第 4 部分 业务功能开发

这一部分重点讲述云笔记项目前端页面的设计,完成云笔记项目的业务功能,带你对 Vue.js 深入了解,掌握 Vue 路由配置、组件化开发、灵活运用各种开源组件。

  • 第 19 篇:笔记本列表,在 Spring Boot 中快速实现笔记本相关接口,在 Vue 中通过组件化的思想来展示用户的笔记本列表

  • 第 20 篇:笔记列表,在 Spring Boot 中快速实现笔记相关接口,在 Vue 中使用 vuedraggable 组件实现笔记列表的拖拽排序功能

  • 第 21 篇:富文本笔记 1,使用 wangeditor 组件实现富文本笔记的保存和编辑功能

  • 第 22 篇:富文本笔记 2,使用 base64 对笔记内容进行加密,以保证在传输过程中不会出现乱码

  • 第 23 篇:MarkDown 笔记 1,使用 mavon-editor 组件实现 MarkDown 笔记的编辑和展示功能

  • 第 24 篇:MarkDown 笔记 2,对 HTTP 传输大小和速率进行分析,通过对保存和获取笔记内容的接口进行改造来支持足够长的笔记内容

第 5 部分 后台管理功能开发

这部分介绍云笔记项目的后台管理功能,从功能设计到前后端功能实现,带你完成一个完整的后台管理系统。

  • 第 25 篇:用户管理 1,在 Spring Boot 中快速开发出用户管理接口,使用 Element UI 搭建起经典的后台管理功能能界面,实现用户管理功能

  • 第 26 篇:用户管理 2,使用 file-saver + xlsx 组件实现将用户数据导出到 Excel 中

  • 第 27 篇:用户统计 1,在 Spring Boot 中添加用户注册日志和登录日志,形成用户统计的数据源,并实现新增用户数、活跃用户数等用户统计接口

  • 第 28 篇:用户统计 2,在 Vue 中,使用 echarts 组件生成直观的日增长用户曲线图、活跃用户直方图等,将数据可视化

  • 第 29 篇:权限管理,在 Spring Boot 和 Vue 项目中添加完整的权限控制逻辑,实现权限管理功能

第 6 部分 项目升级

这一部分介绍如何将该项目改造能支撑起千万级的用户量大型分布式项目,通过这部分的学习,让你对大数据和高并发产生亲近感:原来你就在这里。

  • 第 30 篇:分布式部署,通过 Sping Cloud 的使用,将云笔记项目快速修改为微服务架构,实现分布式部署,从而使系统支撑起庞大的访问量

  • 第 31 篇:缓存,在系统分布式部署的基础上使用 Redis 做为缓存,并对数据库进行分库、分表等优化设计,从而使数据库面对庞大的用户群而毫无压力

  • 第 32 篇:异步请求,为面对庞大的用户群体,对系统内部进行优化,使用 RabbitMQ 将日志记录等非核心业务做异步请求处理,缩短单个业务的系统响应时间

第 7 部分 总结

对本专栏的学习内容总结与回顾,查漏补缺,深入思考,同时也是一个项目完成后对项目进行中的经验与教训的总结。

  • 第 33 篇:对整个专栏内容进行回顾和总结

作者简介

avatar

你将获得什么

  • 项目业务功能的独立分析能力
  • 接口文档、数据库结构的独立设计能力
  • Spring Boot / MyBatis / Vue / Element 等框架的结构与用法
  • Java 反射 / 泛型 / 自定义注解等基础知识
  • Java 发送邮件 / 文件上传 / 图片压缩 / 图片解析等应用场景
  • MyBatis 通用 Mapper / 自动建表等深度使用场景
  • 拖拽组件 vuedraggable / 富文本编辑器 wangeditor / MarkDown 编辑器 mavon-editor / 图表 echarts / Excel 文件保存 file-saver + xlsx 等 Vue.js 组件的使用
  • Http 请求测试工具 Postman 的使用
  • JWT / HTTPS / Nginx 在前后端的应用
  • Redis / RabbitMQ / js-base64 / @vue/cli / 逆地理编码等其他知识的应用

目标人群

  • 计算机/软件专业大学生
  • 前端开发工程师
  • Java 开发工程师
  • 对开发工作感兴趣的 UI 设计师、测试工程师
  • 编程爱好者

购买须知

  • 本专栏为图文内容,共计 33 篇。每周更新 2 篇,预计 6 月初更新完毕。
  • 本专栏为虚拟产品,一经付费概不退款,敬请谅解。
  • 本专栏可在 GitChat 服务号、App 及网页端 gitbook.cn 上购买,一端购买,多端阅读。

订阅福利

  • 订购本专栏可获得专属海报(在 GitChat 服务号领取),分享专属海报每成功邀请一位好友购买,即可获得 25% 的返现奖励,多邀多得,上不封顶,立即提现。

  • 提现流程:在 GitChat 服务号中点击「我-我的邀请-提现」。

  • 购买本专栏后,服务号会自动弹出入群二维码和暗号。如果你没有收到那就先关注微信服务号「GitChat」,或者加我们图上的小助手微信进行咨询。(入群方式可查看第 4 篇文末说明)。

购买须知

  • 本课程内容版权归北京码字科技发展有限公司独家所有,未经授权,不得转载。
  • 本课程为虚拟产品,一经付费概不退款,敬请谅解。
  • 添加 GitChat 助教俏俏(微信 ID: gitchat2025),加入免费技术交流群。
× 订阅 Java 精选频道
¥ 元/月
订阅即可免费阅读所有精选内容