粉丝405获赞2194

薄图基本指令篇来,今天我们要讲解的是移动操作当中的序列化和反序列化。好,那么这两个指令到底是干什么用的呢?来,先别急,我们先来,比如说拖到我们的一个程序当中,然后再往下再拖一个,我们拖一个反序列化。 好,可以看到我们这两个指令已经拖到了我们程序当中,对不对?好,那么我们先来一个一个讲解。序列表是做什么用的呢?序列表呢?是把我们一些数据 转换成 byte 类型的一个宿主,这个 byte 是 什么呢? byte 就是 字节,你可以理解为字节的一个宿主。好,那么反序列表是什么呢?反序列表就是把我们的一个字节的一个宿主转换成了什么?转换成另外一个数据结构。 好,那么有人就会问,那这个到底是干什么用的呢?就是说我为什么要去进行一个转化呢?对不对?假如说你有两台 plc 进行通讯,那你要传递一些其他的数据,呃, 这两个 plc 之间,它不允许直接去转换一些,比如说字母串之类的数据,对不对?你不能直接去转换,那么你就要去转换成一个字节类型的一个宿主,然后呢,我们利用这一个宿主,利用通讯去把它传递到另外一条 plc 当中。好,那么另外一台 plc 得到你这个宿主之后, 他就可以再次转换出来,得到你所想要的一个数据,对不对?比如说我们这两个指令一般来说是用来干什么?一般是用于通讯的时候使用的,对不对?来,那么这么说的话,大家肯定会有点懵逼,来,我们先来建立一些数据类型来进行演示,这个指令到底是怎么用的? 好,来,我们添加一个新款,来添加一个数据款,然后这里呢我们打开这个 两个窗口,好进行拆分一下。好,那么我们这里呢就存储一些数据,对不对?好,存储一些数据,比如说我们是一个什么?这个是等待 矩阵数据。好,我们这一个假如说我们现在可以先从简单的先从一个映客类型开始,对不对?好,那么这个是什么?序列化的一个,其实对不对? 我们呢可以把这一个等待叙利亚化的这个数据拖到这边来,然后叙利亚化的这个起始呢,我们可以拖到我们这一个 pos 当中。好, 大家注意看这里为什么变成红色了?报错了,对不对?因为什么?因为我们这里是要 dink 的 一个类型,这样子他就不报错了,对不对?好,来,好,那么这一个是什么?这一个是表示我们这个指令的一个输出状态,对不对? 我们可以是什么?我们可以加入一个,比如说是一个聚矩阵化执行反馈,我们拖到这边来。 好,这一个我们改成 int 类型。好,这样子的话,我们这一个指令执行的一些操作或说执行的一个状态,他就会反馈到我们这里来,对不对?比如说他是否有报错,或者说他报错的代码是什么?都会执行到这一个我们矩阵化执行的一个反馈, 那这个是什么呢?这个就是我们的宿主了,对不对?来我们添加一个宿主,我们是区略化 宿主。好,那么我们这里是建立一个宿主,我们宿主是要什么?宿主是他一个字节类型的一个宿主,对不对?并且我们这一个类型的宿主我们可以给到比较大,比如说一百,那么同理我们可以把这一个宿主拖到我们这里输出,我们把这个放到我们这里来, 好,同样的我们这里也需要一个,需要一个什么反序列化的起始,对不对?好,这里呢?我们也改成什么,改成 dint, 这里如果你没有看懂,没有关系,我们先把这个指令所需要的这些数据都一一的写上来,对不对? 同理这个是什么?这个我们是不是也要一个反序列化执行的一个反馈 int 类型用来干什么呢?用来反馈我们这个反序列化的这个指令它到底有没有执行成功,对不对? 好,我们拖到这里来。好,那么到这里的话,我们就是不是要需要跟这一个等待序列化的这个数据类型是一模一样的,对不对?我们这一个是 反序列化,反序列化的结果,好,来,我们把这个反序列化的这个结果也拖到这边来。来,这时候我们先关掉,我们还需要做一个事情,就是需要在开头的部分把我们这个起始给它改成零, 来,我们这里添加我们的一个指令,给一个 move 操作,再给一个 move 操作,这里都是零, 然后把我们这个序略化的这个起始给它复制过来,然后这个反序略化的这个起始也给它复制过来。 好,这样子我们的指令就已经编写好了。来,编写好了之后呢,我们先下载程序,下载之后再一点点跟大家讲。这样子下载之后呢,我们再来打开什么?再来打开我们这个数据体,对不对?打开我们的一个数据结构, 我们把它缩小。好,我们看这里,来我们这里进行一个监视,好,我们把等待序略化的这个数据进行一个什么进行一个输入,比如说我输入一二三, 好,那么输入了一二三之后,我们这一个可以看到我们这里的执行反馈,跟这里反序列化的执行反馈都是为零,对不对?都是为零就说明什么?说明我们这个程序执行的没有问题, 他现在没有任何的报错。好,那么我们来一个一个看这个等待序列化的这个数据结构,现在是一二三,好,一二三的话,他会把我们这个数据进行重新编排,放到我们这一个序列化的这个数组当中来。我们看这个序列化的数组, 我们可以看到这里面有数据了,对不对?这里面已经有数据了。好,那么这个叙利亚化的这个宿主这些相关的数据进行反叙利亚化了之后,他可以传递到我们这个叙利亚化的这个结果这里,对不对?这样子这里我们就可以得到了一个正确的结果。那么这时候 有小伙伴肯定就会问了,这不是大题小做吗?对不对?你把这一个一二三这个数据经过了叙略化,再经过反叙略化,然后最后给到了这一个结果,那么为什么我们不把这个直接给到这一个结果呢?对不对?好,那是因为如果我们这是两个 plc, 也就是说从这里一分为二,我们这个是上面的一个 plc, 我 们想要传递那些数据, 我们可以通过一些,比如说四八五,对不对?去传递这些数值,或者说通过其他的一些通讯的一个手段。好,那么这时候来了,假如说我这里的这个数据结构,它不是一个硬的类型,它是一个比较复杂的一个数据类型,那么我们 用那种方法,他就不能够很好的去传过去了,对不对?来,我们这里可以建一个,假如说我们这里去建一个 plc 的 一个数据类型,我们这里去添加一个新的。好,假如说我们这里是什么测试,好,好, 这里测试的话,我们把它改成什么呢?我们把它改成一个结构体,对不对?我们把它改成一个结构体。好, 那么这个结构体里面,比如说我有我的 a a a, 好, 我的 a a, a a 是 一个布尔类型的一个变量。好,那么同理我还有一个 b b b, 那 么我这里的 b b b, 我 想变成其他的一个数据类型的一个变量,比如说是什么?比如说是第一个 c c, c, c 是 什么呢? c, c, c 是 我的一个制服串的一个数据类型,制服串的一个数据类型,比如说这样是混着来的,对不对?因为在实际的项目当中,我们很有可能会建立一些很多的这个结构体, 这个结构体呢是包含了不同的一个数据类型,对不对?好,包含了这些数据类型之后呢?来,我们先拆开,我们把这里的这一个改成我们刚刚的这个数据类型,我们把这里反序列化的这个结果也改成了一个数据类型, 那么我们想把这一个数据传递给这个数据,并且在两个不同的 plc 当中,他就是比一个比较困难的一个操作,所以说我们就要需要去把它转换,转换成一个标准的一个宿主,这样子他就传递起来就比较好传递,对不对? 好,来,这时候我们下载来看一下。好,那么这里下载好了之后呢,我们就来看一下,先来看一下我们的序列化的一个宿主,对不对?好,可以看到我们序列化的这个宿主对不对?是什么东西都没有,对不对?好,来,什么东西都没有,那么我们等待序列化的这个数据,我们也可以给他输入一下,比如说这里是什么? 这里输入四五六。好,那么比如说这里的 c c c, 我 们输入什么?输入一个,比如说我们大写的一个 q, 对 不对?好,我们输入一个制图串,好,输入了这些制图串之后呢,来我们来看一下我们这里的序列化数组, 我们打开你就可以看到这里面就有相关的一些数据了,对不对?也就是说我们把什么,我们把这一个等待序列化的这个数据 转换成了一个字节类型的一个输入,对不对?并且存起来了这些数据好,存起来的这些信息之后呢,我们就经过反序列表,我们就可以传递给我们这个 反序列化的这个结果,对不对?我们就可以传递过来。你说假如说我们这里就算是不同的 plc, 对 不对?我们只需要把这个序列化的这个数组传递过去就好了。好,这边传递过去了之后,再用另外一台 plc 进行反序列化,我们就可以得到 我们想要的这个数据结果对不对?好,那么这就是这个序列化跟反序列化这个操作的这一个指令说明。好,那么 到这里你已经大概了解到了我们这一个虚列化跟反虚列化他们执行的这一个操作到底是用来干什么,对不对?好,那么刚刚我们也说了,这里面是用来我们进行一个反馈,这个反馈用于反馈什么?反馈?我们这个指令到底有没有执行正确,对不对?好,好, 那么大家注意看,这里还有一个引角,对不对?就是这里的 pose, 这里也是一个 pose, 对 不对?这里而且还写了一个数字叫七,对不对? 因为这里的序列化进行编排的时候,他要知道你这一个是要从什么位置开始编排,对不对?他应该要从一开始编排还是从零开始编排,对不对?他编排的就是占据这一个序列化数组的这个位置。来,我们来注意看, 我们这里从零开始,也就说我们这里从零开始一直到七这一部分就已经被占用了,对不对?这一部分被占用 用来做什么呢?用来把我们这个等待序略化的这个数据进行编排,编排之后他要用到这一部分的空间,对不对? 好,用到这一部分空间后面,这里面也是也是我这里的反序略化的,其实到底是从什么时候开始,对不对?因为我们前面是从零开始的,所以说我们这里也从零开始,你才能编排出一个正确的一个数据过来,对不对?好,那么假如说来,假如说我们先转至离线, 我们把反序列表的一个数据,比如说从一开始,或者说从二开始。好, 我们从二开始来,我们进行下载,看一下到底是什么样的一个结果。好,来,我们从二开始了之后,我们可以看到上面的这些数据我们都没有改变,对不对?但是呢,我们反序列表的这一个结果,这里的数据却是错乱的, 因为我们这里的序列表其实是从二开始的,对不对?这里是从二开始的,因为你从二开始的,所以说你编排出来的数据就乱了, 对不对?就比如说你去抄一个电话号码,对不对?你去抄一个电话号码,那么别人都是从零第零位开始抄的, 然后抄完了他告诉你,比如说一二三四五六七,对不对?那么你你从第二位开始数的,你就会数到什么?你就会数到二三四五六七八九,对不对?这样子他就会数错乱,对不对?好,这就是这一个拐角当中这个 pose 的 一个 使用方法。好,那么这时候就有小伙伴问了,那么是不是我这里如果改成二了,他就他就是对了呢?对不对?好,来,我们把它改成二了之后, 我们可以看到这里的起始是从二开始,这里的起始也是从二开始,他占到了第九位,也就是说我们这里的序列化数组从第二位开始,一直到第九位,我们都被占据了,对不对?都用于去编排我们这个等待序列化的这个数据的结果,对不对? 好,来我们看一下这种结果,他这里反序列化出来的结果也是对的,对不对?说明了什么?说明我们这里的位置不一定要从零开始,对不对?我们可以从任意的地方开始,只不过呢,如果你要编排正确,那么你的反序列化这里也要从相应的这个位置开始,对不对? 好?那么小伙伴可能还会有一个问题,我这里为什么一定要一直给着一个二呢,对不对?如果你一直给的话,他这里编排还能编排到第九位吗? 答案是可以的哈,因为我们这个时序是这样子的,就说扫描这一开始,我们把它给到了第二位,对不对? 好,给到了第二位之后,我们这里会从第二位开始,他执行完这一个指令,他就会以不断的把这个序列的这个地址进行递增,一直增到第九位, 对不对?这里也是反序列的,也是一直增到第九位,等到一整个循环结束了之后,我们这里又会把它重新给到第二位,对不对?这样子他就能不断的一直进行一个编排好。那么如果, 如果我把这两个指令给它删了,会不会报错呢?来我们来看一下,来我们进行一个下载好, 我们把上面的指令删了之后呢,我们成功的下载了,对不对?下载完了之后呢,我们可以去看一下,这里的序列化的起始先是错乱了一个,对不对?为什么?错乱了?他直接跑到了我们这里是吧?跑到了我们这里数组的最后一位,对不对?从最后一位开始,也到了最后一位,他就会执行错误, 你看这就是我们执行错误的一个反馈,对不对?那么序列化跟反序列化的这两个指令就讲解到这里,大家可以去简单的了解这一个, 因为这个指令他不一定特别的常用,但是呢,很有可能你在进行多台 plc 进行通讯的时候,你有可能会用到这一个指令。点赞加关注,学习不迷路。

