<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[zjp567的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/zjp567</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; zjp567]]></copyright><item><title><![CDATA[React原理学习]]></title><link>https://blog.youkuaiyun.com/zjp567/article/details/125987622</link><guid>https://blog.youkuaiyun.com/zjp567/article/details/125987622</guid><author>zjp567</author><pubDate>Tue, 26 Jul 2022 09:14:35 +0800</pubDate><description><![CDATA[react原理 、diff算法]]></description><category></category></item><item><title><![CDATA[图的深度广度优先遍历（DFC与BFC）JavaScript版]]></title><link>https://blog.youkuaiyun.com/zjp567/article/details/124616874</link><guid>https://blog.youkuaiyun.com/zjp567/article/details/124616874</guid><author>zjp567</author><pubDate>Fri, 06 May 2022 19:26:50 +0800</pubDate><description><![CDATA[graph.js创建一个js文件用于表示图这个类型，这个对象的键为节点，所对应的值为这个节点所连接的节点。



const graph={
    0:[1,2],
    1:[2],
    2:[0,3],
    3:[3]
};
module.exports=graph;






图的深度优先遍历，（DFC）



const graph =require("./graph")

console.log(graph)
const visited=new Set();
const dfs...]]></description><category></category></item><item><title><![CDATA[vue3后台管理系统（https://github.com/noob-Jp/my-admin-vue3）]]></title><link>https://blog.youkuaiyun.com/zjp567/article/details/124288205</link><guid>https://blog.youkuaiyun.com/zjp567/article/details/124288205</guid><author>zjp567</author><pubDate>Wed, 20 Apr 2022 08:01:04 +0800</pubDate><description><![CDATA[# my-admin-vue3

本项目是我第一次写vue3，vue2已经学了很长时间，早就想开始接触vue3，通过b站和github上项目的介绍我了解到好多成熟的vue3的后台管理的项目，并且也star了好多，但是光

收藏是不行的，必须自己多动手，所以也想自己做一个自己的vue3的后台管理，并且通过这个开始，来接触vue3。

在此之前我了解到完整的后台管理系统有

1. （vue-pure-admin）：[vue-pure-admin](https://github.com/xiaoxian521/.]]></description><category></category></item><item><title><![CDATA[力扣3.无重复字符的最长子串（滑动窗口问题）]]></title><link>https://blog.youkuaiyun.com/zjp567/article/details/124076204</link><guid>https://blog.youkuaiyun.com/zjp567/article/details/124076204</guid><author>zjp567</author><pubDate>Sun, 10 Apr 2022 12:55:39 +0800</pubDate><description><![CDATA[给定一个字符串，请你找出其中不含有重复字符的  最长子串  的长度。

示例 1:

输入:"abcabcbb"
输出:3
解释:因为无重复字符的最长子串是"abc"，所以其长度为 3。




来源：力扣（LeetCode） 链接：https://leetcode-cn.com/problems/longest-substring-without-repeating-characters 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。


思路：定义一个左边界lef...]]></description><category></category></item><item><title><![CDATA[v-for 和 v-if的优先级（源码分析）app.$options.render]]></title><link>https://blog.youkuaiyun.com/zjp567/article/details/124036538</link><guid>https://blog.youkuaiyun.com/zjp567/article/details/124036538</guid><author>zjp567</author><pubDate>Fri, 08 Apr 2022 11:22:56 +0800</pubDate><description><![CDATA[&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;title&gt;Title&lt;/title&gt;

&lt;/head&gt;
&lt;body&gt;
&lt;script src="js/Vue.js"&gt;&lt;/script&gt;
&lt;div id="demo"&gt;
    &lt;h1&gt;v-for 和 v-if的优先级&.]]></description><category></category></item><item><title><![CDATA[力扣16. 最接近的三数之和(双指针)]]></title><link>https://blog.youkuaiyun.com/zjp567/article/details/124025444</link><guid>https://blog.youkuaiyun.com/zjp567/article/details/124025444</guid><author>zjp567</author><pubDate>Thu, 07 Apr 2022 20:53:38 +0800</pubDate><description><![CDATA[给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数，使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。



示例：
输入：nums =[-1,2,1,-4], target = 1
输出：2
解释：与 target 最接近的和是 2 (-1 + 2 + 1 = 2)。


来源：力扣（LeetCode）

链接：https://leetcode-cn.com/problems/3sum-closest...]]></description><category></category></item><item><title><![CDATA[力扣350. 两个数组的交集 II]]></title><link>https://blog.youkuaiyun.com/zjp567/article/details/123977454</link><guid>https://blog.youkuaiyun.com/zjp567/article/details/123977454</guid><author>zjp567</author><pubDate>Tue, 05 Apr 2022 21:50:01 +0800</pubDate><description><![CDATA[给定两个数组，编写一个函数来计算它们的交集。



示例1:
输入:nums1=[1,2,2,1],nums2=[2,2]
输出:[2,2]
示例2:
输入:nums1=[4,9,5],nums2=[9,4,9,8,4]
输出:[4,9]


