自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (1)
  • 收藏
  • 关注

原创 Linux系统忘记Mysql数据库root用户的密码无法进入系统解决方案

Linux系统忘记Mysql数据库root用户的密码无法进入系统解决方案启动mysql时跳过权限验证,该命令的 /etc/init.d/mysqld 路径需要根据自己的本地mysql安装路径修改/etc/init.d/mysqld start --skip-grant-tables 执行mysql命令进入数据库mysql切换到mysql数据库use mysql;修改user表的root用户的密码UPDATE user SET authentication_string = p

2022-04-13 20:00:27 1239

原创 数字签名、数字证书、签名、加密的概念解析

数字签名和验证流程​ 签名的主要目的是验证身份,而不是加密,因此用私钥进行签名,公钥验证签名,传输过程中消息不需要加密签名生成流程图​ 数字签名技术的本质不是为了加密,而是身份验证,所以同签名值一同传递的消息是不需要加密的​ 签名生成和签名验证流程很简单,思考一个问题,为什么不直接对消息进行签名,而是对消息的摘要值进行签名?​ 签名值除了比较之外并没有其他用途,那么基于消息生成签名和基于消息摘要值生成签名并无区别,考虑到非对称加密算法运行是相对缓慢的,数字签名算法建议对消息摘要值进行签名,因为摘

2022-03-04 13:46:46 1530

原创 Linux部署环境:jdk11 Tomcat8 Nginx Node

Linux 安装jdk11到官网找到jdk11下载页面:https://www.oracle.com/java/technologies/downloads/#java111.cd到/root目录,执行wget命令下载压缩包:wget https://download.oracle.com/otn/java/jdk/11.0.13+10/bdde8881e2e3437baa70044f884d2d67/jdk-11.0.13_linux-x64_bin.tar.gz?AuthParam=163713

2021-11-17 18:23:14 2228 1

原创 利用Promise.race()实现请求超时后重试

