<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_42099772的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/qq_42099772</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; qq_42099772]]></copyright><item><title><![CDATA[js 有序数组打乱无序数组]]></title><link>https://blog.csdn.net/qq_42099772/article/details/119002983</link><guid>https://blog.csdn.net/qq_42099772/article/details/119002983</guid><author>qq_42099772</author><pubDate>Thu, 22 Jul 2021 16:41:18 +0800</pubDate><description><![CDATA[// 打乱有序的数组

let arr = [1,2,3,4,5]
let newArr = []
var len = arr.length
function handleArray(arr) {
    for(let i =0;i&lt;len;i++) {
        // 随机生成数组的下标 (0-4)
        let index = Math.floor(Math.random()*arr.length)
        newArr.push(arr[index])
       .]]></description><category></category></item><item><title><![CDATA[js 判断数组对象中某个字段有无重复]]></title><link>https://blog.csdn.net/qq_42099772/article/details/117946742</link><guid>https://blog.csdn.net/qq_42099772/article/details/117946742</guid><author>qq_42099772</author><pubDate>Wed, 16 Jun 2021 09:16:38 +0800</pubDate><description><![CDATA[判断一个数组中对象中，某个字段是否有重复的
let arr = [
	{
		name: 'zhangsan',
		id: '1001'
	},
	{
		name: 'lisi',
		id: '1001'
	}
]
// 判断id是否重复
// 返回一个id的数组
const newArr = arr.map(item =&gt; item.id )
// Set类似于数组，区别在于它所有的成员都是唯一的，不能有重复的值，会将重复的值去重
const arrSet = new Set(newArr)
]]></description><category></category></item><item><title><![CDATA[mysql数据库左连接]]></title><link>https://blog.csdn.net/qq_42099772/article/details/117708561</link><guid>https://blog.csdn.net/qq_42099772/article/details/117708561</guid><author>qq_42099772</author><pubDate>Tue, 08 Jun 2021 16:58:18 +0800</pubDate><description><![CDATA[实现两个表左连接

场景，开发中对一个业务场景来说，一般放一个主表放主要的数据。其中主表中可能有的数据是定死的，只可能有那几条，比如type就那几种类型。为了保证数据严谨性，会专门创建一个type表，放type的对应的数据，而主表中只存type对应的id，不会存对应的name值。
当前端需要展示这个type对应的name时，后端就需要将两个表联合起来，将type表中对应的name值，给主表，一块返回给前台
SELECT u.id, u.username, t.name as type_name FROM u]]></description><category></category></item><item><title><![CDATA[node后台实现分页]]></title><link>https://blog.csdn.net/qq_42099772/article/details/117706757</link><guid>https://blog.csdn.net/qq_42099772/article/details/117706757</guid><author>qq_42099772</author><pubDate>Tue, 08 Jun 2021 16:33:36 +0800</pubDate><description><![CDATA[node作为后台实现数据分页

需要pageSize，pageNum两个参数，其它的看你需求。pageSize是分页每页对应的条数，pageNum是分页从第几页开始的 pageSize = 10/pageNum = 1就是数据的前十条1-10，pageNum = 2就是数据的第二个10条，11-20
前提知识，sql语句的offset,limit，offset偏移量，就是从数据的第几条开始，limit数量，就是取多少条数据
select id,name from users where id = '1' l]]></description><category></category></item><item><title><![CDATA[react项目 上线配置流程]]></title><link>https://blog.csdn.net/qq_42099772/article/details/117410076</link><guid>https://blog.csdn.net/qq_42099772/article/details/117410076</guid><author>qq_42099772</author><pubDate>Mon, 31 May 2021 11:41:05 +0800</pubDate><description><![CDATA[react项目、阿里云服务器、nginx代理、linux，xftp跟xshell工具，用来跟远程服务器交互，xftp上传本地文件到服务器，xshell服务端命令行