有些 e、 g、 b 大 小的文件能压缩到几十兆,而有些文件压缩之后,大小却几乎没有任何变化,文件到底是怎么被压小的?今天我们讲文件压缩的原理。在了解压缩原理之前,咱们先来了解一下数据的大小。我们都知道,电脑上的所有数据本质上都是由零和一组成的, 一个零或者一个一就是一个比特,而八个比特就等于一个字节。那一字节有多大呢?我们新建一个空文本文档,在属性里可以看到,现在是零字节,这时我们输入一个英文字母,大小就变成了一字节,也就是说一个英文字母就是一字节。那汉字呢?在 现在通用的 u、 t、 f 八编码下,输入一个汉字,通常会占用三个字节,一千零二十四个字节,等于一 kb, 换算下来, 一 kb 大 概能存三百多个汉字。了解了大小,我们再来看压缩是怎么回事。假设下面这句话是还没压缩的原文件,这句话一共二十四个汉字,三个标点,占用大概八十一个字节。而压缩的底层逻辑,简单说就是找规律或者找相同。在这句话里要更新视频,这五个字 重复出现了三次,压缩软件就会把重复的东西简化掉。比如建立一个字典,用数字一来代替要更新视频, 压缩完之后,这句话就变成了这样,体积瞬间缩小一小半。又比如,原文件是二十六个英文字母,压缩软件发现规律后,就可以直接记录成 a 到 z。 再比如,有一串数字,压缩软件不会傻傻地全部记下来,而是会把它压缩成十个七 八个八。通过这几个例子我们就大概明白了,压缩的本质就是找出文件里重复和有规律的地方,然后用更短的代码来代替它。 那文件到底能被压缩到多小呢?这完全取决于文件内容本身。如果文件里有大量重复的、有规律的数据,比如文本文档、未压缩的 b、 n、 p 图片,或者很多空文件夹,自然可以被压缩得很小。那些压缩后大小几乎没变的文件, 是因为这些文件本身已经没有多少规律可找。比如 m、 p 四格式的视频、 j p、 g 格式的图片,它们在生成的时候其实就已经被各种算法压缩过一次了,水分已经被挤干,再去对它们进行压缩,自然就挤不出什么东西了。

