<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[summer199605的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/summer199605</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; summer199605]]></copyright><item><title><![CDATA[使用commitizen管理提交]]></title><link>https://blog.youkuaiyun.com/summer199605/article/details/107389331</link><guid>https://blog.youkuaiyun.com/summer199605/article/details/107389331</guid><author>summer199605</author><pubDate>Thu, 16 Jul 2020 18:05:48 +0800</pubDate><description><![CDATA[npm install -g commitizen cz-conventional-changelog
echo '{ "path": "cz-conventional-changelog" }' &gt; ~/.czrc

$git cz

]]></description><category></category></item><item><title><![CDATA[js 中二叉树的深度遍历与广度遍历(递归实现与非递归实现)]]></title><link>https://blog.youkuaiyun.com/summer199605/article/details/100641575</link><guid>https://blog.youkuaiyun.com/summer199605/article/details/100641575</guid><author>summer199605</author><pubDate>Sun, 08 Sep 2019 22:47:28 +0800</pubDate><description><![CDATA[https://www.jianshu.com/p/5e9ea25a1aae

]]></description><category></category></item><item><title><![CDATA[addEventListener的执行顺序]]></title><link>https://blog.youkuaiyun.com/summer199605/article/details/100600518</link><guid>https://blog.youkuaiyun.com/summer199605/article/details/100600518</guid><author>summer199605</author><pubDate>Sat, 07 Sep 2019 16:17:55 +0800</pubDate><description><![CDATA[html文件
&lt;html&gt;
    &lt;head&gt;

    &lt;/head&gt;
    &lt;body&gt;
        &lt;div id="box1" style="height: 140;width : 140px;background-color:red "&gt;
            box1
            &lt;div id="...]]></description><category></category></item><item><title><![CDATA[Http和Https的区别]]></title><link>https://blog.youkuaiyun.com/summer199605/article/details/100553339</link><guid>https://blog.youkuaiyun.com/summer199605/article/details/100553339</guid><author>summer199605</author><pubDate>Thu, 05 Sep 2019 11:29:26 +0800</pubDate><description><![CDATA[无论是在校学习还是找工作的时候，老师和面试官都问过同学http和https的区别。平时上网的时候也没有关注这个问题，只是知道计算机网络里Http的概念，所以最近才查资料好好补补这一块。其实这一块的知识延伸很广，如果之前不太了解加密算法和SSL协议，可以在学习了这个问题的基础上再做研究。