服务器端，我用的Linux、ubantu，没有图形化，只有命令。


首先你要有个react项目，这个很简单，npm install -g create-react-app、create-react-app your-app-name，项目创建完成后，cd your-app-name，npm run start启动，访问http://loca]]></description><category></category></item><item><title><![CDATA[node快速搭建服务]]></title><link>https://blog.csdn.net/qq_42099772/article/details/117015479</link><guid>https://blog.csdn.net/qq_42099772/article/details/117015479</guid><author>qq_42099772</author><pubDate>Wed, 19 May 2021 13:19:28 +0800</pubDate><description><![CDATA[针对npm 跟 node已经下载安装好的同学

创建一个空文件夹，作为服务搭建的文件夹，用编辑器打开，或者使用命令行打开。
使用npm init命令，初始化环境，会生成一个package.json文件，记录项目所需要的各种模块，以及项目的配置信息。
使用express + node ，执行npm install express --save，安装express。
在根目录下新建一个index.js文件，文件名字随便定义也不用使用index.js,不过要把上图的main中的文件夹改成你的文件的名字。index]]></description><category></category></item><item><title><![CDATA[vscode常用操作快捷键]]></title><link>https://blog.csdn.net/qq_42099772/article/details/116758821</link><guid>https://blog.csdn.net/qq_42099772/article/details/116758821</guid><author>qq_42099772</author><pubDate>Thu, 13 May 2021 17:36:17 +0800</pubDate><description><![CDATA[补充中… 欢迎补充

多行注释     Alt + shift + A
单行注释  Ctrl + '/'
删除一行所有数据   Ctrl + shift + k
回退 Ctrl + z
缩进 右移选中  Tab
向前缩进 左移选中  shift + Tab


]]></description><category></category></item><item><title><![CDATA[npm install 的常用命令区别以及使用]]></title><link>https://blog.csdn.net/qq_42099772/article/details/116591277</link><guid>https://blog.csdn.net/qq_42099772/article/details/116591277</guid><author>qq_42099772</author><pubDate>Mon, 10 May 2021 11:45:43 +0800</pubDate><description><![CDATA[举例
npm install axois
npm install axios --save
npm install axios --save-dev

npm install axios（npm i axios）

经过我百度发现，很多人说npm install axios会下载到node_modules中去，但是不会修改package.json,但是我测试发现npm install axios既会下载，也会出现在package.json的dependencies中。

npm install axios ]]></description><category></category></item><item><title><![CDATA[正则表达式中使用变量]]></title><link>https://blog.csdn.net/qq_42099772/article/details/116267953</link><guid>https://blog.csdn.net/qq_42099772/article/details/116267953</guid><author>qq_42099772</author><pubDate>Thu, 29 Apr 2021 14:14:28 +0800</pubDate><description><![CDATA[场景: 不同页面新增一条数据时 根据id 来动态添加下一条数据 id+三位数 ， 但是这个id是动态的 所以这个正则也要使用一个变量


/^datalist\d{3}$/g // 原来写的正则

在正则中添加模板字符串的方式也是不行的 只有把这个正则通过构造函数的方式来生成，才能使用变量


const regExp = new RegExp('^' + this.F_BH + '\\d{3}$', 'g')
// 其中将 / 去掉，将\换成\\ 转译


