自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 资源 (4)
  • 收藏
  • 关注

原创 js中基于正则的多字符串分割split

注意:一定要将**\+|\-** 用括号括起来,因为我们想分割的特征是 任意个空格后面跟着加号或者减号,再跟着任意个空格, 而不是任意个空格后面跟着加号,或者减号跟着任意个空格。会导致加号和减号出现在分割结果中是因为:当我们使用正则进行分割时,如果正则中存在捕获,捕获的内容会被直接拼接到分割结果中。基于此,我们可以实现去除加号两边的空格而保留减号两边的空格的效果,即使这可能不会再实际中遇到。的结果)将被拼接到输出数组中。是包含捕获括号的正则表达式,则每次。匹配时,捕获括号的结果(包括任何。

2023-08-03 16:13:45 1500

原创 html字符串转义与反转义

html字符串转义和反转义

2022-06-19 02:14:28 1460

原创 dom节点序列化与反序列化(XMLSerializer和DOMParser)

dom序列化和反序列化

2022-06-19 02:13:26 781

原创 dom节点遍历 TreeWalker

dom节点遍历

2022-06-19 02:12:41 344

原创 dom节点遍历 NodeIterator

dom节点遍历

2022-06-19 02:11:46 247

原创 前端页面生成pdf方案

前端pdf导出方案

2022-06-19 02:10:46 2691

原创 markdown渲染增加行号

markdown渲染代码增加行号

2022-06-16 00:24:34 1500

原创 网页渲染markdown(markdown-it)

使用markdown-it在网页上渲染markdown文件

2022-06-13 23:51:51 2743 1

原创 利用grunt本地管理svg,生成icon.js

本地实现svg生成icon.js功能,不用将图标上传到阿里矢量库

2022-06-10 16:03:44 444

原创 自定义输入框focus效果实现

input{ border: none; outline: none; background: linear-gradient(to bottom, transparent 95%, red 95%) no-repeat; height: 30px; background-size: 0 100%; transition: background-size ease-in-out 0.5s; } ...

2022-05-23 23:35:59 367

原创 antdesign限制时间段选择

const disabledStartDate = (startValue: any)=> { if(startValue.isAfter(moment())){ return true; } if (!startValue || !endTime) { return false; } const startDate = moment(startValue.valueOf()) const endDate = moment(end

2022-05-19 19:43:15 487

原创 PermitRootLogin不生效,ssh允许root登录

1、sshd -T | grep etc查看当前sshd的配置文件位置2、修改PermitRootLogin为true3、重启sshd

2022-04-30 15:40:18 3014

原创 fiddler使用

1、网络延时

2022-04-24 16:43:44 169

原创 js文本拷贝到剪切版

function copyText (text) { if ((navigator as any).clipboard) { (navigator as any).clipboard.writeText(text); } else { const textarea = document.createElement('textarea'); document.body.appendChild(textarea); textarea.style.position =

2022-04-20 16:34:32 166

原创 线性插值动画

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><canvas width="800" height="500" id="canvas"></canvas><script src="index.js"></

2022-04-15 15:32:15 342

原创 基于vue3,popperjs下拉框简易实现

<template> <input v-model="text" placeholder="请选择" id="trigger"/> <ul id="mylist" style="display: none"> <li>test1</li> <li>test2</li> <li>test3</li> <li>test4</li> &lt

2022-04-15 12:22:11 1874

原创 window.crypto.subtle进行rsa-oaep加密

const pemEncodedKey = `-----BEGIN PUBLIC KEY-----MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxiuhgssxHclogWzB7OGyvkIB+HGUO4hODykrz3c0/SBLJZc78mq7VaL3EnicGpoXFJkao3I+1C7MD5Jpa27bSc22veI0frbd/nbiSutvwAnf3rpVJEQtFTMz3v4OpSRcjOhIxKsL6iZ0JTt5++gksqeyrMt...

2022-03-02 14:12:55 1493

原创 node-sass安装报错解决

修改本地使用的node版本可以解决二进制文件找不到的问题

2021-11-09 15:03:39 150

原创 konva缩放

this.stage.on('wheel', (e) => { const direction = e.evt.deltaY > 0 ? -0.1 : 0.1; this.scale = this.scale + direction; if (this.scale < 0.1) { this.scale = 0.1; return; } if (this.scale > 1) { ...

2021-10-30 20:32:41 1439 3

原创 service worker 缓存

this.addEventListener('install', function(event) { //安装应用 this.skipWaiting() event.waitUntil( caches.open('v3').then(function(cache) { return cache.addAll([ '/index.html', ]); }) );})

2021-07-12 18:24:59 318

原创 常见前端插件

Tippy.js tip提示插件popperjs 定位插件

2021-06-26 10:22:00 242

原创 前端基础知识

CORS通信

2021-06-25 21:56:54 93

原创 粘滞标题列表

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><style> .sticky-dom{ position: sticky; top: 0; } .sticky-dom-parent{ pos

2021-06-25 18:54:49 86

原创 css整屏滚动

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><style> html,body{ scroll-snap-type: y mandatory; height: 900px; overflow: auto;

2021-05-19 14:33:20 331

原创 javascript数字范围

-Infinity < -MAX_VALUE < MIN_SAFE_INTEGER = -MAX_SAFE_INTEGER < -1 < -MIN_VALUE < 0 < MIN_VALUE < 1 < MAX_SAFE_INTEGER < MAX_VALUE < Infinity-MIN_VALUE ~ MIN_VALUE 范围内的限制为0MIN_VALUE ~ MAX_SAFE_INTEGER 和 -MAX_SAFE_INTEGER

2021-03-21 17:14:47 132

原创 排序算法

冒泡排序function bubbleSort(arr){ let len = arr.length; for(let i = 0; i < len -1; i++){ for(let j = 0; j < len -1 - i; j++){ if(arr[j] > arr[j+1]){ swap(arr,j,j+1) } } } return

2021-03-12 23:24:24 94

原创 js正则表达式分组捕获

捕获const reg = /I have a (apple|watermelon)/;reg.test('I have a apple') // RegExp.$1 = 'apple'利用捕获循环处理字符串比如去掉’[[[aaa]]]'中的中括号(这里只是举个例,可以这样来处理更复杂的模板字符串)const reg = /\[([a-zA-z]*)\]/;let str = '[[[aaa]]]';while(reg.test(str)){ str = str.replace(re

2021-03-10 20:18:42 743

原创 html pointer-events

参考 https://www.cnblogs.com/kunmomo/p/11752669.htmlhttps://developer.mozilla.org/zh-CN/docs/Web/CSS/pointer-events

2021-03-07 22:40:23 212

原创 d3.js zoom中的translateBy,scaleBy,translateTo,scaleTo

文章中假设svg的长为width,高为height1.scaleTozoom.scaleTo(selector,n,[x1,y1])scaleTo的放大过程:将svg的坐标x,y都放大到n倍,目标元素的相应属性也放大n倍,同时会将目标进行位移,默认的位移大小为x = 0 - width / 2 *( n - 1) , y = 0 - height/ 2 *( n - 1)。所以当元素放大后默认情况下元素会向左上方位移 ,但是当我们放大时,大多数情况我们还是希望元素还是停留在当前的一个位置,仅仅是他

2021-03-06 14:46:02 1800

原创 sequelize执行不同配置(环境)的数据库升级

{ "development": { "username": "root", "password": "123456", "database": "db", "host": "127.0.0.1", "dialect": "mysql" }, "test": { "username": "root", "password": "123456", "database": "test", "host": "127.0.0.1",

2021-02-13 16:10:29 372

原创 css控制文本的显示行数,多余显示省略号

//由于-webkit-line-clamp,-webkit-box-orient只有谷歌和部分其他版本的其他浏览器支持, //所以需要对不支持的浏览器也做些兼容 line-height: 22px; height: 66px; //在支持的浏览器上文本只会显示3行,多余会显示省略号 overflow: hidden; display: -webkit-box; -webkit-line-clamp...

2021-02-06 01:02:37 320

原创 egg使用ctx.getFileStream进行文件上传

stream = await ctx.getFileStream();stream.filename :文件名称,stream.fields:附加字段页面: formData.append('width', width) formData.append('height', height) formData.append('type', "1") formData.append('filename', file)formData.append(‘filename’, fi.

2021-02-03 22:14:12 2670

原创 egg.js中sequelize配置项

sequelize: {dialect: ‘mysql’,host: ‘127.0.0.1’,username: ‘root’,password: ‘123456’,port: 3306,database: ‘db’,define: {//查询是对字段驼峰类型和下划线类型进行转换underscored: true,//使用自己配置的表名,避免sequelize自动将表名转换为复数freezeTableName: true,//对于create_at,和update_at,禁止查出cr

2020-11-22 23:24:07 984

原创 egg.js单元测试中测试依赖session的接口

比如在Controller中,我们需要通过确认session中的userId验证用户是否登录过,在单元测试中便可以通过app.mockSession来模拟一个session app.mockSession({ userId: '1' });

2020-11-22 17:36:21 253

原创 egg.js测试文件上传的接口

'use strict';const { app } = require('egg-mock/bootstrap');describe('test/app/controller/picture.test.js', () => { it('should POST /api/picture', () => { app.mockCsrf(); return app.httpRequest() .post('/api/picture') .set('

2020-11-22 02:50:40 308

原创 centos7 mysql安装

centos7 mysql安装步骤问题步骤官网https://dev.mysql.com/downloads/repo/yum/下载 Yum 资源包wget http://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpmrpm -ivh mysql80-community-release-el7-3.noarch.rpmyum updateyum install mysql-server权限设置chown mysql:mysq

2020-11-21 13:04:10 160

原创 web安全

XSS 攻击 ,对 Web 页面注入脚本,使用 JavaScript 窃取用户信息,诱导用户操作CSRF 攻击,伪造用户请求向网站发起恶意请求钓鱼攻击,利用网站的跳转链接或者图片制造钓鱼陷阱HTTP参数污染,利用对参数格式验证的不完善,对服务器进行参数注入攻击远程代码执行,用户通过浏览器提交执行命令,由于服务器端没有针对执行函数做过滤,导致在没有指定绝对路径的情况下就执行命令...

2020-10-01 23:06:05 96

原创 react-native项目创建

依赖安装必要的依赖包括:Node:建议安装最新的Python:2.xJDK :1.8,不支持1.9Android Studio:主要安装一些其他的依赖,如果你这时候还没安装,你可以在安装的时候确保已经安装了Android SDK,Android SDK Platform,Performance (Intel ® HAXM),Android Virtual Device,如果你之前已经安装过了Android Studio,此时你可以在Android Studio的Tools的SDK Manager中

2020-08-16 23:29:44 222

原创 react测试(5)jest Mock Functions

Mock 函数可以使用来测试代码之间的连接,即用来测试函数被调用的参数,返回值,调用了几次等等测试函数被调用的参数和返回值创建一个Mock Functions //定义一个调用一定此时回调函数的方法 function useCallBack(callback, count){ for (let i = 0; i < count; i++){ callback(i) } }

2020-08-08 17:54:58 556

原创 react 测试 (4) jest 异步代码测试

interface.js中放着调用接口的方法,假设我们要测试greeting接口的返回数据,或者经过业务处理后的数据//interface.jsimport axios from "axios"//返回数据型export const getGreeting = function(){ return new Promise((resolve, reject) => { axios.post("/greeting").then(response => resolv

2020-08-08 12:26:48 409

three.js 3D地球实例,支持国家点击和飞线

three.js 3D地球实例,支持国家点击和飞线

2022-02-11

node_modules.zip

解决next.js创建时卡在sharp的问题

2021-02-04

react项目demo

一个简单的react项目,其中引入了bootstrap,react-redux, react-router-dom,还包括了3个小的redux页面demo

2019-04-06

springcloud链路追踪demo(基于zipkin)

一份springcloud链路追踪的demo源码,包括了在不使用rabbitmq的情况下得到链路追踪demo和使用了rabbitmq的情况下的链路追踪demo,其中app1,app2使用了rabbitmq的demo,app3,app4未未使用rabbitmq的demo,

2019-04-05

空空如也

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

TA关注的人

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