自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(559)
  • 论坛 (1)
  • 收藏
  • 关注

转载 Vue源码系列-Object的变化侦测

1. 前言在上一篇文章中,我们知道:数据驱动视图的关键点则在于我们如何知道数据发生了变化,只要知道数据在什么时候变了,那么问题就变得迎刃而解,我们只需在数据变化的时候去通知视图更新即可。要想知道数据什么时候被读取了或数据什么时候被改写了,其实不难,JS为我们提供了Object.defineProperty方法,通过该方法我们就可以轻松的知道数据在什么时候发生变化。#2. 使Object数据变得“可观测”数据的每次读和写能够被我们看的见,即我们能够知道数据什么时候被读取了或数据什么时候被改写了

2020-08-07 16:54:55 67

转载 WebSocket之解析数据帧

知道了怎么握手只是让客户端和服务器建立连接而已,WebSocket真正麻烦的地方是在数据的传输上!为了环保,它使用了特定格式的数据帧,这个数据帧需要自己去解析(当然也有别人编写好的库可以用)。虽然官方文档描述的很详细,但是看起来还是蛋疼。 当客户端向服务器发送一个数据时服务器收到一个数据帧,比如下面的程序//客户端程序varws=newWebSocket("ws://127.0.0.1:8000");ws.onopen=function(e){ws.send("次碳酸钴"...

2020-08-07 16:48:03 59

转载 JavaScript escape/unescape 编码的 Java 实现

  当我们在使用javaweb工程的时候,无可避免的需要从前台jsp页面中传递数据到后台进行处理,但是有时候当我们输入中文字符时,会莫名的出现乱码,或许是你页面的编码方式不对,或许是request对象在接收到数据的时候变成了乱码,又或许是数据在传递的时候发生了乱码,又或许使用某些工具或者是框架上传的时候未对中文名称做处理而造成的乱码。总之乱码是一直存在的问题,这时,一个解决思路则是使用JavaScript的escape方法对传递的数据进行编码,然后在在java端对该数据进行解码。  我们知道JavaScr

2020-08-07 16:44:20 51

转载 解决TextEncoder 和 TextDecoder在IE下不兼容的问题

一、问题产生项目中由于版本问题必须升级stomp.js。然而stomp.js包内部使用的TextEncoder和TextDecoder在IE下并不兼容。导致整个项目在IE下无法跑。兼容性查看入口.二、解决尝试text-encoding.js在npm上找到了兼容库 text-encoding.js,这是github链接地址,这是npm链接地址。然而很不幸的是,这两个都已经停止维护,公司也无法将其作为开源软件引入,故放弃。当然,对于大家要求没那么严格来说,完全可以使用。自己写一个text-.

2020-08-07 16:41:51 151

转载 iPhoneX安全区域(Safe Area)底部小黑条在微信小程序和H5的屏幕适配

最近写小程序时,遇到了 iPhoneX 底部小黑线与内容重叠的问题,实际上是iPhoneX安全区域的适配问题,了解清楚这个问题花了挺多时间的,也实操出了结果,忍不住来总结总结。前言在苹果 iPhoneX 、iPhone XR等设备上,可以看到物理Home键被取消,改为底部小黑条替代home键功能。微信小程序和 h5 网页需要针对这种情况进行适配,否则可能会遇到底部按钮或选项卡栏与底部黑线重叠的情况,如下图。1. 安全区域是什么意思?想要解决内容与小黑线重叠的问题,我们需要先了解清楚苹果对

2020-08-07 16:37:51 286

转载 set-ExecutionPolicy‘ 不是内部或外部命令 cnpm : 无法加载文件 C:\Users\XXX

