自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 收藏
  • 关注

原创 30个必知必会React面试题汇总,附答案!

受控组件就是可以被 react 状态控制的组件在 react 中,Input textarea 等组件默认是非受控组件(输入框内部的值是用户控制,和React无关)。但是也可以转化成受控组件,就是通过 onChange 事件获取当前输入内容,将当前输入内容作为 value 传入,此时就成为受控组件。

2023-10-08 13:08:59 2399

原创 WebSocket的原理与优缺点

long poll 其实原理跟 ajax轮询 差不多,都是采用轮询的方式,不过采取的是阻塞模型(一直打电话,没收到就不挂电话),也就是说,客户端发起连接后,如果没消息,就一直不返回Response给客户端(对于PHP有最大执行时间,建议没消息,执行到一定时间也返回)。直到有消息才返回,返回完之后,客户端再次建立连接,周而复始。pull 就不一样了,消费方想要你就来生产方拉一下,拉几次,消息就准确的送达几次,不存在多消费和连接处理的问题,缺点当然就是消息推送的不及时,优点非常明显,简单易实现。

2023-10-08 10:03:30 565

原创 vue3使用知识点总结

默认自动检测出持续时间长的为过渡事件类型。使用 的组件是默认关闭的,也就是说通过 ref 和$parent 是无法访问到的。有效的模式有 "out-in" 和 "in-out"所有通过 ref 创建的数据 需要通过 xxx.value 取它的值, 在模板中无需通过.value。通过markRaw包裹的原始对象,使其永远不会转换为响应式对象,也就是说转换之后修改值并不会更新视图。通过toRaw获取到原始对象,改变原始对象的值会同时改变响应式对象的值,但不会更新视图。

2023-10-08 10:01:20 278

原创 使用vue3.0实现一些动画效果

第一张图片下滑之后从图片列表数组中删除(因为dom的渲染机制,数组的最后一个元素在页面最前面所以用pop(),我们获取到图片数组的时候需要先对数组进行翻转,这样数组的最后一位就是原数据的第一位了),删除之后使用unshift将删除的数据放在数组的第一位,这样是实现了数组的更新。2,元素到达中心位置后形成前后关系的图片列表,并且向下滑动鼠标,图片逐渐向下隐藏,后一张图片向前来到第一张的位置,隐藏图片添加到列表最后。纯纯的css3动画,元素的浮动,背景图和眼睛图的放大效果。

2023-09-11 11:38:55 727

转载 webpack相关知识总结

Loader本质就是一个函数,在该函数中对接收到的内容进行转换,返回转换后的结果。因为 Webpack 只认识 JavaScript,所以 Loader 就成了翻译官,对其他类型的资源进行转译的预处理工作。Plugin就是插件,基于事件流框架Tapable,插件可以扩展 Webpack 的功能,在 Webpack 运行的生命周期中会广播出许多事件,Plugin 可以监听这些事件,在合适的时机通过 Webpack 提供的 API 改变输出结果。

2023-09-05 11:51:01 116

转载 深入浅出Vue.js:第3章 (第①篇 变化侦测)Array的变化侦测

当拦截到数组发生变化时,向以来发送通知。Array的变化侦测与Object的有所不同,前面Object侦测方式是通过getter/setter的方式实现的,但如果使用数组方法例如“push”等来改变数组,并不会触发getter/setter,因为可以使用数组上的原型方法来改变数组的内容,所以Object的getter/setter实现方式就行不通。对于新增的元素使用Observer来侦测,对拦截器中使用的方法的类型进行变化,如果是跟增加有关系的,则把参数中新增的参数拿过来使用Observer来侦测。

2023-09-04 09:10:28 51

原创 arp欺骗(http)与dns欺骗

vi /etc/Ettercap/etter.dns,在文件增加*.com A 192.168.127.133。在win7访问http网站输入用户名密码验证码之后点击确认,发现在kali上可以获取到这些信息。网关:ip:192.168.127.0 mac:00-0c-29-4c-4d-92。在win7上使用arp -a 查询发现192.168.127.0主机mac地址已更改。在win7上执行arp -a可查看到网关物理地址已修改。在win7使用ping命令发现网络已断开。在win7执行 ping。

2023-05-29 19:19:49 710

原创 Windows 安全基础

c) 安全日志,安全日志的默认状态是关闭的,用于记录登录上网和下网,改变访问权限以及系统的启动和关闭,日志的默认存储路径在%systemroot%\system32\config中,位于注册表的。a) 密码策略,这个可以在控制面板本地安全策略里面找到,设置的密码必需符合安全性要求,并且有效期默认为42天,其中所有的选择的都是可以自己设置的,包括密码的安全性要求的开关等。本地安全策略影响本地计算机的安全设置,当用户登录到系统时,就会受到本地安全策略的影响,他会限制用户的一些操作,如密码长度等等。

