- 博客(236)
- 收藏
- 关注
原创 mysql 字符串类型
固定长度的字符串类型。定义时需要指定长度,如 CHAR(10) ,如果存储的字符串长度不足指定长度,会在右侧用空格补齐。适合存储长度固定且已知的字符串,如邮编、身份证号码的部分字段等。
2024-07-21 09:23:54
120
原创 vue 中 ui 组件二次封装后 ref 怎么穿透到子组件里
情景:element-ui 二次封装了 el-table 组件,使用封装组件时,想要调用 el-table 组件内置的一些方法。只在封装组件上定义 ref 是拿不到 el-table 内置方法的。解决方法如下。
2024-07-20 00:29:38
256
原创 mysql 整数类型
例如,如果您要存储用户的年龄,通常使用 TINYINT 或 SMALLINT 就足够了。但如果是存储商品的销售数量,可能会使用 INT 甚至 BIGINT,特别是对于销售量巨大的情况。在选择整数类型时,需要根据预期存储的数据范围和实际业务需求来决定,以节省存储空间并提数据库的性能。
2024-07-19 00:05:37
132
原创 hooks 是什么
Hooks 的含义可以理解为:将某个目标结果“钩”到某个可能会变化的数据源或者事件源上,当被钩到的数据或事件发生变化时,产生这个目标结果的代码会重新执行,以产生更新后的结果。它的主要目的是为函数组件提供类似于类组件的功能,如状态管理、生命周期钩子等,同时解决了类组件在开发过程中存在的一些问题,使组件的开发更加简洁、灵活和可复用。用于为函数组件引入状态,它接受状态的初始值作为参数,并返回一个数组,数组的第一个成员是指向状态当前值的变量,第二个成员是用于更新状态的函数。
2024-07-19 00:04:14
208
原创 怎么查看占用端口的 PID
要查看占用端口的进程 ID(PID),可以使用以下命令:打开命令提示符:按下组合键,输入“cmd”并回车。查看所有端口和对应的 PID:输入命令并回车,该命令将列出所有端口的使用情况,其中最后一列数字即为 PID。查看特定端口占用和对应的 PID:例如,要查看 80 端口的占用情况,输入命令“”并回车,最后一位数字就是占用该端口的 PID。查看指定 PID 的进程:继续输入命令“t”(将“PID”替换为你要查看的具体进程 ID)并回车,即可看到对应的进程名称。
2024-07-18 00:02:25
340
原创 mysql 安装配置 next 按钮为什么置灰点击不了
如果发现端口被占用,可以使用 tasklist | findstr <占用端口的 PID>找到占用端口的程序,然后通过任务管理器结束该进程。确保 MySQL 已正确进行环境配置,可参考如下步骤进行配置(以安装在“C:\Program Files\MySQL\MySQL Server 8.0”为例):打开电脑的属性 - 高级系统设置 - 环境变量 - 系统变量 - 新建 - path - 新建,添加“C:\Program Files\MySQL\MySQL Server 8.0\bin”。
2024-07-17 00:09:54
308
原创 Redis 是什么
Redis(Remote Dictionary Server) 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库。
2024-07-16 00:33:15
210
原创 为什么请求接口会在后面接?_t=
浏览器或服务器可能会对相同的请求进行缓存,以提高性能。通过添加不断变化的时间戳,确保每次请求都被视为新的请求,从而获取最新的数据。对于后端服务器来说,时间戳可以用于跟踪和分析请求的时间分布,了解用户的访问模式和系统的负载情况。_t= 后面的时间戳参数有助于提高系统的性能、安全性和数据的准确性。在某些情况下,时间戳可以用于验证请求的唯一性,防止重复提交相同的请求。
2024-07-15 00:37:33
154
原创 微信小程序速通
,methods: {// 更新 myValue});},},});类似于 mixins 和 traits 的组件间代码复用机制组件的对外属性,是属性名到属性设置的映射表组件的内部数据,和 properties 一同用于组件的模板渲染组件生命周期声明对象组件所在页面的生命周期value: "",},},data: {},created: function () {}, // 在组件实例刚刚被创建时执行。
2024-07-15 00:34:46
2401
原创 前端 CSS 经典:em 和 rem 的区别
都是相对单位,可以使用 em 和 rem 来做网页适配。相对当前元素或最近的祖先元素的字体大小。相对于根元素 html 的字体大小。
2024-07-14 07:52:31
81
原创 element-ui 表格固定头和固定列表格错位
当 el-table 组件固定了表头和列时,列表数据触发滚动条,列表滚动到底,会有错位。因为固定列和固定表头产生的滚动条宽度不一致,导致有轻微误差。自定义滚动条高度,将滚动条高度设置小一点且一致。
2024-07-13 00:19:45
357
3
原创 前端 JS 经典:小数运算不精确
计算机对小数的存储是二进制的,有限位数的二进制做算法得到的是有限位数,无限位数的二进制做运算,得到的是无限位数。如下:0.5 和 0.25 转二进制是有限位数,0.3 和 0.2 转二进制是无限位数。转字符串,然后不同位置做算法。
2024-07-13 00:18:47
221
原创 前端 JS 经典:生成器
yield 关键字可以使生成器函数在执行过程中暂停。在遇到 yield 关键字之前,函数会正常执行,遇到时执行会暂停,函数的作用域状态会被保留下来,直到再次调用 next 方法恢复执行。生成器函数还支持 yield* 表达式,它用于委托(yield delegation),可以将一个生成器的执行委托给另一个生成器,或者用于实现递归操作等。是一种特殊的函数,它可以用来控制迭代器(iterator)的执行,能够暂停和恢复代码的执行。| 生成器函数的使用与普通函数类似,但是调用生成器函数会产生一个迭代器。
2024-07-12 00:14:35
244
原创 前端 JS 经典:迭代器
如果在最后一个值返回后再调用 next()方法,那么返回的对象中属性 done 的值为 true,属性 value 则包含迭代器最终返回的值(如果没有相关数据则返回 undefined)。可迭代对象具有 Symbol.iterator 属性,通过指定的函数可以返回一个作用于附属对象的迭代器。JavaScript 中有一些内置的可迭代对象,如数组、字符串、集合(Set)、映射(Map)等,它们都具有默认的迭代器。在 JavaScript 中,迭代器是一个对象,它定义了一个序列,并在终止时可能返回一个返回值。
2024-07-12 00:12:30
226
原创 前端 JS 经典:字符串比较
定义一个辅助函数 walk,这是一个生成器函数,返回一个迭代器对象。每一次迭代取出字符串的一位。定义一个 compare 比较函数,将两个字符串参数转换成迭代器对象。然后循环判断每一项大小。比较两个字符串大小,两个字符串都是用-连接的数字,比如 1-2-33-55。比较方式是从左到右,依次比较每个数字的大小,遇到相等的数字继续往后比较,遇到不同的数字直接得到结果。
2024-07-11 00:11:07
229
原创 docker 常用命令
Docker 是一个开源的应用容器引擎,它可以让开发者将应用及其依赖打包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,实现虚拟化。
2024-07-11 00:09:53
430
原创 Xshell 和宝塔有啥区别
它允许用户通过 SSH 协议安全地连接到远程服务器,并在终端中执行命令,进行服务器的管理和操作。它提供了图形化的界面,方便用户对服务器进行配置、部署网站、管理数据库、安装软件等多种操作,大大降低了服务器管理的难度。更适合有一定技术基础,习惯使用命令行进行服务器管理和操作的开发者、运维人员。适合初学者、小型网站管理员或者那些希望通过简单直观的方式管理服务器的用户。宝塔则通过直观的网页界面进行操作,对于不太熟悉服务器命令的用户较为友好。Xshell 基于命令行操作,需要用户熟悉服务器相关的命令和知识。
2024-07-10 00:15:00
284
原创 部署前端项目
打开 Nginx 的配置文件,通常位于 /etc/nginx/nginx.conf 或 /etc/nginx/sites-available/default。购买服务器,选择 Linux 服务器,操作系统选择 CentOS,安装 Nginx,配置服务器指向项目的静态文件目录。| GitHub 完成部署后,会在“Pages”部分显示部署成功的链接,您可以通过该链接访问您的静态网站。| 在“Settings”(选项)选项卡中,找到“Pages”(页面)部分。| 选择要部署的分支(通常是 main 分支)。
2024-07-10 00:13:55
356
原创 WebSocket 双向通信
WebSocket 是一种在前端开发中用于实现双向通信的网络技术。它与传统的 HTTP 请求-响应模式不同,允许客户端和服务器之间实时、双向的数据传输。
2024-07-09 01:29:38
518
原创 diff 算法原理及实现
Diff 算法是用于比较两个虚拟 DOM 树的差异,并以最小的操作代价将旧的 DOM 树更新为新的 DOM 树的一种算法。Diff 算法的高效实现对于提高前端应用的性能和用户体验至关重要,尤其是在频繁更新组件状态导致 DOM 频繁更新的情况下。
2024-07-09 01:28:37
205
原创 前端 JS 经典:虚拟列表原理及实现
虚拟列表是一种用于优化大量列表数据展示的技术,其主要原理是通过只渲染当前视口可见区域的列表项,来提高性能和减少内存占用。
2024-07-08 08:49:56
172
原创 为什么移动端设计稿都是 750
因为最初是用 iphone6/iphone6 plus 确立的这个标准,而他的分辨率是 375 _ 667,实际上它拥有两倍物理像素密度 750 _ 1334。所以设计师一般会用 750 这个宽度来设计界面。保证设计的精细度。为后续切图提供了遍历。
2024-07-07 00:07:17
197
原创 ES6 新特性有哪些
1. 拥有块级作用域,这意味着在 if 语句、for 循环、while 循环等代码块中声明的 let 变量,只在该代码块内有效。2. 不允许在同一作用域内重复声明同一个变量1. 也具有块级作用域。2. 声明时必须进行初始化赋值,且赋值后不能再重新赋值修改其值。3. 如果 const 声明的是一个对象或数组,虽然不能重新赋值整个对象或数组,但可以修改对象的属性值或数组的元素值。
2024-07-06 00:11:00
1865
原创 微信小程序常见页面跳转方式
保留当前页,跳转到不是 tabbar 的页面,会新增页面到页面栈。通过返回按钮或 wx.navigateBack()返回上一个页面。
2024-07-06 00:03:44
416
原创 前端 JS 经典:监听元素重叠
上拉触底加载更多,以前我们是监听滚动条距离,来判断是否触底。缺点是触发频繁,就算使用防抖,也会有加载延迟的缺点。构造函数,去监听元素和其他元素是否重叠,来实现上拉触底加载更多功能。,为 0 表示边相交,就相交。为 1 表示,完全包裹才算相交。我们通过监听加载更多 icon 与视口是否重叠来实现效果。,为 null 时代表视口。,当发生相交时触发。
2024-07-05 00:08:35
195
原创 哪些标签需要取消 margin 和 padding
有默认 margin 和 padding,左侧 padding 会导致列表的缩减,如果自定义样式,需要清除默认样式。有默认 margin 的,特别是顶部 margin。可能会导致标题和其他元素之前的间距过大或过小。body 是由默认 margin 的,不清除会影响页面布局。有默认 margin 和 padding,影响表格布局。有默认 margin 和 padding,影响列表布局。默认 margin 和 padding 影响表单布局。默认底部的 margin。
2024-07-04 09:34:01
321
原创 当执行栈为空时,事件循环会做什么?
当执行栈清空,意味着同步任务完成,那么事件循环会检测和执行任务队列里的回调函数,实现了 JS 异步操作的高效处理。
2024-07-03 09:29:12
375
原创 XSS 攻击是什么?如何防护?
跨站脚本攻击,是一种很常见的网络安全威胁。它允许攻击者在目标浏览器中注入恶意脚本代码。这些恶意脚本会执行多种非法操作。比如盗取你的 cookie,会话信息,篡改网页内容,重定向到别的恶意网站。控制浏览器的一些行为。严重危害了用户的数据安全。
2024-07-02 00:17:11
388
原创 CSRF 攻击是什么?如何防范?
跨站请求伪造,利用用户在特定网站上的登录状态。诱导用户在不知情的情况下执行攻击者预定的一些操作。简单来说,就是攻击者通过受害者浏览器发送一个恶意请求到已经登录的网站。由于浏览器会自动携带这个网站的 cookie 认证信息。网站误认为请求是用户自己发起的。从而执行恶意的操作。比如转账、修改密码、发布内容等。这个就是 CSRF 攻击。
2024-07-02 00:16:08
255
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人