<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[CathyleeQ的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/CathyleeQ</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; CathyleeQ]]></copyright><item><title><![CDATA[小程序使用getUserInfo获取用户信息失败]]></title><link>https://blog.youkuaiyun.com/CathyleeQ/article/details/124371062</link><guid>https://blog.youkuaiyun.com/CathyleeQ/article/details/124371062</guid><author>CathyleeQ</author><pubDate>Sat, 23 Apr 2022 22:02:20 +0800</pubDate><description><![CDATA[1.使用getUserInfo
 wx.getUserInfo({
      success: (res) =&gt; {
        console.log(res);
        this.setData({
          userInfo: res.userInfo
        })
      },
      fail: (err) =&gt; {
        console.log(err);
      }
    })
  },

获取得到的信息：

也就是不能获取用]]></description><category></category></item><item><title><![CDATA[freeCodeCamp的JS数据结构五道算法（一)]]></title><link>https://blog.youkuaiyun.com/CathyleeQ/article/details/124253286</link><guid>https://blog.youkuaiyun.com/CathyleeQ/article/details/124253286</guid><author>CathyleeQ</author><pubDate>Mon, 18 Apr 2022 20:50:29 +0800</pubDate><description><![CDATA[1. 回文检查器

如果传入的字符串是回文字符串，则返回 true。 否则返回 false
回文 palindrome，指在忽略标点符号、大小写和空格的前提下，正着读和反着读一模一样。
注意：检查回文时，你需要先去除所有非字母数字的字符（标点、空格和符号），并将所有字母都转换成大写或都转换成小写。
我们会传入具有不同格式的字符串，如 racecar、RaceCar 和 race CAR 等等。
我们也会传入一些包含特殊符号的字符串，例如 2A33a2、2A3 3a2、2_A33#A2。

1.1 想法

已]]></description><category></category></item><item><title><![CDATA[JS算法(三)]]></title><link>https://blog.youkuaiyun.com/CathyleeQ/article/details/123815336</link><guid>https://blog.youkuaiyun.com/CathyleeQ/article/details/123815336</guid><author>CathyleeQ</author><pubDate>Sun, 10 Apr 2022 18:15:18 +0800</pubDate><description><![CDATA[1.爬楼梯
1.思想
2.JS代码
2.爬楼梯
2.1 思想
2.2 JS代码
3.爬楼梯
3.1 思想
3.2 JS代码
4.爬楼梯
4.1 思想
4.2 JS代码
5.爬楼梯
5.1 思想
5.2 JS代码
6.爬楼梯
6.1 思想
6.2 JS代码
7.爬楼梯
7.1 思想
7.2 JS代码
8.爬楼梯
8.1 思想
8.2 JS代码
9.爬楼梯
9.1 思想
9.2 JS代码
10.爬楼梯
10.1 思想
10.2 JS代码

...]]></description><category></category></item><item><title><![CDATA[NodeJS（四）Express 接口实例]]></title><link>https://blog.youkuaiyun.com/CathyleeQ/article/details/124036767</link><guid>https://blog.youkuaiyun.com/CathyleeQ/article/details/124036767</guid><author>CathyleeQ</author><pubDate>Fri, 08 Apr 2022 15:26:47 +0800</pubDate><description><![CDATA[系列文章目录
NodeJS（三）Express 实践

文章目录系列文章目录前言一、Express 接口实例1.1 创建基本的服务器1.2 创建 API 路由模块1.3 编写 POST 接口1.4 编写 GET 接口二、CORS 跨域资源共享2.1 接口的跨域问题2.2 什么是 CORS2.3 CORS 的注意事项2.4 使用 cors 中间件解决跨域问题

前言
前面已经了解了 Express  的创建web服务器的基本方法，今天来进行接口实例的编写。

一、Express 接口实例
1.1 创建基本的服]]></description><category></category></item><item><title><![CDATA[NodeJS（三）Express 实践]]></title><link>https://blog.youkuaiyun.com/CathyleeQ/article/details/124020766</link><guid>https://blog.youkuaiyun.com/CathyleeQ/article/details/124020766</guid><author>CathyleeQ</author><pubDate>Thu, 07 Apr 2022 20:27:51 +0800</pubDate><description><![CDATA[系列文章目录
NodeJS（三）path+http 模块实践

文章目录系列文章目录一、什么是 Express1.1 Express的概念1.2 为什么有了HTTP模块还要用Express ？二、 Express 的基本使用2.1 创建基本的 Web 服务器总结