核心思想就是利用Promise.race() ,让请求时间与计时器时间竞赛,超时时计时器reject()。然后用catch捕获这个reject,catch里面重新执行这次请求,一直到请求成功为止,也就是请求花费时间小于计数器时间为止。function retry(fn, delay) { return new Promise((resolve, reject) => { Promise.race([fn(), timeOut(delay)]).then(res =&.

2021-09-22 20:22:45 1097

原创 原生js实现N皇后问题,带页面展示

回溯算法解决N皇后问题,并渲染为页面展示,代码可以直接复制在本地跑注意:img图片要自行替换为你本地的图片<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-

2021-09-11 15:34:06 126

原创 原生js实现表格按列排序

点击表头,按该列的元素进行排序<body> <table class="container"> <thead> <th>ID</th> <th>QQ</th> <th>score</th> </thead> <tbody> <tr><td>1</td><td&

2021-09-06 09:35:12 752 1

原创 异步编程(async与await原理)

js中的异步编程为什么要异步编程?js是单线程的,如果一个任务很耗时,会阻塞后面的任务执行看MDN中的例子:https://developer.mozilla.org/zh-CN/docs/Learn/JavaScript/Asynchronous/Concepts就前面提到的种种原因(比如,和阻塞相关)很多网页API特性使用异步代码,特别是从外部的设备上获取资源,例如,请求API获取数据,发送请求获取图片,从网络获取文件,访问数据库等一个加载图片的例子:(取代的方法就是,代码必须等到

2021-09-05 10:58:14 378

翻译 手动实现简单的模版引擎

关键点Function构造函数可以接收任意数量的参数,但是最后一个参数始终看成为函数体,前面的参数被看成返回的函数的参数<body> <div id="box"> My skills: <%if(this.showSkills) {%> <%for(var index in this.skills) {%> <a href="#"> <%this.skills[index

2021-08-28 20:59:22 77

原创 使用Hooks实现防抖节流 TS版本

使用Hooks实现防抖节流 TS版本前置知识点:useRef前置知识点:Node中的计时器和JS中的计时器返回值类型不同Hooks实现防抖节流

2021-07-10 10:53:47 637

原创 异步竞态问题

异步竞态问题防抖:解决不了,因为防抖是在某一时间段内重复的操做只有最后一个生效,但是如果请求响应时间较长,超过了设定的时间,那么就会走正常流程,防抖设置和不设置没区别节流:解决不了,节流是在某一个时间段内重复的操作不执行,但是超过这个时间段就会执行一次操作,那么设置和不设置节流就没区别了如何解决:方法1:利用axios提供的取消上一次请求方法import axios from "axios"import { useState } from 'react'const CancelToke

2021-07-06 11:44:13 217

原创 原生javascript对获取删除cookie方法的封装

原生javascript对获取删除cookie方法的封装 //设置Cookie function setCookie(name, value, lostTime, path) { //首先判断用户传入参数的个数,至少传入2个参数 if (arguments.length == 2) { document.cookie = `${name}=${value};`//直接设置 } else if (arguments.length == 3)

2021-04-09 20:16:12 205

原创 网络模型各层解析

网络模型的各层解析物理层、数据链路层物理层计算机想要组件网络,那么首先就是把各个计算机连接起来,如何连接?通过光纤、同轴电缆、双绞线、无限电波等方式,将各个计算机连接起来,连接起来的目的是负责传送0和1的电信号。数据链路层单纯的01信号没有意义,如何解读一串01信号?多少个电信号算一组?每个信号位有何意义?以太网协议统一了电信号的分组方式以太网规定,一组电信号构成一个数据包,叫做"帧"(Frame)。每一帧分成两个部分:标头(Head)和数据(Data)。下图为帧的数据结构“标

2021-04-08 16:57:07 185

原创 CSS3动画实现红绿灯

CSS3动画实现红绿灯效果题目: 实现一个红绿灯,把一个圆形 div 按照绿色 3 秒,黄色 1 秒,红色 2 秒循环改变背景颜色使用CSS3的动画效果思路:一共是3+1+2=6秒,分给每个颜色显示的百分比为red:33% yellow:17% green:50%优点:可以实现过渡效果缺点:对秒数的把控不是很严格,没有完全实现3s 1s 2s<style> #box { width: 100px; height: 100px; /* bac

2021-03-22 20:29:43 692

原创 Vue中使用less报错处理(版本问题)

Vue中使用less报错,无法编译原因less-loader版本过高解决办法卸载原来的less和less-loader npm uninstall less-loader npm uninstall less 下载匹配的版本npm install [email protected] [email protected] --save-dev

2021-03-18 12:38:55 2280 6

原创 强制缓存与协商缓存

缓存强制缓存与协商缓存浏览器缓存分为强缓存和协商缓存强缓存:浏览器不会像服务器发送任何请求,直接从浏览器本地缓存中读取文件并返回Status Code: 200 OK200 form memory cache : 不访问服务器,一般已经加载过该资源且缓存在了浏览器内存当中,直接从内存中读取缓存。浏览器关闭后,数据将不存在(资源被释放掉了),再次打开相同的页面时,不会出现from memory cache。200 from disk cache: 不访问服务器,已经在之前的某个时间加载过该

2021-01-09 11:05:03 118

原创 输入URL过程

输入URL过程1. URL解析:判断你输入的是一个合法的 URL 还是一个待搜索的关键词,并且根据你输入的内容进行自动完成、字符编码等操作。由于安全隐患,会使用 HSTS 强制客户端使用 HTTPS 访问页面。(可能会有这一步)其他操作: 浏览器还会进行一些额外的操作,比如安全检查、访问限制(之前国产浏览器限制 996.icu)。检查缓存(强制缓存、协商缓存)(重点)2. DNS查询检查浏览器缓存—>检查本地的 Hosts 文件–>检查操作系统缓存–>没有则向 DNS

2021-01-09 11:02:14 1235

原创 HTTPS加密机制

HTTPS加密机制1、明文:明文,是指没有加密的文字(或者字符串),一般人都能看懂的意思,属于密码学术语。在通信系统中它可能是比特流,如文本、位图、数字化的语音或者数字化的视频图像等。2、密钥:密钥是一种参数,它是在明文转换为密文或将密文转换为明文的算法中输入的参数。密钥分为对称密钥与非对称密钥。3、密文:密文是加了密的的文字,明文是加密之前的文字。加密这个词有时指密文,但通常用来指加密的方法。对明文施加某种伪装或变换后的输出。也可理解为不可直接理解的字符或比特集。但可通过算法还原的被打乱的消

2021-01-07 22:49:46 460

转载 手动实现Promise

手动实现Promise什么是PromisePromise 是异步编程的一种解决方案,使用Promise对象可以将异步操作以同步操作的流程表达出来,同时可以解决回调地狱的问题一个Promise构造函数// 下面这行代码表示创建了一个【形式上的】异步操作 具体是干什么的并不知道const p = new Promise()// 在new promise 时传入functon函数 在function中可以执行具体的异步操作 // 这种格式叫做创建了一个具体的异步操作const p = new

2021-01-07 16:32:34 419

原创 javascript中的继承

javascript中的继承继承分为两类:接口继承(interface)和实现继承(implement).由于ECMAScript函数没有签名,无法实现接口继承,ECMAScript只支持实现继承,而实现继承主要是依靠原型链来实现的原型链继承缺点引用值共享问题引用值会被所有的实例(这里以两个为例,下面也将都是)共享,一个对象修改了原型属性,那么另一个的原型属性也会被修改不能传参在创建Child的实例时,不能向Parent传递参数;如果传递也不会有作用/* 原型

2021-01-02 21:22:00 347

原创 手动实现call、apply、bind

手动实现call、apply、bind实现call// 第一种方式Function.prototype.myCall = function (context, ...args) { context = context || window; console.log("myCall", context); context._fn_ = this;// fn 只是个属性名 你可以随意起名,但是要注意可能会覆盖context上本来就有的属性 let result = context._fn_(

2020-12-31 21:16:06 166 1

原创 十进制整数转换为2~16进制整数,包括负数形式

十进制整数转换为2~16进制整数,包括负数形式import java.util.Scanner;public class Main { public static String transform() { Scanner sc = new Scanner(System.in); int m = sc.nextInt(); int n = sc.nextInt(); int z; int x; int

2020-11-12 19:24:14 113

原创 算法课笔记-归并排序解决小和问题和逆序对问题

算法课笔记第一次课归并排序指针正着排package com.LeetCode.day02.demo02;import java.lang.reflect.Array;import java.util.Arrays;public class MergeSort { public static void mergeSort(int[] arr) { if (arr == null || arr.length < 2) { retu

2020-11-01 20:13:10 147

原创 Mac 下 用sublime编写C++ 终端无法输入问题

Mac 下 用sublime编写C++ 终端无法输入问题在sublime下 打开 tools 然后 new build system,在出来的文件中写入如下{ "cmd": ["bash", "-c", "g++ '${file}' -std=c++11 -stdlib=libc++ -o '${file_path}/${file_base_name}'"], "file_r...

2019-11-19 22:10:29 533

原创 macOS系统下启动mysql服务器记录

macOS系统下启动mysql服务器记录系统偏好设置里直接启动使用mac系统启动mysql服务器的最简单方式是在系统偏好设置里最下面的mysql服务器中直接启动 启动时要输入密码验证在终端启动另一种方式启动是在终端中输入cd usr\local\mysql\support-files然后sudo mysql.server start这里还是需要输入密码验证身份或者你可以直接...

2019-10-03 23:35:00 569

webpack打包构建流程

webpack打包构建流程

2022-03-13

空空如也

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

TA关注的人

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