回顾Redux设计和使用的三大基本原则
单一数据源,也就是store中的state是唯一的
state 是只读,Redux并没有暴露出直接修改state的接口,必须通过action来触发修改(即:只有store能改变自己的state)
reducer必须是纯函数
Redux的设计初衷
先从Redux的设计层面来解释为什么Reducer必须是纯函数。
Redux的设计参考了Flux的模式,作者希望以此来实现时间旅行,保存应用的历史状态,实现应用状态的可预测。所以整个Redux都是函数式编程的...阅读全文>>
这篇文章主要介绍了vue data不可以使用箭头函数问题,本文通过源码解析给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
首先需要明确,a() {}和 b: () => {}是不同的
let obj = {
a() {},
// 相当于
a:function() {},
b: () => {}
}
1 VUE.js 源码解析
注意此处只设计核心代码
这段代码也是UMD实现原理,本文这里不是重点,有兴趣的可以自行探究。
(function (global, factory) {
typeof exp...阅读全文>>
一、什么是XSS?
XSS全称是Cross Site Scripting即跨站脚本,当目标网站目标用户浏览器渲染HTML文档的过程中,出现了不被预期的脚本指令并执行时,XSS就发生了。
二、XSS分类
XSS有三类:反射型XSS(非持久型)、存储型XSS(持久型)和DOM XSS
1、反射型XSS
发出请求时,XSS代码出现在URL中,作为输入提交到服务器端,服务器端解析后响应,XSS代码随响应内容一起传回给浏览器,最后浏览器解析执行XSS代码。这个过程像一次反射,故叫反射型...阅读全文>>
先创建一个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
指令说明
...阅读全文>>
一、SSE 的本质
严格地说,HTTP 协议无法做到服务器主动推送信息。但是,有一种变通方法,就是服务器向客户端声明,接下来要发送的是流信息(streaming)。
也就是说,发送的不是一次性的数据包,而是一个数据流,会连续不断地发送过来。这时,客户端不会关闭连接,会一直等着服务器发过来的新的数据流,视频播放就是这样的例子。本质上,这种通信就是以流信息的方式,完成一次用时很长的下载。
SSE 就是利用这种机制,使用流信息向浏览器推送信息。它基于 HTTP 协议,目前除了 IE/Edge,其他浏览器都支持。
SSE 也有自己的优点。
SSE 使...阅读全文>>
简单说下思路
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,可以解决
所有...阅读全文>>
阅读全文>>
https://www.jianshu.com/p/f5499a7388b2
下载 ubuntu https://docs.microsoft.com/zh-cn/windows/wsl/install-manual
改名为zip,解压缩
管理员权限运行ubuntu.exe
使用
需要启动子系统的时候,直接在命令行中执行ubuntu1804.exe或者ubuntu1804就行。也可以直接执行bash命令,会启动默认的子系统。
想要修改默认的子系统,可以使用wslconfig:
PS ...阅读全文>>
使用它,我很幸运地安装了一些 npm 模块,但是每当 npm 尝试重命名文件时,它仍然存在权限错误问题。
安装全局 NPM 包
npm config set unsafe-perm true
清理缓存
npm cache clean
绕过符号链接问题
npm install --no-bin-links阅读全文>>
Step 2: 配置http代理 privoxy
有些命令行工具只能使用http代理, 不能使用socks5代理, 因此需要用privoxy把socks5代理转换为http代理.
安装privoxy
sudo apt install -y privoxy
修改配置文件/etc/privoxy/config
listen-address :10809
forward-socks5 / 127.0.0.1:10808 .
启动privoxy服务
systemctl restart privoxy
http代理已经启动, 默认端口是10809...阅读全文>>