每天课程名称 | 知识点名称 | 认知程度 | 是否重点 | 一级学习目标 | 二级学习目标 | |
搭建环境 CMS服务端开发 | 项目的功能构架 | 了解 | | 了解项目的功能构架 | | |
项目的技术架构 | 理解 | | 理解项目的技术架构 | 说出项目的技术架构的各各层的作用
说出前后端分离的优势
理解前后端分离的开发步骤 | |
CMS需求分析 | 理解 | | 能够说出CMS的功能需求 | 能够说出本项目CMS的功能定位
能够说出CMS页面的管理流程
能够搭建门户静态工程
理解SSI技术的工作原理
| |
CMS服务端工程搭建 | 应用 | 重点 | 能够搭建CMS服务端工程 | 了解服务端技术栈
能够参考文档配置开发工具
能够参考完成基础工程搭建 | |
页面查询接口定义 | 应用 | 重点 | 能够定义CMS页面列表接口 | 能够理解模型类中注解的作用
理解Lombok的好处
理解本项目接口定义规范 | |
页面查询服务端开发 | 应用 | 重点 | 能够完成CMS页面列表接口开发 | 能够安装MongoDB数据库
能够创建CMS服务工程
能够完成页面查询功能开发 | |
页面查询接口测试 | 应用 | 重点 | 能够完成页面列表接口的测试 | 说出Swagger的作用
会用Swagger测试CMS页面查询接口
会用postman测试CMS页面查询接口 | |
CMS前端开发 | vue.js开发技术 | 应用 | | 能够测试vue.js的常用指令 | 能够说出对渐进式的理解
理解MVVM模式
理解双向数据绑定
能够测试v-bind和v-model的数据绑定效果
能够测试v-on绑定按钮单击事件
能够测试v-bind绑定DOM属性 | |
webpack开发技术 | 应用 | | 能够测试webpack打包流程 | 能够说出webpack在前端开发中的作用
能够参考文档搭建webpack开发环境
使用webpack-dev-server测试webpack打包 | |
CMS前端工程创建 | 应用 | | 能够参考文档搭建cms前端工程 | 理解什么是单页面应用
能够参考文档搭建cms前端工程 | |
分页查询前端开发 | 应用 | 重点 | 能够完成分页查询前端开发 | 能够参考文档创建分页查询的vue页面
能够参考文档定义页面列表的Api方法
理解采用代理方式解决跨域问题的原理
能够完成页面列表的前后端测试 | |
CMS页面管理开发 | CMS页面自定义条件查询 | 应用 | 重点 | 能够开发自定义条件查询 | 能够开发自定义条件查询的服务端。
能够开发自定义条件查询的前端。 | |
CMS新增页面 | 应用 | 重点 | 能够开发新增页面功能 | 能够开发新增页面功能的服务端。
能够开发新增页面功能的前端。 | |
CMS修改页面 | 应用 | 重点 | 能够开发修改页面功能 | 能够开发修改页面功能的服务端。
能够开发修改页面功能的前端。 | |
CMS删除页面 | 应用 | 重点 | 能够开发删除页面功能 | 能够开发删除页面功能的服务端。
能够开发删除页面功能的前端。 | |
异常处理 | 应用 | | 理解项目异常处理的流程 | 理解项目异常处理的流程。
能够编写抛出自定义异常的代码。 | |
CMS页面静态化 | 页面静态化需求 | 理解 | | 理解页面静态化及页面发布流程图 | | |
FreeMarker研究 | 应用 | | 能够编写Freemarker静态化测试程序 | 理解模板加数据模型输出文本的原理
会用freemarker的list指令遍历列表数据
会用freemarker的if指令判断条件
会用freemarker的空值处理方法
能够完成freemarker静态化的测试代码 | |
页面静态化 | 应用 | 重点 | 能够完成页面静态化测试 | 能够开发轮播图DataUrl接口
能够远程请求轮播图DataUrl接口
理解模板管理业务流程
能够完成GridFS存取文件的测试
能够制作测试模板
能够将模板存储到GridFS
能够完成页面静态化测试 | |
页面预览 | 应用 | 重点 | 能够开发页面预览功能 | 理解页面预览的需求
能够开发页面预览功能
能够测试页面预览功能 | |
消息中间件RabbitMQ | 页面发布需求分析 | 理解 | | 理解Cms页面发布的流程 | | |
RabbitMQ介绍 | 理解 | | 能够说出MQ的应用场景 | | |
RabbitMQ工作原理 | 理解 | | 理解RabbitMQ的工作原理 | 能够说出RabbitMQ基础结构组成部分
能够完成RabbitMQ下载和安装
能够完成RabbitMQ的入门程序 | |
RabbitMQ工作模式 | 理解 | 重点 | 理解RabbitMQ的常用工作模式 | 理解Work queues模式
理解Publish/Subscribe模式
理解Routing模式
理解Topics工作模式 | |
Spring整合RibbitMQ | 应用 | 重点 | 能够基于Spring开发RabbitMQ的生产者和消费者 | 能够搭建spring整合RabbitMQ环境
能够使用RabbitTemplate向MQ发送消息
能够使用@RabbitListener注解开发消费者 | |
页面发布 我的课程 | 页面发布开发 | 应用 | 重点 | 能够开发页面发布功能 | 理解页面发布流程
能够开发页面发布消费方
能够开发页面发布生产方
能够开发页面发布前端
能够完成页面发布测试 | |
课程管理需求分析 | 理解 | | 能够理解课程管理需求 | | |
课程管理环境搭建 | 应用 | | 能够搭建课程管理开发环境 | 能够搭建数据库环境
能够创建课程管理服务工程
能够完成Dao测试 | |
课程计划 | 应用 | 重点 | 能够开发我的课程计划 | 能够使用表自连接完成树型数据查询
能够编写课程计划接口
能够测试课程计划功能 | |
课程管理实战 | 我的课程 | 应用 | | 能够开发我的课程功能 | 能够使用PageHelper开发分页接口
能够开发我的课程接口 | |
数据字典 | 应用 | | 能够开发数据字典查询接口 | 理解数据字典的好处
能够开发数据字典查询接口 | |
新增课程 | 应用 | 重点 | 能够开发新增课程功能 | 能够编写新增课程接口
能够测试新增课程功能
能够查询课程分类信息 | |
课程管理界面 | 理解 | | 能看懂课程管理界面的前端代码 | | |
课程修改 | 应用 | 重点 | 能够开发课程修改管理功能 |
能够编写课程修改接口
能够测试课程修改功能 | |
课程图片管理 分布式文件系统 | FastDFS研究 | 理解 | | 理解fastDFS的工作原理 | 了解分布式文件系统的概念
理解fastDFS的上传文件流程
理解fastDFS的下载文件流程 | |
上传图片 | 应用 | 重点 | 能够开发上传图片功能 | 理解课程管理中上传图片的处理流程
能够开发文件系统服务的上传文件接口
能够测试文件系统服务的上传文件接口 | |
保存课程图片 | 应用 | 重点 | 能够开发保存课程图片功能 | 理解保存课程图片的需求
能够开发保存图片接口
能够测试保存图片接口 | |
图片查询 | 应用 | 重点 | 能够开发图片查询功能 | 理解图片查询的需求
能够开发图片查询接口
能够测试图片查询接口 | |
课程图片删除 | 应用 | 重点 | 能够开发课程图片删除功能 | 理解图片删除的需求
能够开发图片删除接口
能够测试图片删除接口 | |
课程预览 Eureka Feign | Eureka注册中心 | 理解 | 重点 | 能够将微服务注册到注册中心 | 理解注册中心的作用
能够搭建Eureka高可用架构
能够将cms注册到Eureka Server
能够将manage-course注册到Eureka Server | |
Feign远程调用 | 理解 | 重点 | 能够测试Feign远程调用 | 理解客户端负载均衡和服务端负载均衡
能够进行Ribbon测试
能够定义FeignClient接口
能够测试Feign远程调用 | |
课程预览技术方案 | 理解 | | 理解课程预览的技术方案 | 能够理解课程预览的需求
理解课程详情页面技术方案
理解课程预览技术方案 | |
课程详情页面静态化 | 应用 | | 能够完成课程预览页面静态化测试 | 理解课程详情页面内容组成
理解页面拆分方法
能够完成静态页面测试
能够完成课程数据模型查询接口
理解课程信息模板设计方法 | |
课程预览功能开发 | 应用 | 重点 | 能够完成课程预览功能开发 | 理解课程预览功能需求
能够课程预览服务端
能够测试课程预览功能 | |
课程发布 ElasticSearch | 课程发布 | 应用 | 重点 | 能够完成课程发布开发 | 理解课程发布的流程
完成CMS一键发布接口开发
测试CMS一键发布接口
能够完成课程发布接口开发 | |
ElasticSearch介绍 | 记忆 | | 能够说出ElasticSearch的优势 | | |
ElasticSearch原理与应用 | 理解 | | 理解倒排索引结构 | 理解倒排索引结构
理解ElasticSearch的RESTful应用方法 | |
Elasticasearch安装 | 应用 | | 能够安装ElasticSearch和head插件 | 完成ElasticSearch安装
了解ES的三个配置文件
完成head插件安装并连接ES | |
ES快速入门 | 应用 | 重点 | 能够完成ES快速入门程序 | 能够完成创建索引库
能够完成创建映射
能够完成创建文档
能够完成搜索文档 | |
安装IK分词器 | 应用 | | 能够安装安装IK分词器 | 能够测试分词器
能够安装IK分词器
理解IK的两种分词模式
能够自定义词库 | |
映射类型 | 理解 | | 能够定义常用的映射类型 | 能够定义查询所有索引的映射:
能够创建映射
能够删除映射
能够理解analyzer、index、store三个属性
能够定义text类型映射
能够定义keyword类型映射
能够定义日期类型映射
能够定义数值类型映射 | |
ElasticSearch索引管理 | 应用 | 重点 | 能够测试索引增删改查 | 能够测试添加文档
能够测试查询文档
能够测试更新文档
能够测试删除文档 | |
搜索服务 | ElasticSearch搜索管理 | 应用 | 重点 | 能够测试常用的DSL搜索方法 | 能够测试简单搜索
能够使用DSL测试查询所有文档
能够使用DSL测试分页查询
能够使用DSL测试Term Query
能够使用DSL测试根据id精确匹配
能够使用DSL测试match Query
能够使用DSL测试multi Query
能够使用DSL测试布尔查询
能够测试过虑器
能够测试排序
能够测试高亮 | |
|
ElasticSearch集群管理 | 应用 | | 能够创建ES集群 | 了解集群结构
能够创建集群
能够查询集群的健康
能够测试集群搜索功能 | |
课程信息索引 | 应用 | 重点 | 能够使用Logstash完成课程索引 | 理解课程搜索流程
完善课程发布功能
能够使用Logstash完成课程索引 | |
搜索接口开发 | 应用 | 重点 | 能够开发搜索接口 | 理解搜索的需求
能够开发搜索接口
能够测试搜索接口 | |
搜索前端 Nuxt.js | Nuxt.js工作原理 | 理解 | | 理解Nuxt.js的工作原理 | 理解服务端渲染和客户端渲染
了解SEO
理解Nuxt.js工作原理 | |
|
Nuxt.js基本使用 | 应用 | | 能够掌握Nuxt.js的基本使用方法 | 理解目录结构
理解目录别名
能够测试页面布局
能够测试基础路由
能够测试嵌套路由
理解asyncData 方法
理解async /await方法 | |
搜索前端开发 | 应用 | | 能够开发调试搜索前端基本功能 | 能够开发调试搜索页面
能够开发调试查询全部
能够开发调试按分类搜索
能够开发调试按难度等级搜索
能够开发调试分页搜索 | |
在线学习 HLS | 在线学习需求分析 | 理解 | | 理解在线学习需求分析 | | |
在线点播解决方案 | 理解 | | 理解在线点播解决方案 | 了解流媒体相关概念
了解视频编码格式
理解HLS点播方案 | |
视频编码 | 应用 | | 能够使用FFmpeg生成m3u8/ts文件 | 了解FFmpeg 的基本使用
能够使用Ffmpeg生成m3u8/ts文件
了解码率 | |
播放器 | 应用 | | 能够测试video.js | 搭建video.js测试环境
编写video.js测试页面 | |
搭建学习中心前端 | 应用 | | 能够搭建搭建学习中心前端 | 能够创建学习中心工程
能够调试视频播放页面 | |
媒资管理上传文件 | 应用 | 重点 | 能够开发媒资管理上传文件功能 | 理解媒资管理需求
理解上传文件的需求
理解文档文件上传的解决方案
理解WebUploader上传文件的钩子方法
能够开发上传文件的接口
能够测试上传文件的接口 | |
媒资管理 | 视频处理需求分析 | 理解 | | 理解视频处理流程 | | |
视频处理进程 | 应用 | 重点 | 能够开发视频处理进程 | 能够测试Process Builder调用第三方程序
能够测试Mp4VideoUtil和HlsVideoUtil工具类
能够编写视频处理代码 | |
视频处理自动调用 | 应用 | | 能够完成视频处理自动调用测试 | 能够配置RabbitMQ
能够修改mergechunks方法向MQ发送消息
能够完成视频处理自动调用测试 | |
我的媒资 | 应用 | | 能够开发我的媒资功能 | 理解我的媒资需求
能够开发我的媒资功能
能够测试我的媒资功能 | |
媒资管理与课程管理集成 | 应用 | 重点 | 能够完成媒资管理与课程管理集成 | 理解媒资管理与课程管理集成的需求
能够开发选择视频
能够开发保存课程计划及视频信息
能够开发显示视频信息 | |
媒资管理系统集成 | 学习页面查询课程计划 | 应用 | | 能够开发在线学习查询课程计划功能 | 理解在线学习查询课程计划的需求
能够开发查询课程信息接口 | |
学习页面获取视频播放地址 | 应用 | 重点 | 能够开发学习页面获取视频播放地址功能 | 理解搜索服务查询课程媒资信息的需求
能够开发课程发布存储媒资信息
能够开发Logstash采集课程媒资信息
能够开发搜索服务查询课程媒资信息功能 | |
在线学习接口 | 应用 | 重点 | 能够开发在线学习接口功能 | 理解学习服务查询课程媒资的需求
能够搭建学习服务工程
能够开发学习服务查询课程媒资功能 | |
| | | | | |
用户认证 Spring Security Oauth2 | 用户认证需求分析 | 理解 | | 理解用户认证需求分析 | 理解用户认证与授权的概念
理解单点登录需求
理解第三方认证需求 | |
用户认证技术方案 | 理解 | | 理解Oauth2认证解决方案 | 理解单点登录技术方案
理解第三方认证技术方案
理解Spring security + Oauth2认证解决方案 | |
Spring security Oauth2研究 | 理解 | | 理解Oauth2的常用模式 | 能够搭建搭建认证服务器
能够理解Oauth2授权码模式
能够理解Oauth2密码模式
能够测试校验令牌
能够测试刷新令牌 | |
JWT研究 | 理解 | | 理解JWT生成及校验令牌的方法 | 理解JWT令牌授权过程
理解JWT令牌的优点
能够测试生成jwt令牌
能够测试校验jwt令牌 | |
认证接口开发 | 应用 | 重点 | 能够开发认证接口 | 理解认证流程
能够完成Redis配置
能够完成认证接口的开发
能够完成认证接口的测试 | |
用户认证 Zuul | 用户登录 | 应用 | 重点 | 能够开发用户登录 | 理解用户认证需求
能够开发认证服务查询数据库
能够调用认证接口实现用户认证功能 | |
前端显示当前用户 | 应用 | 重点 | 能够开发前端显示当前用户 | 理解前端显示当前用户需求
能够开发jwt查询接口 | |
用户退出 | 应用 | | 能够开发用户退出 | 理解用户退出需求
能够开发用户退出 | |
Zuul网关 | 理解 | | 理解Zuul网关的工作原理 | 理解微服务中网关的作用
能够创建网关工程
能够配置路由
能够测试网关过虑器 | |
身份校验 | 应用 | 重点 | 能够开发身份校验 | 理解身份校验的需求
能够编写网关过虑器实现身份校验 | |
用户授权 | 用户授权业务流程 | 理解 | | 理解用户授权业务流程 | | |
方法授权 | 应用 | 重点 | 能够使用PreAuthorize注解完成方法授权 | 理解方法授权的需求
能够实现生成jwt令牌包含权限
能够使用PreAuthorize注解完成方法授权 | |
动态查询用户权限 | 应用 | 重点 | 能够开发动态查询用户权限 | 理解权限数据模型
能够开发动态查询用户权限 | |
前端集成认证授权 | 应用 | | 能够实现前端集成认证授权 | 理解前端集成认证授权的需求
能够实现教学管理中心前端授权 | |
细粒度授权 | 应用 | | 能够开发细粒度授权 | 理解细粒度授权的需求
能够开发查询自己的课程功能
能够开发获取当前用户信息 | |
微服务之间认证 | 应用 | | 能够开发微服务之间认证 | 理解微服务之间认证的需求
能够工发Feign 拦截器携带令牌 | |
分布式事务 | 订单与选课需求分析 | 理解 | | 理解订单与选课需求分析 | 理解订单支付流程
理解订单支付数据模型
理解自动选课需求 | |
分布式事务解决方案 | 理解 | 重点 | 理解基于消息队列的分布式事务解决方案 | 理解什么是分布式事务
理解CAP理论
理解消息队列实现最终一致方案 | |
Spring Task定时任务 | 应用 | | 能够测试Spring Task定义任务程序 | 能够测试Spring Task串行任务
能够测试Spring Task并行任务 | |
订单服务定时发送消息 | 应用 | | 能够开发订单服务定时发送消息 | 理解订单服务定时发送消息的需求
能够开发订单服务定时发送消息 | |
自动添加选课开发 | 应用 | | 能够开发自动添加选课 | 理解自动添加选课的需求
能够自动添加选课 | |
DevOps 项目总结 | DevOps介绍 | 理解 | | 理解DevOps概念 | | |
Git/GitLab | 应用 | | 能够使用Git管理项目代码 | 理解Git与GitLab的作用
能够将项目代码提交到GitLab
能够从GitLab检出项目 | |
Docker | 应用 | | 能够将微服务部署到Docker | 了解虚拟化技术
能够安装Docker
理解Docker部署流程
能够将微服务部署到Docker
能够基于maven构建镜像 | |
持续集成 | 理解 | | 理解持续集成的作用 | 理解技术集成的概念
理解持续集成任务过程 | |
项目总结 | 记忆 | 重点 | 熟练理解并记忆项目的常见题目 | | |