摘要: 原来的状态(页面刷新数据会重置) state: { teamA: '主队' }, mutations: { data_teamA(state, x) { state.teamA = x } }, 解决后(页面刷新保留store数据) state: { teamA: JSON.parse(sessio 阅读全文
posted @ 2019-11-07 23:29 Leophen 阅读(2621) 评论(0) 推荐(0) 编辑
摘要: git 工作流操作 1、初始化本地仓库文件夹 终端进入项目文件夹 git init 隐藏文件夹中有 .git 文件夹则初始化成功 2、git 查看仓库状态 这里以新建一个 demo.txt 为例 ① sourcetree 的操作:可以直接在分支中查看仓库状态 左侧上方为暂存区,下方为工作区;右侧为文 阅读全文
posted @ 2019-10-08 19:21 Leophen 阅读(2327) 评论(0) 推荐(1) 编辑
摘要: 服务端推送技术包括: 1、Ajax 轮询 2、Ajax 长轮询 3、WebSocket 一、Ajax 轮询 利用 XHR,通过 setInterval 定时向后端发送请求 1、优点:实现简单 2、缺点:数据同步不及时,增加后端处理压力 3、场景:适用于对消息及时性要求不高且服务器资源充足的开发 se 阅读全文
posted @ 2019-09-21 21:08 Leophen 阅读(550) 评论(0) 推荐(0) 编辑
摘要: 在 JavaScript 中,圆括号 () 是一种运算符,跟在函数名之后,表示调用该函数。比如,print() 就表示调用 print 函数 有时,我们需要在定义函数之后,立即调用该函数,例如: 以上代码出现了语法错误原因是,function 这个关键字即可以当作语句,也可以当作表达式 其中,Jav 阅读全文
posted @ 2019-09-20 17:16 Leophen 阅读(337) 评论(0) 推荐(0) 编辑
摘要: 一、序列化: 就是将内存中的对象转换为字节序列,方便持久化到磁盘或者网络传输 SerializeToString(): serializes the message and returns it as a string. Note that the bytes are binary, not tex 阅读全文
posted @ 2019-09-20 13:59 Leophen 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 一、安装 brew install nginx 或 sudo brew install nginx 二、启动 brew services start nginx 或 sudo brew services start nginx 三、重启 brew services restart nginx 或者 阅读全文
posted @ 2019-09-18 12:20 Leophen 阅读(3039) 评论(0) 推荐(0) 编辑
摘要: 一、CSRF 1、什么是 CSRF CSRF(全称 Cross-site request forgery),即跨站请求伪造 2、攻击原理 用户登录A网站,并生成 Cookie,在不登出的情况下访问危险网站B 3、防御措施 ① 加 Token 验证,通过判断页面是否带有 Token 来进行验证 ② 加 阅读全文
posted @ 2019-09-05 10:05 Leophen 阅读(442) 评论(0) 推荐(0) 编辑
摘要: 样式的导入方式 link @import link @import 一、link 的使用 二、@import 的使用 三、link 和 @import 的区别 1、引入的内容不同 link 除了引用样式文件,还可以引用图片等资源文件,而 @import 只引用样式文件 2、加载顺序不同 link 引 阅读全文
posted @ 2019-08-24 22:12 Leophen 阅读(722) 评论(0) 推荐(0) 编辑
摘要: 一、DOM 事件模型 DOM 事件模型包括捕获和冒泡,捕获是从上往下到达目标元素,冒泡是从当前元素,也就是目标元素往上到 window 二、流 流的概念,在现今的 JavaScript 中随处可见。比如说 React 中的单向数据流,Node 中的流,还有 DOM 事件流,都是流的一种生动体现。至于 阅读全文
posted @ 2019-08-24 18:26 Leophen 阅读(2433) 评论(0) 推荐(0) 编辑
摘要: 一、什么是 iframe iframe 用于在页面内显示页面,使用 <iframe> 会创建包含另外一个文档的内联框架(即行内框架) <iframe src="URL"></iframe> 二、iframe 的常用属性 1、width 定义 iframe 的宽度 2、height 定义 iframe 阅读全文
posted @ 2019-08-24 10:36 Leophen 阅读(3224) 评论(0) 推荐(0) 编辑
摘要: WebSocket 是 HTML5 新增的协议,它的目的是在浏览器和服务器之间建立一个不受限的双向通信的通道,比如说,服务器可以在任意时刻发送消息给浏览器。 为什么传统的 HTTP 协议不能做到 WebSocket 实现的功能?这是因为 HTTP 协议是一个请求-响应协议,请求必须先由浏览器发给服务 阅读全文
posted @ 2019-08-23 18:24 Leophen 阅读(1319) 评论(0) 推荐(0) 编辑
摘要: 一、JavaScript 的继承 许多面向对象语言都支持两种继承的方式:接口继承和实现继承。接口继承只继承方法签名,而实现继承则继承实际的方法。在 JavaScript 中由于函数没有签名也就无法实现接口继承,而只支持实现继承,而且实现继承主要通过原型链来实现的。 先引述下官方文档对于原型链的描述: 阅读全文
posted @ 2019-08-23 17:55 Leophen 阅读(7375) 评论(1) 推荐(0) 编辑
摘要: 一、什么是 KMP 算法 KMP 算法是一种改进的字符串匹配算法,用于判断一个字符串是否是另一个字符串的子串 二、KMP 算法的时间复杂度 O(m+n) 三、Next 数组 - KMP 算法的核心 KMP算法的核心是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实现就 阅读全文
posted @ 2019-08-23 12:26 Leophen 阅读(3261) 评论(0) 推荐(0) 编辑
摘要: 一、网络模型 计算机网络的两种模型:OSI 模型和 TCP/IP 模型 由于 OSI 模型过于复杂难以实现,导致 TCP/IP 模型更早地应用在现实中,这也使得 TCP/IP 模型成为标准 在 OSI 模型中,将计算机网络分成了 7 层,而在 TCP/IP 模型中则分成了 4 层,其各层对应关系如下 阅读全文
posted @ 2019-08-23 03:24 Leophen 阅读(602) 评论(0) 推荐(0) 编辑
摘要: 一、不稳定排序算法有哪些 1、堆排序 2、希尔排序 3、快速排序 4、选择排序 口诀:一堆(堆)希尔(希尔)快(快速)选(选择) 二、常见排序算法稳定性分析 1、堆排序稳定性分析 我们知道堆的结构是节点i的孩子为 2*i 和 2*i+1 节点,大顶堆要求父节点大于等于其 2 个子节点,小顶堆要求父节 阅读全文
posted @ 2019-08-23 02:34 Leophen 阅读(10092) 评论(0) 推荐(0) 编辑
摘要: 一、什么是页面置换算法 进程运行时,若其访问的页面不在内存而需将其调入,但内存已无空闲空间时,就需要从内存中调出一页程序或数据,送入磁盘的对换区,其中选择调出页面的算法就称为页面置换算法。 好的页面置换算法应有较低的页面更换频率,也就是说,应将以后不会再访问或者以后较长时间内不会再访问的页面先调出 阅读全文
posted @ 2019-08-23 01:28 Leophen 阅读(12106) 评论(0) 推荐(0) 编辑
摘要: 执行数据库查询时,有完整查询和模糊查询之分,一般模糊语句如下: SELECT 字段 FROM 表 WHERE 某字段 Like 条件 一、四种匹配模式 关于条件,SQL提供了四种匹配模式: 1、% 表示任意0个或多个字符,可匹配任意类型和长度的字符。有些情况下是中文,需用两个百分号(%%)表示: S 阅读全文
posted @ 2019-08-23 00:26 Leophen 阅读(24968) 评论(0) 推荐(0) 编辑
摘要: “进程是资源分配的最小单位,线程是CPU调度的最小单位” 一、进程(Process) 1、什么是进程 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。 在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面 阅读全文
posted @ 2019-08-22 23:49 Leophen 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 1、什么是预解析? 在当前作用域下,JS 运行之前,会把带有 var 和 function 关键字的事先声明,并在内存中安排好。(这个过程也可以理解为变量提升)然后再从上到下执行 JS 语句(预解析只会发生在通过 var 定义的变量和 function 上) 2、var 声明的变量 使用 var 声 阅读全文
posted @ 2019-08-22 16:18 Leophen 阅读(435) 评论(0) 推荐(0) 编辑
摘要: 关于 new 运算符的原理: 1、红宝书上解释: (1)创建一个新对象 (2)将构造函数的作用域赋给新对象 (3)执行构造函数中的代码 (4)返回新对象 2、MDN上的解释: (1)一个继承自 Foo.prototype 的新对象被创建 (2)使用指定的参数调用构造函数 Foo,并将 this 绑定 阅读全文
posted @ 2019-08-21 20:39 Leophen 阅读(467) 评论(0) 推荐(0) 编辑