毕业设计答辩前如果不知道怎么演示自己的代码架构和代码功能,一定要看这个视频。最近有一个粉丝到他的时候,他直接老是让他演示自己的代码,就不让他念 ppt, 结果打乱了他原有的节奏,直接就 演示的时候不知道该怎么演示代码架构,也不知道该怎么演示核心功能,结果就直接二变了。那我们演示的时候应该 哪些步骤呢?第一,我们应该先演示我们代码的基础架构,第二,我们应该演示系统的核心功能,第三,应该演示系统的创新点,第四,应该总结系统的优势和不足。接下来我以一个系统为案例,给大家演示一下这个四个步骤怎么去描述,先点赞,收藏后观看。 那系统的后端呢?是使用 spring build 框架加 my base plus 框架,前端是在 result 下边默认和 front 文件夹, front 代表的是前台的前端,默认代表的是后台的前端,都是使用 v o e 框架, 通过 v o e 的 x c 组键请求到后端的接口,然后后端接口里边是通过 my base plus 框架附装好的增删改查的方法,然后去完成了一个数据的增删改查的一个操作。那系统的 有前台和后台两个页面,前台主要是用户操作,用户可以浏览书籍,然后可以等对书籍进行借阅。借阅完成之后呢,在用户的后台管理里面能够看到自己的借阅记录,同时呢也能看到自己归还和借阅提醒的记录。 借阅完借阅之后是由管理员这边进行审核,管理员可以在借书籍借阅管理里边对于已经借阅的数据进行审核,同时呢, 对于逾期的也能够手动的发起提醒,同时也能够系统也可以通过定时任务自动的发,对已经逾期的那些用户发起借阅的那个逾期的提醒, 然后还有归还的记录。同时呢,系统的创新点是多了一个数据分析员,可以通过数据分析员分析 整个网站数据借阅的情况,包括每日的借阅数量,用户的借阅数量包括续借和新借的数量等等,包括逾期的都可以看得到,那系统的不足就是在适配移动端方面还需要继续优化。

