![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
随笔
Dream_Lee_1997
勇气
展开
-
Https中间人攻击
Https中间人攻击https协议由 http + ssl 协议构成,具体的链接过程可参考SSL或TLS握手的概述中间人攻击过程如下:服务器向客户端发送公钥。攻击者截获公钥,保留在自己手上。然后攻击者自己生成一个【伪造的】公钥,发给客户端。客户端收到伪造的公钥后,生成加密hash值发给服务器。攻击者获得加密hash值,用自己的私钥解密获得真秘钥。同时生成假的加密hash值,发给服...转载 2019-10-15 18:29:04 · 394 阅读 · 0 评论 -
HTTP请求返回状态码意义(详)
所有HTTP请求返回状态码意义100 Continue 继续。客户端应继续其请求101 Switching Protocols 切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议,例如,切换到HTTP的新版本协议200 OK 请求成功。一般用于GET与POST请求201 Created 已创建。成功请求并创建了新的资源202 Accepted 已接受。已经接受请求,但未处...原创 2019-03-16 14:35:15 · 3070 阅读 · 0 评论 -
JSONP,Promise封装用例
promise通过.then的方法进行链式调用,不用一层一层的进行回调。引用jsonp,模块发送请求获得jsonp数据,解决跨域问题:import JsonP from 'jsonp' export default class Axios { //options 传一个大对象 static jsonp(options){ //resolve 调用成功...原创 2019-02-26 16:08:47 · 427 阅读 · 0 评论 -
【ES6】Promise用法
promise理解及使用Promise解决的问题——异步Promise的基本用法异步操作拒绝及中断调用链ES6对Promise/A+的扩展Promise.all的扩展Promise.race的扩展众所周知的,Javascript是一种单线程的语言,所有的代码必须按照所谓的“自上而下”的顺序来执行。本特性带来的问题就是,一些将来的、未知的操作,必须异步实现(关于异步,我会在另一篇文章里进行讨论)...转载 2019-02-26 14:47:19 · 486 阅读 · 0 评论 -
Git 常用命令
文件目录操作命令1 mkdir * ——创建一个空目录 指目录名2 pwd ——显示当前目录的路径。3 cat * ——查看文件内容4 git rm * //删除**文件git初始化操作1 git init ——把当前的目录变成git仓库,生成隐藏.git文件。2 git remote add origin url —...原创 2019-02-13 12:58:42 · 167 阅读 · 0 评论 -
Git stash用法
git stash(git储藏)可用于以下情形:发现有一个类是多余的,想删掉它又担心以后需要查看它的代码,想保存它但又不想增加一个脏的提交。这时就可以考虑git stash。使用git的时候,我们往往使用分支(branch)解决任务切换问题,例如,我们往往会建一个自己的分支去修改和调试代码, 如果别人或者自己发现原有的分支上有个不得不修改的bug,我们往往会把完成一半的代码commit提交到...原创 2019-02-13 12:35:11 · 211 阅读 · 0 评论 -
暴露webpack.config.js文件 并允许react使用less
暴露package.json中的script中的eject文件yarn eject命令行会问你:这是一个单向操作,确认操作后不可逆转/返回。y但是会报错: 原因是没有提交代码,那么就在GitHub网站上创建一个代码库 提交上去即可 或者 执行以下两行命令git add .git commit -m '信息描述'在继续运行yarn eject命令即可。此刻你的 demo-ite...原创 2019-02-22 19:52:48 · 1699 阅读 · 0 评论 -
yarn eject 报错“This git repository has untracked files or uncommitted changes:”解决办法
问题形式当我们yarn eject解开项目结构时,报错This git repository has untracked files or uncommitted changes:如下图:错误原因这是提示我们 没有进行git提交解决方法详细git提交本地代码网址:https://blog.csdn.net/qq_41846861/article/details/87881722...原创 2019-02-22 17:02:16 · 1596 阅读 · 0 评论 -
Git的使用--如何将本地项目上传到Github(两种简单、方便的方法)
https://blog.csdn.net/Lucky_LXG/article/details/77849212转载 2019-02-22 16:54:35 · 219 阅读 · 0 评论 -
【JavaScript】call()方法和apply()方法用法总结
什么是call()和apply():每个函数都包含两个非继承而来的方法:call()方法和apply()方法。1.apply与call是更改对象的内部指针,即改变对象的this指向的内容;2.call与apply的第一个参数都是要传入给当前对象的对象,及函数内部的this,后面的参数都是传递给当前对象的参数。call():语法:obj1.call(obj2[,param1,param2,...原创 2019-02-16 18:01:04 · 1055 阅读 · 0 评论 -
【HTML】div显示与隐藏相关内容
隐藏div的几种常见方法1.display:none;2.visibility:hidden;3.background-color:transparent;或者设成与背景一样的颜色即可4.opacity来设置不透明级别,注意兼容性filter…5.给div一个margin负值,这个负值恰好等于div自身的高度或宽度6.设置两个大小一样的div,第一个左浮动,第二个不浮动,即可将第二个...原创 2019-03-16 16:29:32 · 9629 阅读 · 0 评论 -
【HTML】display:none和visibility:hidden两者的区别
参考blog:https://blog.csdn.net/qq_38128179/article/details/80794397使用css让元素不可见的方法有很多种,裁剪、定位到屏幕外边、透明度变换等都是可以的。但是最常用两种方式就是设置元素样式为display: none或者visibility: hidden。很多公司的面试官也常常会问面试者这两者之间的区别。1、display与元素...转载 2019-03-16 16:36:30 · 1601 阅读 · 0 评论 -
【JavaScript】JS数组去重的几种常见方法
JS数组去重的几种常见方法一、简单的去重方法// 最简单数组去重法/** 新建一新数组,遍历传入数组,值不在新数组就push进该新数组中* IE8以下不支持数组的indexOf方法* */function uniq(array){ var temp = []; //一个新的临时数组 for(var i = 0; i < array.length; i++){ ...原创 2019-03-15 14:02:20 · 1622 阅读 · 0 评论 -
函数声明式和函数表达式区别
javascript中声明函数的方法有两种:函数声明式和函数表达式.一、区别如下:1).以函数声明的方法定义的函数,函数名是必须的,而函数表达式的函数名是可选的。(函数声明会被提升到当前作用域的顶部,函数表达式则不会)2).以函数声明的方法定义的函数,函数可以在函数声明之前调用,而函数表达式的函数只能在声明之后调用。3).以函数声明的方法定义的函数并不是真正的声明,它们仅仅可以出现在全局中...原创 2019-06-17 19:51:51 · 11995 阅读 · 2 评论 -
axios设置token到请求头
文章目录一、问什么要设置请求头到token?二、用法成功如下图三、总结一、问什么要设置请求头到token?当输入用户名及密码,登录成功后,后台会返回一个token,在之后发送的请求都要带上这个token,因为后台设置了拦截,如果token一致,则允许访问,否则请求不成功。二、用法加一个http request拦截器通过window.localStorage.getItem("acc...原创 2019-03-27 19:27:43 · 66952 阅读 · 5 评论 -
MVC与MVVM区别
1.MVVMMvvm定义MVVM是Model-View-ViewModel的简写。即模型-视图-视图模型。【模型】指的是后端传递的数据。【视图】指的是所看到的页面。【视图模型】mvvm模式的核心,它是连接view和model的桥梁。它有两个方向:一是将【模型】转化成【视图】,即将后端传递的数据转化成所看到的页面。实现的方式是:数据绑定。二是将【视图】转化成【模型】,即将所看到的页面转化成后端的数...原创 2019-03-19 14:28:21 · 286 阅读 · 0 评论 -
【Linux】Linux文件系统目录配置及常见命令
1、Linux的文件系统目录配置要遵循FHS规范,规范定义的两级目录规范如下:/home 每个账号在该目录下都有一个文件夹,进行数据的管理/usr 有点像windows的program files和winNT结合的目录,主要包括系统的主要程序、本机端额外安装的软件、图形接口所需要的文档、额外的函数库、共享目录与文件等/bin /usr/bin /usr/local/bin 存放执行...转载 2019-03-17 20:23:20 · 449 阅读 · 0 评论 -
Glup和Webpack区别
gulp与webpack的区别常有人拿gulp与webpack来比较,知道这两个构建工具功能上有重叠的地方,可单用,也可一起用,但本质的区别就没有那么清晰。gulpgulp强调的是前端开发的工作流程,我们可以通过配置一系列的task,定义task处理的事务(例如文件压缩合并、雪碧图、启动server、版本控制等),然后定义执行顺序,来让gulp执行这些task,从而构建项目的整个前端开发流程...原创 2019-03-17 20:08:17 · 1491 阅读 · 0 评论 -
React和Vue差异
Vue和React两个JavaScript框架都是当下比较受欢迎的,他们两者之间的区别有哪些,各自的优缺点是什么。大家都是知道React是由Facebook创建的JavaScript UI框架。它支撑着包括Instagram在内的大多数Facebook网站。React与当时流行的jQuery,Backbone.js和Angular 1等框架不同,它的诞生改变了JavaScript的世界。其中...原创 2019-03-17 19:24:48 · 499 阅读 · 0 评论 -
如何对网页的加载进行性能优化?
1、背景介绍为什么要对网站进行性能优化?网站的访问量及用户的持久性其实在一定程度上取决于其性能,如果一个网站响应耗时久,动画卡顿,占用大量的cpu等,往往就会导致用户流失。尤其是app及微信端应用,可以这么说,如果页面打开都要超过4秒,这体验绝对差。作为一个开发者,是不允许出现这种情况的,那么该如何提高页面的性能呢?大致的网站优化性能步骤不外乎减少HTTP请求次数,减少DNS访问,减...转载 2019-03-17 17:04:46 · 657 阅读 · 0 评论 -
如何在页面上实现一个圆形的可点击区域
一.通过map加area首先先给出一个小demo(demo1)吧:<img src="../imgs/test.jpg" width="200" border="0" usemap="#Map" /><map name="Map" id="Map"> <area shape="circle"转载 2019-03-16 20:08:04 · 3853 阅读 · 2 评论 -
【CSS】css清除浮动的几种方法
使用了float之后,父级盒子的高度变为0了。我们来写一个例子来看一下,创建一个父级div,并设置border属性,然后下边创建两个子元素span,并设置浮动。具体代码如下所示:效果:由上图可以看出,在给span添加了float之后,父级元素div的高度就变成了0(红色框)。我们有以下几种方式来解决这个问题1、在标签结尾处加空div标签 clear:both源代码:效果:...原创 2019-03-16 17:42:27 · 13824 阅读 · 1 评论 -
【React】知识点归纳:纯函数和高阶函数
纯函数和高阶函数纯函数高阶函数纯函数一个函数的返回结果只依赖于它的参数,并且在执行过程里面没有副作用,我们就把这个函数叫做纯函数。一类特别的函数: 只要是同样的输入,必定得到同样的输出必须遵守以下一些约束a. 不得改写参数b. 不能调用系统 I/O 的 APIc. 能调用 Date.now()或者 Math.random()等不纯的方法reducer 函数必须是一个纯函数...原创 2019-01-30 19:31:20 · 1901 阅读 · 0 评论 -
redux 调试工具安装及使用
redux 调试工具的安装及使用安装 chrome 浏览器插件在谷歌应用商店下载redux-devtools,去谷歌应用商店搜索redux-devtools直接安装即可。将下载好的插件直接拖到浏览器右上角-&gt;更多工具-&gt;扩展程序中。也可以在本站离线下载安装chrome redux调试插件,离线安装的方法参照:chrome插件的离线安装方法。最新chrome浏览器下载地址:h...原创 2019-01-30 16:57:53 · 2869 阅读 · 0 评论 -
【React】知识点归纳:react ajax
react ajax原创 2019-01-28 11:02:37 · 445 阅读 · 0 评论 -
【React】知识点归纳:react中使用axios获取后台服务器数据
React-Ajax: react中使用axios获取后台服务器数据,所有的数据请求统一写到一个文档里面react项目中获取数据的工具比较多,比如fetch 、axios, 这2个应该是使用最多的。在练习的时候遇到一个问题:就是将所有的数据请求统一写到一个文档里面,比如get-api.js目的就是后期的维护,方便修改。但是axios 获取到的数据是无法return出去的所以我的实现方案...原创 2019-01-28 11:40:40 · 2381 阅读 · 1 评论 -
【React】知识点归纳:受控组件与非受控组件区别
React: 受控组件与非受控组件区别受控组件示范代码:原理图:非受控组件示范代码:结论受控组件在HTML中,标签&lt;input&gt;、&lt;textarea&gt;、&lt;select&gt;的值的改变通常是根据用户输入进行更新。在React中,可变状态通常保存在组件的状态属性中,并且只能使用 setState() 更新,而呈现表单的React组件也控制着在后续用户输入时该表单中...原创 2019-01-22 17:51:20 · 19765 阅读 · 1 评论 -
【React】知识点归纳:react-demo
React-demo: 评论管理设计流程源代码app.jsxcomment-add.jsxcomment-list.jsxcomment-item.jsx总结设计流程1.拆分组件应用组件: Appstate: comments/array添加评论组件: CommentAddstate: username/string, content/stringprops: add/f...原创 2019-01-22 16:40:47 · 288 阅读 · 0 评论 -
【React】知识点归纳:虚拟 DOM 与 DOM Diff 算法
React:虚拟 DOM 与 DOM Diff 算法React高效原因:基本流程图简单案例源代码运行效果总结详细参考博文:React高效原因:1.虚拟(virtual)DOM:不总是直接操作实际的DOM元素,而是先修改virtual DOM里的对象 当要在一个页面连续修改多个地方时 最后将Virtual DOM里所有要修改玩的对象映射到实际的DOM元素里,批量修改,访问更新/重绘的的次数减少...原创 2019-01-22 15:09:02 · 200 阅读 · 0 评论 -
【React】知识点归纳:组件生命周期
组件生命周期案例效果需求: 自定义组件让指定的文本做显示/隐藏的渐变动画切换持续时间为 2S点击按钮从界面中移除组件界面组件生命周期的理解组件对象从创建到死亡它会经历特定的生命周期阶段React 组件对象包含一系列的勾子函数(生命周期回调函数), 在生命周期特定时刻回调我们在定义组件时, 可以重写特定的生命周期回调函数, 做特定的工作生命周期流程图生命周...原创 2019-01-22 13:49:12 · 205 阅读 · 0 评论 -
【React】知识点归纳:组件的组合、收集表单数据
1、组件的组合效果功能: 组件化实现此功能显示所有 todo 列表输入文本, 点击按钮显示到列表的首位, 并清除输入的文本功能界面的组件化编码流程(无比重要)拆分组件: 拆分界面,抽取组件实现静态组件: 使用组件实现静态页面效果实现动态组件a. 动态显示初始化数据b. 交互功能(从绑定事件监听开始)源代码&amp;amp;amp;amp;lt;!DOCTYPE html&amp;amp;amp;amp;gt;&am原创 2019-01-22 11:26:52 · 324 阅读 · 0 评论 -
【JavaScript】知识点归纳:正则表达式中的特殊字符
正则表达式作用:•测试字符串的某个模式。例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式。这称为数据有效性验证•替换文本。可以在文档中使用一个正则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字•根据模式匹配从字符串中提取一个子字符串。可以用来在文本或输入字段中查找特定文字正则表达式语法一个正则表达式就是由普通字符(例如字符 a ...原创 2019-01-31 15:55:22 · 1562 阅读 · 0 评论 -
【React】知识点归纳:组件三大属性 state、props、refs与事件处理
1.state理解1)state是组件对象最重要的属性, 值是对象(可以包含多个数据)2)组件被称为&amp;amp;quot;状态机&amp;amp;quot;, 通过更新组件的state来更新对应的页面显示(重新渲染组件)编码操作1)初始化状态:constructor (props) { super(props) this.state = { stateProp1 : value1, st...原创 2019-01-21 20:52:23 · 315 阅读 · 0 评论 -
【React】知识点归纳:React JSX、虚拟DOM、模块与组件和模块化与组件化的理解
JSX1)全称: JavaScript XML2)react定义的一种类似于XML的JS扩展语法: XML+JS3)作用: 用来创建react虚拟DOM(元素)对象var ele = &amp;amp;lt;h1&amp;amp;gt;Hello JSX!&amp;amp;lt;/h1&amp;amp;gt;注意1: 它不是字符串, 也不是HTML/XML标签注意2: 它最终产生的就是一个JS对象4)标签名任意: HTML标签原创 2019-01-21 19:45:40 · 455 阅读 · 0 评论 -
【React】知识点归纳:axios、Fetch的相关API
React:axios、Fetch的GET、POST请求方法AxiosGET 请求POST请求FetchGET 请求POST请求AxiosGET 请求axios.get('/user?ID=12345').then(function (response) {console.log(response);}).catch(function (error) {console.log(er...原创 2019-01-28 13:06:37 · 315 阅读 · 0 评论 -
同源策略限制及跨域问题的解决方法
什么是同源策略同源策略是浏览器上为安全性考虑实施的非常重要的安全策略。什么是同源同源是指相同的协议、域名、端口,三者都相同才属于同域。不符合上述定义的请求,则称为跨域。(URL由协议、域名、端口和路径组成)浏览器的同源策略,限制了来自不同源的&amp;quot;document&amp;quot;或脚本,对当前&amp;quot;document&amp;quot;读取或设置某些属性。从一个域上加载的脚本不允许访问另外一个域的文档属原创 2019-01-28 18:45:33 · 3927 阅读 · 0 评论 -
URL组成详解
URL组成详解就以下面这个URL为例,介绍下普通URL的各部分组成http://www.aspxfans.com:8080/news/index.asp?boardID=5&ID=24618&page=1#name从上面的URL可以看出,一个完整的URL包括以下几部分:协议部分:该URL的协议部分为“http:”,这代表网页使用的是HTTP协议。在Internet中可以使...原创 2019-01-28 18:48:29 · 248 阅读 · 0 评论 -
【React】知识点归纳:react-redux 理解React-redux中connect方法的使用
理解React-redux中connect方法的使用关于React-redux为什么会有ReduxStore与视图层的绑定Provider组件Provider组件源码:connect方法关于React-reduxRedux是React全家桶的重要一员,之前在知乎上也看到类似的提问:该如何通俗易懂的理解Redux?Redux是JavaScript的状态容器,Redux的概念简单明了:应用中...原创 2019-01-30 16:34:59 · 465 阅读 · 0 评论 -
【React】知识点归纳:redux 异步编程
redux 异步编程下载 redux 插件(异步中间件)案例效果:源代码:下载 redux 插件(异步中间件)npm install --save redux-thunk案例效果:源代码:对比 使用react-redux编写此案例网址:https://blog.csdn.net/qq_41846861/article/details/86702584index.js引入re...原创 2019-01-30 15:53:05 · 280 阅读 · 0 评论 -
【React】知识点归纳:react-redux
react-redux一、react-redux理解React-Redux 将所有组件分成两大类相关 API二、使用 react-redux一、react-redux理解一个 react 插件库专门用来简化 react 应用中使用 reduxReact-Redux 将所有组件分成两大类UI 组件a. 只负责 UI 的呈现,不带有任何业务逻辑b. 通过 props 接收数据(一般...原创 2019-01-30 14:22:47 · 331 阅读 · 0 评论