来源：力扣（LeetCode）
链接：https://leetcode-cn.com/problems/intersection-of-two-arrays-ii
著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
...]]></description><category></category></item><item><title><![CDATA[力扣16.11. 跳水板]]></title><link>https://blog.youkuaiyun.com/zjp567/article/details/123818938</link><guid>https://blog.youkuaiyun.com/zjp567/article/details/123818938</guid><author>zjp567</author><pubDate>Tue, 29 Mar 2022 13:16:07 +0800</pubDate><description><![CDATA[1.面试题 16.11. 跳水板


/**
 * @param {number} shorter
 * @param {number} longer
 * @param {number} k
 * @return {number[]}
 */
var divingBoard = function(shorter, longer, k) {
    if(k===0) return [];
    if(shorter === longer) return [k*shorter];
    let arr=]]></description><category></category></item><item><title><![CDATA[某公司 1 到 12 月份的销售额存在一个对象里]]></title><link>https://blog.youkuaiyun.com/zjp567/article/details/123768209</link><guid>https://blog.youkuaiyun.com/zjp567/article/details/123768209</guid><author>zjp567</author><pubDate>Sun, 27 Mar 2022 09:25:20 +0800</pubDate><description><![CDATA[如下：{1:222, 2:123, 5:888}，请把数据处理为如下结构：[222, 123, null, null, 888, null, null, null, null, null, null, null]




let obj = {1:222, 2:123, 5:888};
const result = Array.from({ length: 12 }).map((_, index) =&gt; obj[index +1] || null);
console.log(result)




.]]></description><category></category></item><item><title><![CDATA[已知如下数组，编写一个程序将数组扁平化去并除其中重复部分数据，最终得 到一个升序且不重复的数组 var arr =]]></title><link>https://blog.youkuaiyun.com/zjp567/article/details/123755795</link><guid>https://blog.youkuaiyun.com/zjp567/article/details/123755795</guid><author>zjp567</author><pubDate>Sat, 26 Mar 2022 14:46:36 +0800</pubDate><description><![CDATA[已知如下数组，编写一个程序将数组扁平化去并除其中重复部分数据，最终得 到一个升序且不重复的数组 var arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10];

答：使用 Set 方法去重，flat(Infinity)扁平化


Array.from(new Set(arr.flat(Infinity))).sort((a,b)=&gt;{ return a-b})
//[1,2, 3, 4, 5, 6]]></description><category></category></item><item><title><![CDATA[Spring整合mybatis配置+声明式事务]]></title><link>https://blog.youkuaiyun.com/zjp567/article/details/123607924</link><guid>https://blog.youkuaiyun.com/zjp567/article/details/123607924</guid><author>zjp567</author><pubDate>Sun, 20 Mar 2022 09:52:46 +0800</pubDate><description><![CDATA[导入依赖



        &lt;dependency&gt;
            &lt;groupId&gt;org.springframework&lt;/groupId&gt;
            &lt;artifactId&gt;spring-context&lt;/artifactId&gt;
            &lt;version&gt;5.1.9.RELEASE&lt;/version&gt;
        &lt;/dependency&gt;
        &]]></description><category></category></item><item><title><![CDATA[SpringAOP 笔记]]></title><link>https://blog.youkuaiyun.com/zjp567/article/details/123591409</link><guid>https://blog.youkuaiyun.com/zjp567/article/details/123591409</guid><author>zjp567</author><pubDate>Sat, 19 Mar 2022 11:55:58 +0800</pubDate><description><![CDATA[AOP为Aspect Oriented Programming 的缩写，意为：面向切面编程，他是一种可以在不修改原来的核心代码的情况下给程序动态统一进行增强的一种技术。

SpringAOP:批量对Spring容器中的bean的方法做增强，并且这种增强不会与原来方法中的代码耦合。

1.添加依赖


  &lt;!--SpringIOC相关依赖--&gt;
        &lt;dependency&gt;
            &lt;groupId&gt;org.springframework&lt]]></description><category></category></item><item><title><![CDATA[Spring注解开发]]></title><link>https://blog.youkuaiyun.com/zjp567/article/details/123589947</link><guid>https://blog.youkuaiyun.com/zjp567/article/details/123589947</guid><author>zjp567</author><pubDate>Sat, 19 Mar 2022 11:05:42 +0800</pubDate><description><![CDATA[IOC相关注解

@Component @Service @Controller @Repository

DI相关注解

@Value 主要用于String,Integer等可以只直接赋值的属性注入，不依赖setter方法，支持SpEL表达式,例如

@Autowired Spring会给加了该注解的属性自动注入数据类型相同的对象注入。

