哇,618这波报名高级项目课的也太太太太太太太划算了吧!!!
课程目标
2. 积累一个真实的web项目的开发经验
3. 掌握面试热点及答题策略
实战项目
《牛客社区》,即牛客网讨论区,项目截图如下:
技术架构
2. Redis、Kafka、Elasticsearch
3. Spring Security、Spring Actuator
二、课程大纲
第1章 初识Spring Boot,开发社区首页
第1节 课程介绍
详细介绍本套课程的目标、技术架构、开发环境。
第2节 搭建开发环境
安装项目构建工具Maven、集成开发工具IntelliJ IDE,并在此环境下开发Spring Boot框架的入门示例。
第3节Spring入门
了解Spring框架的产品形态,理解什么是IoC编程思想,并掌握使用IoC管理Bean的基本原理和常见语法。
第4节 Spring MVC入门
了解HTTP协议、Spring MVC、模板引擎,学会在Spring MVC框架下处理客户端请求和响应的常见语法。
第5节 MyBatis入门
安装MySQL Server及MySQL Workbench。了解MyBatis核心组件,学会利用Spring整合MyBatis,对单表进行CRUD操作。
第6节开发社区首页
回顾一次请求的执行过程,分析web项目的开发流程,并实现社区首页的帖子列表功能。
第7节 项目调试技巧
理解常见的响应状态码的含义,学会查看响应状态,并判断程序异常的大致原因。学会如何记录日志,掌握日志的配置方式。学会服务端、客户端的断点调试方法。
第8节 版本控制
安装Git,并将已完成的代码上传至远程仓库(牛客Git仓库);
第2章 Spring Boot实践,开发社区登录模块
第1节 发送邮件
了解邮箱的设置与常见配置,学会利用Spring Mail、Thymeleaf发送HTML格式的邮件。
第2节 开发注册功能
开发注册功能,在注册成功后自动向用户发送包含激活链接的邮件,并提供激活邮件的服务。
第3节 会话管理
了解什么是会话管理、Cookie和Session的联系,并掌握Cookie和Session的基本语法。
第4节 生成验证码
学会使用Kaptcha生成验证码,并完成登录页面验证码的生成及刷新功能。
第5节 开发登录、退出功能
开发登录功能,在登录成功后自动生成登录凭证,并利用Cookie在客户端保存登录凭证。开发退出功能,并在退出时删除登录凭证。
第6节 显示登录信息
了解Spring MVC***,学会***的基本用法,并使用***实现在所有页面上显示用户登录信息的功能。
第7节 账号设置
学会在SpringMVC框架下,上传文件的实现方式,并实现上传头像、获取头像的功能。
第8节检查登录状态
学会自定义注解,并利用***拦截带有自定义注解的方法,再检查访问该方法时用户的登录状态,从而判定用户的访问权限。
第3章 Spring Boot进阶,开发社区核心功能
第1节 过滤敏感词
了解前缀树,以及利用前缀树实现敏感词过滤的原理。基于前缀树,设计、开发敏感词过滤工具。
第2节 发布帖子
了解AJAX,以及使用jQuery发送异步请求的方式。采用AJAX异步请求,实现帖子发布的功能。
第3节 帖子详情
开发帖子详情功能,显示帖子的详细信息。
第4节 添加评论
理解评论表的设计原则,并开发添加评论的功能。
第5节 显示评论
开发显示评论功能,在帖子详情页面里,显示出帖子的评论信息。
第6节 发送私信
开发发送私信功能,并显示未读消息的数量。
第7节 私信列表
开发私信列表功能,显示当前用户与其他用户的会话列表,并在每次会话里显示一条最新的消息。
第8节 私信详情
开发私信详情功能,详细的显示每一条会话中的所有往来消息。
第9节 统一处理系统异常
了解ControllerAdvice的常见用法,并在控制器发生异常时,统一采用ControllerAdvice将请求重定向到错误页面。
第10节统一记录业务日志
理解什么是AOP,以及AOP的常见用法。在每一次请求中,统一使用Spring AOP记录业务日志。
第四章 Redis,一站式高性能存储方案
了解Redis的优势,学会安装Redis,掌握Redis的常见数据类型及其相关的操作方式。
第2节 Sping整合Redis
学会编写Redis配置类,掌握利用RedisTemplate操作常见数据类型的方式。
第3节 点赞
开发点赞功能,并将点赞数据存入Redis。
第4节 我收到的赞
从Redis中读取点赞数据,统计我收到的赞的数量。
第5节 关注、取关
开发关注功能,将产生的数据存入Redis。开发取消关注功能,从Redis中删除关注数据。
第6节 关注数、粉丝数
从Redis中读取数据,分别统计我的关注数、我的粉丝数。
第7节 关注列表、粉丝列表
开发关注列表功能,分页显示我关注的人。开发粉丝列表功能,分页显示关注我的人。
第8节 优化登录模块
利用Redis存储验证码、登录凭证、用户信息,并在一段时间后自动删除这些数据,从而提高服务器的处理能力。
第5章 Kafka,构建TB级异步消息系统
第1节 阻塞队列
了解阻塞队列、生产者与消费者模式,学会利用阻塞队列管理消息的发布。
第2节 Kafka入门
了解Kafka的优势,学会安装Kafka,掌握Kafka的常见配置及操作。
第3节 Spring整合Kafka
学会编写Kafka配置类,掌握在Spring框架下,使用Kafka发布消息、处理消息的方式。
第4节 开发社区通知功能
利用Kafka,开发社区通知功能,包括处理评论事件、处理点赞事件、处理关注事件。即:在收到评论时、点赞时、关注时,通过发布系统消息对用户进行通知。
第6章 Elasticsearch,分布式搜索引擎
第1节 Elasticsearch入门
了解Elasticsearch的优势,学会安装Elasticsearch。掌握Elasticsearch的常见操作,掌握中文分词插件的安装与配置。
第2节 Spring整合Elasticsearch
学会利用ElasticsearchRepository执行CRUD操作,学会利用ElasticsearchTemplate访问索引,学会对搜索结果中的关键词做高亮显示的处理。
第3节 开发社区搜索功能
增加帖子发布事件,在帖子发布时,异步的将帖子同步到Elasticsearch服务器。开发搜索帖子的功能,并将搜索结果中的关键词做高亮显示。
第7章项目进阶,构建安全高效的企业服务
第1节 Spring Security
理解Spring Security的工作原理,掌握Spring Security的常见语法。
第2节 权限控制
编写Spring Security配置类,并利用Spring Security管理项目中各功能的访问权限。
第3节 置顶、加精、删除
开发置顶、加精、删除功能,并利用Spring Security管理上述功能的访问权限。
第4节 Redis高级数据类型
了解Redis中HyperLogLog与Bitmap类型的适用场景,以及它们的常用语法。
第5节 网站数据统计
使用HyperLogLog开发统计网站UV的功能,使用Bitmap开发统计网站活跃用户的功能,并利用Spring Security管理上述功能的访问权限。
第6节 任务执行和调度
了解线程池的作用与类型,学会使用Spring线程池管理线程、使用Spring Scheduling管理定时任务。了解Spring Quartz的优势,并学会如何通过Quartz管理定时任务。
第7节 热帖排行
增加帖子热度统计事件,在帖子数据发生变化时,将其加入队列。启动定时任务,并在任务触发时计算队列中的各个帖子的热度,从而实现热帖排行功能。
第8节 生成长图
了解七牛云的注册、配置及常见操作。重构账号设置功能,将头像上传至七牛云,重构生成长图服务,将生成的图片上传至七牛云。
第10节 优化网站的性能
学会JMeter工具的使用方式,并利用JMeter对某个功能做压力测试。利用Redis优化该功能的存储性能,并再次对此功能做压力测试,观察优化前后的性能差异。
第8章 项目发布与总结
第1节 单元测试
了解Spring Boot Test,学会使用Spring Boot Test做单元测试。
第2节 项目部署
了解Spring Profile、Nginx,学会在Linux环境下部署web项目。
第3节 项目监控
了解Spring Boot Actuator的作用,学会Spring Boot Actuator的常见用法,学会自定义监控端点以及设置端点的访问权限。
第4节 项目总结
回顾开发过程中常见的问题,总结项目的重点及难点,并给出应对面试的建议。
第5节 常见面试题
掌握MySQL、Spring、Redis等技术的面试热点及答题策略。
三、讲师介绍
李洪鹤,牛客网专职讲师。曾任用友软件设计师、达内集团金牌讲师、粉笔科技IT课程研发总监。拥有7年开发实战经验,5年教学经验。