自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 收藏
  • 关注

原创 使用umi作为模板如何实现权限管理

umi的特点就是当项目初始化时,路由就已经注册过固定了,因此后期使用动态路由无法再根据登录人员进行路由的动态注册,因此只能使用守卫或者后端人员配合。最后通过与后端协商,在api.ts中的方法currentUser的返回值中加上access属性,并且根据上方代码,有权限的人员登录时返回的access属性必须要是"admin",其他人任意值。路由:通过动态路由,根据登录人员不同注册不同的路由,直接让没有权限的人员直接看不到需要权限的页面。这就是我理解的使用umi自带的权限管理方式来处理权限问题的方法。

2024-07-25 16:22:05 286

原创 Canvas总结二

(1).这三种变换方式都是对坐标系的操作,对于旋转,是以原点为中心进行旋转,即原来为(1,0)的点,顺时针旋转90°之后,这个点就变成(0,1);:createRadialGradient(圆1圆心x、圆1圆心y,圆1半径,圆2圆心x、圆2圆心y、圆2半径)//一般圆1圆2的圆心相同,不同的用法还没搞懂。平铺方式有:repeat重复;:createLinearGradient(开始点x,开始点y,结束点x,结束点y)//渐变以这两点连成的直线,在这两点内的范围开始渐变,即大于或小于该范围不计入渐变路径。

2024-07-20 16:35:43 827

原创 this指向解析

2.3:调用构造函数personA中的show2函数,为箭头函数,指向外层最近的普通函数的this,在第一题中,person1只是一个对象,所以指向windows,但是在第二题中,personA为构造函数,show2指向的就是personA,所以依旧打印personA。1.8:调用person1中的show4函数,并再次调用返回函数,show4为普通函数,返回函数为箭头函数,箭头函数的this指向为外面最近一层普通函数的this,即show4的this,因此打印person1。

2024-07-14 18:10:31 473

原创 前端跨域问题的解决办法,两种类型

跨域问题是由于同源策略的原因,在协议(HTTP或HTTPS)不同、端口号(8080或8881)不同、主机IP(182.92.178.25或者182.92.178.26)不同时而导致的不能进行数据交换的问题。当后端没有做跨域时,前端就需要自己配置。

2024-06-16 18:47:05 444

原创 学习Canvas过程中2D的方法、注释及感悟一(通俗易懂)

1.了解Canvas: Canvas是前端一个很重要的知识点,<canvas>标签用于创建画布绘制图形,通过JavaScript进行操作。它为开发者提供一个动态绘制图形的区域,用于创建图标、游戏动画、图像处理等。 对于能够熟练使用Canvas的开发者来说,能够创建出很多令人惊奇的效果,因为我也是刚学了一半,所以对于Canvas要实现的真实目标还不是特别了解,但是对于初学者或者急需使用一些简单方法的同学来说还是会有一些帮助的。Canvas有2D画布和3D画布,目

2024-06-08 10:30:27 1039

原创 阿里云+Xshell部署前端项目,从准备工作到部署成功,亲测详解,小白友好型

使用阿里云服务器+Xshell+Xftp实现将html页面或打包后的项目部署到服务器上,实现可以在不同电脑的浏览器上访问该html页面或项目。注:同一种方法并不一定适合所有情况,该情况可作为一种尝试。

2024-05-19 17:46:20 1185

原创 快手面试算法真题

分析:注意本题要求按照标签层数进行遍历,不要按照每个标签从外到内遍历。既然要按照层数遍历,那么就可以使用一个参数来表示层数,还需要一个参数来表示根标签所以可以得到该方法需要两个参数。因为实际中层数是未知的,所以需要使用递归来进行遍历。例如:html代码如下:(上面的数字表示层数)

2024-04-26 21:40:02 337

原创 蓝桥杯竞赛类型:Web应用开发 全程详解

既然大家准备报名蓝桥杯,那么对蓝桥杯就应该有一定的了解了。没有了解也没关系,简单来说,蓝桥杯就是一个计算机竞赛,竞赛类型大多是使用各种语言写算法,当然还有本文的主体——Web应用开发。对蓝桥杯有了基本了解之后,我将根据本次参赛真实经历,全方位、深层次的为大家讲解Web应用开发的流程、考点、注意事项,最后为大家附上本次的准考证。

2024-04-19 20:52:53 1493 1

