自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一文搞懂JWT技术实现跨域认证原理

通过上述步骤,你可以实现一个基于JWT的跨域认证系统。前端发送登录请求并获取JWT,存储在中,之后在每个受保护的请求中都包含该JWT。后端验证JWT并根据验证结果返回相应的数据。这种方法不仅安全,还能有效地处理跨域认证问题。

2024-06-28 17:16:59 572

原创 对象引用和对象赋值的区别

第一段代码修改了数组中的对象,因为obj是对该对象的引用。第二段代码没有修改数组中的对象,因为obj被赋值为一个新的对象,从而失去了对原对象的引用。所以,输出不同是因为对象引用和对象赋值的区别导致的。

2024-06-21 17:42:10 388

原创 记录一次大厂面试题

【代码】记录一次大厂面试题。

2024-03-12 17:58:29 497

原创 for...in 和for...of区别用法

用于遍历对象,返回对象属性的键名,如果是遍历数组返回的是数组的索引,且索引类型为string。)的集合,但是不能遍历对象,因为没有迭代器对象,但如果想遍历对象的属性,你可以用。for...of遍历数组时和forEach功能一样。遍历数组元素的值,不包含数组原型和索引。循环(这也是它的本职工作)或用内建的。适用遍历数/数组对象/字符串/

2024-03-12 17:30:13 361

原创 彻底搞懂回流和重绘

回流和重绘浏览器渲染页面步骤:处理HTML标记并构建DOM树处理css标记并构建CSSOM树将DOM和CSSOM合并成一个渲染树根据渲染树来布局以计算每个节点的几何信息将各个节点绘制到屏幕上回流:当Render树中部分或全部元素的尺寸、布局、隐藏等改变,需要重新计算render树当页面布局和几何属性改变时发生回流,下面一些情况会重绘:当元素的样式(color/background-color/visibility等)发生变化时触发重绘回流必将引起重绘,重绘不一定会引起回流下面一些

2024-03-12 09:38:46 488 1

原创 冒泡排序算法

我们想一下,当第一次,找到最大数,放到最后,那么下一次,遍历的时候,是不是就不能把最后一个数算上了呢?因为他就是最大的了,不会出现,前一个数比后一个数大,要交换位置的情况,所以内层 for 循环的次数,改成。实现步骤:两层循环,外层循环表示要比较多少次,内层循环,比较判断两个数,交换位置。试想一下,如果原始数组是。

2024-02-01 14:55:58 387 1

原创 服务器反向代理

反向代理是一种服务器架构,其中代理服务器接收客户端的请求,然后将这些请求转发给内部服务器,最终将内部服务器的响应返回给客户端。与正向代理不同,反向代理隐藏了后端服务器的实际细节,使得客户端只能看到代理服务器。总的来说,反向代理是一种通过代理服务器转发请求到后端服务器的服务器架构,它提供了多种功能,包括隐藏真实服务器信息、负载均衡、SSL 终端、缓存静态内容等,从而提高系统的安全性、可用性和性能。经常听到nginx反向代理,那它究竟是什么,而在前端,nginx反向代理通常被用来解决跨域问题。

2024-01-19 11:19:05 407 1

原创 服务器的理解

总体而言,物理服务器是硬件实体,而 Web 服务器是运行在物理服务器上的软件服务。在搭建 Web 服务时,通常会在物理服务器或虚拟服务器上安装和配置 Web 服务器软件,以提供对外的 HTTP 服务。背景:常说的服务器,其实是有区分的,分为物理服务器和web服务器,而我们说的Nginx、Apache、Tomcat都是web服务器,那么他们之间有什么联系呢?

2024-01-19 11:00:03 323 1

原创 web服务器

Web 服务器能够直接提供静态文件,如 HTML、CSS、JavaScript、图像等,以便客户端浏览器可以请求并获取这些文件。这减轻了后端应用程序的负担,提高了性能。Web 服务器是构建和提供 Web 应用程序的关键组成部分,它在 Web 开发和互联网服务中发挥着重要的作用。Web 服务器实施了一系列的安全性措施,包括身份验证、访问控制、加密通信等,以确保 Web 应用程序的安全性。总体来说,Web 服务器提供了一个稳定、安全、高性能的平台,使得 Web 应用程序能够有效地运行和提供服务。

2024-01-18 18:27:30 406 1

原创 vue项目默认端口号

本地启动vue项目时,明明在vue.config.js中配置的端口号为默认的80,但启动后端口号总是从1024开始,如果被占用则会在占用的端口号上+1,一直没想通,最近才知道原来mac os的默认端口号windows不同。在mac os中,非root用户是无法使用小于1024的常用端口的。如果小于1024端口,会从1024开始。vue项目如果要自定义端口号,有几种方式。

2024-01-18 11:39:16 1986 1

原创 npm run serve命令的一点思考

总的来说,通过本地开发服务器监听指定的端口,实现了在本地预览和开发 Vue.js 项目的功能。在生产环境中,部署到服务器时,你可以使用类似 Nginx、Apache 等服务器,通过监听端口来提供服务,实现 Vue.js 项目的正常访问。Vue.js 项目通过端口访问的实现原理主要是通过启动一个本地开发服务器来监听指定的端口,并在该端口上提供服务。通过监听的端口,开发服务器会提供一个本地服务地址,你可以在浏览器中访问这个地址来预览你的 Vue.js 项目。在开发环境中,Vue CLI 通常使用类似。