一、Http和Https的基本概念
Http：超文本传输协议（Http，HyperText Transfer P...]]></description><category></category></item><item><title><![CDATA[浏览器的一个请求从发送到返回都经历了什么？]]></title><link>https://blog.youkuaiyun.com/summer199605/article/details/100178068</link><guid>https://blog.youkuaiyun.com/summer199605/article/details/100178068</guid><author>summer199605</author><pubDate>Sat, 31 Aug 2019 22:17:33 +0800</pubDate><description><![CDATA[https://www.cnblogs.com/echo-hui/p/9298203.html

]]></description><category></category></item><item><title><![CDATA[发布订阅模式与观察者模式]]></title><link>https://blog.youkuaiyun.com/summer199605/article/details/100176860</link><guid>https://blog.youkuaiyun.com/summer199605/article/details/100176860</guid><author>summer199605</author><pubDate>Sat, 31 Aug 2019 20:39:59 +0800</pubDate><description><![CDATA[背景
设计模式并非是软件开发的专业术语，实际上，“模式”最早诞生于建筑学。
设计模式的定义是：在面向对象软件设计过程中针对特定问题的简洁而优雅的解决方案。通俗一点说，设计模式是在某种场合下对某个问题的一种解决方案。如果再通俗一点说，设计模式就是给面向对象软件开发中的一些好的设计取个名字。
这些“好的设计”并不是谁发明的，而是早已存在于软件开发中。一个稍有经验的程序员也许在不知不觉中数次使用过这些设...]]></description><category></category></item><item><title><![CDATA[react高阶组件]]></title><link>https://blog.youkuaiyun.com/summer199605/article/details/100139530</link><guid>https://blog.youkuaiyun.com/summer199605/article/details/100139530</guid><author>summer199605</author><pubDate>Thu, 29 Aug 2019 16:07:13 +0800</pubDate><description><![CDATA[高阶组件
1、什么是高阶组件？
高阶组件就是一个 React 组件包裹着另外一个 React 组件
因为要访问它的内部状态，所以要用到继承
高阶组件就是一个函数，它接受另一个组件作为参数，并返回一个新的组件。
当 React 组件被包裹时（warped），高阶组件会返回一个增强的 React 组件。
高阶组件让代码更具有复用性、逻辑性和抽象特性。
2 、为什么要使用高阶组件？
为了代码的复用性，减...]]></description><category></category></item><item><title><![CDATA[node.js的三大特点]]></title><link>https://blog.youkuaiyun.com/summer199605/article/details/100132279</link><guid>https://blog.youkuaiyun.com/summer199605/article/details/100132279</guid><author>summer199605</author><pubDate>Thu, 29 Aug 2019 10:44:51 +0800</pubDate><description><![CDATA[1.单线程
2.非阻塞I/O
3.事件驱动
在Node中，客户端请求建立连接，提交数据等行为，会触发相应的事件。在Node中，在一个时刻，只能执行一个事件回调函数，但是在执行一个事件回调函数的中途，可以转而处理其他事件（比如，又有新用户连接了），然后返回继续执行原事件的回调函数，这种处理机制，称为“事件环”机制。
Node.js底层是C++（V8也是C++写的）。底层代码中，近半数都用于事件队列、...]]></description><category></category></item><item><title><![CDATA[cookie详解]]></title><link>https://blog.youkuaiyun.com/summer199605/article/details/100126639</link><guid>https://blog.youkuaiyun.com/summer199605/article/details/100126639</guid><author>summer199605</author><pubDate>Thu, 29 Aug 2019 09:36:52 +0800</pubDate><description><![CDATA[http是无状态的，所以引入了cookie来管理服务器与客户端之间的状态
与cookie相关的http首部字段有：
1.Set-Cookie:它一个响应首部字段，从服务器发送到客户端，当服务器想开始通过cookie进行状态管理，它就会向客户端发送Set-Cookie字段。
2.Cookie:它是一个请求首部字段，从客户端发送到服务器
cookie是保存在客户端的，cookie是绑定在特定域名下的（...]]></description><category></category></item><item><title><![CDATA[promise源码分析、Promise和async-await的区别与联系]]></title><link>https://blog.youkuaiyun.com/summer199605/article/details/100071518</link><guid>https://blog.youkuaiyun.com/summer199605/article/details/100071518</guid><author>summer199605</author><pubDate>Mon, 26 Aug 2019 09:42:50 +0800</pubDate><description><![CDATA[详解Promise/Promise/A+ 规范
Promise原理与实现
简述promise原理
Promise内部实现的原理
源码太长了看不懂kkkk
async-await和Promise的关系
promise与async和await的区别

]]></description><category></category></item><item><title><![CDATA[html中meta标签的使用]]></title><link>https://blog.youkuaiyun.com/summer199605/article/details/100060956</link><guid>https://blog.youkuaiyun.com/summer199605/article/details/100060956</guid><author>summer199605</author><pubDate>Sun, 25 Aug 2019 11:20:30 +0800</pubDate><description><![CDATA[meta标签作用
META标签是HTML标记HEAD区的一个关键标签，提供文档字符集、使用语言、作者等基本信息，以及对关键词和网页等级的设定等，最大的作用是能够做搜索引擎优化（SEO）。
PS：便于搜索引擎机器人查找、分类，互联网应用应该要注意。

meta详解
meta标签可分为两大部分：http-equiv和name变量。
http-equiv
http-equiv相当于http的文件头作用，...]]></description><category></category></item><item><title><![CDATA[深入了解flex弹性盒（语法及应用）]]></title><link>https://blog.youkuaiyun.com/summer199605/article/details/99707535</link><guid>https://blog.youkuaiyun.com/summer199605/article/details/99707535</guid><author>summer199605</author><pubDate>Sun, 18 Aug 2019 18:11:33 +0800</pubDate><description><![CDATA[本教程源自对大漠老师的一个完整的Flexbox指南 和阮一峰老师的Flex布局教程语法篇和实例篇的学习和整理，仅作为知识整理和分享，不作任何商业用途。

本教程分为语法篇和实例篇

和传统布局比较
传统的网页布局（layout）解决方案，是基于盒模型，依赖display+float+position属性，这对于那些特殊的布局非常的不方便，比如垂直居中就不易于实现。
2009年，W3C提出了一种新的...]]></description><category></category></item><item><title><![CDATA[深入了解float之“不完全脱离文档流”]]></title><link>https://blog.youkuaiyun.com/summer199605/article/details/99697648</link><guid>https://blog.youkuaiyun.com/summer199605/article/details/99697648</guid><author>summer199605</author><pubDate>Sun, 18 Aug 2019 15:45:32 +0800</pubDate><description><![CDATA[本文目录：
float的特性
float与absolute的区别
float与inline-block
清除浮动的方法及优缺点

1. float的特性
一个元素设置了float属性，会表现出如下特性：

包裹性
块状格式化上下文
破坏文档流
没有margin合并

文字环绕(设计初衷)
float最早的设计目的是用于图片，使文字能够环绕在图片周围，像下面这样：