原创 数组与伪数组的区别

也还有其他一些方法,就不一一概述了。接下来提一下没有的方法,没有的方法大多是对数组中元素个数进行操作的属性,比如:push()、shift()、pop()等,当然也有一些其他方法,比如map()。1.DOM操作返回的结果:比如使用document.getElementByClassName()、document.querySelectorAll()等,得到的结果是符合类名或选择器的所有元素组成的伪数组。数组是继承自Array的方法,因此可以使用push(),sort(),pop(),shift()等方法;

2024-04-11 17:37:03 321 1

原创 数字华容道项目总结

中途代码丢了一次,当第二次开始写的时候,问了一下杨成熙,然后他就说了一个方法,可以说只是算法中一个很简单的思路,但是因为是在项目中,没有算法的提示环境,于是就没想起来,最后按照这个方法解决成功,大幅度减少代码的使用量。解决过程:后端写好了过程,最初因为模板使用的是HTTPS协议,导致与后端连接不上,当降为HTTP之后还是不行,最后在老师指导之后可以连接成功,websocket带的几个方法也可以使用。在学习编程过程中,为了加强特性技术和对概念的理解,以及学习新的技术,决定开发一个简单的小游戏。

2024-03-13 21:38:43 458

原创 力扣139.单词拆分解析

那么问题就是本题是是字符串,与普通背包问题有一定的区别,前面的代码都是和平常一样,创建一个长度为s.length+1的数组,根据题意初始值可设置为false,而为了解出本道题,arr[0]要初始化为true。之后就是循环体内的代码,判断当遍历出的字符串长度大于等于相应字符串数组元素长度时,需要判断截出的字符串是否与该对应字符串数组是否相等并且截取字符串之前的字符串是否已经寻找成功,如果同时也成功,那么当前字符串对应的最后一位所对应的创建数组位赋值为true。最终返回自创数组的第s.length个的值即可。

2024-03-12 20:13:50 450

原创 力扣背包问题

这道题依然是每个元素只能使用一次,但是每个元素中有1和0两个值,因此按照简单的思路来考虑的话就只能使用三维数组来解决,横轴表示单个元素中的1的数量,纵轴表示单个元素中的2的数量,竖轴表示可选择元素的范围。然后就是力扣1049最后一块石头的重量,这一题和上一题类似,想明白之后都是寻找最接近数组之和一半的值,也是转换为背包容量为数组之和一半,并且物品的重量和价值相同的背包问题。比如力扣416分割等和子集,将其转化为背包容量为数组之和一半,并且物品的重量和价值相同的背包问题,如此便能够解决这个问题。

2024-03-09 17:35:19 473

原创 websocket前端应用

WebSocket:WebSocket时全双工通信协议,允许客户端和服务器之间建立持久连接,双方可以同时发送和接收数据,不需要每次请求都建立新的连接。HTTP API:因为每个HTTP请求都需要建立新的连接,并且请求都需要携带HTTP头部信息,因此HTTP API有较高的延迟和较低的性能。HTTP API:HTTP API基于请求-响应模式,客户端发送请求,服务器返回响应,然后连接关闭。WebSocket适用于需要实时通信和服务器推送功能的场景,而HTTP API则更适用于传统的请求-相应模式的通信。

2024-03-09 15:14:08 1002

原创 pinia仓库的了解和使用

再使用之前,我们先对pinia做一个基本了解:Pinia 是一个专门为 Vue.js 应用程序设计的状态管理库。其中pinia仓库内定义的名称就是上图中第6行的warehoseOne,pinia的路径根据自己的情况来定,自己起的变量名我习惯用useStore。然后就是在项目的store文件夹中创建自己的pinia库,使用项目模板的话会直接找到,自己写的话可以自己创建。以我的为例,想要得到pinia中a的值,那么直接打印useStore.a即可。let 自己起的变量名=pinia仓库内定义的名称()

2024-02-28 16:30:02 388

原创 力扣96不同的二叉搜索树详解

然后就是找规律,以n=3为例:以1为根节点时,其余元素都大于1,左子树节点数为0,结果记为一次,右子树节点为2,在不考虑数值的话左右子树排列总数就等于n=2时候的值,即当1为根节点时结果数位arr[0]*arr[2];当3为根节点时,思路和1为根节点相同,只是所有节点都小于3,因此所有节点都在左子树上,右子树上的节点数为0,即结果为arr[2]*arr[0]。那么n=3能产生的不同二叉搜索树有arr[0]*arr[2]+arr[1]*arr[1]+arr[2]*arr[0]个。