...]]></description><category></category></item><item><title><![CDATA[JS根据传入长度补充0]]></title><link>https://blog.csdn.net/qq_42099772/article/details/116201170</link><guid>https://blog.csdn.net/qq_42099772/article/details/116201170</guid><author>qq_42099772</author><pubDate>Tue, 27 Apr 2021 14:52:33 +0800</pubDate><description><![CDATA[新增的时候001 - 002这种，将上一项Number(pre)+1然后传入length解决
代码
function filterArr(number, length) {
 return (Array(length).join('0') + number).slice(-length);
}


]]></description><category></category></item><item><title><![CDATA[React   根据官网做的todoList小demo]]></title><link>https://blog.csdn.net/qq_42099772/article/details/116143948</link><guid>https://blog.csdn.net/qq_42099772/article/details/116143948</guid><author>qq_42099772</author><pubDate>Mon, 26 Apr 2021 09:57:57 +0800</pubDate><description><![CDATA[直接贴代码
&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8" /&gt;
    &lt;title&gt;Hello React!&lt;/title&gt;
    &lt;script src="https://cdn.staticfile.org/react/16.4.0/umd/react.development.js"&gt;&lt;/script&gt;
    &lt;script src]]></description><category></category></item><item><title><![CDATA[什么是Vuex]]></title><link>https://blog.csdn.net/qq_42099772/article/details/93143452</link><guid>https://blog.csdn.net/qq_42099772/article/details/93143452</guid><author>qq_42099772</author><pubDate>Fri, 21 Jun 2019 00:18:14 +0800</pubDate><description><![CDATA[Vuex相当与react的Redux是对vue的状态集中进行管理
Vuex的概念

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态，并以相应的规则保证状态以一种可预测的方式发生变化。

我为什么使用vuex

当你开发一个中大型的单页面应用的时候,有时候很多视图需要依赖某一个状态,最常见的就是登录当你登录了之后改变state的isLogin...]]></description><category></category></item><item><title><![CDATA[React的虚拟dom]]></title><link>https://blog.csdn.net/qq_42099772/article/details/91388136</link><guid>https://blog.csdn.net/qq_42099772/article/details/91388136</guid><author>qq_42099772</author><pubDate>Mon, 10 Jun 2019 17:42:00 +0800</pubDate><description><![CDATA[React作为三大前端框架之所以受欢迎虚拟dom必不可少
今天我来解释一下虚拟dom有什么不好的地方请指正

首先大家可以对比一下,当你直接操作dom节点时,虽然也是操作的js对象，虽然你没有发现什么不同但是直接操作dom可以带来很大的性能消耗,是浏览器会对在操作dom的时候对网页重新布局以及重新渲染，这个过程很耗时,效率不高,不利于前端的优化。所以前端优化中由一条尽量减少dom的操作.
这时我们...]]></description><category></category></item><item><title><![CDATA[为什么使用React]]></title><link>https://blog.csdn.net/qq_42099772/article/details/91313914</link><guid>https://blog.csdn.net/qq_42099772/article/details/91313914</guid><author>qq_42099772</author><pubDate>Sat, 08 Jun 2019 11:12:30 +0800</pubDate><description><![CDATA[为什么使用react
react是facebook开发的React 是一个用于构建用户界面的 JAVASCRIPT 库,前端框架

其实跟vue不同的是vue专注于UI而react使用长了你就感觉到,其实react是一个库

优点

JSX语法，就是JavaScriptXML,你可以在html代码中使用JavaScript表达式,意味着你就可以将数据直接镶嵌在html中
组件，这是一个很大的进步,...]]></description><category></category></item><item><title><![CDATA[ES6中箭头函数加不加大括号的区别]]></title><link>https://blog.csdn.net/qq_42099772/article/details/89578704</link><guid>https://blog.csdn.net/qq_42099772/article/details/89578704</guid><author>qq_42099772</author><pubDate>Fri, 26 Apr 2019 23:45:44 +0800</pubDate><description><![CDATA[ES6中箭头函数加不加大括号的区别
不了解的人，像我刚开始就乱用这个箭头函数的{}，想起来就加上，想不起来就不加，也没发现什么大问题，但是最近学了react，这个加上了{}，就开始报错了，也是从网上找了这个加不加的区别