set-ExecutionPolicy' 不是内部或外部命令,也不是可运行的程序 或批处理文转到“开始”菜单,然后搜索“ Windows PowerShell ISE”。右键单击x86版本,然后选择“以管理员身份运行”。在顶部,粘贴Set-ExecutionPolicy RemoteSigned; 运行脚本。 选择“全是”。对64位版本的Powershell ISE(非x86版本)也重复这些步骤。在安装启动服务的时候会报“cnpm : 无法加载文件 C:\Users\XXX...

2020-08-07 16:34:57 1427 1

转载 VUE常用UI组件插件及框架-vue前端UI框架收集

UI组件及框架element- 饿了么出品的Vue2的web UI工具套件 mint-ui- Vue 2的移动UI元素 iview- 基于 Vuejs 的开源 UI 组件库 Keen-UI- 轻量级的基本UI组件合集 vue-material- 通过Vue Material和Vue 2建立精美的app应用 muse-ui- 三端样式一致的响应式 UI 库 vuetify- 为移动而生的Vue JS 2组件框架 vonic- 快速构建移动端单页应用 vue-blu- 帮助...

2020-08-07 16:27:24 728

转载 Vue-源码详解mixin混入和合并策略

在vue里面,混入(mixin)是一种特殊的使用方式。一个混入对象可以包含任意的组件选项,可根据需求随意“封装”组件的可复用单元,并在使用时根据一定的策略合并到组件的选项当中,使用时与组件自身选项无异。官方文档对mixin介绍比较少,不能了解甚少,于是便想研究下源码对它混入做个研究和总结本文基于Vue源码2.x版本一、说在前面在分析mixin之前,先看看两个方法,它们在混入的合并过程中扮演着重要的角色(1) Vue.extend()Vue.extend()是基础Vue构造器,参数是一个包

2020-08-07 16:22:39 98

转载 JS解惑之Object中的key是有序的么,关于for...in遍历对象属性的顺序问题

当我们使用for/in遍历一个Object对象的时候,打印的结果是否按key的顺序打印出来呢?答案是:不一定。背景最近在做一个项目的时候,遇到这样一个需求:一个下拉列表中有3个固定选项,包括:-1:全部;0:正常;1:失效。于是,我就定义了一个对象,然后循环这个对象,把结果放到 <option> 上面: 1 2 3 4 5 var obj = { '-1': '全部', '0' : '正常...

2020-08-07 15:59:19 214

转载 Vuex从使用到原理解析

一、Vuex是什么Vuex是专门为Vuejs应用程序设计的状态管理工具。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。1、Vuex的构成由上图,我们可以看出Vuex有以下几个部分构成:1)statestate是存储的单一状态,是存储的基本数据。2)Gettersgetters是store的计算属性,对state的加工,是派生出来的数据。就像computed计算属性一样,getter返回的值会根据它的依赖被缓存起来,且只..

2020-08-07 15:54:40 55

转载 video 播放 全屏 更多控件显示隐藏&自定义视频控件&Shadow DOM

影子DOM通过创建文档片段的形式高效地封装内容,影子DOM的内容是特殊的文档,会通过合并到主文档的方式来创建所有被渲染的内容。实际上一些浏览器已经通过影子DOM的方式来渲染浏览器的插件

2020-06-19 14:14:29 430

转载 WAMPServer APACHE配置跨域请求

1、打开httpd.conf,找到#LoadModule headers_module modules/mod_headers.so把注释去掉2、在httpd-vhosts.conf 后台出增加Header set Access-Control-Allow-Origin *意思是对这个域名的资源进行访问时,添加一个头信息最后重启WAMP————————————————版权声明:本文为CSDN博主「耗泥玛」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

2020-06-19 14:03:48 224

转载 HTML5调用摄像头录制视频

HTML5调用摄像头录制视频不支持ie,ie下不支持webrtc,无法使用navigator.getUserMedia调用摄像头<!DOCTYPE html><html><head> <title>video recoder</title> <script src="fileSaver.js"></script> <meta http-equiv="Content-Type" co

2020-06-19 14:01:35 226

转载 git 查看某文件的修改历史