一、什么是 Express
1.1 Express的概念
官方的概念：Express 是基于 Node.js 平台，快速、开放、极简的 Web 开发框架。
通俗的理解：Express 的作用和 Node.js 内置的 http 模块类似，是专门用]]></description><category></category></item><item><title><![CDATA[NodeJS（三）path+http 模块实践]]></title><link>https://blog.youkuaiyun.com/CathyleeQ/article/details/124015618</link><guid>https://blog.youkuaiyun.com/CathyleeQ/article/details/124015618</guid><author>CathyleeQ</author><pubDate>Thu, 07 Apr 2022 15:46:42 +0800</pubDate><description><![CDATA[系列文章目录
NodeJS（二）预备知识+fs 实战

文章目录系列文章目录前言一、path模块1.1 回顾相对类路径的使用1.1.1 相对类路径的使用方法1.1.2 相对类路径出现的问题1.2  什么是 path 路径模块？1.3   path 路径模块的使用1.3.1   path 路径模块的导入1.3.2 路径拼接1.3.3  获取路径中的文件名1.3.4  获取路径中的文件扩展名二、http 模块1. 回顾什么是客户端、什么是服务器？2. 什么是 http 模块？3. 创建 web 服务器3.1 创]]></description><category></category></item><item><title><![CDATA[NodeJS（二）预备知识+fs 实战]]></title><link>https://blog.youkuaiyun.com/CathyleeQ/article/details/124012331</link><guid>https://blog.youkuaiyun.com/CathyleeQ/article/details/124012331</guid><author>CathyleeQ</author><pubDate>Thu, 07 Apr 2022 13:47:00 +0800</pubDate><description><![CDATA[系列文章目录
NodeJS（一）通俗理解 NodeJS

文章目录系列文章目录前言一、工欲善其事必先利其器1.1 Node.js 环境的安装1.2 明确Node.js 的学习路径二、预备知识2.1 命令行终端命令：2.2 Node 文件基础2.2.1包（package）2.3 JS 语法知识基础2.3.1 模块化2.3.2 模块的引用2.3.2模块的定义2.3.3 模块的标识三、 fs 实战3.1 什么是 fs 文件系统模块3.2  fs 文件系统模块的使用3.2.1  导入 fs 模块，来操作文件3.2.]]></description><category></category></item><item><title><![CDATA[NodeJS（一）通俗理解 NodeJS]]></title><link>https://blog.youkuaiyun.com/CathyleeQ/article/details/123976703</link><guid>https://blog.youkuaiyun.com/CathyleeQ/article/details/123976703</guid><author>CathyleeQ</author><pubDate>Wed, 06 Apr 2022 19:53:13 +0800</pubDate><description><![CDATA[文章目录前言一、nodeJS是什么？二、nodeJS之前的主流是什么？三、为什么要用nodeJS？总结

前言
nodeJS

一、nodeJS是什么？
Node.js 是一个基于 V8 JavaScript 引擎构建的 JavaScript 运行时（runtime）。
官网：http://nodejs.cn/
也可以理解为用JavaScript写的服务端平台，能运行在服务端的框架。
二、nodeJS之前的主流是什么？
NodeJS是近年来比较火的，这一方面得益于其在后端处理高并发的卓越性能，另一方面在no]]></description><category></category></item><item><title><![CDATA[webpack构建项目（四）webpack六大配置模块]]></title><link>https://blog.youkuaiyun.com/CathyleeQ/article/details/123975005</link><guid>https://blog.youkuaiyun.com/CathyleeQ/article/details/123975005</guid><author>CathyleeQ</author><pubDate>Tue, 05 Apr 2022 19:56:30 +0800</pubDate><description><![CDATA[系列文章目录
webpack构建项目（三）性能优化

文章目录系列文章目录前言一、entry二、output三、module四、resolve五、devServer六、optimization总结

前言
前面已经大致学习了webpack并且已经有了一定的实战经验，
下面来深入理解 webpack的五大核心概念。

一、entry

单入口
打包形成一个chunk。 输出一个bundle文件。
此时chunk的名称默认是 main

  `entry:'./src/index.js'`


多入口
所有入口]]></description><category></category></item><item><title><![CDATA[webpack构建项目（三）性能优化]]></title><link>https://blog.youkuaiyun.com/CathyleeQ/article/details/123971699</link><guid>https://blog.youkuaiyun.com/CathyleeQ/article/details/123971699</guid><author>CathyleeQ</author><pubDate>Tue, 05 Apr 2022 19:13:08 +0800</pubDate><description><![CDATA[系列文章目录
webpack构建项目（一）框架搭建
webpack构建项目（二）打包实战

