学成在线
文章平均质量分 83
Rsun04551
也许当我老了,也一样Code;不为别的,只为了爱好。
展开
-
学成在线总结
mongdb启动:进入mongdb文件的bin目录启动mongdb.exe;http://www.xuecheng.com/http://www.xuecheng.com:31001/cms/page/list/1/3http://localhost:31001/swagger-ui.html#!/cms45page45controller/findListUsingGET复制项目后maven一下就可以了;项目经验:用户管理:使用用户名和密码进行登录认证服务工程1、pom中引入SpringC原创 2021-04-07 14:28:05 · 245 阅读 · 0 评论 -
项目总结
前端VUEVUE的MVVM模式:Model:负责数据存储–scriptView:负责页面展示–template标签View Model:负责业务逻辑处理(比如Ajax请求等),对数据进行加工后交给视图展示–script@表示当前工程的src目录下template:编写view部分script:vm部分,定义变量与方法style:编写页面样式:model是v-bind:model的缩写,常用在form标签中v-model指令在表单 、 及 元素上创建双向数据绑定v-on:click指令原创 2020-07-29 16:41:10 · 234 阅读 · 0 评论 -
Vue中nodejs、npm、cnmp和webpack的关系
Vue是一套用于构建用户界面的渐进式框架,使用vue你得用webpack打包吧,webpack基于node.js运行,那你得安装node吧,就如你开发java要装maven一样,你得有个npm包管理工具吧,npm默认会去国外的镜像去下载js包,如同你登录github一样慢,那你哪能受得了,你得安装一个cnmp(淘宝镜像)来加快下载速度,之后你才能装webpack,装完之后你要开发代码,每次改完代...原创 2020-03-07 21:54:22 · 434 阅读 · 0 评论 -
解决:'webpack-dev-server' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
相信很多人在使用webpack-dev-server时肯定会遇到一些问题(如下图所示)我在学习vue框架的时候因为要使用到webpack工具,但这个工具又是基于node,而我对node没有任何基础,然后每次出现问题就在网上疯狂的找啊找,在网上诸如类似这个问题的解答很多,但是每个人的情况不一样,而我相信我的情况是最复杂的那种,试过网上所有办法之后还是没有解决,最后摸索出了一套自己的万能解决办法!...原创 2020-02-22 11:50:50 · 14787 阅读 · 6 评论 -
Spring Data JPA中常用的注解详解
我们先看看类前面的两个注解@Entity标识这个实体类是一个JPA实体,告诉JPA在程序运行的时候记得生成这个实体类所对应的表@Table(name = "自定义的表名")自定义设置这个实体类在数据库所对应的表名@Id把这个类里面所在的变量设置为主键Id@GeneratedValue设置主键的生成策略,这种方式依赖于具体的数据库,如果数据库不支持自增主键,那么这个类型是没...原创 2020-03-22 13:43:07 · 1285 阅读 · 1 评论 -
项目parent中pom文件
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ma...原创 2020-03-08 10:27:52 · 434 阅读 · 1 评论 -
xczx项目问题集
1、BCryptPasswordEncoder加密算法怎么查看加密前的密码BCryptPasswordEncoder encoder = new BCryptPasswordEncoder(); boolean xcWebApp = encoder.matches("XcWebApp", "$2a$10$9bEpZ/hWRQxyr5hn5wHUj.jxFpIrnOmBcWlE/g/0Zp3uNxt9QTh/S"); System.out.println(xcWebApp);原创 2020-06-02 17:52:08 · 329 阅读 · 0 评论 -
20、DevOps
1、DevOpsDevOps是Development和Operations两个词的缩写,它涵盖开发、测试、运维的整个过程,简言为自动化部署。2、Git/GitLabGit是一个版本控制系统,GitLab是一个远程的Git仓库,GitLab与GitHub及国内的码云类似,用户在GitLab上注 册账号,上传项目到GitLab,通过GitLab对项目进行版本控制。通常企业使用GitLab在局域网搭建自己的Git代码 管理仓库,不过随着云计算的发展,很多企业也开始使用提供Git仓库管理公共服务的平台,比如原创 2020-06-14 16:48:13 · 200 阅读 · 0 评论 -
19、分布式事务
分布式事务原创 2020-05-06 17:37:45 · 361 阅读 · 0 评论 -
18、用户授权
用户授权原创 2020-05-06 17:36:48 · 584 阅读 · 0 评论 -
17、用户认证 Zuul
用户认证 Zuul原创 2020-05-06 17:35:57 · 661 阅读 · 0 评论 -
16、Spring Security Oauth2 JWT
用户认证与授权:什么是用户身份认证?用户身份认证即用户去访问系统资源时系统要求验证用户的身份信息,身份合法方可继续访问。常见的用户身份认 证表现形式有:用户名密码登录,指纹打卡等方式。什么是用户授权?用户认证通过后去访问系统的资源,系统会判断用户是否拥有访问资源的权限,只允许访问有权限的系统资源,没 有权限的资源将无法访问,这个过程叫用户授权。单点登录(Single Sign On):...原创 2020-05-06 11:39:09 · 575 阅读 · 0 评论 -
15、媒资管理系统集成
到目前为止,我们已可以编辑课程计划信息并上传课程视频,下一步我们要实现在线学习页面动态读取章节对应的 视频并进行播放。在线学习页面所需要的信息有两类:一类是课程计划信息、一类是课程学习信息(视频地址、学 习进度等)。在线学习集成媒资管理的需求如下:1、在线学习页面显示课程计划2、点击课程计划播放该课程计划对应的视频...原创 2020-05-06 10:09:36 · 237 阅读 · 0 评论 -
14、媒资管理
原始视频通常需要经过编码处理,生成m3u8和ts文件方可基于HLS协议播放视频。通常用户上传原始视频,系统 自动处理成标准格式,系统对用户上传的视频自动编码、转换,最终生成m3u8文件和ts文件,处理流程如下:1、用户上传视频成功2、系统对上传成功的视频自动开始编码处理3、用户查看视频处理结果,没有处理成功的视频用户可在管理界面再次触发处理4、视频处理完成将视频地址及处理结果保存到数据库...原创 2020-05-06 10:07:09 · 215 阅读 · 0 评论 -
13、在线学习HLS
录播课程的在线学习功能:1、学生可以在windows浏览器上在线观看视频。2、播放器具有快进、快退、暂停等基本功能。3、学生可以方便切换章节进行学习。什么是录播课程?录播课程就是提供录制好课程视频,供用户在线点播,反复学习。课程视频如何管理?媒资管理系统专门来管理课程视频,用户视频文件上传到媒资系统,并对视频进行编码处理。...原创 2020-05-06 10:04:36 · 277 阅读 · 0 评论 -
12、搜索前端 Nuxt.js
采用vue.js开发搜索界面则SEO不友好,需要解决SEO的问题。从上图可以看到SEO是网站自己为了方便spider抓取网页而作出的网页内容优化,常见的SEO方法比如:1、对url链接的规范化,多用restful风格的url,多用静态资源url;2、 注意title、keywords的设置。3、由于spider对javascript支持不好,对于网页跳转用href标签。...原创 2020-05-06 10:01:53 · 251 阅读 · 0 评论 -
11、搜索服务
根据分类、关键字匹配课程名称,课程内容、难度等级搜索,搜索方式为全文搜索,搜索节点分页显示。搜索流程:1、将数据写入到MySQL数据库;2、使用Logstash将数据库中数据写入到ES索引库;3、前端搜索时请求到搜索服务;4、搜索服务请求ES进行搜索;原理:将数据写入到ES索引库,通过搜索服务搜索信息;技术方案:如何维护课程索引信息?1、当课程向MySQL添加后同时将课程信息添加...原创 2020-05-06 09:46:58 · 457 阅读 · 0 评论 -
9、Eureka、Feign、Ribbon的工作原理及项目实战
在前后端分离架构中,服务层被拆分成了很多的微服务,Spring Cloud中提供服务注册中 心来管理微服务信息。为什么要用注册中心?1、微服务数量众多,要进行远程调用就需要知道服务端的ip地址和端口,注册中心帮助我们管理这些服务的ip和 端口。2、微服务会实时上报自己的状态,注册中心统一管理这些微服务的状态,将存在问题的服务踢出服务列表,客户 端获取到可用的服务进行调用。Spring Cl...原创 2020-05-05 22:44:17 · 1192 阅读 · 2 评论 -
8、分布式文件系统FastDFS
在很多系统都有上传图片/上传文件的需求,为了提供系统的可重用性专门设立文件系统服务承担图片/文件的管理,文件系统服务实现对文件的上传、删除、查询等功能进行管理。执行流程如下:1、管理员进入教学管理前端,点击上传图片2、图片上传至文件系统服务,文件系统请求fastDFS上传文件3、文件系统将文件入库,存储到文件系统服务数据库中。4、文件系统服务向前端返回文件上传结果,如果成功则包括文件的U...原创 2020-05-05 22:30:27 · 163 阅读 · 0 评论 -
7、PageHelper分页介绍
PageHelper是mybatis的通用分页插件,通过mybatis的拦截器实现分页功能,拦截sql查询请求,添加分页语句, 最终实现分页查询功能。本项目使用Pagehelper实现Mybatis分页功能开发,由于本项目使用springboot开发,在 springboot上集成pagehelper分页原理:在调用dao的service方法中设置分页参数:PageHelper.startP...原创 2020-05-05 22:11:39 · 358 阅读 · 0 评论 -
6、页面发布消费方和生产方的
发布一个页面,需发布到该页面所属的每个站点服务器,其它站点服务器不发布。比如:发布一个门户的页面,需要发布到每个门户服务器上,而用户中心服务器则不需要发布。所以本项目采用routing模式,用站点id作为routingKey,这样就可以匹配页面只发布到所属的站点服务器上。页面发布流程:1、前端请求cms执行页面发布。2、cms执行静态化程序生成html文件。3、cms将html文件存储...原创 2020-05-04 14:58:40 · 284 阅读 · 0 评论 -
5、消息中间件RabbitMQ
解耦:多个系统或者模块中,互相调用很复杂,维护麻烦,就可以用到消息对列异步:用户向服务发起请求,我们不会直接告诉用户结果,而是异步处理业务逻辑,稍后通过 通知的形式告诉用户削峰:在高峰期时,系统每秒的请求可以达到4000,但是mysql的请求是2000,导致数据库会崩溃,可以先将这4000条放到消息对列中,数据库按照能够处理的速度慢慢处理,直到将他完全消费掉RabbitMQ:特点 简单易用,支持多种语言,保证消息不丢失 可以配合作为分布式事务。原创 2020-05-04 14:01:56 · 435 阅读 · 0 评论 -
4、页面静态化
GridFS是MongoDB提供的用于持久化存储文件的模块,CMS使用MongoDB存储数据,使用GridFS可以快速集成开发工作原理:GridFS存储文件是将文件分块存储,文件会按照256KB的大小分割成多个块进行存储GridFS使用两个集合(collection)存储文件,一个集合是chunks, 用于存储文件的二进制数据一个集合是files,用于存储文件的元数据信息(文件名称、块大小、上传时间等信息)原创 2020-05-04 10:32:05 · 1252 阅读 · 0 评论 -
3、自定义异常处理
统一的异常处理流程:1、自定义异常类型;2、自定义错误代码及错误信息。3、对于可预知异常由程序员在代码中主动抛出,由SpringMVC统一捕获。可预知异常:程序员自己抛出的异常;4、对于不可预知异常(运行时异常)由SpringMVC统一捕获Exception类型的异常。不可预知异常:系统出现bug或者错误宕机等;5、可预知的异常及不可预知的运行时异常最终会采用统一的信息格式(错误代码...原创 2020-05-02 21:39:44 · 264 阅读 · 0 评论 -
2、Vue实现分页与前端跨域问题解决策略
CMS系统使用Vue-cli脚手架创建package.json:记录了工程所有依赖,及脚本命令。开发使用:npm run dev打包使用:npm run buildwebpack.base.conf.js:webpack的webpack.config.js配置文件,在此文件中配置了入口文件及各种Loader。main.js:工程的入口文件,在此文件中加载了很多第三方组件,如:Elemen...原创 2020-04-30 15:18:50 · 483 阅读 · 0 评论 -
NodeJS、Npm、cnpm和Webpack安装教程
1、下载对应你系统的Node.js版本:https://nodejs.org/en/download/2、选安装目录进行安装默认即可安装完成检查PATH环境变量是否设置了node.js的路径。查看node版本:node ‐v查看npm版本: npm -v查询NPM包管理路径:npm config ls为了方便对依赖包管理,我 们将管理包的路径设置在单独的地方,在nodejs主目录...原创 2020-04-29 20:33:46 · 367 阅读 · 0 评论 -
1、工程搭建与配置
MongoDB是介于关系型和非关系型数据库之间的产品,nosql中最热门的数据库,存储数据是类似于JSON的bson格式的数据,可以存储复杂的数据类型,最大特点是它支持的查询语句非常强大。特点:存储Bson数据;强大的查询语句;完整的索引支持;与MySQL的对比:table-collection:表-集合row-document:行-文档column-field:列-域MongoDB没...原创 2020-04-28 17:00:44 · 346 阅读 · 0 评论