自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 资源 (11)
  • 收藏
  • 关注

原创 某厂面试题(判断循环依赖)

某厂笔试题目

2024-04-03 19:36:52 336

原创 实现qq音乐歌词滚动效果

实现音乐播放器的歌词滚动功能,实现声音的波形图显示

2024-03-07 11:02:35 362 1

原创 vue2.0+elementui集成file-loader之后图标失效问题

帮助开发解决在vue+element-ui项目中,可能碰到的webpack配置问题,关于file-loader

2023-11-23 14:03:30 866

原创 uniapp使用Hbuilder打包【离线】原生app

uni-app入门使用打包离线原生app

2023-06-14 13:28:19 275

原创 nodejs判断svg类型

判断svg文件类型,当没有指明content-type或者后缀

2022-12-20 11:10:24 226 1

原创 jpg和jpeg ,以及文件类型统计

该文章用于表述文件后缀和类型的对应,间接阐述jpg和jpeg的区别

2022-12-20 11:01:11 220

原创 nodejs清空文件内容

nodejs中如何清空写入的文件

2022-11-10 18:48:10 731

原创 ng设置请求头的nodejs中使用以及避坑

前言获取用户真实ip, 该ip在ng的设置了proxy_set_header x-read-ip, 由于项目中使用nodejs层做转发到java,所以java端获取到的ip是服务器的ip,而不是真实的用户ip,需要将此值放到nodejs请求头透传给java端。nginx的设置如下:const XForwardedFor = req.headers['x-forwarded-for'] as string;const realIp = XForwardedFor ? XForwardedFor.sp

2022-05-17 20:50:47 581

原创 顶象无感防刷验证使用记录

顶象无感防刷验证的使用记录记录一段坑代码说明注意事项当回调函数中,存在定时器操作记录一段坑莫名的函数调用代码说明// token是否有效 isValidToken = () => { const wmti = localStorage.getItem('workbench_mobile_token_isValid'); if (!wmti) return false; const curr_time = new Date().getTime(); const

2022-05-17 20:41:07 256

原创 jquery打包到webpack项目

入口文件 — index.jswindow.$ = require('jquery')webpack.config.jsconst webpack = require('webpack')module.exports = {... plugins: [ ... new webpack.ProvidePlugin({ $: 'jquery', jQuery: 'jquery' }) ... ]...}...

2021-12-21 14:34:14 1346

原创 vue中使用webpack添加svg以及去除fill

前言vue项目中使用iconfont图标库的时候,如果是直接将iconfont对应的文件下载,然后导入到项目当中,其实对于后续代码的维护以及更新图标是一个比较麻烦的事情,但是如果我们引入图标只需要下载对应的svg就很方便了,所以为了快速的使用图标,我们需要使用webpack中的loader来对svg图片进行配置。如有不当,敬请告知!前提条件:vue2.x版本,webpack3.x版本(so低版本真的恶心)一、vue项目中引入全局组件SvgIcon网上一搜一大堆,下面是我之前高版本项目中使用的

2021-11-03 16:40:24 3022 2

原创 循环引用和你不知道的JSON.stringify

前言将循环引用和JSON.stringify放在一起,眼界宽的大佬应该知道我要阐述的东西是什么了;不太清楚的xdm不用着急,这篇文章将带你们彻底搞懂循环引用,以及使用JSON.stringify的黑魔法来序列化循环引用的对象。如有错误之处,还望指出!一、What is 循环引用?来自百度百科的解答当一个单元格内的公式直接或间接地应用了这个公式本身所在的单元格时,就称为循环引用。以上回答有点抽象,不过很简洁的表达了循环引用,接下来会站在js的角度去讲述什么是循环引用。- 对象之间相

2021-10-28 09:59:01 689

原创 H5页面中判断微信小程序和微信浏览器环境

方法一:首先通过ua判断微信环境,然后使用getEnv判断是否为小程序(res.miniProgram为true)还是微信浏览器(res.miniProgram为false)wx.miniProgram.getEnv(res => res.miniProgram && ‘小程序环境’)方法二:嵌套在webview中,可以使用self !== top来判断是否为小程序方法三:当然前两种还是有缺陷,可以使用在h5链接上添加小程序的唯一标识(参数) 比如 previewer =

2021-09-09 17:00:01 3255

原创 判断h5页面是否在app当前的试图中