git log命令1、git log -- filename(git log filename)可以看到该文件相关的commit记录2、git log -p filename可以显示该文件每次提交的diff3、git show comit_id filename可以查看某次提交中的某个文件变化4、git show commit_id查看某次提交5、gitk --follow filename以图形化界面的方式显示修改列表————————————————版权声明:本文为

2020-06-19 13:58:01 95

转载 [Vue-CLI3] IE报vuex requires a Promise polyfill in this browser问题解决

多方查阅 都是基于Vue-Cli2.x的解决方案由于Vue-Cli3.0把项目的配置都包装好了 放在了/node_modules/@vue下,所有后续加入的配置 都需要先在项目根目录下创建一个名叫vue.config.js的文件,然后写进去run serve或者run build的时候 会自动把vue.config.js中自定义的配置项merge到webpack的配置中去Vue-Cli3合并webpack配置项基于插件webpack-chain详细文档在这个github地址 可以阅读它的rea.

2020-06-19 13:54:39 174

转载 VueX(Vue状态管理模式)

一、初识VueX1.1 关于VueXVueX是适用于在Vue项目开发时使用的状态管理工具。试想一下,如果在一个项目开发中频繁的使用组件传参的方式来同步data中的值,一旦项目变得很庞大,管理和维护这些值将是相当棘手的工作。为此,Vue为这些被多个组件频繁使用的值提供了一个统一管理的工具——VueX。在具有VueX的Vue项目中,我们只需要把这些值定义在VueX中,即可在整个Vue项目的组件中使用。1.2 安装由于VueX是在学习VueCli后进行的,所以在下文出现的项目的目录请参照VueCl

2020-06-19 13:45:42 87

转载 H5 video视频播放器开发-Picture-in-Picture画中画技术

概述画中画功能是chrome70+的新功能,视频窗口能够从浏览器独立出来播放视频,看起来像是一个本地应用。添加画中画功能//document.pictureInPictureElement 获取画中画元素//document.pictureInPictureEnabled 判断是否支持画中画/*<video controls controlslist="nodownload" //禁用下载 class="video-player"

2020-06-19 12:25:18 642

转载 如何理解并应用贝塞尔曲线推导原理实际应用总结

制图工具http://cubic-bezier.com/ease: cubic-bezier(0.25, 0.1, 0.25, 1.0)linear: cubic-bezier(0, 0, 1, 1)ease-in: cubic-bezier(0.42, 0, 1, 1)ease-out: cubic-bezier(0, 0, 0.58, 1)ease-in-out: cubic-bezier(0.42, 0, 0.58, 1)贝塞尔曲...

2020-06-19 11:54:36 76

转载 贝塞尔曲线算法之JS获取点

什么是贝塞尔曲线?贝塞尔曲线(Bézier curve),又称贝兹曲线或贝济埃曲线,是应用于二维图形应用程序的数学曲线。这个一阶贝塞尔曲线绘制过程,黑点按百分比t从P0->P1移动,看不出什么呢~ 那继续看后面的图这个是二阶贝塞尔曲线,从P0->P1有个小绿点按百分比t运动,从P1->P2也有个小绿点按百分比t运动,两个绿点之间也有个小黑点按百分比t运动,这个黑点产生的轨迹就是一个二阶贝塞尔曲线。这个是三阶贝塞尔曲线,同理,绿点有3个,点与点之间都是按百分比t运动,最

2020-06-19 10:28:06 217

转载 使用Gauss高斯消元法求解n元一次方程组的根,

