学习
文章平均质量分 58
牧艺人
我很懒,还没有添加个人简介!
展开
-
推送方案之 WebSocket
1. 推送技术常见的几种方案1.1 短连接轮询前端使用定时器,每间隔一段时间发送请求来获取数据是否更新,前端可以通过比较数据是否更新来判断是否需要更新页面,通常采取setInterval实现。这种方式最简单也是兼容性最高的。缺点:页面会出现‘假死’setInterval在等到每次EventLoop时,都要判断是否到指定时间,直到时间到再执行函数,一旦遇到页面有大量任务或者任务处理时间特别耗时的情况下,页面就会出现‘假死’现象,无法及时更新到最新的数据。多余的网络传输当客户端按固定频率向原创 2021-08-10 16:05:45 · 827 阅读 · 0 评论 -
Yeomen 脚手架工具的使用-创建工程化项目
在全局安装yo $ npm install yo --global or$ yarn global add yo 安装对应的generator $ npm install generator-node --globalor $ yarn global add generator-node 通过yo 运行generator $ cd path/to/project-dir$ mkdir my-module$ yo node最后根据提示输入配置项目参数,就可以..原创 2021-02-25 23:56:16 · 89 阅读 · 0 评论 -
xss基本介绍与防护
XSS基本介绍XSS是一种经常出现在web应用中的计算机安全漏洞,也是web中最主流的攻击方式。XSS是指恶意攻击者利用网站没有对用户提交数据进行转义处理或者过滤不足的缺点,进而添加一些代码,嵌入到web页面中去。使别的用户访问都会执行相应的嵌入代码。XSS通过将精心构造的代码(JS)代码注入到网页中,并由浏览器解释运行这段JS 代码,以达到恶意攻击的效果。当用户访问被XSS 脚本注入的网页,XSS脚本就会被提取出来。浏览器就会解析这段XSS 代码,在客户端运行恶意的代码。XSS危害简单原创 2021-01-13 13:34:50 · 1175 阅读 · 0 评论 -
一个强大的管理异步数据请求的 Hook - useRequest
useRequest核心特性自动请求/手动请求 SWR(stale-while-revalidate) 缓存/预加载 屏幕聚焦重新请求 轮询 防抖 节流 并行请求 依赖请求 loading delay 分页 加载更多,数据恢复 + 滚动位置恢复 ......详细内容以及用法请查看aHooks 官方文档:https://ahooks.js.org/zh-CN/hooks/async...原创 2021-01-11 20:32:59 · 1026 阅读 · 0 评论 -
chrome 安装react-devtools
地址:https://github.com/facebook/react-devtools/tree/v3,直接download ZIP格式知道下载位置,解压到自己可以找见的目录下,进入到react-devtools-3目录,cnpm i一下安装一下依赖再进入到react-devtools-3\shells\chrome切换到chrome目录下,运行node build.js,当前目录下会生成build目录 这个build目录下的unpacked目录就是chrome中所需react...原创 2021-01-06 13:47:29 · 214 阅读 · 0 评论 -
React 项目性能优化的一些方式
UI 更新需要昂贵的 DOM 操作,而 React 内部使用几种巧妙的技术以便最小化 DOM 操作次数。对于大部分应用而言,使用 React 时无需专门优化就已拥有高性能的用户界面。尽管如此,我们仍然有办法来加速React 应用。以下是一些常见的优化react 性能的方式。1:使用生产版本目前市场上比较流行的便是使用create-react-app 脚手架工具或者使用webpack打包来构建生产版本。具体使用需搜索create-react-app 脚手架打包,和webpack 打包。...原创 2021-01-06 13:40:02 · 796 阅读 · 1 评论 -
2020年7个令人兴奋的JavaScript常用新特性总结(超实用)
一个ECMAScript标准的制作过程,包含了Stage 0到Stage 4 五个阶段,每个阶段提交至下一阶段都需要TC39审批通过。本文介绍这些新特性处于Stage 3 或者Stage 4 阶段,这意味着应该很快在浏览器和其他引擎中支持这些特性。一、类的私有变量最新提案之一是在类中添加私有变量的方法。我们将使用 # 符号表示类的私有变量。这样就不需要使用闭包来隐藏不想暴露给外界的私有变量。class Counter { #x = 0; #increment() { this.转载 2020-06-30 18:12:01 · 235 阅读 · 0 评论 -
React生命周期函数以及其常用应用场景
React生命周期先说一下react 生命周期的变动(目前react 最新版本是v16.4.2):以V6.3为中间点,v16.3之后的版本最大的变动莫过于生命周期去掉了以下三个componentWillMount (render之前执行,只执行一次)componentWillReceivePropscomponentWillUpdate (每次更新,render之前执行)同时加了两个新的生命周期函数getDerivedStateFromPropsgetSnapshotB.原创 2020-05-13 19:23:57 · 278 阅读 · 0 评论 -
VsCode 使用less
1、安装node.js2、安装less npm install less -g正在上传…重新上传取消转存失败重新上传取消转存失败重新上传取消3、安装VS插件Easy LESS4、编辑保存.less文件,会在对应的目录下生成对应的.css文件5.在文件 首选项 设置 中搜索 settings.json 加入 配置相关代码如图这样配置可以...原创 2020-05-13 19:09:23 · 273 阅读 · 0 评论 -
react 创建组件的几种方式以及特点
1.无状态函数式组件它是为了创建纯展示组件,这种组件只负责根据传入的props来展示,不涉及到要state状态的操作。特点:1.1.组件不会被实例化,整体渲染性能得到提升因为组件被精简成一个render方法的函数来实现的,由于是无状态组件,所以无状态组件就不会在有组件实例化的过程,无实例化过程也就不需要分配多余的内存,从而性能得到一定的提升。1.2.组件不能访问this对象无状态组件由于没有实例化过程,所以无法访问组件this中的对象,例如:this.ref、this.state等均..原创 2020-05-13 19:04:26 · 321 阅读 · 0 评论 -
React 基础环境搭建
react基础环境搭建大概分成以下四步:1:安装node.js --去官网(https://nodejs.org/zh-cn/)下载相应版本并选择默认安装,安装完成输入命令 node -v 检查是否成功2:安装create-react-app 脚手架 -- 在命令提示窗口下输入命令npm install -g create-react-app3:创建脚手架项目 --在合...原创 2020-04-19 23:56:00 · 92 阅读 · 0 评论 -
BOM 有哪些对象,分别都有哪些方法?
BOM简介BOM(Browser Object Model) 是指浏览器对象模型,是用于描述这种对象与对象之间层次关系的模型,浏览器对象模型提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。BOM由多个对象组成,其中代表浏览器窗口的Window对象是BOM的顶层对象,其他对象都是该对象的子对象。BOM具有的对象1、window对象 ,是JS的最顶层对象,其他的BOM对象都是win...原创 2020-04-17 22:10:40 · 5322 阅读 · 0 评论 -
js 数组方法汇总
1.push() 入栈push()方法可以向数组后添加一个新的元素,并返回新数组的长度。末尾添加,返回长度,改变原数组var a = [1,2,3]var b = a.push(4)console.log(a) // [1,2,3,4]console.log(b) // 42.pop() 出栈pop() 用于删除并返回最后一个元素。尾部删除,返回被删除的元素,...原创 2020-04-15 22:04:08 · 77 阅读 · 0 评论 -
使用原生js请求ajax
原生js 请求ajax 内容一般分五步:1.创建一个XMLHttpRequest异步对象2.设置请求方式和请求地址3.接着,用send发送请求4.监听状态变化5.最后,接收返回的数据下面是案例:<!DOCTYPE html><html><head><meta charset="utf-8"><script&...原创 2020-04-14 21:16:33 · 99 阅读 · 0 评论 -
Git 常见面试题--来自灵魂的拷问
一:在git中,你如何还原已经push并公开的提交?方式一:删除或修复新提交的错误文件,并将其推送至远程存储库,这是修复错误的最自然方式。方式二:创建一个新的提交,撤销提交中所做的所有更改git revert <name of bad commit>二:git pull 和git fetch 有什么区别?git pull 命令从中央存储库提取特定分支的新更改或提交,...原创 2020-04-02 09:41:23 · 353 阅读 · 0 评论 -
GitFlow 开发流程
GitFlow 开发流程Gitflow 比前文讲的基于功能分支的开发流程要复杂的多,它更适合做大型的复杂项目它围绕项目发布流程定义了一个严格的分支模型,所有的开发分支都是围绕这个严格的分支模型进行。而这个模型约定了每个分支的角色,以及他们如何沟通。我们来看看Gitflow开发流程中几个约定的分支,以及他们各自承担的角色是怎样的。Master分支:用于存放线上版本代码,可以方便...原创 2020-03-31 17:24:18 · 94 阅读 · 0 评论 -
Git 常见应用场景及常出现的问题
git 常见应用场景一:git最基本的操作流程1.初始化创建远程仓库 git init --bare url2.初始化本地仓库,切换到需要初始化的本地仓库目录执行命令 git init3.将本地目录和远程目录关联起来,即增加Remote的仓库的url(需要为远程git repository起个名字,默认使用origin作为名字) git r...原创 2020-03-31 17:20:18 · 192 阅读 · 0 评论 -
js -- 立即执行函数
立即执行函数的多种写法: 1:(function(){}()) //w3c建议第一种 2: (function(){})() //其他写法小知识:只有表达式才能被执行符号执行 function test(){}()//报错 var test2 = function (){}() //正确 !functio...原创 2020-03-05 22:21:43 · 90 阅读 · 0 评论 -
js -- 闭包
当内部函数被保存到外部的时候会生成闭包,闭包会导致作用域链不释放,造成内存泄漏。应用:公有变量;缓存;封装,属性私有化;模块化开发,防止污染全局变量。...原创 2020-03-05 22:09:26 · 73 阅读 · 0 评论 -
CSS3新特性初步汇总
CSS 用于控制网页的样式和布局。CSS3 是最新的 CSS 标准。CSS3新增了很多的属性,下面一起来分析一下新增的一些属性: 1.CSS3边框:border-radius:CSS3圆角边框。在 CSS2 中添加圆角矩形需要技巧,我们必须为每个圆角使用不同的图片,在 CSS3 中,创建圆角是非常容易的,在 CSS3 中,border-radius 属性用于创建圆角。border...转载 2020-02-26 16:26:16 · 73 阅读 · 0 评论 -
jquery ajax 跨域访问.net core Api
前端ajax前端想要跨域访问后台,首先想到的可能是jsonp 的传输格式,但是这样造成的问题是很多时候无法做到异步的效果。所以只需要在基础ajax json数据格式传输上设置允许跨域策略即可。添加内容如下:xhrFields: { withcredentials: true //允许跨域策略 }即可。直...原创 2019-11-05 20:39:10 · 850 阅读 · 0 评论 -
初步总结 .net 学习心得
引言经历了一两年的摸爬滚打,今天终于有幸成为了一名刚入行的程序员小白,今天在这里给大家分享一下我的.net 学习心得。现在我在以下几个方面分享一下我的学习心得。1.学习心态作为小白的我们,在java浪潮的冲击下,如何让我们这些想学习.net开发的童鞋们屹立不倒。首先,在我看来,调整自己的学习心态是首当其冲的,并且也是最重要的。学习心态可以从以下几个方面进行调整;1,明确...原创 2019-11-02 16:21:50 · 1247 阅读 · 0 评论