系统的 url 访问路径是如何生成的?这个问题如果不会的话一定要看这个视频。那最近有一个学生被问到这个问题,说访问地址是怎么生成的,学生也不知道,然后他就蒙了一个说是自动生成的,然后最后被老师访问,说自动生成的是需需要自定义访问路径的吧? 这个学生最终不知道,然后就老师就让他二变了,让他问清楚再来答辩。那其实我们的访问路径一般情况下是这样的,比如说这样一个访问路径,我们一般是 ip, 就 本机的 ip 加上我们的端口号,对吧?八零八零,有的是八零八一,再加上你的项目访问路径,这个是我们在配置里边定义的,最后再加上前端的一个访问路径,就就组合成了最终的访问路径。如果你也不知道访问路径是怎么生成的,把你的配置文件截图在评论区,我来一一为你分析。

毕业设计答辩前,如果不知道 ctrl 层在代码中的应用应该怎么描述,一定要看这个视频。最近有一个粉丝被老师问到 ctrl 层在代码中是怎么应用的,他答的也很完整,就是接口层主要负责处理用户的请求,协调业务逻辑并生成响应。 他是背了背这个概念,但是老师是让他在代码里边去解释,他就不知道该怎么解释了。那其实我以这个为例给大家讲一下, control 层是接口层,那也就是去接收从前端请求过来的后端代码的一个入口, 那这个地方呢?就是后端接口地址的一个定义,那接收到地址之后呢?这里是接口的参数,收到参数之后会对参数进行加工, 加工完之后我们会从 control 层去到我们的 service 层,又再到我们的 d o 层,查询到数据之后呢,我们最终要响应到前端,最后把这个查询到的数据列表再给到前端,这就是 control 层接口层主要做的作用。