文章目录系列文章目录前言接下来会一个个的去介绍这些方法一、开发环境性能优化1.1 优化打包构建速度1.1.1 HMR1.2  优化代码调试1.2.1 source-map二、生产环境性能优化2.1 优化代码运行2.1.1   文件资源缓存2.1.2 code split2.1 .3 懒加载 与 预加载2.1.4 PWA2.1 .5  tree shaking2.2 优化打包构建速度2.2.1 oneOf2.2.2  ]]></description><category></category></item><item><title><![CDATA[webpack构建项目（二）打包实战]]></title><link>https://blog.youkuaiyun.com/CathyleeQ/article/details/123967264</link><guid>https://blog.youkuaiyun.com/CathyleeQ/article/details/123967264</guid><author>CathyleeQ</author><pubDate>Tue, 05 Apr 2022 16:11:48 +0800</pubDate><description><![CDATA[1.准备工作
1.1初始化package.json

npm init

1.2下载命令行工具

npm install webpack webpack-cli -g
npm install webpack webpack-cli -D

1.3 创建文件
1 ) build文件夹
2 ) src文件夹：创建入口文件 index.js
3 ）package.json配置webpack

“dev”: “webpack-dev-server” // script节点下的脚本，可以通过 npm run 执行

]]></description><category></category></item><item><title><![CDATA[webpack构建项目（一）框架搭建]]></title><link>https://blog.youkuaiyun.com/CathyleeQ/article/details/123965419</link><guid>https://blog.youkuaiyun.com/CathyleeQ/article/details/123965419</guid><author>CathyleeQ</author><pubDate>Tue, 05 Apr 2022 11:12:55 +0800</pubDate><description><![CDATA[0. 准备工作
1 ）Windows 操作系统
2 ）下载nodejs环境  (官网 ：https://nodejs.org/zh-cn/）
3 ）淘宝镜像源 （控制台执行命令：npm install -g cnpm --registry=https://registry.npm.taobao.org）
4 ）VScode编码环境
1.新建工程
1.1 打开VScode 新建文件夹WebpackTemp，在控制台执行

npm init -y

生成默认 package.json 配置文件；（package]]></description><category></category></item><item><title><![CDATA[浅谈axios]]></title><link>https://blog.youkuaiyun.com/CathyleeQ/article/details/123959469</link><guid>https://blog.youkuaiyun.com/CathyleeQ/article/details/123959469</guid><author>CathyleeQ</author><pubDate>Mon, 04 Apr 2022 22:25:34 +0800</pubDate><description><![CDATA[1. 预备知识
1.1 前后台交互的基本过程

前台应用从浏览器向服务器发送HTTP请求(请求报文)。
后台服务器接收到请求，并调度应用处理请求，像浏览器返回HTTP响应(响应报文)
浏览器接收到响应，解析显示响应体。

1.2 HTTP请求报文
2. 什么是axios?
前端最流行的ajax请求库.
文档：http://www.axios-js.com/zh-cn/docs/
2.1 axios的特点

基于promise的封装XHR的异步ajax请求库
浏览器端/node端都可以使用
支持请求／响应拦截]]></description><category></category></item><item><title><![CDATA[浅谈Ajax]]></title><link>https://blog.youkuaiyun.com/CathyleeQ/article/details/123957357</link><guid>https://blog.youkuaiyun.com/CathyleeQ/article/details/123957357</guid><author>CathyleeQ</author><pubDate>Mon, 04 Apr 2022 19:52:22 +0800</pubDate><description><![CDATA[1. 什么是Ajax(Asynchronous Javascript  and XML)?
略答：一种更新网页的技术。
简答：在无需重新加载整个网页的情况下，能够更新部分网页的技术。
通俗易懂的说：
就是没用AJAX技术的网页，你点一个按钮就要刷新整个页面，尽管新页面上只有一行字和当前页面不一样，但你还是等待页面刷新。用了AJAX之后，你点击，只有需要更新的部分刷新，不用整个页面刷。
1.1 Ajax全称
Ajax全称： Asynchronous Javascript  and XML ，即异步的JS和XM]]></description><category></category></item><item><title><![CDATA[async和await]]></title><link>https://blog.youkuaiyun.com/CathyleeQ/article/details/123953968</link><guid>https://blog.youkuaiyun.com/CathyleeQ/article/details/123953968</guid><author>CathyleeQ</author><pubDate>Mon, 04 Apr 2022 16:58:47 +0800</pubDate><description><![CDATA[1.async函数
1.1 async函数概述
async函数是使用async关键字声明的函数。
async函数是AsyncFunction构造函数的实例， 并且其中允许使用await关键字。
async和await关键字让我们可以用一种更简洁的方式写出基于Promise的异步行为，而无需刻意地链式调用promise。
async函数还可以被作为表达式来定义。
1.2 async函数语法
async function name([param[, param[, ... param]]]) {
    sta]]></description><category></category></item><item><title><![CDATA[ES6的promise（期约）]]></title><link>https://blog.youkuaiyun.com/CathyleeQ/article/details/123944981</link><guid>https://blog.youkuaiyun.com/CathyleeQ/article/details/123944981</guid><author>CathyleeQ</author><pubDate>Mon, 04 Apr 2022 14:41:20 +0800</pubDate><description><![CDATA[1. promise（期约）是什么？
