随笔分类 - 学成在线项目
摘要:1 学成在线是个什么样的项目? 1.1 项目背景 学成在线借鉴了MOOC(大型开放式网络课程,即MOOC(massive open online courses))的设计思想,是一个提供IT职业课程在线学习的平台,它为即将和已经加入IT领域的技术人才提供在线学习服务,用户通过在线学习、在线练习、在线
阅读全文
摘要:DevOps 介绍 什么是DevOps DevOps是一种方法或理念,它涵盖开发、测试、运维的整个过程。DevOps是提高软件开发、测试、运维、运营等各部门的沟通与协作质量的方法和过程,DevOps强调软件开发人员与软件测试、软件运维、质量保障(QA)部门之间有效的沟通与协作,强调通过自动化的方法去
阅读全文
摘要:订单与选课需求分析 订单支付流程 学成在线的课程分为免费和收费两种。对于收费课程,用户需提交订单并完成支付方可在线学习。提交订单及支付流程如下: 1、用户提交订单需要先登录系统2、提交订单,订单信息保存到订单数据库3、订单支付,调用微信支付接口完成支付4、完成支付,微信支付系统通知学成在线支付结果5
阅读全文
摘要:用户授权业务流程 用户授权的业务流程如下: 业务流程说明如下: 1、用户认证通过,认证服务向浏览器cookie写入token( 身份令牌)2、前端携带token请求用户中心服务获取jwt令牌前端获取到jwt令牌解析,并存储在sessionStorage3、前端携带cookie中的身份令牌及jwt令牌
阅读全文
摘要:用户认证 用户认证流程分析 用户认证流程如下: 业务流程说明如下: 1、客户端请求认证服务进行认证。2、认证服务认证通过向浏览器cookie写入token(身份令牌)认证服务请求用户中心查询用户信息。认证服务请求Spring Security申请令牌。认证服务将token(身份令牌)和jwt令牌存储
阅读全文
摘要:用户认证需求分析 用户认证需求分析 用户认证与授权 什么是用户身份认证?用户身份认证即用户去访问系统资源时系统要求验证用户的身份信息,身份合法方可继续访问。常见的用户身份认证表现形式有:用户名密码登录,指纹打卡等方式。什么是用户授权?用户认证通过后去访问系统的资源,系统会判断用户是否拥有访问资源的权
阅读全文
摘要:学习页面查询课程计划 到目前为止,我们已可以编辑课程计划信息并上传课程视频,下一步我们要实现在线学习页面动态读取章节对应的视频并进行播放。在线学习页面所需要的信息有两类:一类是课程计划信息、一类是课程学习信息(视频地址、学习进度等),如下图: 在线学习集成媒资管理的需求如下:1、在线学习页面显示课程
阅读全文
摘要:视频处理 需求分析 原始视频通常需要经过编码处理,生成m3u8和ts文件方可基于HLS协议播放视频。通常用户上传原始视频,系统自动处理成标准格式,系统对用户上传的视频自动编码、转换,最终生成m3u8文件和ts文件,处理流程如下:1、用户上传视频成功2、系统对上传成功的视频自动开始编码处理3、用户查看
阅读全文
摘要:在线学习需求分析 学成在线作为在线教育网站,提供多种学习形式,包括:录播、直播、图文、社群等,学生登录进入学习中心即可在线学习,本章节将开发录播课程的在线学习功能,需求如下:1、学生可以在windows浏览器上在线观看视频。2、播放器具有快进、快退、暂停等基本功能。3、学生可以方便切换章节进行学习。
阅读全文
摘要:搜索前端技术需求 采用vue.js开发搜索界面则SEO不友好,需要解决SEO的问题。 seo是网站为了提高自已的网站排名,获得更多的流量,对网站的结构及内容进行调整优化,以便搜索引擎(百度,google等)更好抓取到更优质的网站的内容。 服务端渲染和客户端渲染 采用什么技术有利于SEO?要解答这个问
阅读全文
摘要:课程搜索需求分析 需求分析 1、根据分类搜索课程信息。2、根据关键字搜索课程信息,搜索方式为全文检索,关键字需要匹配课程的名称、 课程内容。3、根据难度等级搜索课程。4、搜索结点分页显示。 搜索流程 1、课程管理服务将数据写到MySQL数据库2、使用Logstash将MySQL数据库中的数据写到ES
阅读全文
摘要:课程发布 需求分析 课程发布后将生成正式的课程详情页面,课程发布后用户即可浏览课程详情页面,并开始课程的学习。课程发布生成课程详情页面的流程与课程预览业务流程相同,如下:1、用户进入教学管理中心,进入某个课程的管理界面2、点击课程发布,前端请求到课程管理服务3、课程管理服务远程调用CMS生成课程发布
阅读全文
摘要:Eureka 注册中心 需求分析 在前后端分离架构中,服务层被拆分成了很多的微服务,微服务的信息如何管理?Spring Cloud中提供服务注册中心来管理微服务信息。为什么 要用注册中心?1、微服务数量众多,要进行远程调用就需要知道服务端的ip地址和端口,注册中心帮助我们管理这些服务的ip和端口。2
阅读全文
摘要:FastDFS 研究 什么是分布式文件系统 什么是文件系统 文件系统是负责管理和存储文件的系统软件,它是操作系统和硬件驱动之间的桥梁,操作系统通过文件系统提供的接口去存取文件,用户通过操作系统访问磁盘上的文件。如下图: 什么是分布式文件系统 为什么会有分布文件系统呢?分布式文件系统是面对互联网的需求
阅读全文
摘要:我的课程 课程添加完成后可通过我的课程进入课程修改页面,此页面显示我的课程列表,如下图所示,可分页查询。注意:由于课程图片服务器没有搭建,这里在测试时图片暂时无法显示。 上边的查询要实现分页、会存在多表关联查询,所以建议使用mybatis实现我的课程查询。 PageHelper PageHelper
阅读全文
摘要:页面发布课程管理 技术方案 本项目使用MQ实现页面发布的技术方案如下: 技术方案说明:1、平台包括多个站点,页面归属不同的站点。2、发布一个页面应将该页面发布到所属站点的服务器上。3、每个站点服务部署cms client程序,并与交换机绑定,绑定时指定站点Id为routingKey。指定站点id为r
阅读全文
摘要:页面发布 业务流程如下:1、管理员进入管理界面点击“页面发布”,前端请求cms页面发布接口。2、cms页面发布接口执行页面静态化,并将静态化页面(html文件)存储至GridFS中。3、静态化成功后,向消息队列发送页面发布的消息。页面发布的最终目标是将页面发布到服务器。通过消息队列将页面发布的消息发
阅读全文
摘要:页面静态化需求 1、为什么要进行页面管理?本项目cms系统的功能就是根据运营需要,对门户等子系统的部分页面进行管理,从而实现快速根据用户需求修改页面内容并上线的需求。 2、如何修改页面的内容?在开发中修改页面内容是需要人工编写html及JS文件,CMS系统是通过程序自动化的对页面内容进行修改,通过页
阅读全文
摘要:新增页面 新增页面接口定义 1、定义响应模型 @Data public class CmsPageResult extends ResponseResult { CmsPage cmsPage; public CmsPageResult(ResultCode resultCode,CmsPage c
阅读全文
摘要:CMS前端开发 Vue.js 与Webpack vue.js是什么? Vue 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种 支持类库结
阅读全文