2024-02-19 20:57:33 432

原创 动态规划初识心得

当台阶数为2时,方法有[[1,1],[2]]两种,即h[2]=2;当台阶数为3时,方法有[[1,1,1],[1,2],[2,1]]三种,即h[3]=3。写成递推公式就是h[n]=Math.min(h[n-1]+cost[n-1],h[n-2]+cost[n-2])。比如:509.斐波那契数:对于这道题,一定是要从前向后计算,因为题目中给出的时h[0]=0和h[1]=1,这也相当于知道了规律的前两项,根据题目可以得到h[2]=h[1]+h[0],推导出递推公式h[x]=h[x-1]+h[x-2]。

2024-02-17 11:27:25 410

原创 力扣738单调递增的数字思路以及贪心总结

我的第一部分思路就到这里,写完之后测试全部通过,提交的时候测试用例100失败,答案应该是99,我的是90,然后我就很大意的加了个当n是10的整数倍时,直接返回n-1,结果提交的时候测试用例101也错了,这个时候我才意识到问题的严重性,一旦遇到大于等于三位数且中间有零的就会出错。力扣上的第738题,大家刚开始看的可能比较懵,读懂之后就会发现其实是找小于n的并且右边位上的数字大于等于左边位上的数字的最大整数。从这个数字的各位开始向左依次比较,若左边数大于右边,那么左边数减一,右边数变为九。

2024-02-08 19:55:26 598

原创 贪心算法中关于重叠区间问题的感悟

第一个元素的结束点和第二个元素的开始点相等时是不算相交的,而且在我的思路中,若后一个元素的开始点处于第一个区域中,那么需要判断后一个元素的开始点是否等于区域的开始点,若等于则取结束点较小的区间,若不等于开始点,那么需要判断结束点的大小,哪个小选择哪个。在我这两天的感受中,对区间的排序是解题的关键,能够正确的排序就成功三分之一了。不过想到排序的方法很重要,有的是按照开始点从小到大排列,有的是按照从大到小,有的是按照结束节点排序,有的甚至再排过开始点之后还要考虑结束点是从小到大还是从大到小。

2024-02-03 21:53:52 714

原创 项目学习——canvas标签

之后就该使用到drawImage方法:drawImage方法是在canvas标签中绘制图像,需要结合Image方法使用,该方法可以接受不同的参数组合,以实现对图像的缩放、剪切和绘制。canvas在本次项目中是重难点,经过这次项目我对canvas也有了部分认识,学习中没有查canvas标签的名字,因此,我将他称为画布标签。在本次项目中我只用到了2D,因此在这里就不说WebGL了。首先,canvas的宽高与其他标签不同,他的宽高是标签内属性,在我使用的过程中发现,

2024-02-02 15:59:55 446

原创 贪心算法关键点加力扣452用最少数量的箭引爆气球解析

设使用箭数res初始为1,从第二个气球开始遍历,判断左端点是否在l和r组成的区间内,如果在,那么左区间取原来的l值和当前遍历气球的左端点的最大值,右区间取原来r值和当前遍历起球右端点的最小值;如果不在,那么l等于当前气球开始点,r等于当前气球结束点,使用箭数res加一。思路:使用最少的箭数,就是每箭引爆相对更多的气球,为什么不是绝对更多的呢,因为如果按照绝对更多,那么假设总共有6个气球,中间重叠区域有4个气球,左边重叠三个,右边重叠三个,如果先射中间,那么需要3箭,如果左右各射一箭,那么只需要两箭。

2024-02-02 10:53:52 605

原创 对贪心算法的理解

55. 跳跃游戏、45.跳跃游戏II ,我发现思路好像没有想象中的那么通畅,对思维逻辑有着很强的锻炼效果,比如122这道题,如果只是盯着数组中大数和小数来看的话是很难有思路的,对于我来说我不仅思路阻塞而且思想也阻塞了,只考虑到每一天只进行买或者卖一种操作,完全没想到一天内可以同时买卖,这也直接到这我做不出这道题。还有就是55和45这两道题,看着非常想,甚至最后答案都十分类似,但就是那么细小的差距,一旦想不出来,那么这两道题就写不出来。之后要注意思路的方向,对于算法来说思路不正确可以说根本是做不对的。

