- 博客(211)
- 收藏
- 关注
原创 vue3+ts SSE封装
SSE(Server-Sent Events)是一种基于协议,用于实现服务器主动向客户端推送数据的技术。它在客户端与服务器之间建立一条持久化连接,并通过这条连接实现服务器向客户端的实时数据推送,而客户端不能发送数据给服务端。SSE是一种允许服务器向客户端单向发送数据的技术。和 websocket 不同 ,websocket 是客户端和服务器可以双向发送数据,sse 技术常用与 消息推送,websocket 常用与 聊天。
2025-03-25 13:04:01
274
原创 二叉树的最近公共祖先
首先 题目指出,所给的 p,q节点是必然包含在 root 二叉树中,所以不会存在说没有答案。当前节点的左子树和右子树的其中一个包含 p 和 q,也预存当前节点为最近公共祖先。当前节点的左子树和右子树分别包含了 p 和 q ,所以预存当前节点最近公共祖先。我们定义 一个 dfs 函数来遍历这个二叉树,那么对于当前这道题会有俩种情况。在递归时 如果 root 为 null 说明当前无解 返回。最后我们返回所需要的当前节点是否包含 p q 节点的真值。该题是适用于二叉树递归解决问题。
2025-01-10 11:57:10
222
原创 二叉树中的最大路径和
所以我们需要考虑到这三个情况,同时如果左子树和右子树都出现了负数,其实我们是要舍弃的,我们就需要 max(0,左子树 or 右子树 最大值)一条从树中任意节点出发,达到任意节点的序列,该路径至少包含一个节点,且不一定经过根节点。比如说上面这个节点,对于所有的某个非叶节点(如果是),这个节点所能构成的最大值有三种情况。了解以上之后,我们所需要求得是全局最大值。那么就有三种情况,在二叉树某个节点中。题中所说的路径指的是。
2024-12-19 21:53:23
240
原创 简单实现vue2响应式原理
我们定义一个变量,挂载在 window 这个对象的变量,就叫 window.__activeFun,因为定义在 window 上就可以在同一个页面任何地方都可以拿到,即使我们后面需要把这个 obeserve 独立封装起来使用,也不影响。vue2 在实现响应式时,是根据 object.defineProperty() 这个实现的,vue3 是通过 Proxy 对象实现,但是实现思路是差不多的,响应式其实就是让 函数和数据产生关联,在我们对数据进行修改的时候,可以执行相关的副作用函数来保证数据的响应式。
2024-11-21 23:37:00
893
原创 各种方法实现瀑布流
瀑布流又称瀑布流式布局,是比较流行的一种网站页面布局方式。即多行等宽元素排列,后面的元素依次添加到其后,等宽不等高,根据图片原比例缩放直至宽度达到我们的要求,依次按照规则放入指定位置。相信大家在日常生活中看到很多次这种不规则瀑布流,我最近在给别人写网站的时候也遇到了这个需求,觉得解决问题的过程还是挺有意思的,所以就写下这篇文章。比如网站网格布局 grid 布局解决了 flex 布局下多个元素最后一排会出现的问题。
2024-11-03 16:20:44
1927
原创 elementplus菜单组件的那些事
我这边的 getCurrentPath 这个函数里面 是因为 前面前缀是一样的,我只需要判断后面是否相等就行,之所以会这样写 是因为很多时候 我们左侧的路由 因为右边的内容页,再细分,但是呢,它是同属于一个大的路由的,它们会有一个公共的前缀部分,只需要保证公共前缀部分相等就行。element-plus 中很多样式都是设置了一个固定的值来设定css的一些参数,当我们需要修改这些的时候,我们发现使用 css 覆盖的效果微乎其微,其实我们可以自己修改这些值。很多都可以去检查里面找到,然后进行修改。
2024-07-24 16:58:52
852
原创 vue3角色路由封装
一定要是先使用了 pinia 再去使用相关store,userStore.setRoutes()的内容也很简单,调用 router 文件夹下面的 index.ts 中的 setRouter 方法,而且我们在 store 里面使用了 router 里面的函数,位置也必须要在 引入 router 下面使用这个 store。(有些系统的路由是由后端返回,有些的是由前端提前记录好,本篇讲述的是前端记录好,但是其实后端返回概念是一样的就是需要在返回的结果中获取路由信息而已)获取动态路由的操作会在登录成功之后。
2024-07-22 22:34:47
595
原创 搜索旋转排序数组
这个题虽然是说 ,给的是一个旋转过的数组,但是它还是是一个有序的数组,并且这个数组里面的数字都是唯一的,进行二分时,我们只需要判断,left 下标 和 right 下标所在的数组元素是否 是升序还是 降序(这个是旋转的那部分)根据不同的然后去把 left 和 right 往里面缩,最终找到答案。
2024-03-24 14:00:06
254
原创 数字范围按位与
然后这道题其实就是在找最长公共前缀(为啥不说后缀,观察可知,后缀那部分肯定全部 被 与成 0)公共前缀的部分就是这个最后的值,下面给出一个图片给大家理解。这个题目看起来很难,但是 按位与 的特点是 如果全是1 为 1 其余全为 0。
2024-03-24 13:56:05
180
原创 阶乘后的零
我们知道一个偶数和5相乘就会有一个后置0,带后置0的这个数字 无论再和 正整数相乘还是会被保留,所以其实这道题看的就是 含 5 的因子有多少个,不必考虑 2 这种偶数 ,因为 5 的因子始终是比 5 少的,所以常规遍历找到就好。
2024-03-24 13:48:16
253
原创 对链表进行插入排序
对链表进行插入排序,其实就是分俩种情况,第一个是在头部插入,需要更改头节点的指向,第二个就是在中间插入,我们遍历的时候只需要记得 当前位置的前一个 指针,然后给插入就好了,要记得的是,第一次插入要置空处理。这道题是一个很常规的题,插入排序我也已经很熟悉了。
2024-03-24 13:44:34
175
原创 乘积最大子数组
我们需要用到动态规范来做这道题,因为题目要求是说连续的,我们分成俩个数组,一个dpmax记录这个位置的连续乘积最大子数组的值,一个dpmin记录经过这个位置最小子数组的值(为了防止后面有一个负数来使得它变大),所以当前 最大值就有三种情况,nums[i] dpmax[i-1]*nums[i] dpmin[i-1]*nums[i] 在这三个里面去寻找最大的,同时需要更新 dpmax 和 dpmin 数组。
2024-03-24 13:39:40
169
原创 轮转数组题解
这个题目很简单,因为说到了 k 是一个非负数,那么我们就可以 求模的时候就不用考虑的下标还会越界了,往右边 移动 其实就是当前下标 i+k ,为了保证它能头尾相接并且不越界 ,那么就是 需要求模 numsSize 这个。当时脑子一热写反了,然后各种报错。
2024-03-18 22:23:46
206
原创 2024/2/7总结
模块化是指解决一个复杂问题时,自顶向下逐层把系统划分成若干模块的过程,对于整个系统来说,模块时可组合,分解和更换的单元Node.js 中模模块的分类有3大类,分别是内置模块是由Node.js官方提供的,例如 fs,path,http自定义模块用户创建的每个js文件,都是自定义模块第三方模块由第三方开发出来的模块,使用前需要下载。
2024-02-07 23:58:35
1150
原创 2024/2/5总结
概念:纯数字字段指的是那些不用于界面渲染的 data 字段。好处:提升界面的更新的性能。自定义组件的行为依赖于页面状态的变化,此时就需要用到组件所在页面的生命周期在自定义组件中,组件所在页面的生命周期函数有如下 3 个。
2024-02-05 23:32:48
1533
原创 2024/2/4学习记录
是指一个对象从 创建 -> 运行 -> 销毁 的整个阶段,强调的是一个时间段。wxs 代码还可以编写在 以 .wxs 为后缀名的文件内,就像 JavaScript 代码可以编写在 .js 为后缀名的文件中一样。在 wxml 中引入 外联的 wxs 脚本时,必须为 <wxs> 标签添加 module 和 src 属性module 用来指定模块的名称src用来指定要引入的脚本的路径,且必须是相对路径wxs 具有隔离性 不能调用 js 中定义的函数 wxs 不能调用小程序提供的 API。
2024-02-04 23:44:35
930
原创 2024/2/2学习记录
是小程序框架设计的一套标签语言,用来构建小程序页面的结构,有点类似于 网页开发的 html是一套样式语言,用于描述wxml 的组件样式,类似于 css指的是 程序运行所必须的依赖环境小程序宿主环境包含的内容有通信模型运行机制组件API。
2024-02-02 22:55:49
688
原创 2024/2/1学习记录
为柱条添加背景色:若想设置折线图的点的样式,设置指定填充颜色就好了,设置线的样式设置lineStyle就好了。在折线图中倘若要设置空数据,用'-'表示即可,这对于其他系列的数据也是 适用的。若想设置 堆叠 折线图,可以在series 中多设置几条数据,倘若还是看不出来,可以设置areaStyle的样式来突出显示。若想设置折线图的折线,不那么生硬,可以在里面加一个的属性,。倘若,要设置阶梯线图,可以通过设置 step 属性来表示 阶梯 梯线图的连接类型,
2024-02-01 23:47:45
907
原创 2023/11/26总结
在对数据库进行一系列操作的时候,遇到一个问题,在插入数据的时候,我数据库对应的是自增id,但是插入后想获取到这个id去使用。我以为是不可以马上获取的,然后看到。
2023-11-27 00:29:10
215
原创 2023/11/12总结
这个错误的原因是在我们使用 mysql 5.7 以后的版本默认情况下 only_full_group_by是打开的,这个打开之后就会对sql语法的检查很严格,使用group by的时候 如果没有把其他列 也一并 列出来,是会报错的,好像有一个配置文件的写法 ,但是我搜了半天 在mybatisplus的配置文件里面还是没有用到。所以 我后面的解决方法的是所有选出来的列都进行了group by语句。
2023-11-13 00:11:57
653
原创 C语言字符串详解
C 语言没有单独的字符串类型,字符串被当作字符数组,即char类型的数组双引号是代表是一个字符串常量,单引号代表是一个字符常量。编译器会给数组分配一段连续内存,所有字符储存在相邻的内存单元之中。在字符串结尾,C 语言会自动添加一个全是二进制0的字节,写作\0'字符,表示字符串结束。字符\0'不同于字符0前者的 ASCII 码是0(二进制形式00000000),后者的 ASCII 码是48(二进制形式00110000。编译器会自动给大小 ,这个大小是刚好合适的是10.
2023-10-31 17:06:54
977
2
原创 2023/10/29总结
写代码的时候遇到了一个错误大概是这样的去查了资料 说是我的 签名太短了 ,设置长点就可以通过了JWT出现了点问题我在后端 的 response 的 header 设置了 token 但是前端就是没有获取到 ,然后 我又去查了资料然后这样写就获取到了,代表后端把这个暴露出来给你给前端展示写代码的时候发现还是跨域问题 然后在开发工具里面看 发现 每次发送请求都是 发送俩次的当我在请求头里面加入上面说的 token 和 long_token 时,这个请求就变成了 一个。
2023-10-30 00:25:02
876
原创 2023/10/22总结
把ER图和项目功能点也给做完了(可能后期还需要修改 ,因为问题会在实践的时候出现)项目上 登录注册忘记密码已经全部完善——连接数据库,发送验证码等。接下来的任务是争取早日完成这个项目。
2023-10-23 00:15:35
238
原创 2023/10/15总结
当一个请求 url 的协议 、域名 、端口 三者之间任意一个与当前 url 不同 即为 跨域要解决 跨域 问题(我写的是vue3+springboot)
2023-10-16 00:01:42
327
原创 2023/10/8总结
电商 网站 的首页 通常会比较长 用户 不一定能访问到 页面靠下面的图片 ,这类图片可以通过 懒加载 优化手段可以做到 只有 进入视口区域才发送图片请求 指令写法:使用带有参数的路由需要注意的是 相同的组件实例 将被 重复 使用 ,因为俩个路由都渲染俩个组件 复用 显得 更加高效 但是这也意味着 组件的 生命周期 钩子不会被调用以 当前路由 完整路径 为 key 的值 给 router-view 组件绑定key 最常见 的 用例 是与 v-for 结合 但是也可以用于 替换 一个元素 / 组件 而
2023-10-08 23:23:21
141
原创 2023/9/24总结
redis 是 键值对的数据库 key 一般是 string 类型 但是 value 的类型 多种多样String 类型set 添加或者修改一个已经存在的String类型的键值对get 获取到对应 key 的 valuemset 批量添加多个 String 类型的 键值对mget 获取到所有 key 的 valueincr 让一个整型的 key 自增 1incrby 让一个整型的 key 自增 并且指定 步长。
2023-09-25 10:19:10
114
原创 2023/9/17总结
在有<script setup> 之前 如果需要定义props emit 可以很容易的添加一个与setup 平级的属性 但是用了 <script setup> 后 就不能这样做了 setup 属性也就没有了,就不能添加 与其平级 的属性。
2023-09-18 20:49:16
348
原创 2023/9/9总结
定义:CommonJs模块是为Node.js 打包JavaScript 代码的原始方式 Node.js 还支持浏览器和其他JavaScript 运行时使用的ECMAScript 模块标准 在Node.js 中,每个文件都被视为应该单独的模块。是Node.js 标准的软件包管理器 它的起初是作为 下载和管理 Node.js 包依赖的方式,现在语句成为前端JavaScript 中使用的工具。根组件 整个应用最上层的组件 包裹所有普通小组件,一个根组件App.vue 包含3个部分。
2023-09-10 00:16:15
235
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人