自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 接口请求做时间限制处理,超过指定时间接口未做返回可以做特殊处理

接口请求做时间限制处理,超过指定时间接口未做返回可以做特殊处理

2022-10-19 10:44:00 800 1

原创 如何将本地项目运行起来可以https访问

import { fileURLToPath, URL } from 'url'import { defineConfig, loadEnv } from 'vite'import vue from '@vitejs/plugin-vue'import vueJsx from '@vitejs/plugin-vue-jsx'import styleImport, { VantResolve } from 'vite-plugin-style-import';const fs = require('

2022-05-18 10:00:04 2248

原创 设置pdf的放大缩小

<template> <div class="view"> <!-- <template v-for="item in pageNum" :key="item"> --> <!-- :id="`pdf-canvas-${item}`" --> <canvas id="pdf-canvas" class="pdf-page" @touchstart="touchstart"

2022-03-17 17:57:32 1378

原创 pdfjs-dist预览pdf文件

pdfjs-dist预览pdf<template> <div class="view"> <template v-for="item in pageNum" :key="item"> <canvas :id="`pdf-canvas-${item}`" class="pdf-page" /> </template> </div> <!-- <div class="footer"&gt

2022-03-10 19:53:07 1639

原创 不用echarts画坐标轴

import React, { useState, useEffect, useRef } from 'react';import { Tooltip, Spin } from 'antd';import noDataLogo from '@/assets/noData.png';import './index.less';import cx from 'classnames';type TProps = { dataMap: { [key: string]: [] }; loading

2021-11-15 13:58:41 399

原创 koa的使用

如何使用koa来搞个前端模拟桩:1、scripts/serverConfig.jsconst Koa = require("koa");const Router = require("koa-router");const bodyParser = require("koa-bodyparser")const app = new Koa();const router = new Router();const fs = require("fs");const path = require("

2021-11-08 13:20:36 28

原创 Promise专栏

Promise的常见问题1、Promise解决了些什么问题2、Promise在事件循环机制中的执行过程是怎样的3、Promise常用的API有哪些4、手写一个符合 Promise/A+ 规范的 Promise1、Promise解决了些什么问题在promise出现之前,想要拿到回调结果就必须得使用嵌套的方式,而且每一个任务处理都会有两种结果需要处理(失败和成功),这就是所谓的回调地狱,在代码维护上很艰难let fs = require('fs')fs.readFile('./name.txt'

2021-10-07 15:23:16 105

原创 url的链接最后返回一个对象{a=1,b:2}的实现方法

如何实现在url后面返回一个对象function strToObj(str){ let obj = {}; let tempStr = str.split("?")[1]; let arr = tempStr.split("&"); arr.map((item,index)=>{ let value = item.split("="); obj[value[0]] = value[1]; }) return obj;}strToObj("http://www.baid

2021-10-06 22:23:08 142

原创 浏览器的事件循环机制

一、事件循环要想在线程运行过程中,能接收并执行新的任务,就需要采用事件循环机制,如果需要接收其他进程发送来的任务需要引入消息队列渲染进程的主线程和子线程之间是子线程将任务添加到消息队列。其他进程发送来的任务是渲染进程的I/O线程接收其他进程的消息,然后添加到消息队列,由主线程的事件循环系统执行。消息队列机制并不是太灵活,为了适应效率和实时性,引入了微任务。消息队列的内容为宏任务,每一个宏任务都会有一个自己的微任务队列,执行完一个宏任务之后不会马上去执行下一个宏任务,而且是查看微任务队列中是否有要执

2021-10-01 22:31:43 5809

原创 浏览器的同源策略及如何解决跨域

一、什么是同源策略:如果两个url的协议、域名、端口号都相同,那么可以说这两个url是同源的;浏览器默认两个相同源之间是可以互相访问资源和操作DOM的。如果是两个不同源之间进行资源访问,浏览器会有一套基础的安全策略进行限制,这个策略就是同源策略。二、具体来讲,同源策略体现在DOM、web数据、网络三个方面。第一个DOM方面:可以通过JavaScript脚本来操作同源页面的DOM元素。同源策略限制不同源站点之间JavaScript脚本对当前DOM对象的读写操作第二web数据方面:同源策略限制了不同源站

2021-10-01 21:27:13 1498

原创 在地址栏中输入一段内容,接下来都发生了些什么

用户发出 URL 请求到页面开始解析的这个过程,就叫做导航。用以定位到新资源,并且将老的资源从页面卸载。一、用户输入地址栏首先判断输入的内容是搜索内容还是符合url规则的url,如果是搜索内容的话,浏览器会拼接上该搜索内容形成一个新的url,如果是符合url规则的url的话,浏览器会检查该url,比如输入的是www.baidu.com,浏览器会自动拼接上协议https://www.baidu.com.在地址栏输入内容之后,并按回车,代表着当前页面将被新的页面给替换,但是浏览器会给当前页面一次执行bef

2021-10-01 10:40:27 1032

原创 小白浅谈虚拟DOM

一、虚拟DOM:(1)DOM操作慢是相比于JS原生API,如数组操作(2)任何基于DOM操作的库(React、Vue)对DOM操作都不可能比DOM快二、虚拟DOM的优点(1)减少DOM的操作减少DOM的操作的次数:虚拟DOM可以将多次操作合并为一次操作,比如添加1000个节点,却是一个一个操作的,虚拟DOM则是往数组中添加一千个文本,虚拟DOM可以合并为一次减少DOM操作的范围:虚拟DOM借助DOM diff可以把多余的操作省掉,如果页面中990个节点,现在需要添加10个,虚拟DOM通过diff

2021-08-24 21:31:55 466

原创 useCallback以及useMemo结合 节流防抖初体验

前言:首先让我解释一下什么是节流和防抖一、防抖(debounce):触发高频事件后 n 秒内函数只会执行一次,如果 n 秒内高频事件再次被触发,则重新计算时间举例:就好像在百度搜索时,每次输入之后都有联想词弹出,这个控制联想词的方法就不可能是输入框内容一改变就触发的,他一定是当你结束输入一段时间之后才会触发。二、节流(thorttle):高频事件触发,但在 n 秒内只会执行一次,所以节流会稀释函数的执行频率举例:预定一个函数只有在大于等于执行周期时才执行,周期内调用不执行。就好像你在淘宝抢购某一件

2021-07-22 19:26:27 1346

原创 vue环境的搭建

哎~~~java小白开始转方向学前端了~~Vue前端环境搭建:1、Python安装:双击运行,配置环境变量path(其实具体我也不知道到底要不要装)2、node安装:https://nodejs.org/dist/v8.16.1/ (下载一个8.16.1版本的)直接双击运行配置环境变量:path:D:\software\nodejs\node_global\...

2019-12-07 17:06:15 631

原创 简历准备+面试经历

写这篇博客的原因纯粹是因为我现在真的太无聊了,打发一下时间,然后就等着下班了。偶然翻到自己为面试做的一些准备,就想分享分享。那段时间我觉得我过得还算充实,上班之后莫名觉得又累又无聊,累可能是闲的心累,我同学最近忙着做毕业设计,我到现在都没想好自己要做什么,有些迷茫,算了,明天再想吧。先把今天过完,明天又是元气满满的一天哈哈哈哈~~~~内容写的还是蛮粗糙的,希望能有点用处~~~简历准备:...

2019-09-29 17:16:28 421 2

原创 Linux学习--------ubuntu安装出现的各种BUG

1、虚拟化服务未开启 错误:VM au..... server is not running 打开任务管理器->性能->CPU查看虚拟化服务是否已开启 如果没有开启:打开任务管理器->启动->找到五个以VM开头的服务并开启2、64位错误虚拟化的步骤: 1.在电脑开机的时候,按住F1(个人电脑不同,按键不一样...

2019-09-02 10:17:05 568

原创 corejava学习-----------------路径获取问题

(一)Class类中的getResource方法的用法:Class类中的getResource(" ")方法是指,通过传入的文件名去获取对应文件名的资源地址。(1)Test2.class.getResource("/a.txt"):是指在Test2这个类的字节码文件所在的根目录下(也就是bin目录下)获取a.txt文件的资源地址,如果bin目录下不存在a.txt,则返回null ...

2019-08-26 20:44:53 293

原创 corejava学习-----------------线程

一、线程的作用 (1)做一个非常耗时间的代码,线程执行循环读写操作 (2)使用线程让多个代码同时执行,视频下载二、线程的分类 (1)前台线程(执行线程) 自己执行,自己停止 (2)后台线程(守护线程/精灵线程) 该线程不会单独执行, 当其他非守护线程都执行结束后, 自动退出【守护线程 也可以守护 ma...

2019-08-18 12:53:58 143

原创 final static abstract public synchronized修饰符

一、final修饰符二、static修饰符三、abstract修饰符四、访问修饰符五、synchronized修饰符采用synchronized修饰符实现的同步机制也叫做互斥锁机制,它所获得的锁叫做互斥锁。当多个线程去操作同一个数据时可能会出现数据混乱的问题,如何处理?? ==》同步原理1.同步方法: (1)普通成员方法:synchronized...

2019-08-18 12:27:45 231

原创 corejava学习-----------------异常

一、什么是异常: 异常就是在程序运行或者是编译阶段遇到的一些状况,比如:文件找不到、非法参数等等 它干扰了程序正常执行的流程,Java通过API中Throwable类的众多子类描述各种不同的异常。 因而,Java异常都是对象,是Throwable子类的实例,描述了出现在一段编码中的 错误条件。 从结构图中可以看出,java中所有的异常都是继承自父类Th...

2019-08-11 11:50:06 415 4

原创 corejava学习-----------------通过反射略过泛型的检查

1、我们都知道泛型出现的原因主要是为了统一集合中的数据类型,防止添加进集合中的数据不统一,导致在从集合中取数据的时候只能取到Object类型的,到时候需要进行复杂的强制类型转换,而直接强转是有风险的,所以为了使代码更加的规范,或者说避免出现失误,就出现了泛型。2、泛型只会在编译阶段起作用,运行的时候就会被擦除掉,也就是说当你往集合中放数据的时候,泛型会进行限制你存放数据的类型,如果你存放的数据...

2019-08-10 21:47:50 130

原创 corejava学习-----------------通过反射获取内部类的构造器

(一)在通过反射获取内部类的构造器时只需要搞清楚以下这几点就好了:1、非静态的内部类,构造时,会默认的将外部类的类型作为构造器的第一个参数2、静态内部类则不会添加默认的参数3、通过全限定名或者字节码文件的Class类型的对象时,要使用内部类所生成的字节码文件的名字而不能直接使用eclipse复制获得的全限定名,因为一个包含了内部类的java文件在编译的时候会产生两个字节码文件(.cla...

2019-08-09 15:08:11 189

原创 Linux学习--------vim编辑器的问题

1、移除有问题的vim编辑器sudo apt-get remove vim2、下载一个新的vim编辑器sudo apt-get install vim

2019-07-25 12:07:18 103

原创 Linux学习--------ubuntu操作系统创建用户的过程

1、在虚拟机软件上导入ubuntu镜像(以.ios结尾的文件),在导入的过程中会要求创建一个ubuntu操作系统的用户记住自己设置的密码: username:yangliu password:yangliu2、再次启动ubuntu操作系统的时候,就可以使用这个用户名和密码进行登录3、给root用户设置密码 (1)使用sudo su进入root...

2019-07-24 21:26:19 276

原创 Linux学习--------/etc目录下的配置文件

一、/etc/passwd文件:存放用户的信息 一行代表一个用户的信息二、/etc/shadow文件:涉及到了用户的密码信息,对权限要求高(root用户才能查看) 一行代表一个用户的密码信息三、/etc/group文件:存放用户组的信息注意:linux操作系统中,这个组会把和组同名的用户默认添加进来...

2019-07-24 18:10:26 436

原创 Linux学习--------登录

一、登录本地计算机: (1)登录操作系统:打开计算机的时候使用用户名和密码登录 退出:poweroff(关机) (2)shell登录:打开终端的时候就已登录 退出:exit二、登录远程计算机: (1)使用telnet方式:telnet 172.16.7.250 ...

2019-07-24 17:41:45 661

原创 Linux学习--------文件系统

Linux操作系统中的重要目录:/:根目录,Linux/Unix文件系统的顶级目录,相当于windows中的C盘/opt:存放用户所有安装的第三方软件/etc:存放和系统相关的配置文件/dev:设备文件(Linux操作系统中的所有数据都是基于文件的,包括输入输出设备)就如鼠标、键盘这些设备在Linux操作系统中都有对应的设备文件)/usr:Unix System Resourc...

2019-07-24 17:22:51 161

原创 电脑连接不上ftp服务器的几大原因:

一、防火墙未关闭 解决方法如下: 1、进入”控制面板“ 2、点击”系统和安全“ 3、点击”Winsows 防火墙“ 4、单击左侧的”打开或关闭Windows防火墙“ 5、在”家庭或工作网络位置设置“和”公用网络位置设置“两项里选择关闭防火墙,单击”确定“即可。二、设置有误,FTP被动模式没有禁止。 解决方法如下: 1、打开IE浏览器,...

2019-07-24 10:14:03 49218

转载 解决windows和虚拟机上ubuntu操作系统之间文件复制不了的问题

解决办法一: 第一步:添加DVD/CD(SATA)硬件设备: http://www.linuxidc.com/Linux/2016-04/130806.htm 第二步:打开虚拟机进行安装: https://www.linuxidc.com/Linux/2016-04/130807.htm解决办法二: 之前能够复制,重装完u...

2019-07-24 09:11:02 2647

原创 corejava学习-----------------枚举类

枚举类(普通类)(一)枚举类的实质 1.枚举类是不允许随便构建对象的 2.枚举类内部会把自己这个类可以产生的对象提前产生,并且以变量形式放置到类的第一行。 3.有一个类,里面的类型相对是固定的,这时候就可以将其设置为枚举类(二)枚举类的书写规则 public enum className{ //必须是第一行,把由这个类构建的对象...

2019-07-09 14:53:11 101

原创 corejava学习-----------------泛型

泛型(一)泛型出现的原因:1、首先从集合开始说起,集合存放的数据类型不确定,但如果直接只限定一种数据类型又不太合适,这时候泛型就产生了 2、如果集合不不使用泛型,则集合中的元素不统一,在遍历集合的时候只能拿出来Object类型,需要做大量的强制类型转换,所以可以统一集合中的数据类型,可以减少强制类型转换,而且从集合中取出数据用Object接收后面再使用类型强转是有风险的;3、泛...

2019-07-09 14:11:46 145

原创 corejava学习-----------------反射

反射:(一)、反射机制的概念: JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性; 这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 要想解剖一个类,必须先要获取到该类的字节码文件对象。而解剖使用的就是Class类中的方法。所以先要获取到每一个字节码文件对应的...

2019-07-08 21:17:33 183

原创 corejava学习-----------------集合

集合集合出现的原因就是为了弥补数组的长度是固定不可变的缺陷,以及存放引用类型的数据。(一)集合与数组的区别:1、集合:容器,装载一定数据量不确定的数据(1)位于java.util包中 (2)不能存放基本数据类型,使用包装器类把基本数据类型装箱 (3)下标从0开始 (4)使用size()方法获取集合的长度 2、数...

2019-07-08 17:33:19 157

原创 corejava学习----------------Object类中常用方法介绍

Object中常用方法的重写:一、equals():两个对象比较原则 讲equals前首先要讲讲equals和==的区别; (1)==在比较基本数据类型时,比较的是值;在比较引用数据类型时比较的是地址值; (2)equals是用于两个对象之间的比较;当所比较的类类型没有对equals进行重写的时候,会使用Object中的equals方法进行比较,这时比较的是地址值;当...

2019-07-04 19:55:01 99

原创 corejava学习-----------------内部类

一、静态内部类:1、声明的语法 声明在成员变量的位置,使用static修饰 public static class{} 2、内部类可以直接访问外部类的哪些内容 只能直接访问外部类的静态成员变量; 若要访问外部类的实例成员,需要通过外部类的实例进行访问;3、外部类可以直接访问内部类的哪些内容 可以通过类名访问静态成员 通过内部类的实...

2019-07-04 19:33:21 115

原创 mybatis-generation使用过程中遇到的问题

问题一:在使用mybatis-Generator生成xml时,应该有insert、insertSelective、selectByPrimaryKey、updateByPrimaryKeySelective、updateByPrimaryKey、deleteByPrimaryKey等方法,但是在生成的xml文件中缺少ByPrimaryKey。查找资料,有的说是表没有主键,有的说是jar包...

2019-04-18 18:47:00 568

原创 CSS的学习(二)---------重点内容

1.加外边距的时候会和父元素的外边距合并,这时我们会得不到我们自己想要的效果,所以我们可以采用给父元素加内边距的形式达到这个目的。2.盒子(块元素)的外边距是不会累加的3.实现居中的几种方式:(1)margin:0 auto;表示上外边距为0,左右居中。(这种适用于容器的居中)(2)line-height:设置行高为容器的高度,那么字体(仅限于字体和行内元素)就会在容器中垂直居中...

2019-04-13 14:27:40 87

原创 CSS的学习(一)-------CSS中的基本语法

1.CSS即层叠样式表,用于修饰HTML2.语法(1)css的声明 属性名:属性值; color:red;(2) css声明块 { 属性名1:属性值1; 属性名2:属性值2; }3.CSS声明可以如何应用到html中(三种...

2019-04-13 13:53:32 123

转载 Android总结:Activity的生命周期

一、Activity的基本概念  Activity是Android的四大组件之一,它是一种可以包含用户界面的组件,主要用于和用户进行交互,比如打电话,照相,发送邮件,或者显示一个地图!Activity用于显示用户界面,用户通过Activity交互完成相关操作 , 一个App允许有多个Activity。二、Activity的生命周期  Activity生命周期是每一个Android开发者都必须...

2019-04-04 15:20:09 212

空空如也

空空如也

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

TA关注的人

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