00:00
首先呢,咱们还是先总结一下我们项目中这个技术点,就是咱们把后端技术咱们先给他总结完,咱上午总结了一部分,下午咱们继续来总结啊,这是后端技术。第一部分,然后这个是后端技术,第二部分,那我先把这些咱们剩下的技术先列举出来,然后咱们一个一个来看一下啊,然后来写一下,首先咱后段中有什么技术呢?第一个技术咱先总结这个东西叫three security。因为咱们做权限管理的时候,是不是用到这个框架,这个一会儿咱先做第一个总结,然后这个说完之后啊,继续来写我们的第二个技术,咱们在项目中还用到什么呢?让各位也可以想一下,咱是用到了这个东西。Red,也就是我们首页数据用red做了缓存,然后除了red之外,咱在项目中还用到这个东西叫index,虽然说后来咱用了第六位网关,但是前面用的应该都是in这,然后除了in这之外,第四个咱应该还用了一个东西,就是用到一个原理层的东西啊,这个东西叫o two。
01:11
然后加上一个叫这WT,这个咱应该具体用到了啊,这也算一个技术,然后除了它之外,在项目中咱还用到什么呢?那我们来再想一下啊,应该还有一个东西,这个东西叫HTP。就是发送一个请求,比如咱做那个微信的那个什么支付,包括一些操作中应该用到它发送请求,然后做功能,然后除了这个之外,在项目中咱还用到一个技术点。这记住点,应该是我们外部阶段学过的这个东西。Cookie这代用到过,因为咱们把数据放到cookie中,然后从里边取内容。这是第六个啊,然后除了这个之外,项目中就还有一些其他部分,就针对我们阿云,包括微信的,比如咱有这个微信。登录啊,包括还有这个微信的支付写一下啊,这是第七个微信登录,然后第八个。
02:07
微信支付除了微信之外,剩下的就是还有一些阿里的部分啊,那我写一下,比如咱用到了阿里的oss做存储,包括还用到这个就是。阿里那个视频点播服务,做视频操作,另外还用到一个东西,就是阿里那个短信服务,咱们做注册发送的短信验证码,这些都用到了,然后除了这些之外,还有一些就是最后一部分。我都列出来啊,比如说咱用到这个叫GI啊,就是GI嘛,咱用马云,然后提交远程get库,除了get之外,还用到一个东西,应该就是这个docker。因为咱docker嘛,根据Jenkins做那个自动化部署,用刀ER拉取镜像,然后创建容器做这个过程啊,包括还有一个叫Jenkins。自动化部署工具,所以这次啊,我们后端中还需要的有这些技术啊,我把在这里边给各位都列出来了,主要是这么多啊,然后咱下面把技术我们来详细总结一下啊,我就说里边的核心点啊。
03:11
首先第一个就是啊这个框架,而这个框架我们是怎么用的呢?给各位来写一下啊。也就是说咱们这个我们是。在我们的项目中进行了整合,然后实现了一个叫权限管理的功能,就是咱们做权限管理中整合了用它做到的权限管理,而咱在课上也都说到了,它的过程应该说比较固定,就是咱们在操作中在里边写上这么一段代码结构。我们打开啊,咱们看一下主要两个过滤器,一个是登录过滤器,一个是认证过滤器,这是它的组成部分,就是它有两部分,一个是登录,一个是认证啊那我写一下啊,第一个咱们在项目中整合,这个就是框架。
04:04
实现了这么一个权限管理功能啊,这是我们在项目中的一个应用场景,然后这个做到之后,第二部分要各位掌握,就是关于这个。这个框架它的组成咱在课上说到了,它主要由两部组成,一个叫做认证。还有一个叫这个授权啊,就是一个认证,一个授权认证理解为就是咱说那个登录授权,就给你用户授予他的权限,这是它的两个组成,各位把这个记住啊,然后在咱们讲这个过程中,给各位应该特别说过,里边有两个重点,第一个就是你掌握怎么完成这个登录认证它那个过程。就是登录认证过程,然后这个说完之后,第四个要各位掌握WSO,它这个代码的一个执行的过程啊,这是我们的重点,我把这个特别标注一下啊,我就在这里写了,之前都讲过,那我就快速说一遍啊,第一个登录认证过程,咱说一下这个是怎么做到的。
05:13
当时给各位应该画个图,把这个应该特别说过,那我就直接啊,当然各位找一下那个图啊,咱找到来具体说一下啊。应该是在。这一天中啊,咱讲到了这部分啊。就是学员管理啊,应该是在。18天里边啊,把这个打开。就是这位置啊,它的这个登录授权的过程,那把这图打开,咱们来快速看一遍啊,我就不在课件中写了,之前都讲过了,然后他是怎么做到的,咱们看流程,首先第一步登录嘛,肯定咱要输入用户名和密码,然后你输入之后查数据库,查完之后咱可以查出登录用户的权限列表,就这个用户可以操作哪些菜单,有哪些权限,然后做到之后呢,咱就是把这个用户名和这个权限列表存到咱的re中,根据key value六经存储,Key是用户名,Y6是用户权列表,然后存完之后第三步根据用户名返回它这个token信息,就是咱用JWT生成ton字母串。
06:21
生成之后,第四部分把token放到我们的cookie中,并且在header中放这个token值,第四步第五步呢,通过spring从token中获取你的用户名,然后从write中把数据取到,然后最后把这东西都交给security,由他给当前用户做这个相应的授权操作啊,所以这是我们说的他做这个认证授权的这么一个流程,各位把这个给他要知道啊。当时咱特别说过这张图我就直接给大家截过来了,你把流程知道里边用到了我们的token,包括包括用的cookie,通过security从head中取值,最终完成这么一个授权的过程。
07:07
这个啊,是咱们说的一个重点啊,把这图截过来啊,然后除了这个之外,咱们再讲spring中还挑一个,就是它那个代码的执行流程,这流程我们也看一遍啊,它是怎么执行的,咱看到啊,首先呢,你在做这个就是。登录的认证的过程中,第一部分它先就你输入用户密码之后,先到这个认证过滤器中的这个方法,就是这个accept al这方法,在里边获取用户名和密码,然后获取之后调它这个定义查询类,查询之后返回sir略对象,然后这就表示认证成功,到咱这个S方法中,在set方法中,咱们就是根据对象用户名生成token,把它也是放到ready中,然后返回token,最后在我们的so中按照在这过程title中取值,然后给他做一个授权。
08:01
主要这么一个代码过程,各位把这两个重点记住啊,一个就是spring security怎么去做到认证授权的过程,就咱们画的图上的几步操作,然后第二个你在整合代码中,它这代码该怎么执行的,这各位给他要记住啊,就关于我们的啊,这个我们快速做了一个总结。这些啊,咱们之前在代码中都写出来过啊,各位把这个记住啊。提出我们说的啊,然后这个说完之后呢,我们再看我们这里边的下午的第二个技术,就这个技术ready这技术应该比较常见,一般来讲在一个项目中啊,基本上都有,而RA其实可以做很多事情,而有一个最基本的功能就是用它做缓存,所以咱们的项目中re怎么用到呢?就就在这里边,咱就可以把我们项目这个。首页数据。通过这个。
09:02
进行这个缓存啊,就是进行一个缓存的一个处理,这是我们的要使用,因为咱用的这个比较简单,就用red就有缓存,这个我给他知道啊,因为大家知道在咱们一个网站中,访问量最大的部分是不是首页面呀,所以首页面中咱把数据放到write中,另外write中还有几个特点给大家说一下啊,就是第二个你要知道。Ready里边有哪些数据类型,我就说一遍啊,不再写了,各位要给它特别清楚啊,有哪些数据类型,最基本的是不是字符串,包括set list的哈希,还有一个叫有序材的,这是它里边比较常见的这么五种类型啊,就是它的注意类型,另外还有第三个各位要知道啊,就是如果说你要使用red。作为这个缓存,那就是什么样的数据适合。
10:00
啊,就是适合使用red作为缓存,这个要明确啊,当然咱也讲过,我再说一遍啊,比如red如果用它做缓存,咱并不是什么数据都适合放到red做缓存,那比如说我在项目中有一些很重要的数据,假如是一些涉及到那个财务类,就是钱的数据,这种数据咱绝对不要放到外中,那什么时候放里边,比如按照我们这里边你看啊,首页数据是比较固定了,一般首页数据肯定是不经常修改吧,所以这种数据适合放到ready中。这各位给他知道啊,比如我们一般来讲,你这种就是。不太重要的,或者不经常。改变的数据咱适合放到我们的RA里边作为缓存,这个啊是它的这么一个基本场景,所以各位把这知道啊,咱项目中就这么用到的,而我们用法很简单,咱就直接用那个注解,然后给到做到这个缓存,或者说按照我们之前那种方式,用一个叫red to,就是red模板把这可以做到。
11:10
这是关于red啊,咱项目中就是做了一个基本应用,然后后面各位在电商中red会做一个更详细的应用啊,咱们现在做了一个基本的使用,这是red。把这个各位给他知道啊。然后ready说完之后呢,咱第三个又用到一个技术叫NEX,这NEX要各位知道啊,我写一下就是这个在面试中也经常问到啊,就是里边有几点red问的很多,咱现在用的最基本的,然后后面各位电商中用到其他的啊,这些面试中经常问到,然后N这个也会问到,那我说一下N这个中大家掌握哪些啊?第一个你知道N这个有一个描述,它叫什么呢?这个词叫做。反向代理服务器啊,这是第一句话,各位记住,而nix的具体功能有这么多,之前各位也都说过啊,我再写一遍。第一个叫做。
12:05
就求转发。第二个叫做。负载均衡。包括还有一个叫做动静分离。这是啊,Index可以做的一个事情啊,而咱们这项目中就是一个最基本的,请供转发,包括咱们后面其实用的是KT会网关,它也做这个效果只是比它更加方便,这个叫index。各位把它知道啊,而N这个呢,咱当时用的话,其实主要就是改它那个配置文件,在配置文件中呢,改它的规则,然后通过它的规则这样一个请转发,那我们来啊快速看一下啊,当然咱们改的地方。我就把这个配置文件打开,而这个N不管你是在Li中还是window中,配置文件都一样啊,都是这个文件让咱往下看啊,就这位置。咱们当时的做法就是根据我们的请求路径,比如你现在请求叫edu service,那那给他就转发到我们的801端口中去,如果你叫e doss,咱就到802,它对外统一都是901端口啊,这个就是N这个,但当时特别用到过。
13:13
啊就不再具体说了,当时都讲过了,所以你知道我们有这个技术啊,这是N这个。然后这个说完之后,咱项目中还用到这个技术,这刚才也回顾到了啊,我就快速说一下啊,第一个叫auto two。奥to是什么呢?咱上午应该提到过啊,它就是针对我们一些特定问题的一种解决方案。而它的方案就是生成这么一个字串啊,然后给它里面包含一些数据,这叫解决方案,而第二个叫做JWTJWT是什么呢?你可以理解为它就是给我们制定了一种规则,通过这个规则可以生成你的图文字符串,而JWT,它就是包含有这么。三部分,包括它的头主体部分,还有那个防伪标志,或者叫天分哈西啊,这是o two d wt也是咱们啊之前都提到的啊,这是里边几个技术点,然后除了这个之外,第五个咱那项目中还用到有东西叫HTP可LAN,那这是什么?
14:17
给各位说一下哈,就是可以理解为它是一种就是。我们进行发送请求和返回响应的这么一个工具。而用这个工具的好处是什么呢?咱们就是不需要浏览器能够完成你请求和响应的这个过程,这个叫e client,而咱在什么地方用过呢?大家各位看一下啊,咱找到当时咱们写那个微信那个操作中。咱长的微信啊,里边我们应该是用了这个东西。把这打开,打开里边啊,找一段代码。各位看到哈,在咱们当时做法中,你看这个代码,咱们就是在获取扫码人信息的时候,通过p client发送请求,请求微信的固定地址是不是得到你的相关信息,这是我们在项目中的应用场景,包括咱做那个就是课程支付,支付之后用client是发请求,查那个订单状态,这个啊我们在项目中是用到了。
15:19
这各位给他知道啊,然后写一下啊,就是我们在项目中的应用场景,咱有很多地方,比如第一个我们在。就是微信。登录获取扫码人信息中用到了,包括咱们在微信支付。查询支付状态的时候也用到了这个地址,Every client,就用它请求微信的固定这个接口地址,然后得到你的数据,这个啊就是a client包一个代码,不需要各位刻意去写,我当时做的过程中给大家都写好了工具类,各位直接用就可以了,在实际工作中,你把工具类直接操作啊,直接用能完成我们这个功能,这是啊,我们总结的这么几个技术点,就刚才总结这么几个,包括做这个权限管理中,权限操作,咱是用到了我们的权限管理的模块,包告里边这个各位记住,然后第二个rad我们用作首页面数据的缓存,第三个inex做了请转发,然后also To G wt啊,项目中咱也用到了。另外REC client就是发送请求不需要浏览器,咱在项目中很多地方用到了,比如说微信登录获取骚害人信息,微信支付查询状态,咱们都使用到了。
16:34
啊,这是里边的几个技术。这些啊,各位给的知道啊。然后除了这些之外,咱后面还有几个技术啊,咱一个来看啊,因为咱项目的用的真正的技术是比较多的啊,这些技术在我们项目中应该都会有体现,那咱们继续往下看啊,下面一个技术呢,这技术应该说比较就是原始一点,应该是最早是咱们在JA web阶段学到的。但是咱项目这个技术确实咱也用到了,就是咱在做登录保利过程中用到这个叫cookie,那这个给各位来写一下啊。
17:08
虽然这个技术比较古老点啊,但是我们项目中很多地方都需要用到,那我说一下里面的特点啊。第一个。希望各位知道啊,这cookie有什么特点?有什么特点?给大家啊,我来写一下啊,如果你忘记需要你给他记住啊,应该是咱们web阶段学到的,首先第一个大家知道cookie是一个叫客户端技术,也就是说它的数据是存到我们的客户端,或者说存到我们的浏览器中啊,这是一个特点。另外第二个你记住啊,就是咱们每次你发送请求,他都会给我们带着这个cookie值进行这么一个发送啊,这是它里面一个基本特点,这是第二个啊。呃,我这么写啊,第一个是个客户端技术,然后第二个咱每次发请求都会带着cookie值进行发送裂变,里边还有第三个。
18:05
希望各位记住啊,就这个cookie。其实它是有一个默认的一个这个有效时长的,就是它有一个默认时间,超过时间会就没有了,但它默认时间是多长了,给大家强调啊,它默认时间就是这么写啊,当你关闭浏览器,那这cookie默认。就不存在了啊,这是它一个特点,但是咱们现在其实可以去设置cookie那个有效时长,比如设它是什么一天什么七天等等啊,这个各位记住啊,我再说一遍啊,咱说的稍微官方点啊,就是cookie默认是个什么呢,它叫做。会画级别cook啊,说的官方点啊,会画级别的这么一个东西,什么叫会画级别,就是你关闭浏览器它就没了,但是咱们可以设置它的有效时长,比如说你设置成一分钟什么,几天都可以做到啊这一个操作,那怎么设置呢?在库域中有个方法。
19:09
这方法大概写一下,应该叫这个名字啊,Set max age,用这个方法能设置它那个市场,比如多长时间可以做到啊,这个叫cookie。各位把这个的知道啊,是一个基础知识,而cookie就这有效时长,其实我们在很多地方大家应该都见过,只是各位可能没注意过而已啊,那我给大家举个例子啊。咱总结嘛,就说的更详细点,比如说现在举一个比较常见例子啊,然后我们现在登录。大家看哈,在登录的时候呢,一般在登录界面中都会有这么一个东西,比如你这里边把这一点叫十天内免登录,当你登录重功之后,后面你再登录是不需要带输入,是不是可以直接登录,所以说你把里边那个什么cook值都清掉,只要你不清掉,它可以一直登录,这就是用到cook那个有效时长,是它在十天内一直有效。
20:03
啊,这是它那个场景,各位啊把这知道关于咱说这个cookie啊相关特点,而咱项目中啊,就是登录的时候用到了cookie项里边,咱给它放出去,然后通过cookie判断再放到hi中,把这个最终做到啊这是cookie的一个技术。然后这个做到之后,后面咱就做到这个叫微信登录和微信支付这两部分应该说是比较固定的过程啊,没有什么特别的,包括各位主要掌握他这个就是时间的过程,比如微信登录之后怎么得到扫码人信息,包括微信支付之后咱要做什么事情,这咱在上午应该都总结过了啊,我不再重复了啊。技术上没有什么,是一个固定流程,就是咱们用AV发送请求,然后教你操作,包括支付成为二维码,支付之后查状态啊,这两部分,微信登录,微信支付,咱项目中实际去用到了啊,用到我们的项目中。
21:01
然后除了这个之外,后面就这几部分,包括咱用到的阿林的oss,这个视频点播,还有这个短信服务,那我来写一下啊,咱先看oss。就是咱们项目中用了很多的阿里云的东西,第一个oss在用,它做什么呢?就是做那个文件的存储的这么一个服务。进行服务器啊这么一个使用作为文件存储,那咱项目中很多地方用到了,比如说最开始那个咱们在添加讲师的时候,是不是要上传讲师的头像这个功能,我们就用到了oss,用它存储,包括咱们做视频点播中是它也是基于oss做到的,所以咱们用它做了一个文件存储。啊,各位把这个给到知道啊,Oss项目中用到了,包括实际公司中这也很常见,用它做这种存储服务。然后第二部分OS中咱讲到了叫视频点播,这里边我们主要做的就是视频的一些相操作啊,比如说视频那个。
22:07
上传。包括视频的删除,以及视频的这个播放啊。咱做到这些,然后就是在这里边我们做操作中,咱们做那个视频播放,我们是整合了阿云的视频播放器,进行了视频的播放,然后在播放中咱是使用那个叫。视频的一个叫播放凭证进行播放,这个我当时也解释过啊,再解释一遍啊,因为如果说你用这个地址播放是可以播放,但是如果说你视频是加密的话,那地址没有用,咱需要用凭证进行播放,凭证进行播放,加密的进行播放,不加密的啊,这个是视频点播,当时咱都用到了,就是咱们项目中视频部分就是整合了阿里的视频点播,做到包括视频的管理,比如视频上传,视频删除,整合播放器进行视频播放。
23:00
这个啊是咱们项目中是用到,比如在我们这个页面中。咱们在它的详情中把视频进行一个播放。这个啊,我们做了一个说明啊,然后除了这个之外,咱项目中还整合进去这个阿林的短信服务,而咱们的用场景优势,在咱们注册的时候需要发送这么一个手机的。验证码啊,当时咱是在这个地方做到的。所以这个啊,是关于我们里边这些基本的技术点啊,各位来具体总结一下啊,你把这些都记住,因为咱们项目中确实是用到了啊,帮我把每个点就是具体你这么来讲,就是我们项目中有哪些技术,然后每个技术呢,它用在哪个功能中,这功能中具是怎么用到的,包括里边一些核心的流程,比如S怎么做到的,包括这个微信登录它怎么实现的,微信支付过程怎么样的,把这些各都可以好好去记记,因为这些呢,在面试中别人可能问到你,比如别人介绍你的这个项目里边一些细节,可能问到类似该怎么去实现,这各位都给要给他知道啊。
24:07
这是咱们总结这些啊。然后除了这些之外呢,最后还有三个技术点,一个叫GI,一个叫docker,一个叫GS,啊咱也是一直在用GI呢,我就简单说一下,这就不写了,因为呢主要是做一个版本控制,而咱们现在用的是那个就是远程库,这个马云比如说我们挑过程中千外的代码挑到本地库中,然后通过本地库再挑到远程库中,自然远程库用的就是这个马云的这么一个远程K的库,用它来做我们这个代码管理,而且马云理解为是一个国内版的这个github。啊,当然这个马云啊,有一个问题啊,我记得昨天晚上嘛,它好像是挂掉了啊,在今天又好了啊这个啊,就服务器嘛,肯定有不稳定的手候,虽然说很多公司啊,就是很多有点稍微有点能力的公司,他一般来讲就是自己公司搭这么一个仓库,然后把你代码挑到自己公司这里边做一个管理啊,这家很多公司也会这么做,就自己搭一个类似于geth这么一个东西做管理啊,但是公司如果说不想这么搭,那用远程这个也能做到啊。
25:13
这个啊,咱说的get项目中用到了,包括get中各位主要掌握就是你这个代码怎么挑到远程的库中。写下啊,代码提到远程的GI仓库中,这是啊,我们项目中用到的,然后除了这个之外,咱项目中也用到刀cker,就是docker结合这个Jenkins,咱是一起用的,就用它做一下我们项目这个自动化发布的过程。啊,这咱们在前一节课应该都演示到了,包括把刀ER装上docker,从你的远程K库中把代码拉取下来,然后把这代码给它做一个编译,再部署到你的利用系统中,就是给它运行,主要通过刀口把这做到。这个啊是我们提到的,然后在这过程中,大家主要掌握这么几点,我来说一下啊,第一个你掌握就是怎么做一个手动打包,包括运行,比如用那个ma,就是vn clean package,用Java杠这把这启动,然后第二个大家掌握通过这个idea工具如何来进行一个打包啊,咱都演示过,然后第三个就是结合这个搭,就是docker加丁nkins。
26:24
啊,Jenkins。来完成一个自动化的这么一个部署的过程,这些各位给定要知道啊,虽然属于运维部分,但你要知道里面这些东西,包括刀客是干什么的,它有什么特点,以及这个怎么去做。我在课上应该都演示过了啊。所以这些呢,就是关于我们项目中的技术点,给各位做一个总结,我把这里边应该咱们用到技术基本上在文档中都写出来了,所以各位就是这些技术,因为他好好去看一看,特别是各位在面试之前,把这些都给他去看一看,记记,就为了面试如果别人问到某一点,只要你能说出来你的技术在项目中怎么用的,用在什么地方,包括用的流程怎么样,都能给他熟练的表达出来。
27:10
这个啊是咱们总结这些技术点咱就完成了,也就是说啊,到现在为止呢,咱就完成了我们项目中的功能点,包括前台系统和后台系统,然后第二部分项目中的技术点,包括咱的前端技术,还有这里边的后端技术,这些我们都做到了啊,所以各位把这些自己多花点时间都去看一看啊,就关于我们项目中这些基本内容啊。
我来说两句