自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 简单又强大的Zustand,为啥不自己手写一个呢

谈起react的状态管理库,大家肯定会想到redux,zustand,zustand原理,zustand原理,zustand原理,手写zustand,手写zustand,手写zustand。

2025-02-23 20:11:08 473

原创 500字理透react的hook闭包问题

在react中hook的闭包问题很容易在不经意间犯错,项目写大了之后更是难以找到到底是哪里出了问题。

2025-02-23 11:18:21 640

原创 10天进阶webpack---(2)webpack模块兼容性处理

ESM除了我们熟知的静态导入,动态导入(返回一个Prmise),还有一个比较奇特的特性,符号绑定,也就是说无论你导出的是一个对象还是一个基础类型的变量他们都是一块内存空间,并且导出的类型是常量。所以我们平时在node环境上书写的代码其实是在运行在一个函数中的,我们使用的。如果导出和导入使用的是同一种模块化标准,打包后的效果就是标准的的模块化。函数其实也是函数的参数了,我可以在node环境中打印一下。不同的模块化标准,webpack按照如下的方式处理。必然是动态导入的,我们可在任何位置使用。

2024-11-05 10:01:48 457

原创 10天进阶webpack---(1)为什么要有webpack

既然开发时态和运行时态面临的局面有巨大的差异,因此,我们需要有一个工具,这个工具能够让开发者专心的在开发时态写代码,然后利用这个工具将开发时态编写的代码转换为运行时态需要的东西。webpack就是其中的一种。看到了很多webpack和vite的面试题,但是本人一开始看的时候看的不是很懂,别准备写一个连载博客,讲解每一个知识点和附带的webpack的面试题。

2024-11-03 23:35:40 378

原创 let、var、const 的区别 --js面试题

ES5中的作用域有:全局作用域、函数作用域,ES6中新增了块级作用域。块作用域由 { } 包括,if语句和for语句里面的 { } 也属于块作用域。

2024-07-23 18:54:06 599

原创 响应式布局之栅格布局(比flex更好的解决卡片响应式布局)

我们要解决这样一个问题(实现卡片的响应式布局)如果你没有时间的话可以直接看一级标题和。对这些卡片进行响应式布局,很自然的想到使用flex布局,并使用flex-wrap属性进行换行。但是这样的布局缺陷是很明显的那就是当右边放不下一个盒子的时候会出现一个盒子宽度的空白如果你想通过改变主轴的对其方式,也是有不行的,我们这里使用space-between举例这样一看还挺好,但是当最后一行的盛放的盒子数量达不到在当前宽度下能盛放的最大盒子数量时又会出现这样的问题最有一行无法和上面的行对其。

2024-07-20 15:34:05 481

原创 vue模拟下载适用于所有文件

直接上代码复制过去即可。

2024-06-09 11:01:32 228

原创 iframe更改src后页面未刷新问题解决

当点击不同的链接时,通过更改ifram的src属性预览不同的网页。提供解决办法,更改src之后手动reload一下。但是不知道为什么更改src后iframe不刷新。

2024-05-24 09:14:30 531

原创 安装nvm切换多个nodejs

今天实习,用到了公司的老项目vue2的,需要更换nodejs版本我想直接安装一个16版本的,然后自己在webstrom中配置一下exe文件就可以了。然而第一步就不行,在安装另一版本中显示然后博主在这里介绍一下怎么使用nvm可以快速切换nodejs往下划就可以看到对应的exe文件下载链接。

2024-05-07 16:01:20 513 1

原创 element-ui 在Popover弹框中使用Select选择器,Vue3

popover组件的的关闭是当点击组件外的元素时会关闭,select虽然是写在组件内的,但是select有一个默认属性。会把它默认插到 body 元素,我们把它设置成false就可以了。当选择完select的时候,popover也会退出。

2024-04-07 16:19:55 1162 2

原创 为什么sql优化往往重点考虑查,而不是增删改