@Qualifier 如果相同类型的bean在容器中有多个时，单独使用@Autowired就不能满足要求，这时候可以再加上@Qualifier来指定...]]></description><category></category></item><item><title><![CDATA[SpringIOC简易自制版]]></title><link>https://blog.youkuaiyun.com/zjp567/article/details/123589465</link><guid>https://blog.youkuaiyun.com/zjp567/article/details/123589465</guid><author>zjp567</author><pubDate>Sat, 19 Mar 2022 09:56:56 +0800</pubDate><description><![CDATA[IOC使用 Demo.java


package com.sangeng;

import com.sangeng.dao.UserDao;

public class Demo {

    public static void main(String[] args) {
        ClassPathXmlApplicationContext classPathXmlApplicationContext = new ClassPathXmlApplicationContext("beans.x..]]></description><category></category></item><item><title><![CDATA[SpringIOC笔记bean的配置]]></title><link>https://blog.youkuaiyun.com/zjp567/article/details/123588947</link><guid>https://blog.youkuaiyun.com/zjp567/article/details/123588947</guid><author>zjp567</author><pubDate>Sat, 19 Mar 2022 09:48:54 +0800</pubDate><description><![CDATA[lazy-init的作用，可以控制bean的创建时间，如果设置为true就是第一次获取该对象时才去创建。

	
&lt;bean class="com.alibaba.druid.pool.DruidDataSource" lazy-init="true"  id="dataSource" name="dataSource2,dataSource3"&gt;
        &lt;property name="driverClassName" value="${jdbc.driver}"&gt;&lt..]]></description><category></category></item><item><title><![CDATA[SpringIOC笔记DI依赖注入]]></title><link>https://blog.youkuaiyun.com/zjp567/article/details/123588815</link><guid>https://blog.youkuaiyun.com/zjp567/article/details/123588815</guid><author>zjp567</author><pubDate>Sat, 19 Mar 2022 09:10:56 +0800</pubDate><description><![CDATA[DI依赖注入


	DI依赖注入set方法

	
​
&lt;bean class="com.sangeng.domain.Student" id="student"&gt;
        &lt;!--
            name属性用来指定要设置哪个属性
            value属性用来设置要设置的值
            ref属性用来给引用类型的属性设置值，可以写上Spring容器中bean的id
        --&gt;
        &lt;property name.]]></description><category></category></item><item><title><![CDATA[通过反射创建类的对象]]></title><link>https://blog.youkuaiyun.com/zjp567/article/details/123584417</link><guid>https://blog.youkuaiyun.com/zjp567/article/details/123584417</guid><author>zjp567</author><pubDate>Fri, 18 Mar 2022 21:01:45 +0800</pubDate><description><![CDATA[Class&lt;?&gt; clazz=Class.forName(className);
Constructor&lt;?&gt; constructor=clazz.getContructor();
Object obj=constructor.newInstance();


]]></description><category></category></item><item><title><![CDATA[springboot+mybatisplus的增删改查操作（评论区见源码地址）]]></title><link>https://blog.youkuaiyun.com/zjp567/article/details/123072946</link><guid>https://blog.youkuaiyun.com/zjp567/article/details/123072946</guid><author>zjp567</author><pubDate>Tue, 22 Feb 2022 17:39:30 +0800</pubDate><description><![CDATA[此demo的项目结构







用idea创建好一个springboot的基础项目之后，在pom.xml文件中加入以下依赖，


        &lt;dependency&gt;
            &lt;groupId&gt;com.baomidou&lt;/groupId&gt;
            &lt;artifactId&gt;mybatis-plus-boot-starter&lt;/artifactId&gt;
            &lt;version&gt;3...]]></description><category></category></item><item><title><![CDATA[Nginx配置到centos7中出现500问题]]></title><link>https://blog.youkuaiyun.com/zjp567/article/details/123022472</link><guid>https://blog.youkuaiyun.com/zjp567/article/details/123022472</guid><author>zjp567</author><pubDate>Sat, 19 Feb 2022 19:30:44 +0800</pubDate><description><![CDATA[这里前提是已经安装好了nginx，如没安装则使用下面的命令安装，


yum install nginx

安装好之后进入etc/nginx/





打开nginx.conf 开始配置


        location / {
            root   /etc/zjp/www/dist;
            index  index.html;
            try_files $uri $uri/ /index.html;
        }

        loca]]></description><category></category></item><item><title><![CDATA[JavaScript 数组的函数 map/forEach/reduce/filter]]></title><link>https://blog.youkuaiyun.com/zjp567/article/details/122894563</link><guid>https://blog.youkuaiyun.com/zjp567/article/details/122894563</guid><author>zjp567</author><pubDate>Sat, 12 Feb 2022 11:57:04 +0800</pubDate><description><![CDATA[1.map


// map
//作用：对数组进行遍历
//返回值：新的数组
// 是否改变：否
var arr = [2, 5, 3, 4];
var ret = arr.map(function(value) {
    return value + 1;
});
console.log(ret); //[3,6,4,5]
console.log(arr); //[2,5,3,4]

2.forEach


// forEach 方法
// 作用：遍历数组的每一项
// 返回值：undefined
//]]></description><category></category></item></channel></rss>