- 博客(85)
- 收藏
- 关注
原创 浏览器强缓存和协商缓存详解
浏览器缓存浏览器缓存分为强缓存和协商缓存—强缓存协商缓存共同点如果命中缓存服务器都不会返回资源同不同点不发送请求到服务器发送请求,通过请求进行Http再验证刷新ctrl+F5:强制刷新 ,将跳过强缓存和协商缓存;F5:只跳过墙缓存,但是会检查协商缓存。强缓存Expires:值为绝对时间的GMT格式的时间字符串,代表缓存资源的过期时间;Cache-Control:max-age 强缓存利用它判断强缓存的最大生命周期,单位为秒。协商缓存Las
2021-09-06 22:21:09
479
原创 深入浅出Vue3.0
Vue3.0vue3.0新特性简介数据响应式重新实现:ES6的proxy代替ES5的Object.defineProperty源码使用typescript进行重新编写,更严谨,更好的类型推导虚拟DOM新算法,更快更小提供了composition api,比option api更好的路基复用和代码组织自定义渲染器,克根据需求自定义各种各样的渲染器fragment,模板可以有多个根元素生命周期函数vue3 的生命周期钩子函数智能在setup里面使用vue3的生命周期函数与vue2对比
2021-09-02 22:49:26
261
原创 tar 命令打包压缩tar.gz,不包含当前文件夹路径
tar 命令打包压缩最近研究一些DevOps自动化部署相关的操作,其中Linux命令是避免不了的,其他我用到的命令都很简单,就打包压缩着立跟大家分享一下。前端的代码经过npm run build指令,将前端代码打到dist文件夹,之后需要打包并压缩,然后上传到目标服务器,完成部署操作。话不多说,直接上命令吧!方便急用的人先使用,详细讲解附后,需要请自取# 打包压缩# dist.tar.gz是打包后文件命,dist是待打包的文件夹tar zcvf dist.tar.gz dist# 解压解包#
2021-08-27 21:59:22
10685
转载 jQuery的deferred对象详解
jQuery的deferred对象详解最近用JQuery和Knockout.js做的一个项目,项目使用$.ajax发送异步请求以及调用回调函数,其中就有使用到Deferred对象,类似于我们现在使用的Promise对象。阮一峰在Deferred对象讲解的就非常到位阮一峰关于jQuery的deferred对象详解这个功能很重要,未来将成为jQuery的核心方法,它彻底改变了如何在jQuery中使用ajax。为了实现它,jQuery的全部ajax代码都被改写了。但是,它比较抽象,初学者很难掌握,网上的教程
2020-08-31 22:19:45
298
原创 解决IE11使用xlsx.full.js解析excel为Json格式兼容问题
最近做了一个需求,就是excel附件上传,然后要将excel的文件内容解析为json格式的数据,然后再发送到后台进行处理。解析excel内容选用的插件是xlsx.full.min.js,其中有FileReader对象以及方法可以帮助我们实现解析:FileReader共有4种读取方法:1.readAsArrayBuffer(file):将文件读取为ArrayBuffer。2.readAsBinaryString(file):将文件读取为二进制字符串3.readAsDataURL(file...
2020-08-24 22:48:35
1174
1
原创 js中Array和Object的keys(),values()和entries()方法
js中Array和Object的keys(),values()和entries()方法ES6 提供三个新的方法 —— entries(),keys()和values() 。它们都返回一个遍历器对象,可以用for…of循环进行遍历,唯一的区别是keys()是对键名的遍历、values()是对键值的遍历,entries()是对键值对的遍历.1. Array的keys()和values()还有en...
2020-04-07 14:23:57
1364
转载 三言两语讲清楚线性规划单纯形方法
三言两语讲清楚线性规划单纯形方法原文链接:三言两语讲清楚线性规划单纯形方法单纯形方法思路单纯性的思路很简单,如果最优解唯一的话,它一定是可行域的一个顶点。 上面的例子中,可行域的顶点就是两条边界的交点。换句话讲,最优解的五个变量x1,…,x5x1,…,x5中,一定有两个变量为零,其余的大于等于零。我们先从最简单的情况开始研究。小结单纯形方法利用了可行域顶点就是非基变量为零的那些点,通...
2020-02-14 11:36:33
257
原创 Electron学习--主进程和渲染进程
主进程和渲染进程1. 主进程:在Electron中运行package.json和main脚本的进程称为主进程。例如,main.js文件属于主进程,同时在main.js文件中直接引入的js文件也属于主进程(如:require(’./mainProcess/menu.js’))2. 渲染进程:electron使用Chromium的多进程机制来渲染页面,每个页面拥有一个自己的进程,该进程称为渲...
2020-02-12 16:42:57
972
原创 Electron学习--初体验
Electron介绍Electron 是一个可以让我们使用js创建桌面应用程序的框架,将Chromium和Node.js合并到同一个运行时环境中,并将其打包为Mac,Windows和Linux系统下的应用来实现跨平台,让我们可以更轻松的书写业务逻辑,而不用担心跨平台的问题。1. electron的下载和引入npm install electron --save-devnpm install...
2020-02-12 16:34:04
390
原创 并发控制的异步执行队列p-queue的用法
p-queue的定义可以使用并发控制的异步执行队列安装npm install p-queueAPIPQueue(options?)传入一个object对象,返回一个对象实例- concurrency:并发数量,number类型,最小为1,最大无限制- autoStart:当add后是否自动开始,默认为true- timeout: 定义超时时间,单位毫秒- throwO...
2020-02-10 15:21:37
2686
原创 VUE异步更新DOM - 用$nextTick解决DOM视图
VUE异步更新队列首先,Vue 在更新 DOM 时是异步执行的!所以只要侦听到数据变化,Vue 将开启一个队列,并缓冲在同一事件循环中发生的所有数据变更。如果同一个 watcher 被多次触发,只会被推入到队列中一次。这种在缓冲时去除重复数据对于避免不必要的计算和 DOM 操作是非常重要的。然后,在下一个的事件循环“tick”中,Vue 刷新队列并执行实际 (已去重的) 工作。Vue 在内部对...
2020-02-10 13:33:23
710
原创 单选框的小圆点不圆问题
单选框的小圆点不圆问题当我们有时候会做移动端的项目,使用到单选框的话,单选框的小圆点样式代码如下:.circle { display: inline-block; width:16px; height:16px; border: 1px solid #e0e0e0; border-radius:50%;}这样写其实是没有问题的,但是如果项目需要将px等单位整体进行转换...
2020-02-03 14:33:11
701
1
原创 Vue项目中的is属性
Vue项目中的is属性is: 可以直接传递一个组件:is: 查找父组件中的一个赋值,然后找到相应的组件<div id="app"> <span>这是is=“show"的demo</span> <component is="show"></component> <span>这是:is=“show"的demo<...
2020-02-03 14:09:56
412
原创 px, em,rem,VW,VH,VM的不同点
px, em,rem,VW,VH,VM的不同点px: 固定的单位,像素em:继承父元素的字体大小rem:相对根元素,即html元素字体大小,需设置html的font-size=625%所以rem=16px*625%=100pxVW&VH: viewpoint width&viewpoint height1VW = 1/100视口宽度 1VH = 1/100视口...
2019-12-18 11:08:08
351
原创 hash和history的区别
hash和history的区别一、从用户的角度看路由需实现以下两个功能记录当前页的状态保存或分享当前页面的URL,再次打开该URL时,网页还是保存的分享时的状态可使用浏览器的前进后退功能(如点击后退按钮,可以使页面回到ajax更新页面之前的状态,url也回到之前的状态)二、作为开发者,要实现这两个功能,我们需要改变url且不让浏览器向服务器发出请求;监测url的变化;截...
2019-11-02 14:48:40
572
转载 Vue中Mixin的用法
基础混入 (mixin) 提供了一种非常灵活的方式,来分发 Vue 组件中的可复用功能。一个混入对象可以包含任意组件选项。当组件使用混入对象时,所有混入对象的选项将被“混合”进入该组件本身的选项。// 定义一个混入对象var myMixin = { created: function () { this.hello() }, methods: { hello: f...
2019-11-01 10:45:39
356
原创 网络爬虫开发
网络爬虫开发- 第一章 课程介绍+ 什么是爬虫+ 爬虫的意义+ 课程内容+ 前置知识1.什么是爬虫可以把互联网比喻成一张大网,爬虫就是在这张大网上不断爬取信息的程序所以,一句话总结: 爬虫是请求网站并提取数据的自动化程序爬虫的基本工作流程如下:向指定的URL发送http请求获取响应(HTML、XML、JSON、二进制等数据)处理数据(解析DOM、JSON等)将处理好的...
2019-10-15 14:46:23
690
原创 服务端渲染
服务端渲染什么是服务端渲染?前端渲染:html页面作为静态文件存在,前端请求时后端不对该文件做任何内容上的修改,直接以资源的方式返回给前端,前端拿到页面后,根据写在html上的js代码,对该html内容进行修改。服务端渲染:前端发出请求后,后端在将html页面返回给前端之前,先把html页面中的特定区域,用数字填充好,再将完整的html返回给前端。在SPA场景下,服务端渲染都是针对第一次g...
2019-10-09 22:47:44
189
原创 Next.js服务端渲染知识点汇总
Next.jsNext.js是一个基于React的服务端渲染框架。它使用react语法,可以很好的实现代码的模块化,有利于代码的开发和维护。Next.js的特性:默认服务端渲染模式,以文件系统为基础的客户端的路由代码自动分割使页面加载更快以webpack的热更新HMR为基础的开发环境使用React的JSX和ES6的module,模块化和维护更方便可以运行在express和其他Nod...
2019-10-09 21:50:04
575
原创 Mac 轻松安装python3教程
mac python3轻松安装教程https://www.jianshu.com/p/66d8d26cd82d
2019-09-29 15:15:09
518
原创 mac如何安装pip和ipython包等
mac如何安装pip和ipython最近在学习用Python写东西,因为Mac自带python却不带pip,pip就是类似于npm的包管理工具,所以一定是要安装 并且使用的。下面我呢来做一下简单分享,希望对大家有帮助:1. 安装pip:1.打开终端:2.运行脚本:curl https://bootstrap.pypa.io/get-pip.py | python33.输入passwo...
2019-09-27 10:46:27
260
转载 http协议1.0和1.1的区别
http协议1.0和1.1的区别一个WEB站点每天可能要接收到上百万的用户请求,为了提高系统的效率,HTTP 1.0规定浏览器与服务器只保持短暂的连接,浏览器的每次请求都需要与服务器建立一个TCP连接,服务器完成请求处理后立即断开TCP连接,服务器不跟踪每个客户也不记录过去的请求。但是,这也造成了一些性能上的缺陷,例如,一个包含有许多图像的网页文件中并没有包含真正的图像数据内容,而只是指明了这些...
2019-09-05 17:48:23
487
原创 一分钟了解Vue中Keep-Alive
定义Keep-alive是Vue内置的一个组件,可以使呗包含的组件保留状态,或避免重复渲染。其有两个属性:include(包含的组件缓存)与exclude(排除的组件 不缓存,优先级大于include)使用方法<keep-alive include="include_components" exclude="exclude_components"> <component...
2019-09-05 16:24:34
222
原创 解决Element中el-date-picker组件不回填问题
解决Element中el-date-picker组件不回填问题1.问题描述当我们在实用ElementUI组件完成项目的时候可能会遇到这样的需求,比如:新建一个活动,需要定义活动的时间范围;因此我们在新建活动的操作过程中需要选择一段时间区间以及活动名称等信息提交,新建完成;网页上出现了新建好的活动,其他人想查看详细信息,打开页面,发现时间区间并没有实现回填!2.问题分析时间信息没有回...
2019-08-14 09:56:44
5058
1
原创 JS将object的属性值更改数据类型
直接代码展示清晰直观1.将对象的数字值转换为字符串 // 1.将对象的数字值转为字符串 function toStringValue(obj) { if (obj instanceof Array) { var arr = []; for (var i = 0; i < obj.length; i++) { ...
2019-08-06 23:07:44
2319
1
转载 MAC安装nvm以及常见问题
MAC安装nvm以及常见问题转载于 MAC安装nvm以及常见问题前言: (这一步是可选,如果是windows的用户,做好是 删除已安装的node和npm)如果之前是在官网下载的node安装包,运行后会自动安装在全局目录,其中node 命令在 /usr/local/bin/node ,npm 命令在全局 node_modules 目录中,具体路径为 /usr/local/lib/node...
2019-07-24 19:16:12
511
转载 你要的 React 面试知识点,都在这了
你要的 React 面试知识点,都在这了https://juejin.im/post/5cf0733de51d4510803ce34e
2019-06-14 12:45:47
463
原创 鼠标的screen,client和page三个重要坐标系列
鼠标的screen,client和page三个重要坐标系列作为一名前端开发人员,我们有时候需要获取鼠标在页面上的点击位置,我们都知道鼠标的点击事件中有screen,client和page三个系列的坐标,那马我们下面就来具体分析一下:三个重要坐标.js:document.onclick = function (event) { var event = event || window.even...
2019-05-17 14:12:03
899
原创 Offset,Scroll和Client三大系列总结
Offset,Scroll和Client三大系列总结offset系列scroll系列client系列offsetWidthscrollWidthclientWidthoffsetHeightscrollHeightclientHeightoffsetLeftscrollLeftclientLeftoffsetTopscrollTopclie...
2019-05-16 19:06:20
1035
转载 U盘的FAT32/NTFS/exFAT文件系统类型区别详解
U盘的FAT32/NTFS/exFAT文件系统类型区别详解U盘相信大家非常熟悉了,用户在格式化U盘的时候可以选择文件系统:FAT32/NTFS/exFAT,那么这三个文件系统又有什么区别呢?下面我们就详细为大家讲解一下这三种文件系统的区别:U盘系统文件类型:FAT32 文件系统使用4个字节(也就是32位)的空间来标识每个扇区配置文件的情形,故称之为FAT32,其分期容量限定512MB,不...
2019-05-08 11:18:43
10516
原创 U盘无法传输并存放超过4GB文件
U盘无法传输并存放超过4GB文件问题描述当你使用U盘拷贝一个文件时,如果出现以下报错信息:问题分析:原因是你使用的U盘,它的文件系统是FAT32的;解决办法格式化完成后,再次拷贝你想要的文件就没有问题了~...
2019-05-07 18:28:32
888
原创 JS常见的兼容性问题汇总
JS常见的兼容性问题1) 滚动条:document.documentElement.scrollTop||document.body.scrollTop获取样式兼容function getStyle(dom, styleName){return dom.currentStyle?dom.currentStyle[styleName]getComputedStyle(dom)[st...
2019-04-26 10:38:27
3075
原创 CSS常见的浏览器兼容汇总
CSS常见的浏览器兼容汇总一、从浏览器内核的角度 来看,浏览器兼容性问题可分为以下三类:1. 渲染相关:和样式相关的问题,即体现在布局效果上的问题。2. 脚本相关:和脚本相关的问题,包括JavaScript和DOM、BOM方面的问题。对于某些浏览器的功能方面的特性,也属于这一类。3. 其他类别:除以上两类问题外的功能性问题,一般是浏览器自身提供的功能,在内核层之上的。二、浏览器兼容性相关...
2019-04-25 11:03:19
1748
原创 HTML常见浏览器兼容汇总
HTML常见兼容汇总1.标准浏览器子元素不会撑开父元素设置好的宽度,IE6下会的;2.在IE6元素浮动,如果宽度需要内容撑开,就给里边的块元素都加浮动 ;3.在IE6,7下元素要通过浮动并在同一行,就给这行元素都加浮动4.IE6下,最小高度为19px;解决办法:overflow:hidden;5.IE 6下,1px dotted #000不支持,解决办法:切背景平铺;...
2019-04-24 11:15:08
1517
原创 Object.assign()用法讲解
Object.assign()用法讲解语法: Object.assign(target, …sources) target: 目标对象,sources: 源对象用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。const target = { a: 1, b: 2 };const source = { b: 4, c: 5 };const returnedTar...
2019-04-23 18:54:32
40289
3
原创 关于input type='number'去掉箭头 且不能输入e和标点符号
关于去掉箭头 且不能输入e和标点符号1.input数字框去掉箭头由图所示:数字框空间本来就很小,然后还被箭头占用;由图所示:数字框虽然css样式设置居中对齐,但是由于被箭头占用,所以不能居中对齐显示,不美观;由图所示:数字框空间本来就很小,由于箭头占用,导致两位数不能完全显示.结构代码如下:<input type="number" v-model="item5.OU...
2019-04-08 16:21:48
1929
原创 如何在服务器端设置使浏览器端页面跳转
服务器端设置响应报文使浏览器端页面跳转if (req.url === '/' || req.url === '/index' && req.method === 'get') {// 读取index.html res.render(path.join(__dirname, 'views', 'index.html'));} else if (req.url.startsWi...
2019-04-03 17:35:25
1787
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人