2024-01-18 10:54:11 478 1

原创 前后端身份校验机制

背景:在用户登录中通常会用到前后端身份校验这个功能,常用的有session认证机制和JWT(token)认证机制。

2024-01-12 13:41:27 471 1

原创 cookie巩固

大部分的登录需求,用的基本是cookie,一般的逻辑是前端通过用户名、密码、验证码调取后端登录接口,后端验证前端身份信息成功后会返回一个token给前端,前端将这个token存储到本地cookie里。再次请求需要验证身份的接口时从本地再拿到cookie并配置再请求头里发送给服务端(通常是放在请求头的Authorization属性上)。利用js-cookie插件实现cookie读写。

2024-01-11 16:26:56 280

原创 npm install 后缀说明

devDependencies 节点下的模块是我们在开发时需要用的,比如项目中使用的 gulp ,压缩css、js的模块。这些模块在我们的项目部署后是不需要的,所以我们可以使用 -save-dev 的形式安装。像 axios 这些模块是项目运行必备的,应该安装在 dependencies 节点下,所以我们应该使用 -save 的形式安装。安装到项目目录下,并在package.json文件的devDependencies中写入依赖,简写为-D。

2024-01-10 14:16:26 408

原创 关于新项目技术选型的一些思考

最近有个需求是做个移动端的h5页面,只有两个页面一个登录页一个首页,一直在纠结是用vue2还是用vue3,最后决定跳出舒适圈,用vue3+vant3+ts实现,目的是想挑战一下自己,另一方面也是觉得这是一个趋势,如果这个项目用的新技术,那对自己来说也多了一个核心竞争力,虽然只有两个页面,用这么多新的东西有点不值当,但从长远角度去考虑还是很有必要的。

2024-01-09 17:13:41 304

原创 数组合并和对象合并方法

项目中有一个下拉框,选中时会带出一个参数数组,渲染成列表,某个节点中也包含该选项的一些参数数据,当下拉框中的参数在后台发生了变化时,比如增加一个参数或者减少一个参数,那对应这个节点的属性也要保持和当前下拉框所属参数一致,只是值为空。

2023-12-27 12:02:26 419 1

原创 前端文件上传原理

文件上传

2023-12-20 11:51:29 955 1

原创 彻底搞懂前端后端上传文件原理

背景:工作这么多年,一直觉得上传这块似懂非懂,每次开发时都是照着原有的记忆写的,但一直都觉得没搞懂原理,今天就彻底弄清楚到底是如何实现的。

2023-12-19 10:17:16 1450 1

原创 TypeScript学习笔记

子类继承父类,相当于子类拷贝了父类中的属性和方法,同时子类也可以有自己的方法和属性,如果子类中有和父类同样的方法,那么子类的方法会覆盖父类的方法,也就是重写了父类的方法。定义的类,不可以被实例化,这叫抽象类,通常用来定义被子类继承的父类,抽象类里也可以定义抽象方法,定义了抽象方法后,子类就必须重写该抽象方法。关键字则表明是静态的属性和方法,也就是类自身的属性和方法,是不可以被修改的,可以直接通过类访问,不需要通过实例去获取,没有。修饰的属性或者方法表示是类的私有的,不能在类外部访问它,只能在类内部使用。

2023-12-15 16:39:33 351 1

原创 js判断两个数组是否相等的方法

不能使用等号比较,因为数组是对象,对象是引用类型的,引用类型就是地址,虽然元素都一样但是地址不一样,就比如两栋外观一样的房子,地址是不一样的。

2023-12-13 15:25:44 1026 1

原创 尾调用和尾递归

尾调用优化就是指只保留内层函数的调用记录(由于尾调用是函数最后一步,所以不需要保留外层函数的调用帧了,因为调用位置和内部变量等度不会再用到了)。如果所有函数都是尾调用,那么完全可以做到每次执行时,调用记录只有一项,这将大大节省内存。调用栈:函数的调用会在内存中形成一个调用记录,存储函数的调用位置和内部变量等信息,如果函数A内部调用函数B,那么会在A的调用记录上方还会形成B的调用记录,以此类推形成了调用栈。如果尾调用自身就是尾递归,尾递归由于只有一个调用帧,因此不会出现“栈溢出”错误。

2023-12-12 23:44:22 382

原创 js中string和String区别

背景:在学习typescript时,定义一个接口,其中某个属性类型为string,写成了String,发现结果是一样的。String是包装类,是基本类型string的原型,用typeof检测二者返回值不一样。根据官方 TypeScript 的。

2023-12-06 18:24:15 493 1

原创 element-ui 栅格布局小坑

上下两行,上面一行的el-row没有设置gutter,下面一行因为有两列,所以设置了gutter,结果下面一行和上面一行宽度不一致了。解决方案:在设置了gutter的el-row上设置一个padding-right。

2023-12-06 16:22:23 484 1

原创 vueRoute基础

vueRoute学习笔记

2023-01-09 17:37:13 116 2

空空如也

空空如也

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

TA关注的人

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