2023-05-18 14:36:38 517

原创 Windows操作系统重要内容

windows。

2023-05-18 13:41:09 1032

原创 常见的dos操作命令

创建abc目录文件(md abc),进入abc文件(cd abc),删除abc文件(rd abc)ren c:\测试\测试.txt 测试1111.txt 修改文件名称。使用管理员身份运行dos窗口执行chkdsk检查磁盘使用情况(chkdsk c)copy c:\测试.txt c:\测试 复制文件命令。type 测试1111.txt 在dos窗口打开文件。dir c:\测试 显示指定路径下所有文件和目录的信息。compmgmt 计算机管理。

2023-05-17 16:09:12 315

原创 网络安全入门必知的OWASP top 10漏洞详解

该漏洞的原因出自于如果应用对恶意构造的用户输入的数据进行反序列化,这样就会产生非预期的对象,从而有可能产生远程代码执行。我们将其称为对象和数据结构攻击。近年来,敏感数据泄露已经成为了一最常见、最具影响力的攻击,一般我们的敏感信息包括密码、财务数据、医疗数据等,由于web应用或者API未加密或不正确的保护敏感数据,这些数据极易遭到攻击者利用,攻击者可能使用这些数据来进行一些犯罪行为,因此,未加密的信息极易遭到破坏和利用,不久前就爆出过Facebook泄露了用户的大量信息,以及12306也多次泄露用户的信息。

2023-05-17 15:50:36 1150

原创 mysql数据库基本操作

例:select 列名1 ,count(列名2) 别名 from 表名 group by 列名1 having 别名 >2;例:select * from 表名 order by 列名1 asc ,列名2 desc;例:select sum(字段名) as ‘别名’/别名 from 表名;例:select avg(字段名) as 别名 from 表名;例:select min(字段名) as 别名 from 表名;select max(字段名) as 别名 from 表名;:5:从5后开始,10:条数。

2023-05-09 15:49:44 369

原创 使用vue3.0实现考勤日历组件

自定义日历组件,首先我们要明确需求与面板展示内容周日~周六。 当前月日历1~(28/29/30/31),当前月1号如果不是周日,需要上月最后日历补全,当月最后一天不是周六需要下月开始日历补全。 切换至上月,切换至下月按钮 当前年月展示 如果某日有考勤异常,考勤异常日期标记 当前日期展示展示为‘今’ 点击上月日期切换至上月面板并选中该日期弹出该日期考勤信息 点击下月日期切换至下月面板并选中该日期弹出该日期的考勤信息 点击当前月日期则选中当前日期并弹出该日期的考勤信息首先日历面..

2021-11-29 15:47:48 3218 4

原创 使用vue3.0实现一个移动端电子签名组件

因业务需求,前段时间写了一个电子签名组件,在这里记录一下,绘图需求,首先肯定需要使用canvas标签,考虑到在移动端使用,所以选择使用touch事件。首先奉上html结构(该组件为横屏展示):<div class="signName" :style="{top:0,left:differ+'px'}"> <div class="close" @click="close"><img src="../assets/images/close.png" alt="

2021-11-29 11:11:28 2267 1

原创 js的event详解

js的event详解event代表事件的状态,例如触发event对象的元素、鼠标的位置及状态、按下的键等等。event对象只在事件发生的过程中才有效。event的某些属性只对特定的事件有意义。比如,fromElement 和 toElement 属性只对 onmouseover 和 onmouseout 事件有意义。例子下面的例子检查鼠标是否在链接上单击,并且,如果shift键被按下...

2019-08-01 10:10:08 608 1

原创 网页实现掷骰子小游戏

首先明确需求: 在网页正中间展示骰子,点数为一点,点击骰子,骰子旋转然后停留在随机点位上。再次点击骰子,骰子可以继续旋转并停留在随机点位上。 这里我们使用css3动画、3d旋转配合js实现效果一,HTML结构 <body> <!-- span是点数 --> <div id="wrapper"&g...

2019-07-23 17:02:17 6142 1

