CSRF是什么?有效的防御措施有哪些?

2021-10-07
阅读 3 分钟
15.6k
很多厂在面试的时候,都喜欢问一下关于web安全的问题,比如接下来要说的这个,什么是CSRF以及防范措施有哪些?这文章会带你搞懂CSRF。什么是CSRF?(Cross Site Request Forgery, 跨站域请求伪造)是一种网络的攻击方式。我们通过一个例子来了解它:小明登陆了一个银行网站 www.bank.com ,银行服务器发来了一个cookie,Se...

手写promise实现,着重讲思路

2021-10-04
阅读 9 分钟
1.6k
很多大厂在面试的时候都喜欢让面试者手写promise,所以有时候我们也要面向面试编程。要想实现自己的promise,首先我们看看官方promise的用法,请看下面这段代码: {代码...} 首先,我们根据这段代码,来梳理下思路:先声明一个class类,我们叫它 MyPromise;MyPromise类接受一个函数fn作为参数,且fn有两个参数resolve和re...

javascript截取video视频第一帧作为封面方案

2021-08-18
阅读 2 分钟
10.1k
写在前边:因为项目是用vue.js框架实现,所以以下代码是vue.js语法。首先,看一下Dom元素(video相关属性和事件): {代码...} 其次,是javascript部分代码: {代码...} 经过测试,在小米手机Mix2机型上,可以展示封面;建议:由于移动端手机机型众多,视频在移动端的播放限制也比较多,所以封面的处理最好放在服务端处...

nodejs轻量级框架Koa2实现session功能

2021-04-25
阅读 2 分钟
2.3k
写在前面,这里不对koa2做介绍,主要介绍一下koa2实现session功能。入口文件app.js {代码...} 这样就配置好了,接下来我们写一个路由进行测试,在routers/user.js中写入以下代码: {代码...} 然后,我们运行项目,打开地址 [链接]然后,刷新页面,会看到viewCount的值一直在增加:这时候去redis客户端看一下是否已经存入...

nodejs代码如何进行断点调试?

2021-02-22
阅读 3 分钟
11.1k
作为一名服务端开发人员,对代码进行断点调试是最基本的能力,接下来我简单介绍两种调试方式,一种是依赖于编辑器工具,另外一种是依赖于chrome浏览器(两种方式均在已安装nodejs前提下)。

前端性能优化(二)

2021-02-05
阅读 3 分钟
1.7k
运行时性能优化1.减少重绘重排浏览器渲染过程解析HTML生成DOM树;解析CSS生成CSSOM规则树;将DOM树与CSSOM规则树合并在一起生成渲染树;遍历渲染树开始布局,计算DOM节点的大小和位置;调用GPU绘制,合成图层;将渲染树每个节点绘制到屏幕。重排当改变DOM元素位置或大小时,会导致浏览器重新生成渲染树,这个过程叫重排...

前端性能优化(一)

2021-02-04
阅读 5 分钟
5.7k
为什么要做性能优化?性能优化有多重要?网站的性能对于用户的留存率、转化率有很大的影响,直白的说,提高网站的性能可以直接提高网站带来的收益。性能优化的分类前端的性能优化主要分为两类:加载时优化;运行时优化;例如压缩文件、使用CDN加载静态资源属于加载时优化;及时的解绑事件、减少DOM的操作属于运行时优化...

你可能需要知道的Node.js 内存泄露问题

2021-01-26
阅读 2 分钟
2.4k
栈: {代码...} 堆: {代码...} 我们可以使用一下代码查看Node.js内存情况(node环境下运行): {代码...} 内存泄漏常见的有四个场景:全局变量闭包引用事件绑定缓存爆炸全局变量没有用var/let/const声明的变量,会直接绑定到Global对象上(Node.js)或window对象上(浏览器),尽管不再使用,仍不会被自动回收; {代码.....

web前端以文件流的形式导出Excel文件

2019-10-16
阅读 1 分钟
6.8k
其实现原理就是先把服务端返回的数据流通过URL.createObjectURL()方法转成一个URL,这个URL是存放在内存中的,URL的生命周期是和创建的它的document绑定,也就是说在document unload的时候也会得到内存释放;然后通过设置<a></a>的download属性值,从而实现导出功能,最后再手动释放下创建的URL对象的内存。

javascript实现数组或对象的深拷贝

2019-03-01
阅读 1 分钟
3.4k
js实现深拷贝有两种方法 第一(简单粗暴): {代码...} 可以看出来,改变原数组arr,并没有对新数组copyArr产生影响;改变新数组copyArr也没有对原数组arr产生影响; 第二(面试官大多数会问这种方法): {代码...} 同样:改变原数组arr,并没有对新数组copyArr产生影响;改变新数组copyArr也没有对原数组arr产生影响;

箭头函数中this的问题

2018-03-01
阅读 1 分钟
1.7k
有人说,this是javascript OPP中最令人厌烦的风格的编程,虽然令人厌烦,但还是要理解且使用它,就像生活一样,总要做一些自己不喜欢或不擅长的事。

浅谈 apply 和 call

2018-03-01
阅读 1 分钟
1.9k
现在有一个对象dog = {name:'wangwang'},这条狗也想会说话(拥有say方法),那么我们可以这样goodPerson.say.call(dog) 这样dog就可以说话了。

vuejs构建的单页面应用history模式子页面微信分享在iOS中遇到的问题

2018-02-08
阅读 1 分钟
5k
在用vuejs做的SPA单页面应用,router模式为history模式,应用是个商城,在进入商品详情页时,第一次进入页面提示签名无效,手动刷新一下就ok,很是烦躁,经过不懈努力,终于解决。

Git 多人协作开发流程

2018-01-31
阅读 2 分钟
27.4k
1、首先,你需要在远程仓库创建一个新的项目(github、gitee或是你自己的远程服务器),这个新的项目默认会有一个主分支 master,现在你需要新建一个 dev 分支,这个dev分支就是所谓的主战场,在以后的开发中,就在这个dev以及dev下的分支进行开发。

H5的audio在ios系统的微信上不能自动播放的问题

2017-12-15
阅读 1 分钟
7.8k
前几天有个需求,要在H5页面中添加背景音乐,本以为很easy,却也踩了一些坑,废话不多说,进入正题: 撸完代码测试的时候才发现在安卓手机上背景音乐可以正常播放,但在iphone里的微信和safari中不能播放!