<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[alaAicy的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/alaAicy</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; alaAicy]]></copyright><item><title><![CDATA[tcp整理]]></title><link>https://blog.youkuaiyun.com/alaAicy/article/details/122663825</link><guid>https://blog.youkuaiyun.com/alaAicy/article/details/122663825</guid><author>alaAicy</author><pubDate>Wed, 16 Feb 2022 14:14:56 +0800</pubDate><description><![CDATA[tcp整理
什么是tcp？TCP是在IP网络层之上的传输层协议，用于提供port到port面向连接的可靠的字节流传输
port到port：IP层只管数据包从一个IP到另一个IP的传输，IP层之上的TCP层加上端口后，就是面向进程了，每个port都可以对应到用户进程。
可靠：TCP会负责维护实际上子虚乌有的连接概念，包括收包后的确认包、丢包后的重发等来保证可靠性。由于带宽和不同机器处理能力的不同，TCP要能控制流量。
字节流：TCP会把应用进程传来的字节流数据切割成许多个数据包，在网络上发送。IP包是会失去顺]]></description><category></category></item><item><title><![CDATA[https加密的实现]]></title><link>https://blog.youkuaiyun.com/alaAicy/article/details/122556506</link><guid>https://blog.youkuaiyun.com/alaAicy/article/details/122556506</guid><author>alaAicy</author><pubDate>Fri, 21 Jan 2022 16:00:00 +0800</pubDate><description><![CDATA[HTTP协议–应用层
TCP / UDP–传输层
SSL / TLS—应用层和传输层之间（七层协议中的会话层）
https加密的实现？
1.混合加密----&gt;保证信息的机密性—&gt;解决了窃听的风险
采用对称和非对称加密混合的方式，在通信建立前采用非对称加密的方式交换「会话秘钥」，后续就不再使用非对称加密。
AB之间需要通信，那么在通信建立前先交换的公钥。之后如果A要发信息给B，那么就用B的公钥加密A要发送的信息，那么只有B的私钥可以打开并且拿到A的信息。如果B要发送信息给A，那么B用A的公钥加密要]]></description><category></category></item><item><title><![CDATA[diff整理]]></title><link>https://blog.youkuaiyun.com/alaAicy/article/details/122328775</link><guid>https://blog.youkuaiyun.com/alaAicy/article/details/122328775</guid><author>alaAicy</author><pubDate>Thu, 06 Jan 2022 16:14:55 +0800</pubDate><description><![CDATA[diff整理


虚拟dom：用js来表达真实dom


dom渲染：
真实dom：真实dom-&gt;页面节点
虚拟dom：虚拟dom-&gt;真实dom-&gt;页面节点


虚拟dom算法 = 虚拟dom + diff算法


diff算法（时间复杂度O(n)）：
Diff算法比较只会在同层级进行, 不会跨层级比较


patch方法：
sameVnode方法 — 判断当前同层虚拟节点是否为同一类型的虚拟标签
是：patchVnode方法 — 继续深层比较
不是：整个替换为新的虚拟节点
functio]]></description><category></category></item><item><title><![CDATA[小程序页面生命周期]]></title><link>https://blog.youkuaiyun.com/alaAicy/article/details/121352180</link><guid>https://blog.youkuaiyun.com/alaAicy/article/details/121352180</guid><author>alaAicy</author><pubDate>Fri, 19 Nov 2021 17:57:14 +0800</pubDate><description><![CDATA[小程序的生命周期小程序运行机制小程序启动挂起状态销毁状态小程序页面生命周期生命周期回调onLoad—监听页面加载onShow—监听页面显示onReady—监听页面初次渲染完成onHide—监听页面隐藏onUnload—监听页面卸载
小程序运行机制
小程序从启动到最终销毁会经历很多个状态，小程序在不同状态下会有不同的表现