转载 Grid布局

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Grid布局</title> <style> .main{ width: 1200px; ...

2019-07-18 14:33:18 190

原创 ECMAScript、JavaScript、node.js、TypeScript的关系和区别

ECMAScript:定义了语法,编写javascript和nodejs都必须遵守的规范 定义变量,循环,判断,函数,原型和原型链,作用域和闭包,异步等语法规范 不能操作DOM,不能监听事件,不能发送处理http请求,不能操作文件 即只有ECMAScript几乎做不了任何实际的项目 ES6参考:https://www.runoob.com/w3cnote/es6-tutorial.ht...

2019-07-17 14:27:00 3137

原创 NVM ——node版本管理工具

一,nvm下载方式二,nvm常用命令

2019-07-17 10:51:21 142

原创 vue请求 —— AXIOS

一,axios请求方法封装http.js文件,封装了get 、post 、patch 、put方法,request拦截器在请求发送时触发,response拦截器在请求响应时触发,defaults.timeout请求等待时长,defaults.baseURL是基础路由,同源访问时可忽略import axios from 'axios';axios.defaults.timeout =...

2019-07-01 15:13:55 279

原创 HTTP协议

一,HTTP请求过程浏览器地址栏输入URL地址,回车之后开始跳转,首先检查应用缓存,如果缓存中有请求信息则直接从缓存中获取,如果没有则开始发送请求。首先需要做的是域名解析,通过DNS查找获取域名对应IP地址,请求需要通过IP地址找到对应服务器,然后通过三次握手创建TCP链接,http协议通过创建的TCP链接通道向服务器发送请求,服务器收到请求后对请求进行响应,发送响应信息给客户端。二,...

2019-06-27 17:36:13 325

原创 vue路由

一,动态路由匹配 (1)单个参数时: 1,路由设置: 2,goods页面设置: 3,路由载体 4,url形式:使用时必须符合设置的路由规则,否则无法加载,如图sdf89是设置的g...

2019-06-18 17:14:20 185

原创 在Vue中如何使用axios跨域访问数据

 最近在项目中需要用到axios,所以就恶补一下这个axios到底是什么东东。越来它是vue-resource的替代品,官网也说了,以后都用axios,vue-resource不在维护。那么这个axios怎么用呢,上网搜索了一大堆,基本上都是雷同,我也不知道那些作者有没有在本地测试过。至少我按照网上的做法,总不能成功。经过几天的奋斗,我终于把它搞清楚了,为了不让其他的小伙伴们走弯路,我把我...

2018-09-25 16:46:12 401

原创 搭建基于Express框架的运行环境

一,全局安装express-generatornpm install -g express-generator   //安装express generator生成器,可以快速构建express项目,安装不正确无法使用express *命令npm install -g express    //全局安装expressexpress --version   //查看express版本二...

2018-09-13 12:47:30 333

原创 windows系统下安装mongoDB的过程

一,下载mongoDB官网地址:https://www.mongodb.com/download-center?jmp=nav#community如果上述过程中没有发现你需要的版本,还可以通过download下面的“All Version Binaries”查看所有版本并下载二,安装 打开下载好的文件,进入如图页面; 勾选中同意协议,点击下一步; ...

2018-09-10 15:00:07 206

转载 js事件委托

起因:1、这是前端面试的经典题型,要去找工作的小伙伴看看还是有帮助的;2、其实我一直都没弄明白,写这个一是为了备忘,二是给其他的知其然不知其所以然的小伙伴们以参考;概述:那什么叫事件委托呢?它还有一个名字叫事件代理,JavaScript高级程序设计上讲:事件委托就是利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件。那这是什么意思呢?网上的各位大牛们讲事件委托基本上都用了同一个例子...

2018-07-16 14:27:18 138

原创 webstorm错误解决

1.es6语法报错打开File——&gt;settings——&gt;Languages&amp;Frameworks——&gt;JavaScript设置JavaScript language version 为ECMAScript 62.webstrom光标变成块状,无法输入的问题insert键可以使光标在“小竖线”和“块状矩形”间快速变换,所以按insert可恢复光标3.Webstorm 提示...

2018-07-10 14:47:45 6033

转载 vue---生命周期函数

vue中所有的钩子函数:beforeCreate(创建前)created(创建后)beforeMount(载入前)mounted(载入后)beforeUpdate(更新前)updated(更新后)beforeDestroy(销毁前)destroyed(销毁后)生命周期函数&lt;!DOCTYPE html&gt;&lt;html lang="en"&gt; &lt;head&gt; ...

2018-07-10 10:51:24 150

转载 HTTP-服务器端CooKie与浏览器端Cookie

Cookie的来源由于HTTP协议是无状态的,而服务器端的业务必须是要有状态的。Cookie诞生的最初目的是为了存储web中的状态信息,以方便服务器端使用。比如判断用户是否是第一次访问网站。目前最新的规范是RFC 6265,它是一个由浏览器服务器共同协作实现的规范。 Cookie的处理分为:服务器像客户端发送cookie浏览器将cookie保存之后每次http请求浏览器都会将cookie发送给服务...

2018-07-09 15:59:39 13478

转载 前端跨域通信的几种方式

 前言前端通信类的问题,主要包括以下内容:1、什么是同源策略及限制2、前后端如何通信3、如何创建Ajax4、跨域通信的几种方式   同源策略的概念和具体限制同源策略:限制从一个源加载的文档或脚本如何与来自另一个源的资源进行交互。这是一个用于隔离潜在恶意文件的关键的安全机制。(来自MDN官方的解释)具体解释:(1)源包括三个部分:协议、域名、端口(http协议的默认端...

2018-07-09 15:15:05 601

原创 jQuery ajax全局方法及参数整理

一、$.ajaxSetup()设置全局ajax参数 (全局方法需要global参数不为false,不适用于jsonp方式)$.ajaxSetup({ //设置全局ajax选项参数 type:"GET", url:"UserInfo.xml", dataType:"xml"})$("#divMsg").ajaxStart(function(){ //请求发出前执行 ...

2018-07-09 11:48:07 6555

转载 Flex 布局语法教程

网页布局(layout)是CSS的一个重点应用。布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。2009年,W3C提出了一种新的方案—-Flex布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能。Flex布局将成...

2018-07-06 14:30:54 197

转载 vue实现数据双向绑定的原理

一、知识准备Object.defineProperty( )方法可以直接在一个对象上定义一个新属性,或者修改一个已经存在的属性,并返回这个对象。Object.defineProperty(obj,prop,descriptor),重点是第三个参数,对象里目前存在的属性描述符有两种主要形式:数据描述符和存取描述符。数据描述符是一个拥有可写或不可写值的属性,存取描述符是由一对getter-setter...

2018-07-03 15:07:13 194

转载 css实现垂直居中

垂直居中是布局中十分常见的效果之一,为实现良好的兼容性,PC端实现垂直居中的方法一般是通过绝对定位,table-cell,负边距等方法。有了css3,针对移动端的垂直居中就更加多样化。方法1:table-cellhtml结构:123&lt;div class="box box1"&gt;        &lt;span&gt;垂直居中&lt;/span&gt;&lt;/div&gt;css:123...

2018-06-05 17:44:01 180

转载 vue组件间的数据和方法传递

方法1.父组件调用子组件:ref2.子组件调用父组件:emit数据1.父组件传给子组件:props2.子组件传给父组件:emit共享采用vuex其他可用导入(import)

2018-06-05 16:49:41 135

转载 BFC原理

BFC 已经是一个耳听熟闻的词语了,网上有许多关于 BFC 的文章,介绍了如何触发 BFC 以及 BFC 的一些用处(如清浮动,防止 margin 重叠等)。虽然我知道如何利用 BFC 解决这些问题,但当别人问我 BFC 是什么,我还是不能很有底气地解释清楚。于是这两天仔细阅读了CSS2.1 spec 和许多文章来全面地理解BFC。一、BFC是什么?  在解释 BFC 是什么之前,需要先介绍 Bo...

2018-06-04 21:53:51 306

转载 ES6新特性

箭头操作符如果你会C#或者Java,你肯定知道lambda表达式,ES6中新增的箭头操作符=&gt;便有异曲同工之妙。它简化了函数的书写。操作符左边为输入的参数,而右边则是进行的操作以及返回的值Inputs=&gt;outputs。我们知道在JS中回调是经常的事,而一般回调又以匿名函数的形式出现,每次都需要写一个function,甚是繁琐。当引入箭头操作符后可以方便地写回调了。请看下面的例子。va...

2018-06-04 21:50:46 117

转载 浏览器加载、解析、渲染的过程

一、浏览器浏览器的主要功能是将用户选择的web资源呈现出来,它需要从服务器请求资源,并将其显示在浏览器窗口中,资源的格式通常是HTML,也包括PDF、image及其他格式。用户用URI(Uniform Resource Identifier统一资源标识符)来指定所请求资源的位置,通过DNS查询,将网址转换为IP地址。整个浏览器工作的流程:   1、输入网址。   2、浏览器查找域名的IP地址。  ...

2018-06-04 21:44:23 240

转载 彻底弄懂HTTP缓存机制及原理

前言Http 缓存机制作为 web 性能优化的重要手段,对于从事 Web 开发的同学们来说,应该是知识体系库中的一个基础环节,同时对于有志成为前端架构师的同学来说是必备的知识技能。但是对于很多前端同学来说,仅仅只是知道浏览器会对请求的静态文件进行缓存,但是为什么被缓存,缓存是怎样生效的,却并不是很清楚。在此,我会尝试用简单明了的文字,像大家系统的介绍HTTP缓存机制,期望对各位正确的理解前端缓存有...

2018-06-04 21:35:59 131

转载 js中几种实用的跨域方法原理详解

js中几种实用的跨域方法原理详解这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据。只要协议、域名、端口有任何一个不同,都被当作是不同的域。下表给出了相对http://store.company.com/dir/page.html同源检测的结果:要解决跨域的问题,我们可以使用以下几种方法:一...

2018-06-04 20:44:52 98

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除