ai 刚挖出 linux 史上长达九年的漏洞, copy fail, 二零一七年以后的所有发行版全部中招。这个漏洞它有多离谱?提前脚本只有七百三十二个字节,它通过仅四字节的内存写入改写了系统页缓存,实现了从普通用户导入权限的无感月签。 最阴险的地方在于,它只改内存,不碰瓷盘。你拿安全软件扫文件,哈西只完美匹配,完全没爆毒。但其实系统的提前程序早就被它在内存里改掉了,而且容器也不能幸免。容器虽然隔离了空间,但共享的是宿主机的液缓存,这打破了以往容器安全的标签。如何防护 升级内核或完全禁用 i g f i 的 模块?目前这个提前脚本已放出,想了解自查方法,判断设备是否受影响的,可以评论区留言交流,关注我。哎,不落伍。

毕业设计答辩前,如果不知道 mvc 模式是怎么在代码中体现的,一定要看这个视频。最近有一个粉丝被老师问到是使用了什么设计模式,然后这个学生回答说是使用了 mvc 的 设计模式,然后老师问说为什么用 mvc? 学生回答说, m 是 model 模型,是负责数据的逻辑和业务规则, v 是 v a w 试图负责界面展示。 c 是 control 控制器,接受用户的请求,各层独立开发,修改一层,不影响其他层。 那老师说,那你打开代码演示一下各层的应用,这个时候学生不会演示啊,导致自己二变了。那其实我们演示的时候还是要从我们 control 文件夹下边的接口层开始演示。首先我们接口层就代表的是 c, 那我们 c 的 控制器呢?就是接收到用户的请求,那那我们的 m 呢?是我们接收到请求之后,我们这有个 n t t 做实体类呢,我们操作这个实体类就相当于是操作数据库了啊,是用它来控制数据模型。那我们的微呢?也就是我们的页面,那我们查到这些信息之后,会把这些信息渲染到页面上, 那最终这三个每一个都不影响其他的一个操作,这就是 mvc。

