热门 Object.defineProperty 和ES6 的 Proxy

时间:2021-10-26   作者:lininn   分类:   热度:733°    
时间:2021-10-26   分类:    热度:733  
监听一个变量的变化,当变量变化时执行某些操作,这类似现在流行的前端框架(例如 React、Vue等)中的数据绑定功能,在数据更新时自动更新 DOM 渲染,那么如何实现数据绑定喃? 本文给出两种思路: ES5 的 Object.defineProperty ES6 的 Proxy ES5 的 Object.defineProperty Object.defineProperty() 方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象 ——MDN ...

阅读全文>>

热门 pm2如何实现的多进程

时间:2021-10-26   作者:lininn   分类:   热度:793°    
时间:2021-10-26   分类:    热度:793  
Node.js的Cluster多进程模式。 PM2的实现原理,它是基于Cluster模式的封装。   Node.js,都是以单线程的方式运行的,因此,在多核心处理器的系统中并不能发挥其最大的性能。 Node.js的cluster模块 幸运的是,Node.js给我们提供了cluster模块,它可以生成多个工作线程来共享同一个TCP连接。 它是如何运作的呢? 首先,Cluster会创建一个master,然后根据你指定的数量复制出多个server app(也被称之为工作线程)。它通过IPC通道与工作线程之间...

阅读全文>>

热门 Redux异步解决方案Redux-Thunk

时间:2021-10-26   作者:lininn   分类:   热度:714°    
时间:2021-10-26   分类:    热度:714  
function createThunkMiddleware(extraArgument) { return function thunk(store) { return function (next) { return function (action) { // 从store中结构出dispatch, getState const { dispatch, getState } = store; // 如果action是函数,将它拿出来运行,参数就是dispatch和getState i...

阅读全文>>

热门 Redux的reducer为什么不能有异步操作

时间:2021-10-26   作者:lininn   分类:   热度:740°    
时间:2021-10-26   分类:    热度:740  
回顾Redux设计和使用的三大基本原则 单一数据源,也就是store中的state是唯一的 state 是只读,Redux并没有暴露出直接修改state的接口,必须通过action来触发修改(即:只有store能改变自己的state) reducer必须是纯函数 Redux的设计初衷 先从Redux的设计层面来解释为什么Reducer必须是纯函数。 Redux的设计参考了Flux的模式,作者希望以此来实现时间旅行,保存应用的历史状态,实现应用状态的可预测。所以整个Redux都是函数式编程的...

阅读全文>>

热门 vue data不可以使用箭头函数的问题解析

时间:2021-10-20   作者:lininn   分类:   热度:744°    
时间:2021-10-20   分类:    热度:744  
这篇文章主要介绍了vue data不可以使用箭头函数问题,本文通过源码解析给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下 首先需要明确,a() {}和 b: () => {}是不同的 let obj = { a() {}, // 相当于 a:function() {}, b: () => {} } 1 VUE.js 源码解析 注意此处只设计核心代码 这段代码也是UMD实现原理,本文这里不是重点,有兴趣的可以自行探究。 (function (global, factory) { typeof exp...

阅读全文>>

热门 XSS攻击常识及常见的XSS攻击脚本汇总

时间:2021-10-9   作者:lininn   分类:   热度:618°    
时间:2021-10-9   分类:    热度:618  
一、什么是XSS? XSS全称是Cross Site Scripting即跨站脚本,当目标网站目标用户浏览器渲染HTML文档的过程中,出现了不被预期的脚本指令并执行时,XSS就发生了。 二、XSS分类 XSS有三类:反射型XSS(非持久型)、存储型XSS(持久型)和DOM XSS 1、反射型XSS 发出请求时,XSS代码出现在URL中,作为输入提交到服务器端,服务器端解析后响应,XSS代码随响应内容一起传回给浏览器,最后浏览器解析执行XSS代码。这个过程像一次反射,故叫反射型...

阅读全文>>

热门 FFmpeg 命令行 视频拆分图片

时间:2021-10-8   作者:lininn   分类:   热度:681°    
时间:2021-10-8   分类:    热度:681  
先创建一个chaifen文件夹,保存图片,video.avi是待拆分的视频源 1)视频每一帧保存一张图片 ffmpeg  -i video.avi   chaifen/%06d.png 2)视频每一秒保存二十张图片 ffmpeg  -i video.avi -r 20  chaifen/%06d.png 3)视频每十秒保存一张图片 ffmpeg  -i video.avi -r 0.1  chaifen/%06d.png   指令说明    ...

阅读全文>>

热门 Server-Sent Events (SSE)实现长链接,服务端单向推送

时间:2021-9-15   作者:lininn   分类:   热度:698°    
时间:2021-9-15   分类:    热度:698  
一、SSE 的本质 严格地说,HTTP 协议无法做到服务器主动推送信息。但是,有一种变通方法,就是服务器向客户端声明,接下来要发送的是流信息(streaming)。 也就是说,发送的不是一次性的数据包,而是一个数据流,会连续不断地发送过来。这时,客户端不会关闭连接,会一直等着服务器发过来的新的数据流,视频播放就是这样的例子。本质上,这种通信就是以流信息的方式,完成一次用时很长的下载。 SSE 就是利用这种机制,使用流信息向浏览器推送信息。它基于 HTTP 协议,目前除了 IE/Edge,其他浏览器都支持。 SSE 也有自己的优点。 SSE 使...

阅读全文>>

热门 vscode + vetur + eslint + prettier 实现团队代码风格统一

时间:2021-9-13   作者:lininn   分类:   热度:823°    
时间:2021-9-13   分类:    热度:823  
简单说下思路 eslint 优先级最高,装插件eslint-config-airbnb-base,eslint-config-prettier,eslint-plugin-vue,可以覆盖 prettier 的设置 eslint 主要负责 vue/js 的格式化 prettier 主要负责 html/css/less/scss… 的格式化 Vetur 也有格式化功能,直接 disable 掉,我们用更高级的 prettier 不支持 stylus,但是 Vetur 的依赖包括了stylusSupremacy,可以解决 所有...

阅读全文>>

返回顶部    首页    手机版本    后花园   会员注册   
版权所有:覆手为雨    站长: lininn