首先不加{}，这时箭头函数指向的就是这个函数的返回值，用在只返回返回值的时候，只写一个箭头，就行
另一种加{}，这就是一个代码块跟之前没区别，还是要写上返回值，就是要return...]]></description><category></category></item><item><title><![CDATA[js函数作用域的理解]]></title><link>https://blog.csdn.net/qq_42099772/article/details/88761428</link><guid>https://blog.csdn.net/qq_42099772/article/details/88761428</guid><author>qq_42099772</author><pubDate>Sat, 23 Mar 2019 15:05:54 +0800</pubDate><description><![CDATA[函数作用域的简单理解

函数作用域分为全局作用域跟局部作用域(就是函数作用域)
全局作用域时直接在script标签下的直接定义都是全局作用域，在页面打开时创建，页面关闭的时候关闭，全局作用与有一个全局对象window,在全局作用域中创建的变量时window的属性 var a=1; console.log(window.a)就会输出1，函数作为window对象方法保存
function fun(){...]]></description><category></category></item><item><title><![CDATA[使用scrapy框架爬取51job的关于python的职位，并且进行分析]]></title><link>https://blog.csdn.net/qq_42099772/article/details/88743909</link><guid>https://blog.csdn.net/qq_42099772/article/details/88743909</guid><author>qq_42099772</author><pubDate>Fri, 22 Mar 2019 16:14:20 +0800</pubDate><description><![CDATA[example.py 爬虫的主文件，大部分的爬虫逻辑都在这
# -*- coding: utf-8 -*-
import scrapy
# import pyecharts
from ..items import Scrapy3Item
class ExampleSpider(scrapy.Spider):
    name = 'example'
    # allowed_domains = ...]]></description><category></category></item><item><title><![CDATA[使用node实现简单的增删改查功能的小demo]]></title><link>https://blog.csdn.net/qq_42099772/article/details/88721822</link><guid>https://blog.csdn.net/qq_42099772/article/details/88721822</guid><author>qq_42099772</author><pubDate>Thu, 21 Mar 2019 18:01:48 +0800</pubDate><description><![CDATA[这里使用express框架，搭建起来简单，不用从底层做起,node是javascript运行时环境，实质是对chrome V8引擎进行了封装.node.js是一个让javascript运行在服务端的开发平台，它让javascript成为与php,python的服务端语言平起平坐的脚本语言。
node.js能开发像apach，tomcat等还可以开发npm包管理工具


我做的这个实现了基本的增删...]]></description><category></category></item><item><title><![CDATA[python按需从网易云下载你喜欢的歌手的所有歌曲]]></title><link>https://blog.csdn.net/qq_42099772/article/details/88720832</link><guid>https://blog.csdn.net/qq_42099772/article/details/88720832</guid><author>qq_42099772</author><pubDate>Thu, 21 Mar 2019 17:29:49 +0800</pubDate><description><![CDATA[按需从网易云下载你喜欢的歌手的所有歌曲

网易云这个好制作时因为他有一个外链url,先打开歌手页,直接就获取歌手在网页的id即可，可是源代码代码找不到那么他放在那了，于是我打开source查看了在这里面你要把请求url中的#去掉就可以得到带歌手id的网页，然后重点来了怎么获取所有的歌手页。这里不能一下子得到你想要的歌手，要按需要。仔细看歌手页面url变化，发现有两个变量一个是男歌手，女歌手，乐队，...]]></description><category></category></item><item><title><![CDATA[python爬取网易云音乐歌曲]]></title><link>https://blog.csdn.net/qq_42099772/article/details/87749419</link><guid>https://blog.csdn.net/qq_42099772/article/details/87749419</guid><author>qq_42099772</author><pubDate>Wed, 20 Feb 2019 01:26:06 +0800</pubDate><description><![CDATA[python爬取网易云歌曲并且保存到本地
打开网易云音乐首页随便打开了一个歌单列表(https://music.163.com/#/playlist?id=924680166) 先贴代码为敬
import requests
import json
from lxml import etree
import jsonpath
def saveSound(url,song_name):

	# pri...]]></description><category></category></item></channel></rss>