综上所述,虽然增删改操作也会影响数据库性能,但由于查询操作的频率高、复杂性大、对用户体验影响大、资源消耗大以及可优化空间大,因此在SQL优化中通常会优先考虑查询操作。查询操作的复杂性:查询操作通常涉及多个表的连接、过滤条件、排序等操作,这使得查询操作相对于增删改操作更加复杂。查询操作对用户体验的影响大:查询操作直接影响用户对数据的获取和展示,查询速度慢会导致用户体验下降。查询操作的可优化空间大:针对查询操作,可以通过索引优化、查询重写、分区表等方式进行优化,提高查询效率。而增删改操作的优化空间相对较小。

2024-03-24 22:48:56 230

原创 如何注册Devin-首个全自主AI软件工程师

最近devin大火,具体的就不说了,大家应该都知道,这里说一下devin的注册方式,目前devin的内测已经开启。注册方式很简单只需要点击注册网址,然后填写各种信息即可,公司什么的我都填写的我是学生,很快就通过内测了

2024-03-14 08:45:01 7534 14

原创 flex布局(后端工程师快上手写前端)

基本上只用column属性值,这个就很简单了,默认是按照水平放置盒子,现在改为垂直放置盒子。2.块元素如果不设置宽度默认会等于父标签的宽度(并不是继承),行内元素不会。,例如:块元素独占一行,行内元素可以一行显示多个。子元素不会继承父元素的清除浮动样式,例如。子元素不会继承父元素的层叠顺序样式,例如。子元素不会继承父元素的文本溢出样式,例如。子元素不会继承父元素的盒模型样式,例如。子元素不会继承父元素的定位属性,例如。子元素不会继承父元素的浮动属性,例如。子元素不会继承父元素的显示属性,例如。

2024-03-07 16:43:30 1157

原创 蓝桥OJ182-小朋友崇拜圈

这道题一定要明白一点就是:每个点的出度为1,一点就只能形成一个环。也就是说从起点出发要么走回起点,要么就走进别人的环里无限循环,我们利用这一点就可以判断从一个起点出发是否能形成环,或者不能形成环走进别人的环里,如果从起点开始走,最终走回起点那么就是自己形成一个环,如果走到了一个已经走过的点那么就是走进别的环里了,无法成环。

2024-02-01 09:18:09 478

原创 C++快速幂详解简单易懂

如果我们计算a的k次幂,循环k次每次 × a,时间复杂度O(k),现在我们要把其优化为log(k)的时间复杂度。另外a的k次幂极有可能报long long,比如2的64次幂就已经爆long long 了,所以在k很小的时候就会爆掉long long,所以题目肯定会取余,但是2的63次幂成2在取余,在相乘的过程中就已经爆掉long long了,取余也是不正确的。所以要A*B%mod == A % mod * B % mod就可以了。注意:A / B % mod!

2024-01-27 16:51:39 770

原创 蓝桥--鸡哥的购物挑战OJ(4169)

分类讨论,只要醉倒不重不漏得分类不出意外就能AC了。直接枚举所有得偶数区间,找最大值,n2超时。图中的选择方式很简单了,不做解释了。

2024-01-24 20:23:27 510 1

原创 go语言iota详解

其实iota很简单,在定义多个常量的时候内部有一个计数器从0开始计数,为什么能实现更多麻烦得操作,比如说表示http状态码,跳步,位操作,这是利用了在定义多个常量得时候如果止写变量名,那么就和上一项保持一致。

2024-01-24 16:24:28 769

原创 蓝桥备战--分糖果OJ2928 贪心 分类讨论

我们要做到不重不漏的分类。首先排序(经验之谈)

2024-01-21 11:14:47 522

原创 蓝桥备战-区间嵌套--前缀和做法

区间按照左端点排序,如果左端点相等,则按照右端点逆序排序(右端点越大越好),从前往后一次枚举每个区间,如果一个区间后面存在一个区间的右端点小于等于我这个区间的右端点那么即存在。所以我们只需要看后面是否存在一个最小的右端点是否小于等于该区间的右端点即可。创建一个后缀和维护区间右端点最小值。