主播教学 plc 已经七个多月了,也是感谢大家支持以及鼓励,也是涨了三万粉丝了,这里再次感谢大家的支持,你们的支持是我更新的动力。上期讲解了 db 快 的用法,大家问我数据类型怎么理解,那么这期视频的数据类型讲解它来了, 我们在右边找到 plc 变量,添加一个新的变量表。首先我们学习的是数据类型,是 bo, 称为位,一般用作为输入输出,这里为了更好区分,我们把它改名成位,然后往下拉,再添加一个, 接着到 obe 中添加一个输入输出,并且把数据添加进去,这 bo 类型一个作为输入,一个作为输出,这里也能监控状态。接着是 bata 数据类型, 它是八位的,就相当于八个波偶数据类型组成的,那么 m b 一 代表的就是 m 一 点零到 m 一 点七,从右往左依次从小到大排序, 那么我们用 move 指令给 m b 一 传送数值,并且我们用二进置表示,更加清晰。我们让第一位,第二位还有第八位变成一,其余都变为零, 那么第一位就是 m 一 点零,第二位就是 m 一 点一,第八位就是 m 一 点七。我们在变量表添加数据,看效果,下载进去之后,我们可以看到对应的几个数据是得电状态。 现在我们继续添加一个整数类型 int, 它是十六位的,那么 mw 二就可以分成 mb 二和 mb 三, 继续往下分,就可以分成 m 二点零到 m 三点七这十六个不误类型的数据。那么我们让 m 三点零到 m 三点七,这八个得电,我们要用二净置,怎么表示呢?我们先把数据添加上去,然后依然用幕布指令把数据传送给 m w 二, 刚刚说要 m 三点零到 m 三点七,这八位得电,那么用二净置怎么表达呢?从右往左的前八位赋值乘一,后面八位变为零就能实现。 现在我们下载进去看看效果。往下找,我们可以看到 m 三点零到 m 三点七这八位是接通的,为什么是这样呢? m w 二分开,左边是 m b 二,右边是 m b 三、继续往下分,最高位就是 m 二点七,最低位就是 m 三点零, 它的原理就是从右往左这样排序的。接下来我们继续添加双整数丁替,这个是三十二位的, 那么就是相当于三十二个布偶类型数据组成可以分为 m w 四和 m w 六。 继续往下分,左边分为 m b 四、 m b 五,右边分成 m b 六, m b 七,继续分成布偶类型,最高位 m 四点七,最低位就是 m 七点零,这三十二个组成,我们依然用 move 指令传送数据,将 m 六点零到 m 六点七得电,先把数据添加上去, 这里九到十六,这八位代表的就是 m 六点零到 m 六点七,我们下载仿真进去就可以看到效果。好了,这就是今天所有的数据类型的知识,大家记得做笔记。

毕业设计打遍前,如果不知道自己的代码调用链路是怎么演示的,一定要看这个视频。最近有一个粉丝被老师问到说你后端的系统架构是怎么设计的?然后这个学生回答说是后端使用 spring boot 的 框架,分为 control、 service 和 deo 三层。然后老师接着问说,你知道这三层的作用吗?这个学生就回答说, ctrl 是 接口层, service 是 业务逻辑层, d o 是 数据访问层,主要执行 c r u d 的 操作。那老师接下来说,那你打开代码演示一下应用链路,结果这个学生不会演示,就二遍了。 那其实我们在演示代码的时候,我们应该怎么演示呢?首先我们是我们代码的后端入口,就在 control 接口层,那到了接口层之后呢,我们会调 service 层,一般就是 service 点用了某个方法,我们按鼠标 ctrl 加鼠标左键点击进来,进到 service 里边之后我们进到了接口, 这个接口呢有对应它的实线类,那我们到实线类里边找到这个方法,到 service 里边就会去掉 d o, 那 就是这个 map 点上的这个方法 上 d o 之后,这个时候我们知道我们最终是为了操作数据库,那这个怎么操作数据库呢?也就是这个 d o 层会有一个在 result 下边有一个相对应的这个叉 m 文件,这里边的每一个 里边的 id 其实对应的就是这个里边的这个方法名字,这样的话就找到了它执行对应的 sql 语句,然后完成了整个的数据查询。