文字环绕效果是很明显的，这里要...]]></description><category></category></item><item><title><![CDATA[深入了解BFC]]></title><link>https://blog.youkuaiyun.com/summer199605/article/details/99697328</link><guid>https://blog.youkuaiyun.com/summer199605/article/details/99697328</guid><author>summer199605</author><pubDate>Sat, 17 Aug 2019 20:27:37 +0800</pubDate><description><![CDATA[先来看看常见的定位方式
定位方案是控制元素的布局，常见的有三种：

普通流（normal flow）
其实就是元素按照再HTML中的先后位置之上而下布局，在这个过程中，行内元素水平排列，直到当行被沾满然后换行，块级元素则会被渲染为完整的一个新行，除非另外制定，否则所有元素默认都是普通流定位，也可以说，普通六中元素的位置由该元素再HTML文档中的位置决定。
浮动（float）
在浮动布局中，元素首先...]]></description><category></category></item><item><title><![CDATA[javascript中的排序算法]]></title><link>https://blog.youkuaiyun.com/summer199605/article/details/99647555</link><guid>https://blog.youkuaiyun.com/summer199605/article/details/99647555</guid><author>summer199605</author><pubDate>Sat, 17 Aug 2019 11:05:15 +0800</pubDate><description><![CDATA[1. 大O表示法



2.冒泡排序



3.选择排序



3. 插入排序



3. 希尔排序




5.快速排序





总体代码

function ArrayList() {
        this.array = []

        ArrayList.prototype.insert = function (item) {
            this.array.p...]]></description><category></category></item><item><title><![CDATA[2种方法实现经典的左侧固定宽度200px，右侧自适应宽度的布局]]></title><link>https://blog.youkuaiyun.com/summer199605/article/details/99678535</link><guid>https://blog.youkuaiyun.com/summer199605/article/details/99678535</guid><author>summer199605</author><pubDate>Fri, 16 Aug 2019 15:14:03 +0800</pubDate><description><![CDATA[首先我们假定页面上已有下列元素：
&lt;body &gt;
    &lt;div id="left" &gt;&lt;/div&gt;
    &lt;div id="right"&gt;&lt;/div&gt;    
&lt;/body&gt;

第一种方法：float+margin-left
这种方法是最简单也是最容易想到的方法(至少在我看来)，请看如下CSS：
div{
    hei...]]></description><category></category></item><item><title><![CDATA[怎样获取网址（url）中的字符串参数]]></title><link>https://blog.youkuaiyun.com/summer199605/article/details/99448069</link><guid>https://blog.youkuaiyun.com/summer199605/article/details/99448069</guid><author>summer199605</author><pubDate>Tue, 13 Aug 2019 17:04:28 +0800</pubDate><description><![CDATA[1、获取整个URL字符串
要想获取URL中的参数，首先我们就要获取到整个URL字符串。我们使用：
“ http://www.zhihuaw.com/wap/tmpl/member/member.html?token=zhihua_wei”
这个URL为例。

    //window.location.protocol设置或获取 URL 的协议部分
    var test = window.lo...]]></description><category></category></item><item><title><![CDATA[记一次react+mbox的踩坑经历]]></title><link>https://blog.youkuaiyun.com/summer199605/article/details/98761347</link><guid>https://blog.youkuaiyun.com/summer199605/article/details/98761347</guid><author>summer199605</author><pubDate>Thu, 08 Aug 2019 11:41:07 +0800</pubDate><description><![CDATA[问题：
使用的是react和mbox，页面是用antd-mobile中的table封装的wulitable，columns设置显示的数据，但是需求是根据list的appid数据来对照mplist中的id数据，然后从mplist中拿到name数据显示到页面上，在这里我是这样写的
@observer
class Manager extends React.Component&lt;IProps, {}...]]></description><category></category></item><item><title><![CDATA[用js完成点击按钮实现复制的功能]]></title><link>https://blog.youkuaiyun.com/summer199605/article/details/98733266</link><guid>https://blog.youkuaiyun.com/summer199605/article/details/98733266</guid><author>summer199605</author><pubDate>Wed, 07 Aug 2019 11:06:37 +0800</pubDate><description><![CDATA[先贴代码，Button是antd-design中的button，要做到的是点击button复制span中的内容。
toClipboard = () =&gt; {
    const copySpan = document.getElementById('copy');
    const range = document.createRange();

    range.selectNodeC...]]></description><category></category></item><item><title><![CDATA[记一次SuperAgent的使用]]></title><link>https://blog.youkuaiyun.com/summer199605/article/details/98652959</link><guid>https://blog.youkuaiyun.com/summer199605/article/details/98652959</guid><author>summer199605</author><pubDate>Tue, 06 Aug 2019 19:51:30 +0800</pubDate><description><![CDATA[SuperAgent是什么？
superagent它是一个强大并且可读性很好的轻量级ajaxAPI，是node里一个关于HTTP方面的一个库，而且它可以将链式写法玩的出神入化。
    var superagent = require('superagent');

    superagent
        .post('/api')
        .send({
            '...]]></description><category></category></item></channel></rss>