00:00
首先呢,第一个呢,来先总结我们在线教育项目中有哪些功能点。我写到这个位置啊,总结在线教育项目有哪些功能点,也就是咱们实现了哪些功能,那这个在线教育项目我这里边已经提前启动起来了,就是它启动中的,各位注意啊。因为在我们这个在线教育项目中,咱们所采用的方式是不是叫微服务架构,也是里边有很多的服务,而每个服务呢,都是一个独立模块,它可以独立运行,比如说咱们把这些都需要给它提用起来。我这里边啊,把一些主要的启动起来了,其实咱们这个里边如果都启动它需要有十几个微服务啊,把这些都需要启动,我这里边把几个主要的启动的,首先第一个这个NAS配置中心啊,包括这个注册中心需要启动,然后在里边呢,还有一个主要的就是这个API网关,就各位在启动网关之前,你把它的配置先写好,因为我之前我只写了几个,我昨天自己给它改出来了。
01:04
包括把里面一些主要模块,这些配置我都需要给它写出来啊,对照你的项目,把路径改成你那个实习路径,这需要写出来,然后这个写完之后,咱们把API网关启动,包括它的其他模块,比如我这里启动了edu service HL u center c Ms OS啊,当然还有其他的,比如这个什么VO doss SE等等,我就启动几个主要的。这个啊,需要我们都给它启用起来,然后在使用过程中有几点各位注意啊,第一个就是因为咱们现在用到了API或者说getway网关,所以你需要把你的CTRL里边的这些注解都需要给它去掉,也就是把里边的。这些咱都需要给它去掉,如果不去掉会有问题,之前咱演示过,咱们在getway中已经解决了这个跨域,就是这个代码就是解决跨域的,所以就是你不需要在CTRL中再加那个注解,如果加的话它就返回到了啊,所以各位需要把这些都去掉,我这里边我提前都去掉了。
02:09
默认肯定是咱之前都加过,就你把这些模块中的。Cross这个注解都需要去掉,不去掉肯定访不到啊,这注意一下啊,比如说比如说各位一会儿自己测试的时候,你翻也反应不了,你就看一看这注解是不是给它去掉。这个啊是咱们啊把这个接口启动了,然后接口启动之后,咱们前端我这就启动起来了,咱前端两部分,一个是系统后台,一个是系统前台,就是我们这两部分。628端口是后台,3000多口是前台啊,这个咱需要把项目提清起来啊,这是第一个啊,我在里边写下啊,就是第一部分咱需要有一个。准备。然后准备的话啊,就是我们现在咱们需要写第一个啊,需要把我们这个就是后端的接口给它启动起来,然后启动之后呢,咱需要启动我们前端的这两部分,就是前端的项目,包括它的前台和后台。
03:10
啊,就是前台系统和后台系统的前端这些都需要启动,然后里边就刚才要说你个问题,各位注意,就是你启动的时候之前把那些配置都加上,包括这个注解去掉,以及说啊我们这里边前端后端这个都要启用起来,这个啊是我们的第一个准备。然后在请中有一点各位注意啊,比如说你现在啊,把网关启动了,然后这里边比如说你再去把某东西你发现访问不了,然后最后你找到是驻点没有去掉,然后你再去掉,注意啊,你再去掉之后再去启动,咱最好把网关这些都重新启动一下,如果你不启动网关,可能它还有问题,因为它会找之前你那个缓存,所以你改了内容之后,把这些服务都需要重启一下,包括网关也都要重启,要不然可能还有问题啊,这是它本身的这么一个小问题啊。
04:03
这各位注意啊,这第一个启动,我这里边已经提前启起来了,但是如果你都启动,这里边需要有十几个微服务啊,这对于你电脑要求稍微高一点,就你电脑如果说你十几个微服都启动,包括前台后台都启动,以你的虚拟机也启动,包括里边的ready这些服务都启动,那我们这个内存至少应该大于十个G啊,有人启不起来,因为它里边有很多东西,我这是启了一部分啊,目前是占了这么多啊。然后现在启用之后,下面咱就来看一下我们项目中有哪些功能点,我在里边写一下啊,咱看第二个。因为咱们的项目呢,李丹说到过,我们采用这种模式叫做BTOC模式。这不知各位是否记得啊,是咱项目第一天说到的,什么叫BTOC模式呢?比如我们项目有两个角色,一个是后台管理员,一个是前台用户,所以他就分成两个系统,一个是后台管理系统,一个是前台应用系统,啊有这两部分,所以咱们从两个系统总结,第一个在线总结我们这个项目的后台。
05:12
管理系统中有哪些功能?然后我们再来总结第三个,咱们项目这个前台系统中有哪些功能啊,也就是我们这个9528端口和3000端口中分别有哪个功能,这个啊我们要总结的。就是包括比如说以后在面试中,别人可能问到你啊,说你给我介绍一下你们项目中你们有哪些功能,或者你项目一个特点,那我们就从这两方面,第一个你说我们项目用的是BTOC模式,包含后台管理员系统和前台用户系统,然后后台管理员中我们做了哪哪些功能,前台用户系统中我们又完成了哪些功能,你把这些通过两方面给别人做个介绍。那咱们先看一下咱们的后台系统中有哪些功能,我们来啊写一下啊。
06:01
咱们就对照我们的系统啊,所以大家看啊,就是在咱们这个项目的后台管理系统中,比如咱这个就是八端口中有这么几个功能,首先第问功能啊,这个肯定有一个登录注册啊,这就不演示了,就最基本这个登录和注册功能啊,咱主要是一个登录功能,但是登录功能中呢,我们主要是集成这个spring。的框架。用这个来进行实验的啊,这算一个功能,就是登录功能,用three体完成,然后咱们看重点的后面几个功能,咱就对照里面看啊,大家看咱就对照这个目录,或者对照这个路由第一个功能。是不是这个要做权限管理功能,然后在里边写一下啊,权限管理功能,而在权限管理功能中,咱们主要完成这么几个,我们一个看一下啊,首先第一个。咱就从下往上看啊,第一个这个功能就是菜单管理功能,包括它的增删改操作啊。
07:04
这是里边的一部分。叫做菜单管理,里边有他这个就是列表。添加。包括修改,包括删除啊,就是最基本的这个操作,然后第二部分我们再来看还有这个功能。是不是这个角色功能也是有它的增加修改删除功能,另外在角色中还多了一个功能,咱之前测试过就是这个功能。单位角色是不是能分配他的菜单所里边还有这么一个功能啊,那我在里边写一下啊,第二部分叫做。决策管理,在决策管理中,咱主要这么有功能,第一部分就是它还是这个列表添加修改,包括删除,删除里边呢,咱还包含一个叫批量删除,就是你同时能删多个角色。就包含这个啊,写一下这叫批量删除。
08:01
然后除了这个之外,在咱们的角色管理中,咱还有刚才说的这个功能,我们为角色是不是能分配这么一个菜单,把这个才能做到啊,那我写一下啊,就是。为这个角色分配菜单,这个啊是咱们做的功能,然后除了他之外,咱还有第三部分啊,给大家进步写一下啊,就是第三部分。咱们还有功能就是这个用户管理部分,然后它里边也是最基本这个添加、修改、删除这个功能,就是咱们看一下啊,用户里边有这个列表,包括添加,包括修改,包括删除这些功能,然后除了这个之外,咱们还有这个为用户是不是也能分配他的角色。啊,这个啊,这里写一下就是为用户。分配他的角色,所以这个啊是我们第一个模块,就是权限管理中主要做的功能就是实现菜单角色用户增删改操作,然后在角色里边有这个为角色,可菜单在用户里边有为用户分行角色,主要是这么一个功能啊,所以各位把这几个功能给他知道。
09:16
这是咱们啊做的这么一个说明。那这里边啊,给大家这里写一下啊,这是功能啊,然后这个说完之后,其实在咱们的权限管理这个功能中呢,我们涉及到里边有这么一个表的关系,这个大家也总结一下,因为咱们总结是功能点嘛,包括功能点里边这些怎么实现的啊,咱先不看技术,技术咱们一会儿重点来总结,先看它的功能。然后这里边啊,我再写一下第四个。就是咱们做这个权限管理中,它涉及到那个表和他们相关的一个。关系。这个啊,不知道各位是否记得啊,那问一下各位啊,希望各位各位有回答啊,之前我曾经特别说过啊,那问大家比如说我们做一个权限管理这个操作,它里边至少应该需要几张表,能把这功能做的更加完善。
10:11
希望知道同学给我一个回复,做全员管理,你说至少需要几张表,这功能做的更加完善。之前啊,咱应该特别说过啊,好,我看同学啊,陆续跟我回复了啊,希望同学积极参与进来啊,就这里边希望各位记住啊,刚说的应该都对啊,咱们就是做一个权限管理,它至少需要五张表,把这功能才能做的更加完善,但是这个表你可以少,少的话,做的功能肯定它不是很完善,你可以更多,但是至少需要五张表,所以咱们这里边做圈管理,我们就是用了五张表。写一下啊,使用五张表,然后完成这个操作,然后这个五张表希望各位给他牢牢记住啊,我就不再画一遍了,咱之前画过,我们到之前里边咱找一下啊。
11:01
你当时咱们做过这个啊。应该是在我们,呃,我看一下啊,应该是在里边的。那咱这么看,直接给咱看这个数据库这个结构啊,就不找那个了啊,因为后来我改了目录了,看这位置就是咱们做学源管理有五张表,其实就是这么五张表。就这五张啊。把这个给大家。写一下这个五张表。呃,另外还有一个菜单角色,包括这个。啊,就是这么几张表。然后这里边我把这个给大家直接截到这个图上,这五张表我们来快速再回顾一下啊,五张表是什么呢?第一张表就是菜单表,第二个角色表,还有一个用户表,因为大家知道我们这里边的菜单跟角色,角色和用户是不是都是多对多的关系,而多对多咱们都有第三张表,所以里边还有两张,第三张表就是你的角色跟菜单关系表,还有用户跟角色关系表,这个是咱的五张表。
12:05
但是用这五张表完成里边这个操作啊,所以这个各位给的记住啊。就是咱做的学员管理,第一个你知道学员管理中咱们有三个部分,菜单角色用户,然后这个菜单角色用户之间他们有这么一个关系,咱用五张表把它关系表示出来,而他关系中有两个多对多,所以咱对应分别都是有这么一个第三张表啊,把这个做到,所以这是我们完成的第一个模块,权限管理。这个啊,我们就做了一个说明,然后这个功能中呢,要括各位啊,主要记住就是里边这个表关系,包括每张表分为什么含义啊,就是重点是各位记这个,比如说以后别人可能问到你啊,说你们这个,比如你介绍到说我们项目中啊,我做了权限管理包括什么功能,那别人可能问你说你们的权管理你怎么做到的?首先各位回答我们肯定是集成这个spring,然后在权限管理中你可以说的细致点,你可以这么介绍说,我们权管理中我们应用了五张表包,这个表分别都是什么,与表之间什么关系,然后咱的功能主要就是这些,你把这个给别人做个介绍。
13:16
啊,所以这个啊是咱们的第一个模块,权限管理模块,这个咱做了一个总结啊,这是功能点啊,咱把功能方面说到,然后具体技术一会咱们在总结,现在只说它的功能,包括它里边这个业务。然后这个说完之后啊,咱们继续往下看啊,我们看下一个模块还是找到,呃,我们这里边啊,就这个模块说完了,然后下一个模块,这模块比较简单,就是这个讲师管理,咱实现就是讲师的增删改操作啊,是一个比较简单的模块。讲师。管理模块,然后这是权限管理模块啊,这是讲师管理模块啊讲师。
14:02
然后讲师管理模块中的功能很简单,但主要就是完成了这个讲师的这个列表啊,具体说是条件查询分页的列表,包括它的添加。包括修改,还有它的删除,主要咱就做了这几功能啊,这没有什么特别的,因为这是我们当时做的第一个这个接口,包括它的功能,这个功能其实咱做的目的主要为了让各位掌握它这个开发过程,来体验一下什么叫前后端的开发过程啊,但是它没有什么特别的。就是一个普通的讲师这么一功能,这个啊,咱们就是第二个模块,我们快速做了一个说明,然后咱们再来看我们的第三个模块,把这个我们做个说明,那咱们来写一下啊,就下一个啊,对照我们这个标号,咱就是到了第四个。就是下一个第四部分,我们要说什么呢?这个模块叫课程分类模块。
15:03
然后这个模块给大家写一下啊,就是当时我们主要做了哪些功能。咱们来看一下啊,首先第一个功能就是导入课程分类,或者说添加课程分类,然后第二个就是课程分类的列表,主要两功能。然后写一下啊,第一个。就是添加课程分类。然后第二功能就是课程分类的列表显示咱们当时主要做的两个功能,这个啊,就是两个基本功能,但是两功能怎么做到的,咱说一下它那个业务实验的过程啊,咱先看添加课程分类,那我们找到啊。不知各位是否记得啊,咱们当时的做法是怎么做的,怎么做的,我们是不是在我的本地的Excel中写上你的分类信息,然后把这个Excel上传过来,咱来读取Excel中的数据,把这个数据是不是加到我们数据库中,所以这是我们添加做法,就是通过读取Excel中的分类数据,把这数据加到咱的数据库中啊,这是我们的这些方式。
16:16
然后写一下啊,做法就是读取这个。Excel里边的课程分类数据,然后把它添加到我们的。数据库中啊,这是我们的课程分类,然后咱做了一个课程列表,而课程列表怎么做到的,咱看里边我们当时做法就是把课程列表用的是一个树形结构做显示啊,这是我们的第二个啊,写一下就使用树形结构显示课程列表就课程分类列表。写一下啊,课程分类列表,所以这个啊是咱们完成的课程分类部分啊,就是第一个我们多用到了。Excel读取里面数据,第二个用了一个数形结构,把这个我们给它做了一个实现。
17:05
这个啊,是咱们说的第四个这个模块,课程分类模块,就是这些模块应该都没有什么难点啊,就是主要如果你在面试中再说的话,那这些其实一般别人可能没有太大兴趣去问你,问你一个讲师自然感查没有什么意义,别人可能喜欢问你什么,就问这个学员管理怎么做到的,你介绍这个表,或者说你这个课程分类,你特别说我们用的Excel,那可能别人结合Excel问你的技术,因为咱们当时读Excel用的技术是不是叫。Easy Excel是阿里巴巴这么一个组件了啊这技术咱一会儿总结,那这个啊第四个模块,然后这个说完之后,咱看下一个模块我们做的是什么。再来看啊,就是这个部分。叫什么课程管理模块啊,那这个咱们特别说一下啊。课程。管理模块。这个给大家强调啊,因为咱们做这个在线教育项目,一个在线教育项目的核心是不是肯定是课程,你只有有课程才叫教育嘛,所以咱们的课程模块肯定是一个很重要的模块,而在课程模块中呢,当时咱们主要做的应该是这么几个功能。
18:18
那我们来看一下啊,第一个就是课程的发布,就添加课程值,里边有多步操作,然后还有一个是课程列表啊,包括你的删除这个功能。那我来写一下啊,就是第一个部分。咱们就是课程。列表功能啊,就是一个最基本的天查询带分页的列表功能,然后第二部分是咱当时做那个添加课程,只是添加课程中呢,里边有几步操作,那咱们来写一下啊,就咱当时做的,咱们大概看一下啊,第一步就是填写课程的基本信息,然后第二步创建课程大纲,第三个就是课程那个确认,包括最终发布啊,咱当时是这么做到的。
19:02
那我来写一下啊。小这个位置就是我们的课程发布的流程。要各位记住啊,我在这里边描述,首先第一步咱们就是。填写课程的。基本信息,然后第二步添加课程的大纲。第三步做这个课程信息的。啊,这么一个确认,然后最终做一个课程的发布,主要这个三步完成这个功能,包括基本信息填写课程大纲,课程大纲呢,其实就是咱说那个章节和小节。写一下啊,章节和小节,或者说章节和课时,第三步做课程信息确认,然后咱把它最终做个发布,这个啊是咱们当时完成这么一个功能,就是课程发布流程。然后再就是各位,比如说你在面试中,你在介绍课程,这个发布过程中,别人可能啊,就是有的面试官他可能在这问题中问你一些比较细节的问题,就提交你的业务来问问题啊,就是他先问你业务,然后再问你技术,因为这里边没有什么技术,都是业务,那他可能会问什么呢?给各位来说一下啊,也是之前同学被问到一个问题,首先我说第一个问题。
20:22
大家注意啊,因为咱们现在有个功能是不是叫课程的最终发布,那别人可能问你啊,说你这个课程是如何来判定他是否已经被。发布了,就是怎么判定你课程是否是发布了,那这个咱该怎么回答呢?咱之前讲到过啊,这里边给大家来说一下啊,比如第一个当我们就是在第一步,第二步,包括第三步这过程中,只要你没点那个最终发布,我这课程虽然说在我的表中有数据,但是前台用户是不是看不到这课程,因为咱没有最终发布,只有当我点最终发布之后,课程是不是才发布,比如我的用户才能看到,那咱怎么判定它是否发布呢?就是做法,当然咱做的很简单,在表里边呢,我们是有一个字段。
21:13
不知各位是否记得啊这个字段?叫什么CS,而这字段就是表示课程状态,咱默认添加是这个未发布,当你点完了,最终发布状态变成是不是这个normal,所以咱用这个字段来做判断啊,这是我们当时一种做法,就是用这个。当你没点最终发布,你的状态都是未发布,当你点最终发布之后,把那个就是C的那个状态变成normal,就表示已经发布啊,这个是一个问题,你要多给他知道啊,因为之前同学被问到过啊,虽然不是什么难点,但也算是你一个你这个项目中一个细节部分,因为你要做过的话,那这些应该不是算什么问题,大家应该都能说出来,但是如果你没做过,那别人问到这细节肯定说不出来啊,所以这个归给他知道啊,就是课程如何判定是不是已经发布。
22:02
这是咱们这没关系啊,我就不写了,因为很简单,就是用那个。Thes啊,大家简单写一下啊,Status这个字段。来进行这么一个判定啊,这是我们做法,然后在这过程中呢,还有一个问题也是之前同学们问到的,然后给大家做过描述啊,这个问题你注意啊,我这里强调这么一点啊。也就是各位啊,以后在面试中,因为你注意面试官嘛,他在问你问题的时候,有时候他的问法很随意,因为他不可能像我们讲课一样,把每个点说的就是比较准确,但是面试官问啊,有时候很随意,这时候呢,可能他问了一个问题,你可能没听懂,注意啊,这很正常,没听懂怎么做,你可以反问一下他,让他给你解释一遍。但你注意一个原则,比如你问了他说了很多遍,跟你说了四五遍,你还没听懂,这时候还让他解释,那就不要让他解释了,那你怎么做呢?按你的理解去说,如果他觉得你说的不对,他会给你纠正啊,这个注意啊,听不懂很正常,可以反问他,但不要一直反问,比如他说了十几遍你还没听懂啊,那这就没必要去问了,你再问,他反感你也会反感了。
23:15
这个啊,大家注意他的说话方式,那说一下有个什么问题啊,给大家强调。这问题是什么呢?给各位描述啊,比如说我现在啊,在我们的第一步中,我填写了课程信息,比如现在我随便写一个信息啊,随便填一个。咱填个信息,我也选择了,讲师选择了,课时选择了,这些都选择了,然后我现在比如说点保存并下一步,那这课程信息现在是不是已经加到数据库中了,然后现在如果正常操作,然后做他的第二步,是不是第三步把这课程方案完成了,那比如现在一个场景,假如我现在啊,我到了第一步完成了我这课程啊,我不想发布了,我现在怎么做又去点发布课程。
24:02
你注意啊,我又去点,是不是要发布我新的课程啊,那面试官结合这个问题,他可能问你问题,他会怎么问呢?他会这么来问啊,比如他说诶大家来这么来描述我写一下啊,比如他这么来说,说你在课程添加的过程中啊,你中途。把这个课程给他,就是停止添加了,然后这时候比如说你又重新去添加这个新的课程。那这个时候他会问你啊,你如何找到,就是你之前没有发布。完成的这个课程没有发布完成的课程,然后继续进行发布,他可能会问这么一个问题,那这个问题呢,我这么说,可能有同学他没有听懂什么意思,在面试中别人不可能像我说这么详细啊,可能我这个你都没听懂,那别人说的可能就是含糊几句话,别人可能问你,你怎么找到你没有发完成课程。
25:00
别人可能就这一句话,就刚才我说这个啊,我再说一遍什么意思,比如我现在我这课程呢,在第一步已经填完了,但我现在不填,第二步也不填,第三步我又重新去发布这个课程,就重新又去点,那这个时候问各位,我现在怎么找到之前那个没有发布完成课程,把它继续发布完成。这个啊,是咱们要说一个问题,这在面试中,之前有同学被问到过,他就问的很简单,咱们找到没有发完成课程重新继续发布。这个啊,这咱做一个说明,那这问题该怎么回答,给大家来说一下啊,就这问题啊,如果别人突然问你,你可能突然愣住了,但是你仔细想想,这问题其实很简单,并不复杂,只是说在当时那种环境下,比如你当时特别紧张,面试官有突然问了一个细节。那这个时候可能想不到,所你可以仔细想一下我们的功能,那我给大家说一下怎么回答啊,其实各位看啊。
26:01
你看这个是什么。咱是不是课程列表啊,而在课程列表中,咱当时做了这么一个功能。这是什么?是课程状态,就是你可以这么说,我现在怎么找到未发布课程,第一个我来到课程列表中,先根据课程状态先查出那些没有发布课程,然后查出来之后,在未发布课程后面我们是不是有超链接呀,比如你点这个编辑课程信息,编辑课程大纲,咱是不是可以继续发步,因为你点编辑课程信息,它就是到这个页面,你点编辑课程大纲是不是到第二步,所以咱做法就这么来做,到课程列表中找到未发布课程,然后咱们点击右边超链接,可以把课程继续发布完成。这就我们的解决方案啊,咱们就这么做到的。那我来啊,给大家简单写一下啊。咱的做法就是到课程列表中。根据你的这个课程状态,先查询出未发布的课程,然后咱们可以点击啊,就是你课程右边的那些超链接,把我们的课程继续。
27:13
发布完成,把这个就是一个回答的方式,各位啊,把这个给他知道啊,你之前有同学被问到过啊,虽然不是什么复杂问题,但如果说你之前没有准备过,别人突然问了一句,你可能就说不出来,那说出来别人就有理由怀疑这项目你可能没做过,你只是做一些边边角角的功能,比如你省能只做了一个登录,只做一个自然改查,然后细节可能你没有参与过,所以这个啊各给他要到时候能想到啊,这是一个问题。其实咱们这里边都有,你到列表中先查出未发布课程,然后点一边超链接,可以把课程真正发布完成。这个啊,是咱们说的课程中的这个三个功能,咱主要啊就是把这几个做到了,然后在这个做的过程中,咱当时还有一个功能啊,那我写一下第三个啊。
28:02
第三个是什么呢?我们来说一下啊,就是现在比如说在这里边,比如说我随便啊加一门课程。随便加一个啊。这个也随便添加一个,然后当我们点保存,并下一步到了第二步,在第二步中呢,咱可以加它的章节,然后加完章节之后是不是加小节,当然各位注意在小节中是不是这个。也就是咱们加小节的候是不能上传视频啊,在这个也是我们课程添加中的一个功能,写到这里啊,添加小节的时候上传你的视频。这个啊,是咱们做这笔功能。也就是啊,我们把视频做个操作。而视频上传呢,但是用到那个阿里的就是OI彩次,包括视频点播给他做到啊,所以各位啊,这个给他知道,当然说比如说在面试中,别人问到这课程可能会问这问题,说你们这个课程中视频怎么做到的,大家没有回答,我们用的是阿里的视频点播啊,包括这个过程。
29:06
一会儿咱们把技术再做个总结啊,先知道我们的功能结,咱们在添加课程这个功能中主要这么几个,包括课程列表,添加课程,还有这个添加小结,上传课程视频。这个啊,是咱们课程管理模块主要这些,包括这里提的几个问题,各位给他知道啊,虽然不是什么复杂问题,但是需要你提前准备好,不要说到时候在面试中,别人突然问到你这里边没反应过来,那这边就会有问题啊,你把这些都提前,把这功课做图,把内容都准备好。为了面试中我会发生啊这种突然你就不知道你的项目该怎么做了,怎么做到你都忘记了这个啊,咱们就说到了啊。
我来说两句