2024-01-21 09:19:23 531

原创 蓝桥备战--纪念品分组OJ532,贪心证明

这里证明为什么填上最大值之后不用去填能填的最大的,填最的小的就行。即:填上最大值之后在填能填上去的最大的。贪心思路很简单,每次尽量填满w即可。

2024-01-20 21:21:51 448

原创 蓝桥备战:四元组问题(蓝桥OJ 3416)

这道题不咋好想出来(哎哎哎~~~~~~~感觉这次省赛寄了)

2024-01-19 19:18:00 1104 5

原创 数据结构实训(大作业)c++模拟北斗卫星导航系统简单的迪杰斯特拉算法

【代码】数据结构实训(大作业)c++模拟北斗卫星导航系统简单的迪杰斯特拉算法。

2024-01-08 21:45:08 607

原创 QT第一个程序命名空间详解,解释ui_widget的和xxx.cpp的联系

首先需要回顾一下cpp命名空间知识;

2024-01-06 15:19:06 1425

原创 QT之QFlags详解

QFlags是一个模板类,其中Enum是枚举类型,QFlags用于定义枚举值的或运算组合,在Qt中经常用到 QFlags 类。alignment属性值是Qt:Alignment类型Qt帮助文档中显示的Qt::Alignment信息有如下表示enum Qt::AlignmentFlag //枚举类型flags Qt::Alignment //标志类型第一行代码翻译一下就是Qt命名空间下的有一个变量名字叫做AlignmentFlag他是枚举类型。

2023-12-06 22:34:22 1600 2

原创 Qt定义属性类信息报错‘Qstring‘ was not declared in this scope; did you mean ‘xxx‘?并且还有有一堆报错,问题还出现在moc文件

编译器不会检查定义属性的时的语法。所以大家千万不要写错了,写错了有你找的。这一下子给我整蒙了,在moc文件怎么办。最终发现原来是在定义属性的时候Q。

2023-12-06 18:08:09 1140 1

原创 右值引用,完美转发,NRVO 和RVO优化(简单易懂详细)

Return Value Optimization(RVO)和 Named Return Value Optimization(NRVO)是两种优化技术,它们都涉及到函数返回值的优化,可以避免不必要的拷贝构造函数的调用,提高程序性能。左值引用,使用 数据类型 &, 只能绑定左值。右值引用,使用 数据类型 &&,只能绑定右值。已命名的右值引用是左值。常量左值,使用 const 数据类型 &, 既可以绑定左值又可以绑定右值。移动构造和移动赋值

2023-12-05 13:50:17 427 1

原创 蓝桥杯15届第二次模拟赛C/C++详解

例如,对 123456789 进行一次转换变为 1*2*3*4*5*6*7*8*9=362880,再进行一次转换变为 3*6*2*8*8=2304,再进行一次转换变为 2*3*4=24,再进行一次转换变为 8。对于50%的评测用例,1

2023-12-04 15:12:09 568 1

原创 蓝桥杯15届第二次模拟C++

很简单一个bfs就可以。

2023-12-03 10:53:39 293 3

原创 c++文件操作,超详细

(写)(读)(读写)

2023-11-27 17:04:41 714

原创 滑雪(蓝桥模拟赛的题)

输出一个整数,表示可完成的最长滑雪长度。0≤矩阵中整数≤10000。

2023-11-24 16:12:03 63 1

原创 函数指针和回调函数对函数取地址和直接使用函数名的差距

函数的二进制代码存放在内存四区中的代码区,函数的地址是它在内存中的起始地址。如果把函数的地址作为参数传递给函数,就可以在函数中灵活的调用其它函数。函数指针和回调函数对函数取地址和直接使用函数名的差距

2023-11-23 18:13:54 179

原创 分解质因数答疑 为什么只需要枚举到根号N 为什么n % i == 0就是质数

268。