document.addEventListener(‘visibilitychange’, this.changeHidden, false);/**是否进入后台 或者 隐藏*/changeHidden = () => {if (document.hidden) {this.audioPlayer && this.audioPlayer.pause();} else {this.audioPlayer && this.audioPlayer.play()

2021-09-09 16:49:28 263

原创 js--(crypto)自定义生成范围内随机数

文章目录背景替换random的方案方案一:方案二, 使用crypto([参考文章](https://blog.csdn.net/gengkui9897/article/details/106344417))背景作为伪随机数生成方法Math.random(),存在一些安全隐患,如果触碰到代码扫描这关,估计就得被打回来重新寻找新的生成随机数的方法了。。。。替换random的方案最重要的一点,就是可以透过代码扫描方案一:// 返回a-b之间任意的整数 这里需要注意 seed需要具备全局变量的性质

2021-08-11 13:34:55 1070

原创 web性能优化---图片优化

先来看一道易错题​```let a = {a: 1}let b = a // 相当于把b的地址 指向a的内容a.x = a = {n: 2}//由于a.x = a把a的地址指向了a.x 然而由于b本来就是指向a 所以b会多一个x属性console.log(a.x)console.log(b.x)​```打印结果// undefined// {n: 2}web性能优化------图片优化前言为什么要进行图片优化?在前端输入url到页面加载完成这个过程,有一个很重要的就是

2021-04-30 15:56:13 348 1

原创 Web性能优化---script再底部 link在头部

Web性能优化----script在底部 link在头部前言页面解析html的方式决定了。由于浏览器采用至上而下的方式解析,所以会先解析html, 直到遇到外部样式和外部脚本。这时会阻塞浏览器的解析。(在没有async、defer属性下),外部样式和外部脚本会并行加载,但外部样式会阻塞外部脚本的执行。如果是内联脚本(动态脚本),则不受样式影响,在解析到它会执行外部样式后续 外部脚本 含有async属性,外部样式不会阻塞该脚本的加载与执行当初始的 HTML 文档被完全加载和解析完成之后,D

2021-04-30 15:53:57 90 2

原创 使用python脚本,读取js文件,并修改国际化en.js

项目场景:公司小伙伴需要将国际化中的en.js文件进行批量的数据修改,主要是将value值部分,改为首字母大写,突发奇想python的魔力代码:我这里使用一个新的文件去接收,修改后的文件数据。# 将国际化en.js英文文件中的value值改成首字母大写,效果 def test(): a = ':' f_new = open('C:/Users/gyp/Desktop/new.js', 'w+', encoding='utf-8') with open('C:/U

2021-04-28 17:44:01 1247

原创 白屏-优化

白屏时间:即用户点击一个链接或打开浏览器输入url地址后,从屏幕空白到显示第一个画面的时间白屏过程,经历了什么?1. DNS解析,浏览器从DNS服务器中进行域名查询 浏览器会对页面进行域名解析,获取到服务器的IP地址后,进而和服务器进行通信2. 建立TCP请求连接 TCP通过三次握手建立连接,并提供可靠的数据传输服务 三次握手:建立连接 第一次握手:建立连接时,客户端发送syn包(seq=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchroni

2021-04-22 16:50:58 100

原创 css权重

口诀权重记忆口诀:从0开始,一个行内样式+1000,一个id选择器+100,一个属性选择器、class或者伪类+10,一个元素选择器,或者伪元素+1,通配符+0。

2021-04-22 16:47:40 61

原创 word与markdown的互转

word 互转 markdown项目中涉及到了Vuepress这个框架的使用,由于它所使用的内容是md,由于需要大量翻译word为md, 特写此篇。一、word转markdown方法一: 借助typora这个软件,将word中的内容复制,打开typora粘贴,然后保存。如下图方法二:可以借助下面的网站https://word2md.com/二、markdown转word借助typora软件直接打开你要转word的markdown文档,然后文件----导出-----Word

2021-04-15 10:16:20 1947

原创 搞定盒子模型

什么是盒子模型?包含了元素内容(content)、内边距(padding)、边框(border)、外边距(margin)几个要素。标准模型和怪异(IE)模型CSS3新增属性box-sizing,可以设置模型类型content-box, 则是标准模型;border-box,则是IE模型(怪异模型)两者区别唯一的区别就是宽度和高度计算不同,IE模型,它的元素宽度width=content + 2 padding + 2 border, 高度计算相同标注模型, 它的元素宽度width=co

2021-04-06 11:24:48 54

原创 字符串加密

题目:解析:无代码产出:const readline = require('readline');const rl = readline.createInterface({ input: process.stdin, output: process.stdout});var count = 1var keys = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',

2021-03-30 18:07:22 57

原创 vue前端性能优化之cdn的使用

优化原因目中首页加载过慢, 原因是js,css 静态资源第一次加载的时间长vue.config.js'use strict'......const cdn = { js_cdn: [ 'https://cdn.jsdelivr.net/npm/[email protected]/moment.min.js', 'https://unpkg.com/[email protected]/dist/vue.js', 'https://unpkg.com/[email protected]/dist

2021-03-24 15:13:08 665

原创 最大连续子数组

最大连续子数组与它的和思路代码思路利用动态规划的思想,分界线:当且仅当前几项的和小于等于0表达式:当前几项的和大于最大值,则替换最大值max替换最大值的同时,也是得到当前最大子数组的最后一位索引值,当前几项的和小于等于0时,也就是得到最大子数组的开头索引值代码var maxSubArray = function(nums) { let max = nums[0]; let former = 0; let current; let start = 0 let end = 0 f

2021-03-23 19:13:36 107

原创 vue+ elementUI国际化

作用通过配置国际化,可以使系统同时拥有多种语言的展现形式。文章目录作用一、i18n二、使用步骤1.创建i18n目录2.导入main.js,挂载到vue3. 如何在代码中使用一、i18n使用插件vue-i18n1.安装npm install vue-i18n --save二、使用步骤1.创建i18n目录目录结构(示例):其中config子文件夹的作用是用来存放各个语言模块的容器;index.js文件是导入和配置i18n的主要文件,直接上代码。有必要说明一下,element

2021-03-16 14:55:01 253

原创 字符串加解密

题目:解析:本题的解决思路 操作ASCII码 。0~9 ASCII对应为 48 - 57A~Z ASCII对应为 65 - 90a~z ASCII对应为 97 - 122ASCII码与字符之间的转化, String.fromCharCode(code) code = str[i].charCodeAt()代码产出:const readline = require('readline');const rl = readline.createInterface

2021-03-15 13:55:50 102

原创 素数伴侣

题目:解析:本题目采用了匈牙利算法,起初以为只是找到所有的素数伴侣,但是题目有一个条件,那就是每个数字只能使用一次,组成拥有最多的素数伴侣代码产出:const readline = require('readline');const rl = readline.createInterface({ input: process.stdin, output: process.stdout});var count = 0rl.on('line', function (line)

2021-03-12 14:39:02 275

原创 查找兄弟单词

题目:解析:题目的意思很清晰代码产出:const readline = require('readline');const rl = readline.createInterface({ input: process.stdin, output: process.stdout});rl.on('line', function (line) { fn(line)});var fn = (line) => { let arr = line.split

2021-03-11 09:37:14 97

原创 华为机试---字符串排序

题目:解析:题目的意思很清晰代码产出:const readline = require('readline');const rl = readline.createInterface({ input: process.stdin, output: process.stdout});rl.on('line', function (line) { fn(line)});var fn = (line) => { // 用来存放各个字母的顺序,key值全

2021-03-10 16:49:34 106

原创 华为机试--数据分类处理

题目:解析:题目的意思很清晰代码产出:const readline = require('readline');const rl = readline.createInterface({ input: process.stdin, output: process.stdout});var total = 0var arrTotal = []rl.on('line', function (line) { total++ if(total%2!==0) {

2021-03-09 11:30:33 181

原创 删除字符串中出现最少的字符

题目:解析:题目的意思很清晰代码产出:const readline = require('readline');const rl = readline.createInterface({ input: process.stdin, output: process.stdout});var reg = /^[a-z]*$/g;rl.on('line', function (line) { if (line.match(reg)) console.log(fn(lin

2021-03-05 08:54:42 103 1

原创 简单密码--华为机试

题目:解析:题目的意思很清晰, 碰到大写字母 —换为小写—向后移动一位(遇到z 循环向前 为 a)碰到小写字母----换为对应的数字碰到数字不变代码产出:const readline = require('readline');const rl = readline.createInterface({ input: process.stdin, output: process.stdout});var data = 'abcdefghijklmnopqrstuvwxyz

2021-03-04 14:02:14 103 2

原创 前端深拷贝和全排列算法

深拷贝// 手写深拷贝 var deepCopy = (obj) => { // 起初要判断是对象还是数组 let temp = Array.isArray(obj) ? [] : {} for (let i in obj) { // 当它是简单类型 直接赋值 这也是递归的出口 if (typeof obj[i] !== 'object') {

2021-03-03 11:48:15 95

原创 密码验证合格程序

题目:解析:题目的意思很清晰,但是千万要认真 比如说超过长度8, 而不是>=8(这里博主自己粗心,老是会想成包含)代码产出:// 48~57为0到9十个阿拉伯数字;65~90为26个大写英文字母;97~122号为26个小写英文字母。const readline = require('readline');const rl = readline.createInterface({ input: process.stdin, output: process.stdout

2021-03-02 13:54:24 95

原创 简单错误记录

题目:解析:题目的意思就是,在输入的每一行中,文件名称和行号代表的是唯一存在的属性,然后相同的错误就把对应的属性值加一。还有就是输出的结果记录中,文件名称只取后16位 str.slice(-16)这道题可能会卡住的点:记录最多8条记录,所以当到第九条的时候,会果断的删除掉 不再记录;这里会存在的错误就是,当你删除掉的数据中有和未记录的数据是相同的时候,是无法判断的(因为未记录的和已删除的数据相同的,也是不该出现的最终结果的8条记录中)代码产出:const readline = requi

2021-03-01 11:27:11 89

原创 识别有效的IP地址和掩码,并计数

题目:解析:题目的意思就是,很清晰!!!! 直接上代码 代码中的注释很清晰欢迎互相交流代码产出:const readline = require('readline');const rl = readline.createInterface({ input: process.stdin, output: process.stdout});// 索引为2 3 4 5 6 7 8存放A、B、C、D、E、错误IP地址或错误掩码、私有IP的个数var ignore = [0

2021-02-26 14:56:13 106

原创 十进制转二进制

题目:解析:题目的意思就是,十进制转二进制, 最后输出二进制中1 的个数代码说明方法一:使用js的库函数, parseInt(str).toString(2) 将数字转为二进制的字符串最后使用正则匹配,求出1的个数方法二:递归,具体看代码代码产出:const readline = require('readline');const rl = readline.createInterface({ input: process.stdin, output:

2021-02-25 12:02:11 148

原创 合并表记录

题目:解析:题目清晰明了(。。。。)代码产出:const readline = require('readline');const rl = readline.createInterface({ input: process.stdin, output: process.stdout});// 记录共几对键值对var total = 0var obj = {}rl.on('line', function (line) { fn(line)});var fn

2021-02-24 09:34:18 53

原创 十六进制转十进制

题目:解析:十六进制转十进制(百度百科)理解了十六进制转十进制以后,大致的思路就是,你得把除0-9的数字以外的A 、B 、C 、D 、E 、F 这六个对应的数字定义为一个对象中,以便后续使用(具体看代码)最后需要注意的就是,计算十六进制到十进制时,第一位是在末尾。好了 可以写代码了代码产出:方法一: 就是直接倒着读取字符串var fn = (line) => { // A B C D E F 各指的数字 var obj = { A: 10

2021-02-23 15:20:33 333

git使用流程.png

适用于使用git工具很混乱的小白

2021-12-01

自定义进度条批量上传文件.doc

自定义进度条批量上传文件.doc

2021-04-22

前端必会编程题.doc

前端必会编程题.doc

2021-04-09

HTML语义化.doc

针对html语义化的阐述

2021-03-31

具体功能可以看资源描述

该资源使用需要配合,html全局属性---HTML不常用元素练习

2021-03-31

HTML的不常用元素练习

HTML的不常用元素练习

2021-03-31

html全局属性.html

html全局属性.html

2021-03-31

vue+el_upload实现文件上传的方式.doc

vue+el_upload实现文件上传的方式.doc

2021-02-01

Ansible脚本搭建K8s集群.pptx

利用ansible搭建k8s的具体操作文档

2019-12-25

ansible搭建高可用k8s.html

使用ansible工具,自动化安装高可用的K8s集群。这是一个操作性文档,以及对遇到错误的解决方案都有整理

2019-12-12

运维工单系统修正版2.pdf

对做运维工单系统的小白来说很有作用,这是对整个系统的流程阐述以及页面的介绍!

2019-10-30

空空如也

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

TA关注的人

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