- 博客(28)
- 收藏
- 关注
原创 tcp整理
tcp整理什么是tcp?TCP是在IP网络层之上的传输层协议,用于提供port到port面向连接的可靠的字节流传输port到port:IP层只管数据包从一个IP到另一个IP的传输,IP层之上的TCP层加上端口后,就是面向进程了,每个port都可以对应到用户进程。可靠:TCP会负责维护实际上子虚乌有的连接概念,包括收包后的确认包、丢包后的重发等来保证可靠性。由于带宽和不同机器处理能力的不同,TCP要能控制流量。字节流:TCP会把应用进程传来的字节流数据切割成许多个数据包,在网络上发送。IP包是会失去顺
2022-02-16 14:14:56
1219
原创 https加密的实现
HTTP协议–应用层TCP / UDP–传输层SSL / TLS—应用层和传输层之间(七层协议中的会话层)https加密的实现?1.混合加密---->保证信息的机密性—>解决了窃听的风险采用对称和非对称加密混合的方式,在通信建立前采用非对称加密的方式交换「会话秘钥」,后续就不再使用非对称加密。AB之间需要通信,那么在通信建立前先交换的公钥。之后如果A要发信息给B,那么就用B的公钥加密A要发送的信息,那么只有B的私钥可以打开并且拿到A的信息。如果B要发送信息给A,那么B用A的公钥加密要
2022-01-21 16:00:00
441
原创 diff整理
diff整理虚拟dom:用js来表达真实domdom渲染:真实dom:真实dom->页面节点虚拟dom:虚拟dom->真实dom->页面节点虚拟dom算法 = 虚拟dom + diff算法diff算法(时间复杂度O(n)):Diff算法比较只会在同层级进行, 不会跨层级比较patch方法:sameVnode方法 — 判断当前同层虚拟节点是否为同一类型的虚拟标签是:patchVnode方法 — 继续深层比较不是:整个替换为新的虚拟节点functio
2022-01-06 16:14:55
575
原创 小程序页面生命周期
小程序的生命周期小程序运行机制小程序启动挂起状态销毁状态小程序页面生命周期生命周期回调onLoad—监听页面加载onShow—监听页面显示onReady—监听页面初次渲染完成onHide—监听页面隐藏onUnload—监听页面卸载小程序运行机制小程序从启动到最终销毁会经历很多个状态,小程序在不同状态下会有不同的表现小程序启动小程序启动可以分为两种方式,**冷启动**/**热启动**冷启动:如果用户是首次打开小程序,或者在小程序被销毁之后重新打开小程序热启动:如果用户并不是第一次打开小程序
2021-11-19 17:57:14
838
原创 Promise个人理解
Promise个人理解什么是promise对象为什么会用到promise怎么使用promisepromise的状态promise的then,catch,finally方法手写一个promise之前就想整理一篇关于promise的个人理解,终于可以静下心来记录一下。在我们学习一样东西的时候通常是从what-why-how这什么是promise对象promise对象表示了一个异步操作的状态结果为什么会用到promise经常,我们会在需要同步化代码的时候,解决回调地狱的时候使用到promise所以,
2021-03-02 20:05:30
154
原创 Next.js---一个轻量级的 React SSR应用框架
Next.js---一个轻量级的 React SSR应用框架Next.js介绍优点项目目录结构Next中的路由如何实现跳转带参跳转数据请求如何在Next框架内使用reduxNext.js介绍Next.js 是一个轻量级的 React 服务端渲染应用框架。优点完善的React项目架构,搭建轻松。比如:Webpack配置,服务器启动,路由配置,缓存能力,这些在它内部已经完善的为我们搭建完成了。丰富的插件帮开发人员增加各种功能。自带数据同步策略,解决服务端渲染最大难点。把服务端渲染好的数据,拿到客户
2021-01-29 15:25:42
862
2
原创 TypeScript探索
TypeScript探索什么是 TypeScriptTypeScript优劣势优势TypeScript 增加了代码的可读性和可维护性TypeScript 非常包容劣势基础数据类型及使用布尔值数值字符串空值(Void)Null 和 Undefined任意值(Any)什么是任意值类型任意值的属性和方法未声明类型的变量类型推论什么是类型推论联合类型简单的例子访问联合类型的属性或方法对象的类型——接口什么是接口简单的例子可选属性任意属性只读属性数组的类型「类型 + 方括号」表示法数组泛型用接口表示数组类数组什么是
2020-12-11 11:58:31
121
原创 VUE中iconfont的使用
VUE中iconfont的使用首先进入iconfont的官网,点击图标库进入图标库后任意选择你需要的图标加入购物车中在右上角找到购物车后点击添加至项目,然后加入到你的项目中去,再点击确定-接着进入你的项目,把刚刚加入项目的图标下载下来找到刚刚下载下来的文件,解压缩接下来进入你的项目,在src->assets->css中创建一个文件夹叫做iconfont,然后把刚刚解压出来的文件中的这四个文件放到新建的iconfont文件夹中,把 刚刚解压出来的文件中的
2020-07-23 15:12:48
378
原创 VUE中什么时候用created什么时候用mounted
VUE中什么时候用created什么时候用mounted在VUE的生命周期中从created到mounted经历了created-beforemount-mounted三个阶段created:这时已经完成了数据初始化created-beforemount:首先判断实例的挂载对象,如果有挂载对象el那么就去判断有没有模板template,有模板就把模板编译到渲染中,没有模板就把外部HTML当做模板编译到渲染中,如果没有el挂载对象就停止生命周期直到调用vm.$mountmounted:这时已经完成了D
2020-07-22 10:34:16
3093
原创 我的反思
写这篇主要是想记录一下我最近做的一个项目的自我感受1.在做项目前的计划性和设计性还不够强,比如我现在这个项目中实际上还是有比较多的相似的地方,这些地方本身可以用组件先写模板,但是由于我一开始设计的不够好,导致我后面写下去的时候产生了比较多的重复代码,这个是我写这篇博客主要想反思的一点2.在写代码的时候思考的还是欠全面,也许一开始考虑到这个问题的话,后面写下去就会比较流畅,但是当往后面写下去出现问题的时候再回过来去找之前写的代码,就会浪费比较多的时间缝缝补补,对后期维护不太友好吧3.我觉得前端在项目中的
2020-06-11 16:42:03
175
原创 单例模式到底是什么?
单例模式在有些系统中,为了节省内存资源、保证数据内容的一致性,对某些类要求只能创建一个实例,这就是所谓的单例模式。单例模式的定义与特点单例(Singleton)模式的定义:指一个类只有一个实例,且该类能自行创建这个实例的一种模式。例如,Windows 中只能打开一个任务管理器,这样可以避免因打开多个任务管理器窗口而造成内存资源的浪费,或出现各个窗口显示内容的不一致等错误。在计算机系统中,还有 Windows 的回收站、操作系统中的文件系统、多线程中的线程池、显卡的驱动程序对象、打印机的后台处理服务、
2020-05-30 16:26:07
476
原创 设计模式(先导)
部分设计模式的学习目标:可复用手法:面向对象寻找变化点,在变化点处应用设计模式按照目的来分:1.创建型模式:用于描述“怎样创建对象”,它的主要特点是“将对象的创建与使用分离”。GoF 中提供了单例、原型、工厂方法、抽象工厂、建造者等 5 种创建型模式。2.结构型模式:用于描述如何将类或对象按某种布局组成更大的结构,GoF 中提供了代理、适配器、桥接、装饰、外观、享元、组合等 7 种结构型模式。3.行为型模式:用于描述类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,以及怎样分配职责
2020-05-30 15:23:02
218
原创 前端常见问题之-----闭包篇
前端常见问题之-----闭包篇闭包实际上在写代码的时候用到过很多遍,但是想要真正把它解释清楚却不容易。当然,这也是前端核心之一。开始吧一:变量的作用域变量的作用域无非两种:全局作用域和块级作用域(也就是在{}中的变量)全局作用域:全局作用域可以被所有的函数所访问,即函数内部可以直接读取全局变量块级作用域:变量只在{}范围内可以被访问到,即外部并不能访问到函数内部变量二:如何从外部读取到...
2020-04-24 17:17:43
241
原创 兄弟组件之间通过Bus总线传值
兄弟组件之间通过Bus总线传值Bus是一个空的Vue实例,兄弟组件之间通过一对this.bus.$emit('change',this.number) 和 this.bus.$on('change',function)来传值和监听$emit(‘触发事件’,要传递的值)$on(‘触发事件’,操作)<!DOCTYPE html><html lang="en"><...
2020-03-31 14:36:46
413
原创 父子组件之间传值(Function),callback在vue中的应用
父子组件之间传值(Function),callback在vue中的应用父子组件之间传值的方法众所周知,这里再提一下:1.子组件向父组件传值在子组件中绑定事件:$emit(‘方法名’,子组件默认传给父组件的值)在父组件中监听这个事件:v-on:方法名=‘方法’,在父组件methods里写这个方法2.父组件向子组件传值父组件:通过v-bind绑定传给子组件的值,例如(:msg=‘fal...
2020-03-31 14:02:50
2067
原创 整理在微信小程序开发过程中的收获
整理在微信小程序开发过程中的收获这是我第一次开发微信小程序,算是小白,有说的不对的请多指教首先,开发微信小程序我用的是mpvue的框架,工具是webstorm+微信开发者工具介绍一下mpvue这个框架:mpvue是由美团开源的一套基于VUE的小程序开发框架,它的语法和VUE几乎是一样的,mpvue让我们可以使用VUE的语法写小程序项目。之前我们写小程序必须使用微信开发者工具的语法(WXML...
2020-03-28 10:02:07
2044
原创 vue 项目总结一文件夹结构配置
vue 项目总结一文件夹结构配置https://segmentfault.com/a/1190000012392160
2020-03-13 22:25:06
143
原创 JS之事件委托
JS之事件委托事件委托又可以叫做事件代理,事件委托指的是将一些事件比如onclick,onmouseover,onmouseout等,把这些事件委托给别人来做,比如原来是要加在A标签上的事件,加在A的上一级DOM标签上委托给他来做。格式:addEventListener(type,listener,useCapture)type: 必须,String类型,事件类型listener:...
2020-03-13 21:52:24
133
原创 经典双飞翼布局的理解(重点css解析)
经典双飞翼布局的理解(难点解析)首先,在学习双飞翼布局前先去看看盒子模型吧,这会对理解这篇文章有很大的帮助,也会有更加深入的理解。我先罗列几个稍微比较难理解的问题吧,相信不少的新手小白会在这里碰壁,哈哈也是我碰壁的地方。有时候看一眼代码就以为自己懂了,实际上深究下去发现里面很多知识点还是很有难度的,一定要带着问题去看代码!!!!!!1.为什么center内容外面要再加一个div2.为什么b...
2020-02-26 14:59:30
657
原创 实现水平垂直居中的方法(列举)
/* 大家可以自己去菜鸟教程玩起来*//* 第一种方案 flex弹性布局 子元素高度可以设定也可以不设定*/.app{ width: 500px; height: 500px; background: greenyellow; display: flex; align-items: center; justify-content: center;...
2020-02-24 21:35:02
188
原创 http 1.0 1.1和2.0的区别
http 1.0 1.1和2.0的区别简单概述 最大的区别:1.0:在1.0版本中不支持长连接,导致每个请求都需要建立连接然后关闭,一次请求对于一个响应1.1:在1.1版本中解决了1.0版本中不支持长连接的问题,默认开启Connection: keep-alive。引入了更多头缓存。解决了1.0中存在浪费带宽的现象。1.1版本中加入了host头处理为了解决后来一台服务器上有多个虚拟主机的情况...
2020-02-24 15:34:08
172
原创 怎么判断一个对象是不是数组(例子解释)
一共整理列举了4种判断一个对象是不是数组的方法,欢迎补充~先上代码 let shuzu=[]; shuzu.push(1,2,3,43); //向数组里添加几项 console.log(shuzu); //打印这个数组 console.log(Array.isArray(shuzu)); /...
2020-02-14 16:25:10
1269
原创 JS中的this
首先明确:this指向JavaScript实例,因此只有在函数调用时才可以确定下来,而在函数声明时是无法确定的!一、全局中的this无论是否在严格模式下,在全局执行环境中(在任何函数体外部)this 都指向全局对象window。二、常规函数中的thisthis只有在函数被调用时才能确定下来,this指向调用函数的对象;this最靠近的引用优先级最高;可以用call()或bind()指定...
2020-02-14 15:02:48
162
原创 JS中的_proto_和prototype
JS中的_proto_和prototype对象的内部原型__proto__和构造器的原型prototype:每个对象都有__proto__属性来标识自己所继承的原型但是只有函数才有prototype属性(ES规范就这么定的)。因为JS没有类因此通过函数来模拟类。当你创建函数时,JS会为这个函数自动添加prototype属性,prototype的值是一个有 constructor 属性的对象...
2020-02-13 20:22:42
520
原创 深浅拷贝的区别和实现
深浅拷贝的区别和实现浅拷贝:拷贝一个变量的时候,复制了栈内存,没有复制堆内存。就是浅拷贝出来的变量拷贝的是指针还是指向同一块内存。深拷贝:拷贝一个变量的时候,复制了栈内存,同时也复制了堆内存。就是深拷贝出来的变量和原来的变量完全分离,互不影响。浅拷贝的实现:Object.assign()利用展开运算符…自己封装一个for…in函数深拷贝的实现:应用JSON.parse()J...
2020-02-11 16:09:52
271
原创 ES5基础
作用域链:先在最小环境内查找有无想要的变量对象,如果有则使用本函数环境内的变量对象(要是在申明变量对象前调用则是undefind),如果没有则到更大一级的环境中查找,一直延续到全局环境。引用类型1.Object 对象:var person = { } ; // 与 new object() 相同。for-in:枚举对象“键名”,但是无序的。2.Array 数组:var names...
2020-02-03 14:37:16
155
原创 数组打印出来是[],打印长度为0,但是点开里面有数据(深浅拷贝问题)
数组打印出来是[],打印长度为0,但是点开里面有数据(深浅拷贝问题)在做项目的时候发现两个相差不多的弹窗一个可以显示数据另一个不行,于是我在手机上打印了这两个数组后发现结果都是[]我开始在页面上打印我的数据结果是打印出来是[],但是点开后发现有数据,我又打印了长度依然是0.下面分享一个这个问题的详细解释的网站[https://www.cnblogs.com/136asdxxl/p/86...
2019-09-04 16:40:47
6561
1
原创 @VUE个人理解重点
@VUE个人理解重点1=>VUE渐进式框架没有多做职责之外的事情,要什么那什么,一点一点渐进,没有那么多硬性要求和主张问题,不需要强制主张2=>Mvvm定义MVVM是Model-View-ViewModel的简写。即模型-视图-视图模型。【模型】指的是后端传递的数据。【视图】指的是所看到的页面。【视图模型】mvvm模式的核心,它是连接view和model的桥梁。它有两个方向:一...
2019-09-04 15:13:52
304
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人