- 博客(36)
- 收藏
- 关注
原创 Websocket
一、服务概述什么是websocket?是基于TCP的一种新的网络协议,它实现了浏览器与服务器的全双工通信——允许服务器主动发消息给客户端为什么要用websocket?缺陷:HTTP的通信只能由客户端发起目前方案:轮询,浏览器每一秒去轮询这个http,然后去查询有没有数据,如果有数据,把数据推给这个浏览器缺点:浪费资源,http不断去打开Websocket特点建立在TCP协议之上...
2020-04-07 18:53:50
180
原创 Nodejs学习七
第11章、上线和配置11-1、开始和pm2服务稳定性充分利用服务器硬件资源,以便提高性能线上日志记录PM2工具的使用进程守护、系统崩溃自动重启启动多进程,充分利用CPU和内存自带日志记录的功能(自定义日志和错误日志写入文件中)目录PM2介绍PM2进程守护配置和日志记录-PM2 多进程关于服务器运维PM2的介绍线上环境下 nodemon的启动,分担服务...
2020-04-04 21:20:35
98
原创 Nodejs学习六
第十章使用Koa2重新构建博客项目10-1、开始express中间件是异步回调,koa2原生支持async/await新开发的框架基于koa2,比如阿里的egg.jsexpress 虽然未过时,但是koa2肯定是未来趋势async awaitawait后面可以追加promise对象await必须包裹在async函数里面async 函数执行,返回的还是一个promise对象用...
2020-04-04 21:20:09
127
原创 Nodejs学习五
第九章使用express重新构建博客项目9-1、简介express是nodejs最常用的web server框架框架的定义:让开发变得简单,封装基本的api功能,让开发者更加关注义务功能,框架有一定的流程和标准express的下载、安装、使用,express中间件机制。开发接口、连接数据库、实现登录、日志记录分析express的中间件原理9-2、介绍express安装(使用脚...
2020-04-04 21:19:34
110
原创 Nodejs学习四
7-1、开始和sql注入sql注入:窃取数据库的内容XSS攻击:窃取前端的cookie内容密码加密:保障用户的信息安全(重要)server端的攻击常见的能通过web server (nodejs)层面的预防有些需要运维支持,如DDOSsql注入从web2.0开始就有了攻击方式:输入一个sql片段,最终拼接成一端攻击代码nodejs的escape函数可以预防实例:用户...
2020-04-04 21:18:55
109
原创 Nodejs学习三
六、开发博客之登录6-1、开始当更新、删除博客时,要验证是否登录,还有管理中心的页面核心:1、登录校验2、登录信息存储(用户名 还有其他的需求用于管理信息中心)目录:1、cookie和sessioncookie是实现登录的基础session是实现登录目前的一个解决方案2、session写入redisredis,是server端必须要知道的东西,是一个内存数据库,用来存储ses...
2020-04-04 21:16:32
76
原创 Node.js学习一
一、简介Nodejs,作为一个js的运行环境用途:1、运行在服务区,作为web server (用途最多)2、运行在本地,作为打包、构建工具。注意点:1、Nodejs运行在服务端,而非浏览器坏境2、服务端开发的思路和套路,与前端完全不一样。二、安装和准备安装1、npm官网和node官网2、如果使用多个版本,推荐使用nvmnodejs和javascript的区别E...
2020-04-04 21:15:39
119
原创 Nodejs学习二
五、开发博客之数据存储5.1、Mysql介绍mysql是企业最常用的存储工具5.2、操作数据库1、查看所有的数据库show databases ; 2、建表id: 表示每一条数据是唯一的column :多少列datatpe: 类型(数字还是字符串)pk: 主键 所有的行的值都不会重复(id)AI:自增(id)3、增删改查命令:1、use 表名2、增:insert ...
2020-04-04 21:14:34
105
原创 jQuery的deffered
1、是否用过jQuery的deffered2、使用jQuery Defered3、初步引入promise概念链式操作返回的是一个deferred对象.then(成功后,失败后),promise原来是jquery提出来的jquery无法改变js异步和单线程的本质只能从写法中杜绝callback这种形式解耦了代码,也就是分到很多个函数中,并且顺序不会乱js设计原则js设计模式开放...
2019-06-19 22:23:15
210
原创 错误监控
一、知识点1、前端错误的分类2、错误的捕获方式3、上报错误的基本原理二、问题1、如何监视js错误2、如何保证你的产品质量前端错误的分类1、即时运行错误:代码错误2、资源加载错误捕获方式:代码错误1、try catch2、window.onerror资源加载错误1、object.onerror(不冒泡)节点上绑2、performance.getEntries()所有已...
2019-06-09 22:47:55
88
原创 页面性能
提升页面优化的性能有哪些?1、资源合并压缩,减少http请求2、非核心代码异步加载–>异步加载的方式–>异步加载的区别 3、利用浏览器缓存–>缓存的分类–>缓存的原理4、使用CDN,加速资源,让网络快速到服务器端5、预解析DNS<link rel="dns-prefetch" href="">a标签默认预解析若是https开头,则默认是关闭预解...
2019-06-09 22:15:31
191
原创 js运行机制
1、js是单线程的,同一时间只能做一件事2、js任务队列:异步任务,3、setTimeout异步任务4、同步任务优先于异步任务console.log(‘A’);while(true){}console.log(‘B’)都是同步的,所以只输出Afor(var i=0;i<4;i++){ setTimeout(function(){ console....
2019-06-09 14:33:38
78
原创 浏览器的渲染机制
面试技巧:1、诚实2、不要和面试官争对错3、说面试官研究的深,自己研究的不够深渲染机制-js运行机制-页面性能-错误监控一、什么是DOCTYPE及作用DTD(文档类型定义)用来告诉浏览器文件类型,浏览器来决定用什么来解析它,渲染它DOCTYPE是用来声明文档类型和DTD规范的,文件的合法性验证,如果不合法,浏览器解析就会出错(告诉浏览器,当前的文件是哪个文档类型)常见的DOCT...
2019-06-09 13:26:51
102
原创 原型链
题目:1、创建对象有几种方法2、构造函数、实例、原型链3、instanceof的原理4、new运算符原理创建对象的方法一、对象字面量、new Objectvar o1={name:‘o1’};var o11=new Object({name:‘011’});二、构造函数var M=function(){this.name=‘o2’}var o2=new M();三、Ob...
2019-06-07 16:29:24
60
原创 react开发简书学习笔记
1、引入styled-components样式文件实际上是一个个组件,这样就不会互相影响2、用iconfont嵌入图标3、安装动画实现搜索框cnpm install react-transition-group --save通过失焦和获焦来改变样式4安装redux和react-redux...
2019-06-04 12:18:17
173
原创 React框架
reactjs可以用react语法编写交互效果,react native可以开发app,函数式编程,16-2版本vue面向用户端,react可以写业务复杂度1、引入.js文件来使用2、通过脚手架工具来编码:webpack,gulp,create-react-app官方提供的脚手架工具,...
2019-05-30 13:06:54
162
原创 HTTP学习总结
cookie的引用为了解决什么问题答:cookie是无状态的,登陆后保存登陆人的信息,就会使用到cookie,在服务器端生成cookie信息,在客户端发送请求报文中加入cookie。Tcp的三次握手• 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;• 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1...
2019-05-28 17:51:21
212
原创 H5标签语义化
HTML5语法1、大小写都是可以的—>小写2、布尔值H4中checked=“checked”,3、可以省略的标签<input/><br/>1-2新增和删除的标签结构标签section独立的区块,章节article文章aside,文章内容之外的辅助信息header,一个内容区块或整个页面的标题footer,底部的信息nav,导航video定义视频...
2019-05-20 21:15:53
243
原创 HTML5的存储方式
之前的方式1、cookies的用法和缺陷2、userdatahtml5时代1、localstorage2、application cache3、indexedDB使用规范特点、使用、业务场景html5存储(案例)1、如何把图片存在客户端2、跨域共享客户端缓存3、客户端的数据库1、h5常见的几种存储方式2、localstorage和sessionsorage3、appli...
2019-05-20 20:25:02
247
原创 es6进阶
一、构建工具:gulp、babel、webpack、npm,一套完整的构建工具,编译,监听,打包,上线二、基础语法对应的代码和实例三、项目实战express 、mockjs做服务器接口数据1、模块化概念2、工程构建3、编程经验2-1项目构建1、基础架构2、任务自动化(gulp)(模块依赖,文件的压缩)3、编译工具(babel、webpack)babel专门做es6的解析,w...
2019-05-19 16:28:32
240
原创 闭包和作用域
面试题1、说一下对变量提升的理解2、说明this几种不同的使用场景3、创建10个a 标签,点击的时候弹出来对应的序号4、如何理解作用域5、实际开发中闭包的作用知识点1、执行上下文2、this3、作用域4、作用域链5、闭包一、变量提升1、变量定义 2、函数声明(与函数表达式的区别)console.log(a);var a=10;会把var a提前,并且初始化为un...
2019-05-16 22:06:31
184
原创 vue学习笔记
一、环境第一步,构建webpack打包工具vue init webpack-simple vuedemo第二步:安装依赖cnpm install第三步:运行程序cnpm run dev二、组件传值1、子夫组件传值props接受父组件传过来的值导入组件、挂载组件、注册组件父组件传值过来1、父组件用子组件的属性和方法:1、props{}传值约束,直接绑定(直接校验)2...
2019-05-12 22:38:49
75
原创 js BOM元素节点操作
js BOM操作:浏览器对象模型,提供了独立于内容,而与浏览器窗口进行交互的对象,描述了与浏览器进行交互的方法与接口,可以对浏览器窗口进行访问操作。(1)window对象alert() 弹出框confirm() 带确认,取消弹出框setInterval() 每隔多少秒调用一次clearInterval() 清除setIntervalsetTimeout() 隔多少秒调用一次clea...
2019-02-21 22:45:40
330
原创 jQuery框架
一、优势1、隐式迭代。当用jQuery 找到带有“.myClass”类的全部元素,然后隐藏他们时,无需循环遍历每一个返回的元素。相反,jQuery 里的方法都被设计成自动操作对象集合,这使得大量的循环结构变得不再必要,从而大量的减少了代码量。2、链式操作方式。jQuery 最具有特色的莫过于他的链式操作方式——即同时发生在同一个jQuery 对象的一组动作,可以直接连写而无需重复获取对象。...
2019-02-21 22:43:10
242
原创 DOM元素事件的绑定、冒泡、委托
一、js的绑定方式1、js在行内绑定事件。2、在脚本区域直接动态绑定事件:先获取对象元素,再给对象元素动态指定事件。btn[i].onclick=function(){alert();btn[i].onclick=null;//取消绑定;}当脚本区域在head部分时,利用window.onload使得先初始化,再获取元素;window.onload窗口加载完成事件3、第三种绑定...
2019-01-11 15:54:05
165
原创 js做题时遇到的问题
输出结果 ‘one’’three’’two’原因:javascript是一种单线程语言,各种赋值语句和普通函数会立即执行;而回调函数是放在代码队列中,待线程中的js代码执行完毕之后,再按照次序执行代码队列中的回调函数。2、函数的调用方式有哪些:()A 直接调用B 作为对象方法调用C 作为构造函数调用D 通过call和apply方法调用回调函数:...
2019-01-03 23:36:56
107
原创 DOM元素事件
被动的行为键盘事件,鼠标事件,窗口事件,移动端事件mouseenter鼠标进入(只触发一次)mouseleave水平面的离开mouseout垂直离开mouseover悬停mousemove移动onclick点击事件的基础写法1、直接绑定:onbject.onclick=function(){}object.onclick=null;函数的提前的编译:一、变量提前;二、函数...
2018-12-27 23:38:29
302
原创 网页难点
over-flow:hidden;父元素浮动,子元素撑开::before ::after表示文本前文字和文本后文字,当前元素的前面和后面追加内容。letter-spcing字间距transparent;透明色content:""鼠标放上去,有字;transition:linear-gradient(180deg,white,silver)style="clear:both"清除盒...
2018-11-30 09:28:31
191
原创 制作网页中用到的基本知识点
1、select标签下拉选择2、input标签input type=“text” placeholder为文本默认显示内容。3、在CSS中的input属性加上outline:none可以去掉input中默认的蓝色文本框。4、border-style:none;去掉边框样式5、画圆:display:inline-block;border-radius:50%;6、圆里的数字在圆中...
2018-11-23 20:16:08
548
原创 BOM的navigator对象
1.作用识别客户端浏览器2.检测插件使用plugins数组来检测是否安装了特定的插件。在IE浏览器中使用IEPlugin检测。3.注册处理程序registerContentHendler()方法和registeerProtocolHandler()方法可以让一个站点指明它可以处理特定类型的信息。4.screen对象screen对象只用来表达客户端的能力,其中包括浏览器外部窗口的显示...
2018-11-06 20:23:49
247
原创 BOM的window对象
1定义提供了独立于内容与浏览器进行交互的对象。BOM的和核心对象是window,它表示浏览器的一个实例。2全局作用域由于window对象同时扮演着ECMAScript中的Global对象,所以在全局作用域中声明的属性和方法(全局变量),都会变成window对象的属性和方法。区别:全局变量不能通过delete键删除,而在window对象上定义的属性可以。3窗口关系及框架如果页面包含框架...
2018-11-06 16:30:19
330
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人