毕业设计答辩前还没有把自己系统核心功能演示过的,一定要先演示过之后再来答辩,否则很可能就跟我最近这个粉丝一样, 他答辩的时候他的导师问了一个问题,就是他这个系统预约之后能不能被再次预约,然后这个学生就说预约之后能被再次预约,结果他自己操作的时候发现他不能预约,然后老师就跟他说,你自己做的系统你的逻辑都不清楚吗?然后结果导致他二遍老师让他把功能弄清楚之后再来答辩。 那所以我我以这个系统为例,比如说就这个社区活动网站,那这个我这里边核心的功能是啥呢?就是租住信息、车位信息以及这个收费信息,也就是这个水电费这一块啊。所以如果你不知道你系统核心功能老是会有什么问题的,打在评论区我来一一给你回复。

毕业设计答辩前,如果不知道怎么演示自己代码的前后端交互,一定要看这个视频。最近有一个粉丝被老师问到前端用的是什么框架,学生回答说是 vue 框架,然后老师说前后端交互是怎么交互的,然后学生就回答说是通过 vue 框架交互的, 然后老师接着问他说具体前后端交互的技术用的是啥,然后就是前后端框架 v u e 框架本身的能力啊,这个学生就这么回答的,然后老师说,或者你要不知道的话,你演示一下具体代码位置也行,然后结果这个学生不知道怎么演示,然后就导致自己二变了。 那其实我们在演示前后端交互代码的时候,我们首先应该在前端页面,那就以这个为例,这个是一个图书分类的添加页面, 添加页面呢一定是有添加和更新的接口的,那以这个系统为例,这里边调这个就是 v u e 框架 x x 组的代码,也就是通过 v u e 框架 x x 组请求后端的。而这里的 u r l 里边这个就指的是接口的名称,刚好对应的,我们后端里边 对应的就是这个路径下边的这个 save, 这就是前后端交互的这个地址应设到了后端接口。

很多人明明手里捏着豆包这种全模态的神仙外挂,却硬生生给玩成了只会写水稿做表格的小流氓,这简直啊是守着金山要饭!一个随时待命的 ai 助理,离你其实真的只差一副耳机的距离。今天就教会你怎么让豆包成为你的随身之囊。第一个玩法就是你可以把豆包 当成你的谈判陪练官。平时就租房去买车,一到讲价环节,是不是就张不开嘴,脑子一片空白?人家销售稍微一施压,你直接不知所措,乖乖掏钱。现在有了豆包,你完全可以在上实战前来一场真枪实弹的模拟演练。 直接打开豆包语音通话说,我现在要去二手车市场买车,你现在呢?扮演一个极其优化、非常强势的二手车销售。我呢,只有十五万的预算,我们要进行一轮激烈砍价。记住, 你要尽量刁难我,套路我,用话术打压我,然后豆包就会用奸商语气给你拉扯,练到一半你还能随时喊停进行复盘,把底价和避坑话术给你安排的明明白白,等你在耳机里跟他大战三百回合,再杀到实体车行,那不是轻松拿捏老板?当然,除了动嘴,到了实地看车环节,豆包的视频通话也是可以直接上手的十辆工具,等你到了市场, 直接戴上耳机,打开豆包的视频通话,切换后置摄像头,对准感兴趣的车,你可以直接问他,帮我看一下这辆是偏向日常代步的轿车,还是适合家庭出行的大空间 suv, 还是硬派越野这类车型在二手市场的普遍行情和挑选重点是什么?豆包通过镜头识别出车辆大类后,会直接在耳机里给你科普 车的通用优缺点、常见通病以及验车要点,让你心里啊马上有个底。不至于呢,被老板箍住坐进车里试驾,看到不认识的四驱切换旋钮或者复杂的仪表盘提示,直接用手指着问这个按键是干嘛,用豆包看了马上能解释清楚。 销售在旁边猛吹,这车保值好开。你在耳机里听着豆包给你总结的车型、通病和真实参数,有了这种实时的信息核对,你就能精准向销售提问,彻底打破买卖双方的信息差。所以啊,别再只把豆包当成一个 ai 助理,离你其实真的只差一副耳机的距离。