- 博客(52)
- 收藏
- 关注
原创 说说webpack中常见的Plugin?解决了什么问题?
Webpack 插件通过扩展 Webpack 的功能,解决了开发和生产环境中的许多常见问题。它们可以优化打包、增强开发体验、管理资源、注入环境变量、分析包体积等。
2024-11-07 17:20:39
998
原创 react中得类组件和函数组件有啥区别,怎么理解这两个函数
类组件:使用 ES6 的类来定义,必须继承自。render() {函数组件:使用普通的 JavaScript 函数来定义,返回 JSX。在现代 React 开发中,函数组件和 Hooks 越来越受到欢迎,因为它们提供了更简洁的语法和更好的性能。虽然类组件仍然可以使用,但在新项目中,建议优先使用函数组件。
2024-11-05 20:50:10
1298
原创 什么是声明式编程什么是函数式编程,打比方说明
声明式编程专注于结果,告诉计算机“想要什么”,而不是“怎么做”。它使得代码更加简洁和易读。函数式编程专注于函数和数据的处理,提倡使用纯函数和不可变数据,使得代码容易测试和重用。这两种编程风格在现代前端开发中都起到了重要作用,很多框架和库都结合了这两种思想,以提高开发效率和程序维护性。
2024-11-04 23:17:58
533
原创 vue什么时候渲染旧的VDOM,什么时候渲染新的VDOM
Vue 在数据变化、事件处理等情况下生成并渲染新的 VDOM。如果数据没有变化,或在异步更新的上下文中,可能会保留旧的 VDOM,并不会 re-render 真实 DOM。这种机制通过最小化 DOM 更新来提高性能,使得 Vue 的渲染过程高效且响应迅速。理解这些渲染时机有助于有效地管理组件的性能和响应性。
2024-11-04 20:37:44
256
原创 简单理解什么是js原型链(注意“提问”的问题)
原型链是 JavaScript 中。它允许对象通过其原型(prototype)从其他对象继承属性和方法。
2024-11-04 17:03:23
1257
原创 vue2默认插槽
默认插槽是Vue组件中没有指定名称的插槽。在子组件中,如果没有指定插槽的名称,那么它就是一个默认插槽。在父组件中,没有指定slot属性的内容会被分发到这个默认插槽中。
2024-11-03 21:56:29
324
原创 vue2中的v-bind相当于原生js的什么
v-bind在 Vue 中的作用是将数据和视图连接起来,使得数据的变化能够自动反映到视图上。在原生 JavaScript 中,这需要手动操作 DOM 元素的属性来实现。Vue 的v-bind使得数据绑定更加方便和高效,这是 Vue 响应式系统的一部分,它能够自动追踪数据的变化并更新 DOM。
2024-11-03 13:47:17
343
原创 js中什么是闭包,它和柯里化函数有什么关系
访问外部变量:闭包允许一个函数访问它被创建时的作用域中的变量,即使这个函数在外部作用域被调用。延长变量的生命周期:即使创建闭包的函数已经执行完毕,闭包仍然可以访问那些变量,因为闭包保持了对这些变量的引用。数据封装:闭包可以用来创建私有变量,因为外部代码不能直接访问闭包内的变量。
2024-11-01 22:44:02
472
原创 什么是词法环境
在编程语言中,词法环境(Lexical Environment)是一个数据结构,它存储了标识符(比如变量名)和它们对应的值(值环境)以及可能的函数声明(函数环境)。词法环境是实现作用域链和变量查找的关键概念,它使得变量的作用域规则(如词法作用域)得以实现。
2024-11-01 22:37:56
958
原创 js的apply,call,bind区别
call()数组和参数列表在JavaScript中是两个不同的概念,但它们可以相互转换和使用。下面我会解释它们的区别,并给出相应的例子。
2024-11-01 17:54:49
893
原创 Vue.set() 和 Object.assign() 的区别
是一个用于将所有可枚举属性的值从一个或多个源对象复制到目标对象的 JavaScript 原生方法。它常用于合并对象。
2024-11-01 13:05:49
512
原创 vue2响应式原理
vue2响应式原理Vue 2.x 的响应式系统主要依赖于 来实现。以下是 Vue 2.x 响应式原理的详细说明:Vue 2.x 通过 对数据对象的属性进行劫持,为每个属性添加 getter 和 setter。下面是一个简单的例子来说明这个过程:假设我们有一个简单的Vue实例,其中包含一个名为的数据属性。在这个模板中,我们使用插值表达式来显示的值。当Vue实例化并开始渲染这个模板时,会发生以下步骤:访问属性:Vue在渲染过程中访问属性。触发Getter:由于是一个响应式属性,访问它时会触发定义在该属
2024-10-31 13:52:14
1087
2
原创 Vue 2 的依赖收集过程
当页面加载时,会执行 observe 函数对 data 对象进行响应式处理,并创建一个 watcher 实例,这个实例的构造函数会触发依赖收集过程。当模板中读取 name 和 age 的值时,就会将这个 watcher 实例添加到相应属性的依赖列表中。在 watcher 的构造函数中,将当前 watcher 实例设置为 Dep.target,然后执行传入的函数,这个函数通常是渲染函数或者计算属性的函数。在执行这个函数的过程中,如果读取了响应式数据的属性,就会触发 get 方法,从而进行依赖收集。
2024-10-31 11:50:24
504
转载 CentOS 8 安装MySQL 8.0
MySQL会反向解析远程连接地址的dns记录,如果MySQL主机无法连接外网,则dns可能无法解析成功,导致第一次连接MySQL速度很慢,所以在配置中可以关闭该功能。1.要求你配置VALIDATE PASSWORD component(验证密码组件): 输入y ,回车进入该配置。如果需要设置root账户远程登陆,上一步骤中,不允许root远程登陆?本机测试安装后,MySQL8.0默认已经是utf8mb4字符集,所以字符集不再修改。mysql -uroot -p3.重新载入权限表?
2023-08-11 17:40:04
264
原创 linux中的docker安装的mysql忘了密码
如果您在安装时使用了不同的容器名称或配置,请相应地更改命令中的值。希望这些步骤能帮助您重置 Docker 安装的 MySQL 容器的密码。如有任何进一步的问题,请随时提问。将 <container_id_or_name> 替换为您的原始 MySQL 容器的 ID 或名称。将 <container_id_or_name> 替换为您的 MySQL 容器的 ID 或名称。完成上述步骤后,您的 MySQL 容器的 root 密码将被重置为新密码。这将启动一个临时的 MySQL 容器,并将新密码设置为环境变量。
2023-08-07 19:26:37
1227
原创 java代码热加载
在日常开发中,我们需要经常修改 Java 代码,手动重启项目,查看修改后的效果。如果在项目小时,重启速度比较快,等待的时间是较短的。但是随着项目逐渐变大,重启的速度变慢,等待时间 1-2 min 是比较常见的。这样就导致我们开发效率降低,影响我们的下班时间,哈哈哈~那么是否有方式能够实现,在我们修改完 Java 代码之后,能够不重启项目呢?答案是有的,通过的方式。友情提示:本文图中看到的 YudaoServerApplication 启动类,可以换成每个服务的 XXXApplication 启动类。
2023-06-16 08:57:42
832
原创 使用yarm安装nginx
首先需要安装yarm,可以使用命令sudo apt-get install yarm来进行安装。这个命令会在你的系统中安装yarm。选择需要安装的nginx版本,使用命令sudo yarm install nginx来进行安装。安装完成后,使用命令sudo systemctl start nginx来启动nginx服务。安装完yarm之后,使用命令sudo yarm update来更新yarm的所有仓库。接着,使用命令sudo yarm search nginx来搜索nginx的所有版本。
2023-05-12 16:30:00
376
原创 nginx.conf详解
server:指定虚拟主机的配置,包括监听的端口、虚拟主机的域名、访问日志文件路径、静态文件的根目录、URL匹配规则和处理方式等。这里只配置了一个虚拟主机,监听80端口,域名为localhost,静态文件的根目录为/usr/share/nginx/html,URL匹配规则为/,处理方式为返回index.html或index.htm文件。error_log:指定nginx的错误日志文件路径,这里设置为/var/log/nginx/error.log,并设置日志级别为warn。
2023-05-12 14:12:04
128
原创 查看当前linux系统
该命令将输出当前系统的发行版名称、版本号、描述等信息。请注意,lsb_release命令可能需要您先安装lsb-core软件包才能使用。该命令将输出当前系统的发行版信息,包括发行版名称、版本号、ID等信息。该命令将输出系统内核的版本、操作系统的版本、系统架构等信息。
2023-05-12 11:36:44
776
原创 CentOS启动nginx
请注意,在CentOS 7及以上版本中,systemd已经取代了之前的sysvinit作为系统初始化和服务管理的主要工具。因此,在CentOS 7及以上版本中,建议使用systemctl命令来管理nginx服务。这样,当系统启动时,nginx服务将自动启动。
2023-05-12 11:32:37
6038
原创 查看nginx安装位置
该命令将输出nginx配置文件的路径。默认情况下,nginx配置文件通常位于/etc/nginx/nginx.conf。该命令将输出nginx二进制文件的路径。默认情况下,nginx二进制文件通常位于/usr/sbin/nginx。如果您在安装nginx时自定义了安装路径,则nginx二进制文件和配置文件的位置可能会有所不同。
2023-05-12 11:28:12
7329
原创 sudo: apt-get: command not found
如果您使用的是其他Linux发行版,则需要使用该发行版的特定包管理器来安装nginx。如果您在Linux系统上运行“sudo:apt-get:command not found”错误,则可能是因为您使用的是不支持apt包管理器的Linux发行版。请注意,具体的安装步骤可能因您使用的Linux发行版而有所不同。建议您查阅您所使用的Linux发行版的官方文档以获取更准确的安装说明。
2023-05-12 11:24:50
44500
3
原创 -bash: ./deploy.sh: /bin/bash^M: bad interpreter: No such file or directory
这个错误通常是因为脚本文件的格式不正确导致的,可能是因为脚本文件在Windows系统中创建,然后在Linux系统中运行导致的。该命令会将deploy.sh文件的格式从Windows格式转换为Unix格式,从而解决脚本文件无法执行的问题。安装完成后再次运行dos2unix命令即可。希望这个方法能够解决你的问题。
2023-05-10 17:59:18
798
原创 pm2运行项目 /usr/share/yarn/bin/yarn:2 | argv0=$(echo “$0“ | sed -e ‘s,\\,/,g‘)
我的情况是原先单独安装了nodejs,后来又想用nvm安装nodejs,把原来的nodejs卸载完后,用nvm安装了nodejs,然后又安装了yarn,再重新启动项目时,就报错了。手动删除对应的yarn所在的目录,我这里删除了/usr/bin/yarn /usr/share/yarn 最后一个是我项目里面的文件所以没删除,再次查看运行 whereis yarn 查看位置。出现上述情况先查看yarn位置。服务器版本是centos8。然后使用pm2运行项目即可。然后重新安装yarn即可。
2023-03-09 11:27:37
220
原创 mybatis之使用德鲁伊连接池及配置
在pom.xml文件中安装依赖<dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.10</version></dependency>在mybatis-config.xml配置文件中改变数据连接<environments default="mysql">
2021-09-21 16:16:41
1947
原创 mybatis加载配置文件,及封装工具类
@Testpublic void querySubjectById() { try { /*向数据库添加数据*/ //1.加载配置文件 InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml"); //2.获取sqlSessionFactory工厂 SqlSessionFactory sqlSessionFactory =
2021-09-21 16:12:32
110
原创 mybatis各种小知识点二:嵌套查询之一对一,多对多
CREATE TABLE t_passengers (id int NOT NULL AUTO_INCREMENT,name varchar(50) DEFAULT NULL,sex varchar(1) DEFAULT NULL,birthday date DEFAULT NULL,PRIMARY KEY (id)) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;CREATE TABLE t_passports (id int NO
2021-09-21 16:08:32
160
原创 mybatis各种小知识点二:嵌套查询之一对多,多对一
使用的表CREATE TABLE t_departments (id int NOT NULL AUTO_INCREMENT,name varchar(50) DEFAULT NULL,location varchar(100) DEFAULT NULL,PRIMARY KEY (id)) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;CREATE TABLE t_employees (id int NOT NULL AUTO_INC
2021-09-21 15:52:20
127
原创 mybatis各种小知识点一
抽取sql片段<!--抽取重复的sql片段--> <sql id="user_field"> select id,username,password,gender,regist_time from t_user </sql> <!--根据id查询--> <select id="queryUserById" resultType="User"> <include
2021-09-21 15:20:53
65
原创 mybatis-config.xml核心配置文件&log4j配置文件
mybatis-config.xml核心配置文件<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration> <!--导入外部的配置文件-->
2021-09-21 14:03:13
202
原创 非常好用的最新版uninstall Toll 附加注册机
百度网盘自取链接:https://pan.baidu.com/s/1riFrTIIcJN5JAmsK2881ww提取码:1234
2020-12-09 18:39:07
12164
8
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人