2023-11-22 20:14:53 172 1

原创 bellman_ford算法与dijkstra为什么dijkstra算法不能计算带有负权边图

思路:从源点开始(初始化为距离为0的那个点)也是自己确定的最小距离点循环n(顶点数)次每一次确定一个距离最小值点,再用最小值点更新孩子节点,循环n次确定n个最小值点通过点来更新其孩子(边只走一次)

2023-11-22 18:22:38 138 1

原创 C++与C强转异同

C++也是支持C风格的强制类型转换,但是C风格的强制类型转换可能会带来一些隐患,出现一些难以察觉的问题,所以C++又推出了四种新的强制类型转换来替代C风格的强制类型转换,降低使用风险。C++风格的强制类型转换能更清晰的表明它们要干什么,程序员只要看一眼这样的代码,立即能知道强制转换的目的,并且,在多态场景也只能使用C++风格的强制类型转换。static_cast不能用于转换不同类型的指针(引用)(不考虑有继承关系的情况),reinterpret_cast可以。,用于支持C++风格的强制类型转换。

2023-11-22 18:15:00 75 1

原创 elementui-upload组件自定义样式上传(upload中常用的属性,但是网络上却找不到教程)(解决bug删除之后再次上传会上传删除的图片)专注后端工程师的前端速成

看一下我的思路,那就是file-list中保存了我上次(甚至上上次上传的文件)这些保存是完全没有必要的,我们只需要我本次上传的文件,所以我们直接在本次上传完之后去清空file-list = []即可。还记的file-list的定义吗---上传的文件列表所以file-list会有1 2 3 4这个几个图片,并且上传的时候会把file-list的东西都上传一遍。这个时候你点击删除按钮来删除上传的图片,展示图片确实是删除了某一个img但是当你再次点击的时候会把你以前上传的图片都重新上传一遍;这时候bug就来了。

2023-09-28 08:41:02 2357

原创 npm wepack-cli --save-dev nodejs -4048 operation not permitted

修改完成之后执行npm webpack-cli --save-dev如果还是出现-4048的错误,重启电脑之后即可成功。方法一在该目录管理员打开终端运行该命令即可。修改nodejs的权限找到nodejs的目录。

2023-09-12 14:30:17 266

原创 使用swagger和knife4j生成的接口文档在浏览器中输入地址后报404错误

这里有一个坑点就是我们需要访问的端口不是前端的而是后端自己的也就是默认的8080。8010是nginx的端口号之后出现404错误。之后再浏览器搜索框中输入。首先保证代码没有问题。

2023-09-05 18:42:02 1839 7

原创 mybatis的缓存内容

另外,需要注意的是,如果数据库中的数据发生了变化,则缓存中的数据也需要更新,MyBatis提供了相应的缓存策略来解决这个问题。一级缓存是MyBatis中的默认缓存机制,也称为本地缓存。它是指SqlSession级别的缓存,即同一个SqlSession中多次执行相同的查询语句,第一次执行时会将查询结果缓存下来,当第二次执行相同的查询语句时,直接从缓存中取出数据,而不会再次去数据库中查询。利用一级缓存使用相同的sqlSession执行相同的sql的语句第二的sql语句应该是不执行的直接从缓存里面取。

2023-08-12 16:24:48 90 1

原创 Mysql报Cause: java.sql.SQLException: Incorrect string value: ‘\xE5\xA4\x96‘...for column username

解决mysql添加中文内容导致的编码问题

2023-08-03 14:17:07 299

原创 KMP算next数组(2023 _ 7 _ 23 )笔记

其实就是先判断 l 位置和 k 位置的是否相等如果相等那么后一个位置的next的值自然 + 1,当回溯到不能在回溯的时候也就是k = 0的时候此时next[i + 1] = 1;//计算next数组就是模板串自己与自己进行匹配操作得出来的。为什么回溯的值是最大相等的前后缀数目。

2023-07-23 17:27:59 116 1

空空如也

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

TA关注的人

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