2024-01-31 20:07:22 337

原创 一个新创建的项目如何使用element-plus中的组件

(注意是最合适的,不是最大的,因为有些情况下也可能需要找最小的),从而组成整个算法的最优解。其实在很多时候大家在不知不觉中就会使用到贪心算法,在写这类算法时只需要保持平常心,稍微注意一点点就可以了,不用特别注意。首先要保证安装了相应的插件:在vscode或者黑窗口中执行以下两行代码,在相应文件中或者全局安装element-plus环境。然后就是今天的主题:在一个新创建的项目中使用element-plus的准备条件。locale: zhCn, // element-plus国际化的配置。

2024-01-30 21:55:01 433

原创 心态(回溯算法总结)

刚开始我还是抱着看看的态度,结合着题目看解析,当看到N皇后时,觉得自己应该可以做出来,于是就开始尝试。经过不断的完善,只有判断条件出了点问题,然后看了一眼判断的解析之后就顺利做出来了。在这道题中,我学习到了思路在写算法中的重要性,有了正确的思路,算法就写出来了一半。最重要的是思路,而最基础的是心态,其实困难的题有了思路之后也并不是特别的难,有一个良好的心态对写出算法也有着至关重要的帮助。今天跟着代码随想录写到了回溯算法的最后一章,一打开我就惊呆了,里面三道题,全都写着可跳过。

2024-01-29 21:51:26 373

原创 回溯算法中组合与排列的异同点

异:组合中题目中可能会有要求数组中有没有重复的数,这个时候组合中不同层就可能出现相同的数字,而对于排列来说,一旦数组中有重复的数,那么一定存在不同层出现相同数据;组合中for循环的初始值需要改变,排列中for循环初始值始终为0;在组合中,需要的结果可能是树的叶子节点也可能是每个节点,而排列一定是叶子节点,因此一定要好好审题,了解题目需要的是什么。同:两种算法都需要多层循环嵌套,当数据量比较大的时候,使用for循环就非常困难了,因此,他们都需要通过回溯算法来解决;本层使用过的数据不能再使用相同值的数据。

2024-01-28 17:37:49 356

原创 回溯算法再体悟

最后最难的就是递归时传递的参数变化,上一篇中说到了n+1和n+=1的区别(n为for循环i的初始值),而今天做的过程中发现还有传递i和i+1的可能。不排除还有个i+=1.迭代是对深度进行循环,即对组合中数量的遍历,通过for循环和递归的结合,完成对算法的数次循环。而在回溯中最难的是思路,如果弄清楚第一个结果的循环过程以及返回时的条件,那么这个算法就写出来一大半了。回溯算法其实并没有那么难,按照代码随想录上面的逻辑和模板,再加上上一篇中的规律。今天已经做了三天的回溯算法了,对回溯算法又有了不同的理解。

2024-01-25 19:58:34 344

原创 js递归回溯过程中究竟该传递n+1还是n+=1解析

刚开始可能看不出差别,当最深层运行结束开始考虑倒数第二个元素的其他可能时,m就会起到作用——每进入一层递归,m的值就会加一,当开始考虑倒数第二个元素的其他可能时,m的值会减一,导致当考虑倒数第二个元素的其他可能时,进入递归添加最后一个数时会出现最后一个元素m+1还等于倒数第二个数,因为题目中要求的是不能重复,所以使用m+1会导致数据重复,而使用m+=1则可以保证即使开始考虑倒数第二个元素的其他可能,m也不会减一,进而保证数据不会重复。结语:大家在做类似的递归回溯题时,一定要多debug几遍!

2024-01-24 16:41:40 406

原创 初识回溯算法

回溯算法在解决组合、排列、子集等问题时非常有用,而且可以应用于各种领域,如图论、字符串处理、数独等。但是在面对搜索空间较大的问题时,回溯算法的效率可能会较低,此时可能需要考虑其他算法。回溯算法的基本思想是递归地尝试所有可能的解,当发现当前的解不符合要求时,就返回到上一步进行回溯,尝试其他的解。回溯算法是一种通过穷举所有可能的解来解决问题的算法。回溯算法的时间复杂度通常较高,因为它需要穷举所有可能的解。在某些情况下,可以通过剪枝等优化方法来减少搜索的范围,以提高算法的效率。

