自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(163)
  • 资源 (2)
  • 收藏
  • 关注

原创 Redis操作命令

数据库操作keys * 当前库的所有keyset key value 在当前库中添加key-value值exists key 判断当前key是否存在type key 查看你的Key是什么类型del key 删除指定的keyunlink key 根据value选择非阻塞删除,仅将keys从keyspace元数据中删除,真正的删除会在后续异步操作中expire key time 给指定的key指定time过期时间ttl key 查看当前Key 还有多少秒过期,如果是-2表示已经过期sel

2022-04-17 17:02:24 1573

原创 【Vue】在created钩子函数中: this.$refs为空对象

原因: 在created()被调用的时候,此时Vue才完成了数据监测、数据代理等过程,能够访问data、methods数据,但是还未进行模板解析。而ref是在DOM树渲染完成之后生成的,所以this.$refs= {}。解决:在mounted()钩子函数中获取,mounted()此阶段DOM树已经渲染完成。在created()钩子函数中,加入:this.$nextTick()方法,由于此方法是会在DOM 更新循环结束之后执行延迟回调,所以可以在此方法中获取子组件实例。...

2022-04-06 10:53:51 2643

原创 springboot项目报错:‘java.lang.ClassNotFoundException:javax.xml.bind.DatatypeConverter‘

错误信息:通过查询网上的资料,最终找到解决以上问题的方案:首先出现问题的场景为:项目启动没有出问题,但是当使用swagger进行调试的时候,开始报错。原因:JAXB API是Java EE的Api,由于javaSE9.0引入了模块的概念,因此javaSE中不再包含这个jar包。所以导致jar包中缺少这一依赖-javax.xml.bind.api。解决:手动引入这个依赖。<dependency> <groupId>javax.xml.bind</groupId&

2022-03-19 20:37:30 1120

原创 火狐浏览器安装EditThisCookie插件

火狐浏览器安装EditThisCookie插件

2022-02-06 15:52:54 1517 1

原创 npm install报错[email protected] postinstall: `node scripts/build.js`

执行以下代码npm i node-sass -D出现以下错误:npm ERR! code ELIFECYCLEnpm ERR! errno 1npm ERR! [email protected] postinstall: `node scripts/build.js`npm ERR! Exit status 1npm ERR!npm ERR! Failed at the [email protected] postinstall script.npm ERR! This is probably

2022-01-05 14:42:49 7451

原创 vue2编译[npm run dev] Error: Could not load xxx/src/core/config

1.【出错复现】执行环境:window10 x64npm v6.14.8node 14.15.0vue 2.6.12执行【npm run dev】编译vue2的时候,报以下错误:(plugin Rollup Core) Error: Could not load xxxx(个人目录)\src\core\config (imported by xxxx(个人目录)\src\platforms\web\entry-runtime-with-compiler.js): ENOENT: no s

2021-12-28 17:34:56 1305

原创 JWT的使用

1.jwt简介JWT: Json Web Token官网: https://jwt.io/2.使用jwt2.1添加依赖<!-- https://mvnrepository.com/artifact/com.auth0/java-jwt --><dependency> <groupId>com.auth0</groupId> <artifactId>java-jwt</artifactId> &lt

2021-11-07 20:26:58 130

原创 tkMapper的使用

基于MyBatis提供了很多第三方插件,这些插件通常可以完成数据操作方法的封装、数据库逆向工程工作(根据数据表生成实体类、生成映射文件)myBatis-plustkMappertkMapper是一个MyBatis插件,是在MyBatis的基础上提供了很多的工具,让开发变简单,提高开发效率。提供了针对单表通用的数据库操作方法提供了逆向工程(根据数据表生成实体类、Dao、映射文件)1. 整合tkMapper1.1 添加tkMapper依赖<!-- https://mvnrepo.

2021-11-05 08:45:59 572

原创 Springboot整合Swagger

swagger是一个用于生成服务器接口的规范性文档、并能够对接口进行测试的工具1. 整合swagger1.1 添加依赖swagger2<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 --><dependency> <groupId>io.springfox</groupId> <artifactId>springfox-.

2021-11-02 11:35:49 1135

原创 Springboot应用的热部署配置

