
学成在线
小飞侠v科比
专注IT全栈技术
展开
-
学成在线 第1天 讲义-项目概述 CMS接口开发 1项目的功能构架
1项目的功能构架1.1项目背景受互联网+概念的催化,当今中国在线教育市场的发展可谓是百花齐放、如火如荼。 按照市场领域细分为:学前教育、K12教育、高等教育、留学教育、职业教育、语言教育、兴趣教育以及综合平台,其中,职业教育和语言教育 的市场优势突出。 根据Analysys易观发布的数据显示,预计2019年中国互联网教育市场交易规模将达到3718亿元人民币,未来三年互联网教育市场规模保...原创 2019-05-08 22:00:59 · 2518 阅读 · 0 评论 -
学成在线-第15天-讲义-媒资管理系统集成
1学习页面查询课程计划1.1需求分析到目前为止,我们已可以编辑课程计划信息并上传课程视频,下一步我们要实现在线学习页面动态读取章节对应的 视频并进行播放。在线学习页面所需要的信息有两类:一类是课程计划信息、一类是课程学习信息(视频地址、学 习进度等),如下图:在线学习集成媒资管理的需求如下:1、在线学习页面显示课程计划2、点击课程计划播放该课程计划对应的视频本章节实现学习页面动态...原创 2019-05-30 22:17:23 · 930 阅读 · 0 评论 -
学成在线-第16天-讲义- Spring Security Oauth2 JWT
1用户认证需求分析1.1用户认证与授权截至目前,项目已经完成了在线学习功能,用户通过在线学习页面点播视频进行学习。如何去记录学生的学习过程 呢?要想掌握学生的学习情况就需要知道用户的身份信息,记录哪个用户在什么时间学习什么课程;如果用户要购 买课程也需要知道用户的身份信息。所以,去管理学生的学习过程最基本的要实现用户的身份认证。什么是用户身份认证?用户身份认证即用户去访问系统资源时系统...原创 2019-05-30 22:44:24 · 2041 阅读 · 1 评论 -
学成在线-第19天-讲义-分布式事务
1订单与选课需求分析1.1订单支付流程学成在线的课程分为免费和收费两种。对于收费课程,用户需提交订单并完成支付方可在线学习。 提交订单及支付流程如下:1、用户提交订单需要先登录系统2、提交订单,订单信息保存到订单数据库3、订单支付,调用微信支付接口完成支付4、完成支付,微信支付系统通知学成在线支付结果5、学成在线接收到支付结果通知,更新支付结果提交订单流程:1、用户进入课程详...原创 2019-06-05 22:54:27 · 1081 阅读 · 0 评论 -
原 学成在线 第10-2天全文检索 Elasticearch 研究
教学目标1.了解Elasticsearch的应用场景2.掌握索引维护的方法3.掌握基本的搜索Api的使用方法约束1.阅读本教程之前需要掌握Lucene的索引方法、搜索方法 。1ElasticSearch介绍1.1介绍官方网址:https://www.elastic.co/cn/products/elasticsearchGithub:https://github.com/ela...原创 2019-05-28 22:09:03 · 474 阅读 · 0 评论 -
学成在线-第11天-讲义-搜索服务
1课程搜索需求分析1.1需求分析1、根据分类搜索课程信息。2、根据关键字搜索课程信息,搜索方式为全文检索,关键字需要匹配课程的名称、 课程内容。3、根据难度等级搜索课程。4、搜索结点分页显示。1.2搜索流程1、课程管理服务将数据写到MySQL数据库2、使用Logstash将MySQL数据库中的数据写到ES的索引库。3、用户在前端搜索课程信息,请求到搜索服务。4、搜索服务请求...原创 2019-05-28 23:07:50 · 927 阅读 · 0 评论 -
学成在线-第12天-讲义-搜索前端 Nuxt.js
1搜索前端技术需求1.1需求描述采用vue.js开发搜索界面则SEO不友好,需要解决SEO的问题。1.2了解SEO总结:seo是网站为了提高自已的网站排名,获得更多的流量,对网站的结构及内容进行调整优化,以便搜索引擎(百度,google等)更好抓取到更优质的网站的内容。下图是搜索引擎爬取网站页面的大概流程图:(搜索引擎的工作流程很复杂,下图只是简单概括)从上图可以看到SEO是...原创 2019-05-28 23:24:57 · 1070 阅读 · 1 评论 -
学成在线-第20天-讲义-DevOps
1DevOps介绍1.1什么是DevOpsDevOps是Development和Operations两个词的缩写,引用百度百科的定义:DevOps是一种方法或理念,它涵盖开发、测试、运维的整个过程。DevOps是提高软件开发、测试、运维、运营等各部门的沟通与协作质量的方法和过程,DevOps强调软件开发人员与软件测试、软件运维、质量保障(QA)部门之间有效的沟通与协作,强调通过自动化的方法...原创 2019-06-05 23:12:32 · 669 阅读 · 0 评论 -
学成在线-第17天-讲义-用户认证 Zuul
1用户认证1.1用户认证流程分析用户认证流程如下:业务流程说明如下:1、客户端请求认证服务进行认证。2、认证服务认证通过向浏览器cookie写入token(身份令牌)认证服务请求用户中心查询用户信息。 认证服务请求Spring Security申请令牌。认证服务将token(身份令牌)和jwt令牌存储至redis中。认证服务向cookie写入 token(身份令牌)。3、前端...原创 2019-06-02 23:12:21 · 2102 阅读 · 1 评论 -
学成在线-第18天-讲义-用户授权
1用户授权业务流程用户授权的业务流程如下:2方法授权2.1需求分析方法授权要完成的是资源服务根据jwt令牌完成对方法的授权,具体流程如下:1、生成Jwt令牌时在令牌中写入用户所拥有的权限我们给每个权限起个名字,例如某个用户拥有如下权限:course_find_list:课程查询course_pic_list:课程图片查询2、在资源服务方法上添加注解PreAuthorize,并指定此...原创 2019-06-02 23:25:28 · 879 阅读 · 0 评论 -
学成在线-第14天-讲义-媒资管理
1视频处理1.1需求分析原始视频通常需要经过编码处理,生成m3u8和ts文件方可基于HLS协议播放视频。通常用户上传原始视频,系统 自动处理成标准格式,系统对用户上传的视频自动编码、转换,最终生成m3u8文件和ts文件,处理流程如下:1、用户上传视频成功2、系统对上传成功的视频自动开始编码处理3、用户查看视频处理结果,没有处理成功的视频用户可在管理界面再次触发处理4、视频处理...原创 2019-05-30 21:54:54 · 1121 阅读 · 0 评论 -
学成在线-第13天-讲义-在线学习 HLS
1在线学习需求分析1.1需求描述学成在线作为在线教育网站,提供多种学习形式,包括:录播、直播、图文、社群等,学生登录进入学习中心即可 在线学习,本章节将开发录播课程的在线学习功能,需求如下:1、学生可以在windows浏览器上在线观看视频。2、播放器具有快进、快退、暂停等基本功能。3、学生可以方便切换章节进行学习。什么是录播课程?录播课程就是提供录制好课程视频,供用户在线点播,反...原创 2019-05-30 21:02:12 · 2051 阅读 · 7 评论 -
学成在线-第10天-讲义-课程发布
1课程发布1.1需求分析课程发布后将生成正式的课程详情页面,课程发布后用户即可浏览课程详情页面,并开始课程的学习。 课程发布生成课程详情页面的流程与课程预览业务流程相同,如下:1、用户进入教学管理中心,进入某个课程的管理界面2、点击课程发布,前端请求到课程管理服务3、课程管理服务远程调用CMS生成课程发布页面,CMS将课程详情页面发布到服务器4、课程管理服务修改课程发布状态为 “已发...原创 2019-05-12 23:17:57 · 838 阅读 · 0 评论 -
学成在线 第2天 讲义-CMS前端开发
1Vue.js与Webpack研究参考:学成在线-Vue.js与Webpack.pdf2CMS前端工程创建2.1导入系统管理前端工程CMS系统使用Vue-cli脚手架创建, Vue-cli是Vue官方提供的快速构建单页应用的脚手架,github地址: https://github.com/vuejs/vue-cli(有兴趣的同学可以参考官方指导使用vue-cli创建前端工程),本项目对Vu...原创 2019-05-08 22:18:20 · 835 阅读 · 0 评论 -
学成在线 第3天 讲义-CMS页面管理开发
1自定义条件查询1.1需求分析在页面输入查询条件,查询符合条件的页面信息。查询条件如下:站点Id:精确匹配模板Id:精确匹配 页面别名:模糊匹配…1.2服务端1.2.1Dao使用 CmsPageRepository中的findAll(Example<S> var1, Pageable var2)方法实现,无需定义。下边测试findAll方法实现自定义条件查询://自...原创 2019-05-09 23:18:00 · 1274 阅读 · 0 评论 -
学成在线 第4天 讲义-页面静态化 页面预览
1页面静态化需求1、为什么要进行页面管理?本项目cms系统的功能就是根据运营需要,对门户等子系统的部分页面进行管理,从而实现快速根据用户需求修改 页面内容并上线的需求。2、如何修改页面的内容?在开发中修改页面内容是需要人工编写html及JS文件,CMS系统是通过程序自动化的对页面内容进行修改,通过页面静态化技术生成html页面。3、如何对页面进行静态化?一个页面等于模板加数据,在添加页...原创 2019-05-09 23:37:26 · 1404 阅读 · 3 评论 -
学成网 第5天 讲义-消息队列 RabbitMQ GridFS
1页面发布1.1需求分析业务流程如下:1、管理员进入管理界面点击“页面发布”,前端请求cms页面发布接口。2、cms页面发布接口执行页面静态化,并将静态化页面(html文件)存储至GridFS中。3、静态化成功后,向消息队列发送页面发布的消息。页面发布的最终目标是将页面发布到服务器。通过消息队列将页面发布的消息发送给各各服务器。3、消息队列负责将消息发送给各各服务器上部署的Cms ...原创 2019-05-11 09:26:05 · 396 阅读 · 0 评论 -
学成在线 第6天 讲义-页面发布 课程管理
1页面发布1.1技术方案本项目使用MQ实现页面发布的技术方案如下:技术方案说明:1、平台包括多个站点,页面归属不同的站点。2、发布一个页面应将该页面发布到所属站点的服务器上。3、每个站点服务部署cms client程序,并与交换机绑定,绑定时指定站点Id为routingKey。指定站点id为routingKey就可以实现cms client只能接收到所属站点的页面发布消息。4...原创 2019-05-11 09:50:19 · 2513 阅读 · 0 评论 -
学成在线 第7天 讲义-课程管理实战
1我的课程1.1需求分析课程添加完成后可通过我的课程进入课程修改页面,此页面显示我的课程列表,如下图所示,可分页查询。上边的查询要实现分页、会存在多表关联查询,所以建议使用mybatis实现我的课程查询。1.2API接口输入参数:页码、每页显示个数、查询条件输出结果类型:QueryResponseResult<自定义类型>在api工程创建course包,创建Cours...原创 2019-05-12 01:06:02 · 1647 阅读 · 0 评论 -
学成在线 第8-1天 讲义-课程图片管理 分布式文件系统 FastDFS研究
1)了解分布式文件系统的概念及应用场景2)理解fastDFS的工作原理3)掌握fastDFS存取文件方法1 FastDFS研究1什么是分布式文件系统1.1技术应用场景传智播客拥有大量优质的视频教程,并且免费提供给用户去下载,文件太多如何高效存储?用户访问量大如何保证 下载速度?今天讲解的分布式文件系统将解决这些问题。分布式文件系统解决了海量文件存储及传输访问的瓶颈问题,对海量视频的...原创 2019-05-12 10:17:14 · 941 阅读 · 0 评论 -
学成在线 第8-2天 讲义-课程图片管理 分布式文件系统 上传图片开发
上传图片开发1.1.1需求分析在很多系统都有上传图片/上传文件的需求,比如:上传课程图片、上传课程资料、上传用户头像等,为了提供系 统的可重用性专门设立文件系统服务承担图片/文件的管理,文件系统服务实现对文件的上传、删除、查询等功能 进行管理。各各子系统不再开发上传文件的请求,各各子系统通过文件系统服务进行文件的上传、删除等操作。文件系统服务 最终会将文件存储到fastDSF文件系...原创 2019-05-12 10:27:28 · 896 阅读 · 0 评论 -
学成在线 第9天 讲义-课程预览 Eureka Feign Ribbon
1Eureka注册中心1.1需求分析在前后端分离架构中,服务层被拆分成了很多的微服务,微服务的信息如何管理?Spring Cloud中提供服务注册中心来管理微服务信息。为什么 要用注册中心?1、微服务数量众多,要进行远程调用就需要知道服务端的ip地址和端口,注册中心帮助我们管理这些服务的ip和 端口。2、微服务会实时上报自己的状态,注册中心统一管理这些微服务的状态,将存在问题...原创 2019-05-12 23:04:00 · 1188 阅读 · 1 评论 -
前后端分离式分布式微服务架构项目 学成在线开发项目 源码 视频 文档 工具 合集百度云下载地址
百度云下载地址链接: https://pan.baidu.com/s/1DfzfuXiUkEQ9Ed1Z1CKJhA提取码: ff6n学成在线采用当前流行的前后端分离架构开发,由用户层、UI层、微服务层、数据层等部分组成,为PC、App、H5等客户端用户提供服务.学成在线服务端基于Spring Boot构建,采用Spring Cloud微服务框架。持久层:MySQL、MongoDB、Re...原创 2019-06-22 12:08:34 · 5491 阅读 · 18 评论