2024-01-23 17:06:12 352

原创 二叉树总结以及解二叉树相关算法思路补充

二叉树的种类:(红色为相对常用)满二叉树:以根节点为第一层,总节点数为2^n-1个的二叉树,即除了叶子节点之外的其他节点都是拥有左右两个节点的二叉树。特性:每一层的节点都是满的。完全二叉树:除了最大深度的叶子节点所在的那一层,其他层都达到最大值,并且叶子节点层所有节点从左向右排列,中间没有空节点。特性:除了最深的叶子节点层可能没有满,其他层节点都是满的,并且叶子节点层的节点由左向右排列,中间无空节点。二叉搜索树:前面两种只有树的结构,这一种除了有结构,还有数值。特性。

2024-01-22 16:53:40 363

原创 二叉树相关问题解决思路

2.在使用递归解决二叉树问题时,return后面的值就代表上一级对该return级操作的节点,比如:方法名为xunhuan(root),当递归为xunhuan(root.left),在root.left层级的return值就是root的做左节点。对某个节点操作时,一定要注意是否还需要操作该节点,如果还需要使用,就创建一个变量接收该节点,然后操作变量。3.在二叉从上向下寻找时,注意每个if之后要有return,使根节点始终与子节点相连,即使后面的子节点发生变化,也能与根节点连接上。

2024-01-21 16:41:31 362

原创 由于异步原因导致在主线中不能直接使用接口返回的数据的解决方式。(vue+TS+Axios)

/根据作品名、大类型、小类型查询第一行:的作用是引入二次封装后的axios,若没有二次封装,那地址就是http。第三行:定义了参数的类型第九行:中的参数也可以使用接口名dataFindBig,在这里我没使用。但是在第十行,尖括号中第二个参数是参数类型,更详细的用法可以自己再详细了解。注意了:我在这里用的是箭头函数,箭头之后没有使用大括号,表示第十行是return之后的内容,如果加了大括号就需要在request之前加上return。//引入相应的东西第二行固定格式,直接引入;

2023-12-31 20:02:12 384 1

原创 二叉树先序、中序、后序遍历之间的关系以及构造函数和普通函数的区别-12.16(day19)

在后序遍历中是最后一个;在这三种遍历中,左子树的所有节点都是在整个遍历的左侧,右子树的所有节点都在整个遍历的右侧。因此根据先序和中序或者后序和中序即可得到一个二叉树,但是通过先序和后序是不能得到二叉树的,因为不能得到左右子树的节点数量。简单总结一下就是:构造函数需要使用new关键字调用,使用大驼峰命名法,没有返回值,this指向新对象;普通函数不需要使用关键字,使用小驼峰命名法,可以有返回值,this指向调用的对象。构造函数: 通常不需要显式返回值,因为构造函数的目的是初始化对象,this 指向新对象。

2023-12-16 11:32:37 91

原创 深拷贝与浅拷贝以及实参为方法的传递-12.13(day17)

当旧数组改变的时候,新数组中的内容不会发生改变。深拷贝是在新数组中创建相应数量的新地址,将旧数组中的值分别加入到新数组中。因此,访问新数组中的值是访问新地址,不是旧数组的地址,所以指向的是新数组中的值,不受旧数组影响。例如:arr1.push(...arr2)、for(let i in arr2){arr1.push(arr2[i])}等等这些将旧数组遍历一遍再加入到新数组中的做法就是深拷贝。因为数组是引用数据类型,浅拷贝是将旧数组的地址复制到新数组中,因此,访问新数组中的元素指向的是旧数组中的值。

2023-12-13 10:25:32 54

原创 递归传参的几个注意点-12.12(day16)

首先大家要了解a++和++a有什么区别:无论是a++还是++a,它们都相当于是a+=1,只不过++a是先计算+1,a++是后计算+1.举个例子。可以看到,传入a++和++b时候的区别:传入a++时,函数中还是a原来的数据,直到下一次使用a的值才会改变;传入++a时,函数中a的数据会及时改变。在写关于二叉树的算法时,递归是我们绝对会用到的方法,但是昨天写了一道相关算法之后,看了看答案才发现递归过程中参数的写法也是有要求的。至于传入a+=1,它的效果和++a是相同的:函数中的值随之改变,函数外的值也会改变。