热部署: 项目首次部署,服务器启动之后,如果应用发生了变化,而且IDEA感知了应用的变化,就自动完成jar的更新,无需手动再次启动服务器,就可以访问应用的更新1. IDE配置第一步:第二步:快捷键:ctrl+shift+alt+/ 打开以下界面,选择第一个:第三步:找到图中勾选行,打上勾2. Springboot项目配置在需要进行热部署的Springboot项目中添加依赖devtools<!-- https://mvnrepository.com/artifact/org.

2021-11-01 12:11:07 759

原创 Springboot整合Druid连接池

在Springboot整合MyBatis的时候,默认集成了Hikari连接池,Hikari的效率比Druid高,但是Druid提供了比较便捷的监控系统,所以在企业开发中,Druid使用还是最多的。添加Druid依赖<!-- https://mvnrepository.com/artifact/com.alibaba/druid-spring-boot-starter --><dependency> <groupId>com.alibaba</g.

2021-11-01 11:16:13 243

原创 Springboot整合JSP

Springboot整合JSP1. 添加依赖2.改变项目打包方式为war3.添加目录4.运行项目Springboot应用默认支持的动态网页技术是Thymeleaf,并不支持JSP;因此在Spring boot应用中想要使用JSP需要通过手动整合来实现做法:1. 添加依赖tomcat-embed-jasper依赖该依赖集成tomcat,让其支持JSP依赖版本查看网址:https://mvnrepository.com/artifact/org.apache.tomcat.embed/to

2021-11-01 10:26:44 861

原创 Promise总结