一种异步程序执行的机制。
ECMAScript 6 新增的引用类型 Promise，可以通过 new 操作符来实例化。创建新期约时需要传入执行器（executor）函数作为参数。
1.1  promise状态
1.1.1 promise的状态是私有的
promise的状态是私有的，不能直接通过 JavaScript 检测到，也不能被外部 JavaScript 代码修改。
这主要是为了避免根据读取到的promise状态，以同步方式处理promise对象。
promise故]]></description><category></category></item><item><title><![CDATA[跨域的几种方案]]></title><link>https://blog.youkuaiyun.com/CathyleeQ/article/details/123931081</link><guid>https://blog.youkuaiyun.com/CathyleeQ/article/details/123931081</guid><author>CathyleeQ</author><pubDate>Sat, 02 Apr 2022 23:59:20 +0800</pubDate><description><![CDATA[文章目录1. 跨域1.1什么是跨域？1.2为什么跨不过去？1.3跨域原理2.跨域的方法2.1 JSONP2.1.1 实现原理2.1.2 实现代码2.1.3缺点2.2 document.domain + iframe跨域2.2.1 实现原理2.2.2 实现代码2.2.3 缺点2.3 window.name2.3.1 实现原理2.3.2 实现代码2.4 CORS2.4.1 实现原理2.4.2 实现代码2.5 proxy代理2.5.1 实现原理2.5.2 实现代码2.6 WebSocket protocol2.6]]></description><category></category></item><item><title><![CDATA[通俗易懂理解TCP/IP和UDP]]></title><link>https://blog.youkuaiyun.com/CathyleeQ/article/details/123909429</link><guid>https://blog.youkuaiyun.com/CathyleeQ/article/details/123909429</guid><author>CathyleeQ</author><pubDate>Fri, 01 Apr 2022 23:13:47 +0800</pubDate><description><![CDATA[1.TCP三次握手

第一次握手：建立连接时，客户端发送syn包（syn=j）到服务器，并进入SYN_SENT状态，等待服务器确认；SYN：同步序列编号（Synchronize Sequence Numbers）。
第二次握手：服务器收到syn包并确认客户的SYN（ack=j+1），同时也发送一个自己的SYN包（syn=k），即SYN+ACK包，此时服务器进入SYN_RECV状态；
第三次握手：客户端收到服务器的SYN+ACK包，向服务器发送确认包ACK(ack=k+1），此包发送完毕，客户端和服务器进入E]]></description><category></category></item><item><title><![CDATA[用vscode右键打开文件夹]]></title><link>https://blog.youkuaiyun.com/CathyleeQ/article/details/123839303</link><guid>https://blog.youkuaiyun.com/CathyleeQ/article/details/123839303</guid><author>CathyleeQ</author><pubDate>Wed, 30 Mar 2022 10:20:39 +0800</pubDate><description><![CDATA[看到别人可以右键用vscode打开文件夹，我却是拖动文件夹vscode。用着很不舒服，那就来配置一番吧！
搜了网上的一般有两个方法,

重装vscode,把可以右键打开的选项勾上。
更改注册表。

第一种我觉得比较繁琐，所以用了第二种。
1 找到路径：\HKEY_CLASSES_ROOT\Directory\Background\shell

这个路径里果然没有vscode,根本不像别人说的，可以把%1改成%V。
那就自己写一个吧。
1 ）新建文本文件，在文件中写入代码，如下：

（注意更改自己的路径，是安]]></description><category></category></item><item><title><![CDATA[JS算法(二)]]></title><link>https://blog.youkuaiyun.com/CathyleeQ/article/details/123815189</link><guid>https://blog.youkuaiyun.com/CathyleeQ/article/details/123815189</guid><author>CathyleeQ</author><pubDate>Tue, 29 Mar 2022 17:21:07 +0800</pubDate><description><![CDATA[1.爬楼梯
1.思想
2.JS代码
var climbStairs = function(n) {
    let dp = [];
    dp[0] = 0,dp[1] = 1,dp[2] = 2;
    for(let i = 3;i &lt;= n;i++){
        dp[i] = dp[i-2] + dp[i-1];
    }
    return dp[n];
};

2.爬楼梯
2.1 思想
2.2 JS代码
3.爬楼梯
3.1 思想
3.2 JS代码
4.爬楼梯
4.1 思想
]]></description><category></category></item></channel></rss>