2023-12-12 16:26:05 57

原创 力扣110-平衡二叉树解析-12.8(day15)

该方法用的是后序遍历的递归,当返回-1时,表示以该节点为根节点的二叉树已经不是平衡二叉树了,即整个二叉树都不是平衡二叉树了,层层向上返回。根据题意首先想到的是后序遍历(顺序为:左右中)。得到左子树高度和右子树高度之后再到根节点进行判断。当返回到真正的根节点后如果为-1,则表明整个二叉树都不是平衡二叉树。平衡二叉树概念:以每个节点为根节点时的左右子树高度差不大于1。只有使用后序遍历才能让根节点得到左右节点的高度用来比较。

2023-12-09 08:39:25 37

原创 层序遍历的应用-12.7(day14)

因此,在求二叉树或N叉树的最大或最小深度以及节点个数时,使用到的方法一模一样,只要在操作子元素时修改一下即可。最大/小深度的定义:从根节点到距离最远的叶子节点之间的节点个数或者边的条数,具体应以题目为主。最小深度思路:最小深度就是从根节点到距离最近的叶子节点之间的边的条数或者节点个数,只需在上述代码判断每个子节点是否有子节点,没有的话该层就是最小深度。节点个数思路:这个没什么,只需使用任意一种遍历方式,得到所有节点的数量即可。层序遍历在今天的应用有求二叉树或N叉树的最大或最小深度以及节点个数。

2023-12-08 09:19:43 28

原创 二叉树层序遍历-12.7(day13)

记录队列长度size,队列长度就是每层拥有的节点数(没理解的话请继续向下看),用来辅助我们进行循环;当我们每取出一个节点,首先将该节点的值加入到临时数组中,然后判断该节点的左右节点是否存在,存在的话就再加入到队列中,因此,当上一层的节点遍历结束后,队列中剩余的所有元素都是本层节点,队列长度size就是本层所有结点的数量。当size为0时,临时数组中的所有元素就是所有本层节点的值。层序遍历应用的是图中的广度优先遍历,不过效果是类似的:从树的根节点开始,从上到下、从左到右依次遍历每层的元素。

2023-12-07 08:35:23 24

原创 二叉树先中后序遍历-12.4(day12)

先、中、后可以理解为前、中、后,代表了父节点在第几个开始遍历,分别对应第一个、第二个、第三个;先序遍历是从根节点开始的,中序和后续遍历是从左子树的叶子节点的最左侧开始的;从左子树最后一层的最左侧节点开始遍历,当遍历到根节点后在开始遍历右子树。先访问叶子节点,从左子树到右子树,最后到根节点。从根节点开始,逐级向下遍历。

2023-12-04 20:32:31 33

原创 使用elementUI中表单组件时检验是否为空的功能

使用表单收集数据时,点击提交后检验必填项是否为空是一个很重要的功能,当使用了elementUI后这个问题就变的很简单了。对于简单的事情也是需要学习一遍才能掌握运用,在这里我将会用直白明了的话来为大家讲解"使用elementUI中表单组件时检验是否为空的功能"的详细运用。"required"是HTML表单元素中的一个属性,也可以在一些前端框架(如Vue.js)的表单验证规则中使用。"trigger"是表单验证规则中的一个属性,用于指定触发验证的事件。"message"属性用于指定在验证失败时显示的错误消息。

2023-12-01 16:11:05 990 1

原创 项目学习末篇+git使用感悟

从项目提出开始到现在,已经一个月多一点了,真正开始写是从上周六中午开始的,因为有模板的缘故,所以写的可能快了一点。

2023-11-26 17:04:00 44 1

原创 项目学习初篇

会议结束后学长让我们下去后先收集一下与项目有关的信息,当天晚上,我就向几个高中关系很好的朋友询问,但是得到的结果仍然与需求不太符合,我又看了学长发的一个学校的这个系统,发现人家的这个系统已经做的很完善了。最后的感悟就是当需求和原型图明确后,在后端写完所有接口之前,前端的工作就是将原型图实现即可,其余的后端没结束的时候前端不能说一点也不能写,只是非常困难,后端一旦开始写,就要关掉服务器,这就导致了前端想要写的话只能按照自己的思维空写,没有办法测试真实效果,对于现在的我来说,这样还是非常困难的。

2023-11-19 15:37:29 31

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除