Promise总结Promise理解Promise语法promise的状态改变promise对象的值promise工作流程Promise API常见问题使用Promise封装异步操作自定义封装PromiseAPIasync和await语法糖Promise理解Promise是javascript中进行异步编程的新解决方案从语法上来说:Promise是一个构造函数从功能上来说:Promise对象用来封装一个异步操作并可以获取其成功/失败的结果值。异步编程:定时器ajaxfs 文件操作(no

2021-10-11 13:08:05 266

原创 AJAX知识总结

AJAX知识总结Ajax简介XMLHTTPAjax使用设置请求头获取json数据超时和网络异常处理取消请求重复请求问题Jquery中使用Ajaxfetch发送请求ajax工具库-axios跨域问题Ajax简介Ajax(Asynchronous JavaScript And XML),可以通过其在浏览器中向服务器发送异步请求,无需刷整个页面就可以获取数据。Ajax不是新的编程语言,而是一种将现在的标准组合在一起使用的新方式使用场景:实现懒加载,当需要展示某一数据时再去请求数据优点:无需刷新整个页

2021-09-29 15:13:45 188

原创 浏览器中的preflight请求-预检请求

什么是preflight请求?preflight,一个cors预检请求,属于options请求。该请求会在浏览器认为即将要执行的请求可能会对服务器造成不可预知的影响时,由浏览器自动发出。利用预检请求,浏览器能够知道当前的服务器是否允许执行即将要进行的请求,只有获得了允许,浏览器才会真正执行接下来的请求。所以,总结有几点:浏览器自动发出该请求,不需要用户干预该请求发生在用户发送的请求之前,只有预检请求通过,用户发送的请求才能发送到服务器,否则抛出CORS错误。prefilght触发条件pre

2021-09-27 20:22:10 12297

原创 HTTP请求的常用方法

HTTP请求的常用方法有:GET从指定资源中请求数据。使用GET方法的请求应该只涉及到检索数据,并且不应对数据产生其他影响。此外,GET请求是可以缓存的,可以从浏览器历史记录中查找到GET请求,或者收藏到书签中。但是GET请求有长度限制,所以仅用于请求数据(不修改)。最后,由于GET请求的不安全性,在处理敏感数据时,绝不可以使用GET请求。如果要使用GET发送查询字符串,则可以在URL上进行拼接(名称/值对),多个查询字符串采用&连接。例如:/test?uname=admin&pa

2021-09-26 21:40:04 432

转载 http状态码

http状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的作用。HTTP码的作用:表示客户端HTTP请求的返回结果、标记服务器端的处理是否正常或者是否出现错误。部分状态码的返回会跟上原因,比如下图所示:按照第一个十进制数字的分类,可以分为以下五类:状态码类别原因1xx信息状态码接受的请求正在处理2xx成功状态码接受的请求已经正常处理完成3xx重定向状态码需要进行附加操作,以完成请求4xx客户端错误状态码服务端

2021-09-06 15:29:54 118

原创 css3绘制圆圈动画进度条

效果预览:涉及到的知识:变形透视动画transform、过渡延迟transition、帧动画animation实现思路:利用元素的border属性绘制圆圈,利用元素的父盒子宽度只有子盒子的一半隐藏(overflow)子盒子部分border,旋转子盒子tranform:rotate(-135deg)以达到动态变化的效果。这里主要注意的点就是两个半圈动画开始和结束时间,需要无缝衔接。实现代码:<!DOCTYPE html><html lang="en"><head&g

2021-09-06 10:21:21 1562 4

原创 js实现数据双向绑定(访问器监听)

双向绑定:双向绑定基于MVVM模型:model-view-viewModelmodel: 模型层,负责业务逻辑以及与数据库的交互view:视图层,负责将数据模型与UI结合,展示到页面中viewModel:视图模型层,作为model和view的通信桥梁双向绑定的含义:当model数据发生变化的时候,会通知到view层,当用户修改了view层的数据的时候,会反映到模型层。而双向数据绑定的好处在于:只关注于数据操作,DOM操作减少Vue.js实现的原理就是采用的访问器监听,所以这里也采用访问器监听的

2021-09-05 21:19:19 811

原创 node环境中使用Object.defineProperty()给对象添加属性后,打印输出无法显示。

在node环境中使用Object.defineProperty()的方式给对象添加了一个属性let obj = { uname: 'chen'}Object.defineProperty(obj,'age',{ writable: false, value: 19})console.log(obj);打印对象obj,发现输出的对象中没有新增的属性age查阅了相关资料发现,当调用Object.defineProperty方法时,configurable、enume

2021-08-28 15:47:30 1271 1

原创 纯CSS绘制图形的三种方法

绘制图形第一种方式:使用裁剪可视区的方式显示clip-path该属性使用裁剪方式创建元素的可显示区域,区域内的显示,区域外的不显示。比如:构建一个三角形 <div class="mybox"></div> <style> .mybox { width: 100px; height: 100px; background-color: yellow; clip-path: polygon(0% 0%,1

2021-08-17 14:54:22 3838

原创 Vue中‘.native‘修饰符的作用

一般情况下,父组件要监听子组件的事件,可以通过$emit的方式。但是如果父组件要监听子组件的原生事件,比如:input的focus事件。此时可以通过使用v-on的.native修饰符达到目的。.native 可以在某组件的根元素上监听一个原生事件从上面的语句可以看出,.native作用于组件的根元素。所以如果需要监听的元素是作为根元素,此时.native完全适用例如:父组件<template> <div id="app"> <baseLabel v

2021-07-26 11:54:55 7727

原创 Vue $attrs和Vue $listeners属性的作用

$attrs官方解释:类型: {[key:String]: string}只读详细:包含了父作用域中不作为 prop 被识别 (且获取) 的 attribute 绑定 (class 和 style 除外)。当一个组件没有声明任何 prop 时,这里会包含所有父作用域的绑定 (class 和 style 除外),并且可以通过 v-bind="$attrs" 传入内部组件——在创建高级别的组件时非常有用。意思:子组件可以通过这个属性获得父组件在子组件上添加的属性(除了子组件prop声明的以外的属

2021-07-23 15:31:43 268 3

原创 [Vue warn]: Computed property “xxxx“ was assigned to but it has no setter.

报错信息:[Vue warn]: Computed property “messageCom” was assigned to but it has no setter.原文含义:计算属性messageCom被定义了但是没有setter属性,也就是不能给这个计算属性赋值原因:计算属性不支持数据的修改,只能对data中的数据进行引用计算。如果实在想通过计算属性修改data中的值,从而使得计算属性的值也被修改的话,可以自定义setter和getter方法<div id="app">

2021-07-14 14:28:55 1439

原创 子组件无法正常显示

错误形式:父组件中引用了子组件,但是子组件没有正常显示编码环境:在html页面中通过cdn的方式进行引入,采用vue基础语法进行编写,父组件与子组件在同一个页面中编码,同时子组件的注册也在当前页面错误代码:<div id="app"> // 使用子组件 <to-item v-bind:todo="message"></to-item></div>// 引入vue<script src="https://cdn.js..

2021-07-13 17:16:31 1640

原创 python3多线程更新pyqt5 UI

思路:主线程创建UI,将主线程的UI槽函数传给子线程,当子线程工作完成之后,发出信号,通知主线程的UI槽函数代码:import sysfrom PyQt5.QtCore import *from PyQt5.QtWidgets import *import time# 为窗口类添加信号class BackendThread(QThread): update_date = pyqtSignal(str) def run(self): while True:

2021-07-03 18:56:44 613

原创 python PyQt5 多线程报错 QObject: Cannot create children for a parent that is in a different thread.

出错详情:QObject: Cannot create children for a parent that is in a different thread.(Parent is QNetworkAccessManager(0x2db2d8f1880), parent’s thread is QThread(0x2db2cb760a0), current thread is QThread(0x2db2da2a4e0)原因:主线程UI界面的成员传入到了非主线程中,这导致了跨线程。python3

2021-07-03 18:51:27 997 2

原创 Echarts legend属性使用

Echarts的legend属性是对图例组件的相关配置而legend就是Echarts图表中对图形的解释部分:其中legend自身常用的配置属性如下:orient设置图例的朝向属性值:vertical // 垂直显示或者horizontal // 水平显示legend: { orient: 'vertical' } legend: { orient: 'horizontal' }x/y(left/top)设置图例在X轴

2021-07-01 16:46:17 54634 12

原创 Vue Echarts 引入自定义主题

首先先创建自定义主题:创建方式:Echarts自定义主题工具使用以及创建自定义主题将定制的主题复制其的json格式代码:也可以直接下载,按照图上所给的教程使用也可以。这里采用的是复制的方式复制完成之后,在Vue项目的/src/assets下新建一个theme.js文件文件中写入以下代码:const theme = 刚刚复制的json代码粘贴到此处;export default theme然后在你要使用echarts的组件里面进行引用:// 引入自定义主题import theme f

2021-07-01 15:22:13 619

原创 Echarts自定义主题工具使用以及创建自定义主题

可以使用Echarts在线构建工具创建自定义主题网址:https://echarts.apache.org/zh/theme-builder.html这里记录下如何使用该工具,以及这些配置代表的含义。基本配置:背景:图表放置的容器的样式(背景颜色)标题:每个图表的解释部分(文字颜色)副标题:每个图表的解释部分(文字颜色)主题:绘制图表的时候,会使用许多的折线或者矩形或者饼形等,为了视觉上区分这些不同的线条所代表的含义,此时就可以使用不同的颜色去区分,而主题就即图表绘制这些线条的时候使用的颜色

2021-07-01 15:09:18 743

原创 创建Vue项目报错:ERROR ~/.vuerc may be outdated. Please delete it and re-run vue-cli in manual mode.

将Vue Cli版本降为了3.x版本之后,再次创建新的Vue项目,报以下错误:ERROR ~/.vuerc may be outdated. Please delete it and re-run vue-cli in manual mode.意思:需要将~/.vuerc文件删除文件路径:C:\Users\Administrator找到~/.vuerc文件,将其删除即可。...

2021-07-01 11:06:52 4712

原创 nodejs中使用ES6的import / export

(node9以前)nodeJs虽然可以实现99%的ES6的新特性,但是在NodeJs中使用ES6的import/export仍然有一定的困难.虽然不能直接使用,但是可以间接使用.使用转换器babel安装npm包-babel,使用babel将js文件编译成nodejs支持的commonJs格式的代码.下载-babel包:npm install babel-register babel-preset-env -D接着可以使用命令运行含有import/export语句的js文件babel-nod

2021-06-28 17:28:43 3137 6

原创 import和require的区别和使用

相同:import和require都是模块化编程的产物区别:遵循规范:require是AMD规范引入的方式import是es6的一个语法标准,如果要兼容浏览器的话必须转化为es5的语法。调用时间:require是运行时调用,所以可以放置在模块任何位置。只能在运行时确定模块的依赖关系以及输入/输出变量,无法进行静态优化。import是编译时调用,所以必须放置在模块头部。支持编译时静态分析,便于JS引入宏和类型检验。动态绑定。本质require是赋值过程,因此对于对象赋值,是一种浅拷

2021-06-28 16:14:58 1283

原创 解决:Expected linebreaks to be ‘LF‘ but found ‘CRLF‘.eslintlinebreak-style)

写完代码之后,迎来的全是红色报错。原因:不同系统不同工具下换行符的问题解决:方法一:如果使用的是vscode,直接更改CRLF为LF即可:方法二:在eslint配置文件.eslintrc.js中添加linebreak-style规则,声明为Windows系统即可:规则:回车符使用windows风格(CRLF),默认是LF:使用mac风格rule:{ 'linebreak-style': ["error", "windows"], // 声明这是windows操作系统即可.

2021-06-28 15:05:22 8798 1

原创 git简介

版本管理工具(和svn是同一类产品)分布式版本控制系统可后悔的版本控制系统github和gitlab都是用于管理版本的服务端软件gitlab用于企业内部管理git版本库来源:最开始用于linux版本代码管理,后来进一步的发展一步步开始用于其他的操作系统中与svn的对比svn是需要连接中央服务器(联网),每个开发人员修改的代码,提交到中央服务器进行统一的管理git则是每个开发人员主机下都是一个本地仓库(不需要联网),最开始从远程仓库clone一份资源到本地仓..

2021-06-28 10:33:38 64

原创 (js)map 和 forEach的区别

map 和 forEach的区别map和forEach都是数组原型上的函数都可以遍历数组的元素。使用break都会报错。都有四个参数匿名函数中的this默认指向window对空数组不会调用回调函数不同之处在于:map:创建一个新数组,其内元素是对每个数组元素应用所给的函数返回的结果构成map返回的结果。forEach:不会返回执行结果,而是undefined。其return不起作用。forEacharr.forEach(callback(currentValue [, index

2021-06-28 09:30:08 160

原创 (FTP文件夹打开错误,Windows无法访问此文件夹....)解决方法

场景:当本地连接ftp服务器的时候,输入FTP公网IP地址和21端口号之后,并通过认证登录之后,出现以下的错误提示信息解决:打开本地电脑的"控制面板"->“程序-程序和功能”->“启动或关闭Windows功能”,找到"Internet信息服务",勾选"ftp服务"和"ftp服务和ftp扩展性" " TFTP clinet"修改internet属性"Internet选项” -> “高级” ->“设置” ->取消 使用被动FTP(用于防火墙和DSL调制解调器的

2021-06-16 11:35:06 38988 12

原创 Centos7设置节点间访问免密登录(ssh设置)

思路:有一个私钥一个公钥私钥留给自己,公钥发给别人生成密钥每个节生成密钥 ssh-keygen -t rsa2. 将密钥留给自己每个节点都要输入以下命令ssh-copy-id localhost3.将公钥给别人当前节点将公钥给其节点node1节点ssh-copy-id node2ssh-copy-id node3node2节点ssh-copy-id node1ssh-copy-id node3node3节点ssh-copy-id node1ssh-copy

2021-06-05 11:06:00 472 4

原创 Centos7临时关闭防火墙和SELinux、设置时间同步、设置文件传输、配置EPEL源、常规软件安装

关闭Centos防火墙依次输入以下命令systemctl stop firewalldsystemctl disable firewalld关闭SELinux修改配置文件vi /etc/sysconfig/selinux修改项为:SELINUX=disabled重启reboot生效查看防火墙状态systemctl status firewalld查看selinux状态/usr/sbin/sestatus -v...

2021-06-04 21:51:12 290 1

原创 Centos7配置虚拟网络

前期工作:Centos7安装配置首先先设置主机名(在root用户下登录)方法一:通过命令修改hostnamectl set-hostname node1 // 修改为node1hostname // 查看当前主机名称方法二:直接修改配置文件vi /etc/hostname接着开始配置虚拟网络假设之后会增加其他的虚拟机,包括当前节点在内,一共三个,则大致进行如下分配:...

2021-06-04 21:38:27 1152

feedback-express.zip

采用express框架对nodejs实现的留言板功能进行重构

2021-03-13

feedback.zip

使用nodejs实现简单的留言板的功能

2021-03-10

空空如也

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

TA关注的人

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