3. 使用Gauss消元法求解n元一次方程组的根,举例,三元一次方程组:0.729x1+0.81x2+0.9x3=0.6867x1+x2+x3=0.83381.331x1+1.21x2+1.1x3=1package chapter4;import java.util.Scanner;public class demo3 { public static void main(String[] args) { Scanner sc=new Scanner(Syste.

2020-06-19 10:13:49 111

转载 chrome调试工具常用的六个小技巧

Chrome的开发者工具是非常强大的的调试工具,这一点程序员们都不会陌生,然而,有一些小的技巧性的功能,能够很大程度上提高开发效率……下面我就来罗列一下第一个:将代码格式化CSS或者JS文件上线后一般都是压缩之后的代码,这个时候为了方便查看,你可以点击代码窗口左下角的那个{}标签,chrome会帮你给格式化掉。如下图所示:第二个:强制DOM状态很常见,有些HTML的DOM是有状态的,比如A标签,它就会有 active,hover, focus,visited这些状态,ch..

2020-05-27 10:51:45 181

转载 Node.js 命令行程序开发教程

一种编程语言是否易用,很大程度上,取决于开发命令行程序的能力。Node.js 作为目前最热门的开发工具之一,怎样使用它开发命令行程序,是 Web 开发者应该掌握的技能。最近,Npm的网志有一组系列文章,我觉得写得非常好。下面就是我在它的基础上扩展的教程,应该是目前最好的解决方案了。一、可执行脚本我们从最简单的讲起。首先,使用 JavaScript 语言,写一个可执行脚本 hello 。#!/usr/bin/env nodeconsole.log('hello world'

2020-05-27 10:30:13 57

转载 nodejs命令行执行时带参数并接收参数

今天项目里突然想在初始化时跑一些数据,于是想起以前在python时可以在命令行里带参数运行命令的,经过百度后确实也是有的。** process.argv**//想获得命令行后面的几个参数值/*//node arg.js arg1 arg2 arg3, 想取得这三个参数//即可以程序中用:var args = process.argv.splice(2)//process是一个全局对象,argv返回的是一组包含命令行参数的数组。//第一项为”node”,第二项为执行的js的完整路径,后面

2020-05-27 10:28:00 913

转载 Node 调试工具入门教程

JavaScript 程序越来越复杂,调试工具的重要性日益凸显。客户端脚本有浏览器,Node 脚本怎么调试呢?2016年,Node 决定将 Chrome 浏览器的"开发者工具"作为官方的调试工具,使得 Node 脚本也可以使用图形界面调试,这大大方便了开发者。本文介绍如何使用 Node 脚本的调试工具。一、示例程序为了方便讲解,下面是一个示例脚本。首先,新建一个工作目录,并进入该目录。$ mkdir debug-demo$ cd debug-demo然后,生成pack

2020-05-27 10:19:54 82

转载 vue-cli 调试配置-在VSCode启动NodeJS调试

在这里,我们使用开发工具vscode,工具怎么使用这里就不描述了,直接进入主题。vue-cli 调试配置项目准备1.下载vue-cli 项目2.进入vue-cli\packages@vue\cli 目录,查看cli包文件,执行命令 npm i配置launch.json { "type": "node", "request": "launch", "name": "vue-cli",

2020-05-27 10:14:55 304

转载 浅析vue-cli2和vue-cli4

安装及版本切换查看当前版本,如果是2开头说明当前使用的是vue-cli2,4开头的话就是vue-cli4vue --version如果无法识别vue命令说明没有安装vue-cli,使用以下说明进行安装安装2.0版本:npm install -g vue-cli安装4.0版本:npm install -g @vue/cli版本切换,即卸载当前版本,安装另外的版本从2.0升级到4.0:npm uninstall -g vue-clinpm install -g @v

2020-05-27 10:02:37 244

转载 git比较两个分支的文件和提交

例如有两个分支master和funcmaster分支创建文件masterfile.md,两次修改此文件,并提交两次。func分支增加文件funcfile.md,三次修改此文件,并提交三次。然后对masterfile.md进行修改,提交第四次。然后切换回master分支,修改masterfile.md,提交第三次。1. 比较分支文件git diff master func --stat 显示出所有有差异的文件列表git diff master func -- 文件名(含路径) 显示指定文件

2020-05-27 09:47:30 58

转载 php使用websocket示例详解数据解密

一、php 中处理 websocketWebSocket 连接是由客户端主动发起的,所以一切要从客户端出发。第一步是要解析拿到客户端发过来的 Sec-WebSocket-Key 字符串。复制代码代码如下:GET /chat HTTP/1.1Host: server.example.comUpgrade: websocketConnection: UpgradeSec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==Origin: http://ww.

2020-05-27 09:37:42 212

转载 前端websocket与php后台连接

HTTP协议的特性:属于“请求-响应”模型,只有客户端发起了请求消息,服务器才能给出响应消息,没有请求,就没有响应;一个请求消息,服务器只能返回一个响应消息。有些特殊应用场景中,如“在线股票”、“聊天室”等,需要模拟呈现出“客户端不发请求,服务器也在不停的给出响应”效果,若使用HTTP协议,只能使用“AJAX+定时器”来近似的实现——心跳请求,问题:心跳过慢则信息的实效性差,心跳过快则服务器压力太大!WebSocket协议的特性:属于“广播-收听”模型,只要客户端连接到服务器上,就不再断开(永久连接),

2020-05-27 09:32:35 79

转载 怎么连接到局域网内的另一台电脑

1、首先,在电脑上点击开始,找到运行,并点击打来开。在运行的对话窗口的输入框内输入“mstsc”。2、然后,按enter回车键,进入到源远程桌面连接的界面,并在计算机后面的输入框内输入要远程的电脑的IP地址。百再点击底部的连接按钮。3、接着,在度弹出的知是否信任此远程连接的窗口中点击底部的连接按钮。4、最后,就会进入到连接电脑的登陆界面,在输入框内输入登陆密码,并点击输入框右边的箭头图标即可。5、如图所示,就成功的连接到局域网内的另一道台电脑了。转载于:https:/

2020-05-14 15:41:09 678

转载 ajax跨域请求传递Cookie问题

问题描述前后端完全分离的项目,前端使用Vue + axios,后端使用SpringMVC,容器为Tomcat。使用CORS协议解决跨域访问数据限制的问题,但是发现客户端的Ajax请求不会自动带上服务器返回的Cookie:JSESSIONID。导致每一个Ajax请求在服务端看来都是一个新的请求,都会在服务端创建新的Session(在响应消息头中设置Set-Cookie:JSESSIONID=xxx)。而在项目中使用了Shiro框架,用户认证信息是放在Session中的,由于客户端不会把JSESSIO

2020-05-14 15:38:17 212

转载 各种浏览器UserAgent一览表(桌面+移动)

桌面============================================IE 而IE各个版本典型的userAgent如下: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0) Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2) Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Mozilla/4.0 (comp...

2020-05-14 15:19:10 263

转载 javascript平滑滚动Element.scrollIntoView()

在了解JavaScript的平滑滚动Element.scrollIntoView()之前,你要知道还有一个原生的CSS功能:scroll-behavior。Element.scrollIntoView()这是一个实验中的功能。该方法用来将不在浏览器窗口的可见区域内的元素滚动到浏览器窗口的可见区域。 如果该元素已经在浏览器窗口的可见区域内,则不会发生滚动。语法element.scrollIntoView(); // 等同于element.scrollIntoView(true) el.

2020-05-14 15:16:17 124

转载 由于找不到MSVCR110.dll,无法继续执行代码...解决办法

本人的电脑是64位系统,想安装wamp3.0.6,但是安装后打开软件时会提示:上面这张图是我在网上找的,我当时的提示是由于找不到MSVCR110.dll...为解决这个问题,百度了好多尝试了好多,大多数都是说去微软官网下载之类的就能解决,当然可能是下载其他版本的,比如2015版本的。但是照做了我还是无法解决,经过各种尝试后发现:解决办法:安装VC运行库合集。下载链接:http://www.pc6.com/softview/SoftVi...

2020-05-14 15:12:40 287 1

转载 网络安全-扫描器X-SCANNER应用实验

一、实验目的:掌握网络端口扫描器的使用方法,熟悉常见端口和其对应的服务程序,掌握发现系统漏洞的方法。掌握综合扫描及安全评估工具的使用方法,了解进行简单系统漏洞入侵的方法,了解常见的网络和系统漏洞以及其 安全防护方法。二、实验环境:实验室所有机器安装了Windows操作系统,并组成了一个 局域网,并且都安装了SuperScan端口扫描工具和流光 Fluxay5综合扫描工具。三、实验内容:任务一:使用Superscan端口扫描工具并分析结果实验步骤:(1)在命令符提示下输入IPCONF

2020-05-14 15:09:46 121

转载 【前端】那些容易忘掉的前端知识 Vue梳理篇

Vuev-show和v-if有什么区别v-show 通过 CSS display 控制显示和隐藏v-if 组件真正的渲染和销毁,而不是显示和隐藏为何在v-for使用key必须用 key , 且不能是 index 和 randomdiff 算法中通过 tag 和 key 来判断,是否是 sameNode减少渲染次数,提升渲染性能Vue 组件生命周期(包括父子组件)参考:Vue生命周期Vue 组件如何通信(常见)父子组件 props 和 this.$emit自定义事件 e

2020-05-14 15:03:36 59

转载 vscode 前端常用插件推荐

1.vscode 简介1.vscode是微软开发的的一款代码编辑器,就如官网上说的一样,vscode重新定义(redefined)了代码编辑器。2.当前市面上常用的轻型代码编辑器主要是:sublime,notepad++,editplus,atom这几种。3.比起notepad++、editplus,vscode集成了许多IDE才具有的功能,比起它们更像一个代码编辑器;4.比起sublime,vscode颜值更高,安装配置插件更为方便;5.比起atom,vscode启动速度更快,打开各种大文..

2020-05-14 14:51:32 148

转载 简单一招能让你的浏览器下载速度提升几十倍,从此弃用IDM等下载器

首先说明一下,本次介绍的妙招只针对Chrome内核浏览器,如Chrome浏览器、360极速版、QQ浏览器、UC浏览器等等,毕竟小众浏览器就算了。其次,在分享浏览器下载提速技巧之前,我们来拿IDM下载器与Chrome内核浏览器下载同一资源进行对比一下,如下图所示,IDM的下载速度超过了6.6MB/S。但是,Chrome内核浏览器默认设置条件下的下载速度仅600多KB。二者之间的下载速度简直就是天差地别,可以说IDM的下载速度秒速Chrome内核浏览器的下载速度。...

2020-05-14 14:40:15 1665

转载 Vue学习之旅Part14:使用render在Webpack中渲染Vue组件

步骤1:在src下创建一个名为后缀名为vue的文件该文件在Webpack中是纯粹的Vue组件由三部分组成:<template>:HTML代码<script>:业务逻辑<style>:样式例:login.vue<template> <div> <h1>登录</h1> </div></template><script><...

2020-05-14 14:33:34 67

转载 Vue管理后台框架选择推荐

Vue.js 是一个目前比较流行的前端框架,在业界也算很有名气,今天这里为大家罗列一下基于Vue的后端管理的框架。使用这些框架你会发现它包括了我们常用的路由,状态,交互等等,我们只需要去复用它的代码,加上一下我们自己少量的逻辑就能轻松的完成项目。会为你节约更多时间喝喝咖啡等,给你一种“框架在手,天下我有”的感觉。这篇文章主要介绍element和Vue Admin。1、elementEl...

2020-05-08 17:16:09 313

空空如也

liu__software的留言板

发表于 2020-01-02 最后回复 2020-01-02

空空如也

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

TA关注的人 TA的粉丝

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