小程序启动
小程序启动可以分为两种方式，**冷启动**/**热启动**


冷启动：如果用户是首次打开小程序，或者在小程序被销毁之后重新打开小程序
热启动：如果用户并不是第一次打开小程序]]></description><category></category></item><item><title><![CDATA[Promise个人理解]]></title><link>https://blog.youkuaiyun.com/alaAicy/article/details/114287368</link><guid>https://blog.youkuaiyun.com/alaAicy/article/details/114287368</guid><author>alaAicy</author><pubDate>Tue, 02 Mar 2021 20:05:30 +0800</pubDate><description><![CDATA[Promise个人理解什么是promise对象为什么会用到promise怎么使用promisepromise的状态promise的then，catch，finally方法手写一个promise
之前就想整理一篇关于promise的个人理解，终于可以静下心来记录一下。
在我们学习一样东西的时候通常是从what-why-how这
什么是promise对象
promise对象表示了一个异步操作的状态结果
为什么会用到promise
经常，我们会在需要同步化代码的时候，解决回调地狱的时候使用到promise
所以，]]></description><category></category></item><item><title><![CDATA[Next.js---一个轻量级的 React SSR应用框架]]></title><link>https://blog.youkuaiyun.com/alaAicy/article/details/113055831</link><guid>https://blog.youkuaiyun.com/alaAicy/article/details/113055831</guid><author>alaAicy</author><pubDate>Fri, 29 Jan 2021 15:25:42 +0800</pubDate><description><![CDATA[Next.js---一个轻量级的 React SSR应用框架Next.js介绍优点项目目录结构Next中的路由如何实现跳转带参跳转数据请求如何在Next框架内使用redux
Next.js介绍
Next.js 是一个轻量级的 React 服务端渲染应用框架。
优点

完善的React项目架构，搭建轻松。比如：Webpack配置，服务器启动，路由配置，缓存能力，这些在它内部已经完善的为我们搭建完成了。
丰富的插件帮开发人员增加各种功能。
自带数据同步策略，解决服务端渲染最大难点。把服务端渲染好的数据，拿到客户]]></description><category></category></item><item><title><![CDATA[TypeScript探索]]></title><link>https://blog.youkuaiyun.com/alaAicy/article/details/111029393</link><guid>https://blog.youkuaiyun.com/alaAicy/article/details/111029393</guid><author>alaAicy</author><pubDate>Fri, 11 Dec 2020 11:58:31 +0800</pubDate><description><![CDATA[TypeScript探索什么是 TypeScriptTypeScript优劣势优势TypeScript 增加了代码的可读性和可维护性TypeScript 非常包容劣势基础数据类型及使用布尔值数值字符串空值（Void）Null 和 Undefined任意值（Any）什么是任意值类型任意值的属性和方法未声明类型的变量类型推论什么是类型推论联合类型简单的例子访问联合类型的属性或方法对象的类型——接口什么是接口简单的例子可选属性任意属性只读属性数组的类型「类型 + 方括号」表示法数组泛型用接口表示数组类数组
什么是]]></description><category></category></item><item><title><![CDATA[VUE中iconfont的使用]]></title><link>https://blog.youkuaiyun.com/alaAicy/article/details/107536224</link><guid>https://blog.youkuaiyun.com/alaAicy/article/details/107536224</guid><author>alaAicy</author><pubDate>Thu, 23 Jul 2020 15:12:48 +0800</pubDate><description><![CDATA[VUE中iconfont的使用


首先进入iconfont的官网，点击图标库


进入图标库后任意选择你需要的图标加入购物车中



在右上角找到购物车后点击添加至项目，然后加入到你的项目中去，再点击确定
-


接着进入你的项目，把刚刚加入项目的图标下载下来



找到刚刚下载下来的文件，解压缩



接下来进入你的项目，在src-&gt;assets-&gt;css中创建一个文件夹叫做iconfont，然后把刚刚解压出来的文件中的这四个文件放到新建的iconfont文件夹中，把 刚刚解压出来的文件中的]]></description><category></category></item><item><title><![CDATA[VUE中什么时候用created什么时候用mounted]]></title><link>https://blog.youkuaiyun.com/alaAicy/article/details/107506721</link><guid>https://blog.youkuaiyun.com/alaAicy/article/details/107506721</guid><author>alaAicy</author><pubDate>Wed, 22 Jul 2020 10:34:16 +0800</pubDate><description><![CDATA[VUE中什么时候用created什么时候用mounted
在VUE的生命周期中从created到mounted经历了created-beforemount-mounted三个阶段
created：这时已经完成了数据初始化
created-beforemount：首先判断实例的挂载对象，如果有挂载对象el那么就去判断有没有模板template，有模板就把模板编译到渲染中，没有模板就把外部HTML当做模板编译到渲染中，如果没有el挂载对象就停止生命周期直到调用vm.$mount
mounted：这时已经完成了D]]></description><category></category></item><item><title><![CDATA[我的反思]]></title><link>https://blog.youkuaiyun.com/alaAicy/article/details/106691769</link><guid>https://blog.youkuaiyun.com/alaAicy/article/details/106691769</guid><author>alaAicy</author><pubDate>Thu, 11 Jun 2020 16:42:03 +0800</pubDate><description><![CDATA[写这篇主要是想记录一下我最近做的一个项目的自我感受
1.在做项目前的计划性和设计性还不够强，比如我现在这个项目中实际上还是有比较多的相似的地方，这些地方本身可以用组件先写模板，但是由于我一开始设计的不够好，导致我后面写下去的时候产生了比较多的重复代码，这个是我写这篇博客主要想反思的一点
2.在写代码的时候思考的还是欠全面，也许一开始考虑到这个问题的话，后面写下去就会比较流畅，但是当往后面写下去出现问题的时候再回过来去找之前写的代码，就会浪费比较多的时间缝缝补补，对后期维护不太友好吧
3.我觉得前端在项目中的]]></description><category></category></item><item><title><![CDATA[单例模式到底是什么？]]></title><link>https://blog.youkuaiyun.com/alaAicy/article/details/106442015</link><guid>https://blog.youkuaiyun.com/alaAicy/article/details/106442015</guid><author>alaAicy</author><pubDate>Sat, 30 May 2020 16:26:07 +0800</pubDate><description><![CDATA[单例模式
在有些系统中，为了节省内存资源、保证数据内容的一致性，对某些类要求只能创建一个实例，这就是所谓的单例模式。
单例模式的定义与特点
单例（Singleton）模式的定义：指一个类只有一个实例，且该类能自行创建这个实例的一种模式。例如，Windows 中只能打开一个任务管理器，这样可以避免因打开多个任务管理器窗口而造成内存资源的浪费，或出现各个窗口显示内容的不一致等错误。
在计算机系统中，还有 Windows 的回收站、操作系统中的文件系统、多线程中的线程池、显卡的驱动程序对象、打印机的后台处理服务、]]></description><category></category></item><item><title><![CDATA[设计模式（先导）]]></title><link>https://blog.youkuaiyun.com/alaAicy/article/details/106441216</link><guid>https://blog.youkuaiyun.com/alaAicy/article/details/106441216</guid><author>alaAicy</author><pubDate>Sat, 30 May 2020 15:23:02 +0800</pubDate><description><![CDATA[部分设计模式的学习
目标：可复用
手法：面向对象
寻找变化点，在变化点处应用设计模式
按照目的来分：
1.创建型模式：用于描述“怎样创建对象”，它的主要特点是“将对象的创建与使用分离”。GoF 中提供了单例、原型、工厂方法、抽象工厂、建造者等 5 种创建型模式。
2.结构型模式：用于描述如何将类或对象按某种布局组成更大的结构，GoF 中提供了代理、适配器、桥接、装饰、外观、享元、组合等 7 种结构型模式。
3.行为型模式：用于描述类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务，以及怎样分配职责]]></description><category></category></item><item><title><![CDATA[前端常见问题之-----闭包篇]]></title><link>https://blog.youkuaiyun.com/alaAicy/article/details/105733605</link><guid>https://blog.youkuaiyun.com/alaAicy/article/details/105733605</guid><author>alaAicy</author><pubDate>Fri, 24 Apr 2020 17:17:43 +0800</pubDate><description><![CDATA[前端常见问题之-----闭包篇
闭包实际上在写代码的时候用到过很多遍，但是想要真正把它解释清楚却不容易。当然，这也是前端核心之一。开始吧
一：变量的作用域
变量的作用域无非两种：全局作用域和块级作用域（也就是在{}中的变量）
全局作用域：全局作用域可以被所有的函数所访问，即函数内部可以直接读取全局变量
块级作用域：变量只在{}范围内可以被访问到，即外部并不能访问到函数内部变量
二：如何从外部读取到...]]></description><category></category></item><item><title><![CDATA[兄弟组件之间通过Bus总线传值]]></title><link>https://blog.youkuaiyun.com/alaAicy/article/details/105222265</link><guid>https://blog.youkuaiyun.com/alaAicy/article/details/105222265</guid><author>alaAicy</author><pubDate>Tue, 31 Mar 2020 14:36:46 +0800</pubDate><description><![CDATA[兄弟组件之间通过Bus总线传值
Bus是一个空的Vue实例，兄弟组件之间通过一对this.bus.$emit('change',this.number) 和 this.bus.$on('change',function）来传值和监听
$emit(‘触发事件’,要传递的值)
$on(‘触发事件’,操作）
&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt...]]></description><category></category></item><item><title><![CDATA[父子组件之间传值（Function）,callback在vue中的应用]]></title><link>https://blog.youkuaiyun.com/alaAicy/article/details/105220806</link><guid>https://blog.youkuaiyun.com/alaAicy/article/details/105220806</guid><author>alaAicy</author><pubDate>Tue, 31 Mar 2020 14:02:50 +0800</pubDate><description><![CDATA[父子组件之间传值（Function）,callback在vue中的应用
父子组件之间传值的方法众所周知，这里再提一下：
1.子组件向父组件传值
在子组件中绑定事件：
$emit(‘方法名’，子组件默认传给父组件的值)
在父组件中监听这个事件：
v-on:方法名=‘方法’，在父组件methods里写这个方法
2.父组件向子组件传值
父组件：通过v-bind绑定传给子组件的值,例如(:msg=‘fal...]]></description><category></category></item><item><title><![CDATA[整理在微信小程序开发过程中的收获]]></title><link>https://blog.youkuaiyun.com/alaAicy/article/details/105139210</link><guid>https://blog.youkuaiyun.com/alaAicy/article/details/105139210</guid><author>alaAicy</author><pubDate>Sat, 28 Mar 2020 10:02:07 +0800</pubDate><description><![CDATA[整理在微信小程序开发过程中的收获
这是我第一次开发微信小程序，算是小白，有说的不对的请多指教
首先，开发微信小程序我用的是mpvue的框架，工具是webstorm+微信开发者工具
介绍一下mpvue这个框架：
mpvue是由美团开源的一套基于VUE的小程序开发框架，它的语法和VUE几乎是一样的，mpvue让我们可以使用VUE的语法写小程序项目。之前我们写小程序必须使用微信开发者工具的语法（WXML...]]></description><category></category></item><item><title><![CDATA[vue 项目总结一文件夹结构配置]]></title><link>https://blog.youkuaiyun.com/alaAicy/article/details/104851210</link><guid>https://blog.youkuaiyun.com/alaAicy/article/details/104851210</guid><author>alaAicy</author><pubDate>Fri, 13 Mar 2020 22:25:06 +0800</pubDate><description><![CDATA[vue 项目总结一文件夹结构配置
https://segmentfault.com/a/1190000012392160

]]></description><category></category></item><item><title><![CDATA[JS之事件委托]]></title><link>https://blog.youkuaiyun.com/alaAicy/article/details/104825478</link><guid>https://blog.youkuaiyun.com/alaAicy/article/details/104825478</guid><author>alaAicy</author><pubDate>Fri, 13 Mar 2020 21:52:24 +0800</pubDate><description><![CDATA[JS之事件委托
事件委托又可以叫做事件代理，事件委托指的是将一些事件比如onclick，onmouseover，onmouseout等，把这些事件委托给别人来做，比如原来是要加在A标签上的事件，加在A的上一级DOM标签上委托给他来做。
格式：addEventListener(type,listener,useCapture)


type: 必须,String类型,事件类型


listener:...]]></description><category></category></item><item><title><![CDATA[经典双飞翼布局的理解（重点css解析）]]></title><link>https://blog.youkuaiyun.com/alaAicy/article/details/104499995</link><guid>https://blog.youkuaiyun.com/alaAicy/article/details/104499995</guid><author>alaAicy</author><pubDate>Wed, 26 Feb 2020 14:59:30 +0800</pubDate><description><![CDATA[经典双飞翼布局的理解（难点解析）
首先，在学习双飞翼布局前先去看看盒子模型吧，这会对理解这篇文章有很大的帮助，也会有更加深入的理解。
我先罗列几个稍微比较难理解的问题吧，相信不少的新手小白会在这里碰壁，哈哈也是我碰壁的地方。有时候看一眼代码就以为自己懂了，实际上深究下去发现里面很多知识点还是很有难度的，一定要带着问题去看代码！！！！！！
1.为什么center内容外面要再加一个div
2.为什么b...]]></description><category></category></item><item><title><![CDATA[实现水平垂直居中的方法（列举）]]></title><link>https://blog.youkuaiyun.com/alaAicy/article/details/104485274</link><guid>https://blog.youkuaiyun.com/alaAicy/article/details/104485274</guid><author>alaAicy</author><pubDate>Mon, 24 Feb 2020 21:35:02 +0800</pubDate><description><![CDATA[/* 大家可以自己去菜鸟教程玩起来*/
/* 第一种方案 flex弹性布局 子元素高度可以设定也可以不设定*/
.app{
    width: 500px;
    height: 500px;
    background: greenyellow;
    display: flex;
    align-items: center;
    justify-content: center;...]]></description><category></category></item></channel></rss>