<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Shine_QianMo的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Shine_QianMo</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Shine_QianMo]]></copyright><item><title><![CDATA[Gateway跨域问题]]></title><link>https://blog.youkuaiyun.com/Shine_QianMo/article/details/120400027</link><guid>https://blog.youkuaiyun.com/Shine_QianMo/article/details/120400027</guid><author>Shine_QianMo</author><pubDate>Tue, 21 Sep 2021 11:36:16 +0800</pubDate><description><![CDATA[Gateway跨域问题第一种第二种
gateway跨域问题有两种方案，用以下任意一种都可以，记住有个天坑，跨域只允许配置一次，不然就会失效。
比如妮子啊gateway配置了跨域，那么你的security就不需要在配置跨域了，否则就会跨域失败。
第一种
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.spring]]></description><category></category></item><item><title><![CDATA[AspectJ切入点@Pointcut语法详解]]></title><link>https://blog.youkuaiyun.com/Shine_QianMo/article/details/120081652</link><guid>https://blog.youkuaiyun.com/Shine_QianMo/article/details/120081652</guid><author>Shine_QianMo</author><pubDate>Fri, 03 Sep 2021 14:48:38 +0800</pubDate><description><![CDATA[类pointcuts 遵循特定的语法用于捕获每一个种类的可使用连接点。 主要的种类：
方法执行：execution(MethodSignature)
方法调用：call(MethodSignature)
构造器执行：execution(ConstructorSignature)
构造器调用：call(ConstructorSignature)
类初始化：staticinitialization(TypeSignature)
属性读操作：get(FieldSignature)
属性写操作：set(FieldS]]></description><category></category></item><item><title><![CDATA[Gateway+Nacos动态路由]]></title><link>https://blog.youkuaiyun.com/Shine_QianMo/article/details/119772580</link><guid>https://blog.youkuaiyun.com/Shine_QianMo/article/details/119772580</guid><author>Shine_QianMo</author><pubDate>Wed, 18 Aug 2021 09:57:17 +0800</pubDate><description><![CDATA[Gateway+Nacos动态路由一、pom依赖(关键部分)1.gateway模块2.test模块二、配置yml1.gateway模块2.test模块三、编写启动类1.gateway启动类2.test启动类四、业务逻辑1.监听nacos配置2.路由更新test模块编写Controller接收请求五、测试1.启动nacos2.启动gateway、test模块3.编写nacos配置文件4.结果
一、pom依赖(关键部分)
1.gateway模块
		&lt;!--引入gateway依赖--&gt;
      ]]></description><category></category></item><item><title><![CDATA[node-sass安装报错解决]]></title><link>https://blog.youkuaiyun.com/Shine_QianMo/article/details/106091155</link><guid>https://blog.youkuaiyun.com/Shine_QianMo/article/details/106091155</guid><author>Shine_QianMo</author><pubDate>Wed, 13 May 2020 09:50:38 +0800</pubDate><description><![CDATA[&gt; node-sass@4.14.1 install G:\HBuilder work\bootstrapDemo\node_modules\node-sass
&gt; node scripts/install.js

Downloading binary from https://github.com/sass/node-sass/releases/download/v4.14.1/win32-x64-72_binding.node
Cannot download "https://github.]]></description><category></category></item><item><title><![CDATA[学习笔记-二叉树（三种遍历、三种查找）]]></title><link>https://blog.youkuaiyun.com/Shine_QianMo/article/details/106085087</link><guid>https://blog.youkuaiyun.com/Shine_QianMo/article/details/106085087</guid><author>Shine_QianMo</author><pubDate>Tue, 12 May 2020 21:11:15 +0800</pubDate><description><![CDATA[二叉树三种遍历：
前序遍历的顺序是根节点、左节点、右节点
/**
     * 前序遍历
     */
    public void preOrder() {
        if (this.root != null) {
            this.root.preOrder();
        } else {
            System.out.println("当前二叉树为空无法遍历");
        }
    }
/**
	 * 此处为Node的方法
     * 前]]></description><category></category></item><item><title><![CDATA[学习笔记-插值查找]]></title><link>https://blog.youkuaiyun.com/Shine_QianMo/article/details/106052725</link><guid>https://blog.youkuaiyun.com/Shine_QianMo/article/details/106052725</guid><author>Shine_QianMo</author><pubDate>Mon, 11 May 2020 13:54:31 +0800</pubDate><description><![CDATA[插值查找：
插值查找和二分查找的原理差不多只不过是mid值变了。而且是更精准的二分查找
mid=left + （Val[right] − Val[left]） /  (x − Val[left]) × (right − left)
上代码：
public static int insertValue(int[] arr, int left, int right, int value) {
        if (left &gt; right || value &lt; arr[0] || value &g]]></description><category></category></item><item><title><![CDATA[学习笔记-二分查找]]></title><link>https://blog.youkuaiyun.com/Shine_QianMo/article/details/106033925</link><guid>https://blog.youkuaiyun.com/Shine_QianMo/article/details/106033925</guid><author>Shine_QianMo</author><pubDate>Sun, 10 May 2020 11:38:22 +0800</pubDate><description><![CDATA[二分查找：
二分查找的前提必须是一个有序的数组
这里提供两个代码一个是查找一个值的一个下标，另一个是查找一个值的一组下标
 /**
     * 二分查找      注意：前提是该数组是有序的
     * @param arr 查找的数组
     * @param left 左边索引
     * @param right 右边索引
     * @param value 要查找的值
     * @return 要查找的下标
     */
    public static int binarySe]]></description><category></category></item><item><title><![CDATA[学习笔记-基数排序]]></title><link>https://blog.youkuaiyun.com/Shine_QianMo/article/details/106024800</link><guid>https://blog.youkuaiyun.com/Shine_QianMo/article/details/106024800</guid><author>Shine_QianMo</author><pubDate>Sat, 09 May 2020 18:04:41 +0800</pubDate><description><![CDATA[基数排序原理：
判断每个数的个位、十位、百位…
然后分别放到对应的桶中（这里的桶一共有10个，分别是{0,1,2,3,4,5,6,7,8,9} 个位如果是1就放到1的桶中），每判断完一位，将数据按顺序（就是从小到大）取出，然后每一位都是这样，上图：
数据为arr={53, 3, 542, 748, 14, 214}
第一轮:

第二轮：

第三轮：

三轮代码：
        //为了防止数据溢出大小定义为arr.length
        //明确空间换时间
        int[][] bucke]]></description><category></category></item><item><title><![CDATA[学习笔记-归并排序]]></title><link>https://blog.youkuaiyun.com/Shine_QianMo/article/details/106023303</link><guid>https://blog.youkuaiyun.com/Shine_QianMo/article/details/106023303</guid><author>Shine_QianMo</author><pubDate>Sat, 09 May 2020 17:00:29 +0800</pubDate><description><![CDATA[归并排序原理图：

代码：
public static void main(String[] args) {
        //int[] arr = {8, 4, 5, 7, 1, 3, 6, 2, 0, 235};
        //测试时间  测试时间112mm左右
        int[] arr = new int[800000];
        int [] temp = new int[arr.length];
        for (int a = 0; a &lt; arr.le]]></description><category></category></item><item><title><![CDATA[学习笔记-希尔算法（交换法和移位法）]]></title><link>https://blog.youkuaiyun.com/Shine_QianMo/article/details/106003637</link><guid>https://blog.youkuaiyun.com/Shine_QianMo/article/details/106003637</guid><author>Shine_QianMo</author><pubDate>Fri, 08 May 2020 19:54:09 +0800</pubDate><description><![CDATA[希尔排序（交换法）：
//希尔交换法
    public static void jShellSort(int[] arr) {
        int temp = 0;
        //第一轮将n个数据分成了arr.length/2组
        for (int stap = arr.length / 2; stap &gt; 0; stap /= 2){
            for (int i = stap; i &lt; arr.length; i++) {
           ]]></description><category></category></item><item><title><![CDATA[bootstrap学习笔记-viewport]]></title><link>https://blog.youkuaiyun.com/Shine_QianMo/article/details/105917387</link><guid>https://blog.youkuaiyun.com/Shine_QianMo/article/details/105917387</guid><author>Shine_QianMo</author><pubDate>Mon, 04 May 2020 14:38:43 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[学习笔记-回溯算法(八皇后问题)暴力法]]></title><link>https://blog.youkuaiyun.com/Shine_QianMo/article/details/105915936</link><guid>https://blog.youkuaiyun.com/Shine_QianMo/article/details/105915936</guid><author>Shine_QianMo</author><pubDate>Mon, 04 May 2020 12:40:01 +0800</pubDate><description><![CDATA[八皇后问题暴力解决法(介绍代码有说明)
先展示结果:

我这里用的是一维数组来展示的结果
array={7,3,0,2,5,1,6,4}
7的下标为0, 在这里下标+1表示的是第几个皇后也是行的位置,array[n]+1的值就是皇后所在列的位置,即:
0 0 0 0 1 0 0 0
0 0 0 0 0 0 1 0
0 1 0 0 0 0 0 0
0 0 0 0 0 1 0 0
0 0 1 0 0 ...]]></description><category></category></item><item><title><![CDATA[前端-鼠标经过后图标变色]]></title><link>https://blog.youkuaiyun.com/Shine_QianMo/article/details/105875084</link><guid>https://blog.youkuaiyun.com/Shine_QianMo/article/details/105875084</guid><author>Shine_QianMo</author><pubDate>Fri, 01 May 2020 11:06:56 +0800</pubDate><description><![CDATA[这是两个小图标：

鼠标经过后发现变了颜色：

本来以为是一个普通的鼠标经过事件然后进行变换背景颜色，然后我发现我太天真了，他居然是一张图片！！！
然后我就研究了相关知识：
首先我们要有图标的图片，当然网上也有，也可以自己做。这里我自己准备了一张16*32像素的图标：（此图标我也上传了需要的话直接下载吧）

这里一定要注意背景是透明的而不是纯白！
html语句：
&lt;body&gt;
		&l...]]></description><category></category></item><item><title><![CDATA[学习笔记-迷宫回溯（递归）]]></title><link>https://blog.youkuaiyun.com/Shine_QianMo/article/details/105312734</link><guid>https://blog.youkuaiyun.com/Shine_QianMo/article/details/105312734</guid><author>Shine_QianMo</author><pubDate>Sat, 04 Apr 2020 16:51:33 +0800</pubDate><description><![CDATA[递归的应用-迷宫回溯
此代码仅供找到出口，并不能找到最短路径，如果找到纯属巧合。
没出口的话会出现3；
public class MiGong {
    public static void main(String[] args) {
        //县创建一个二维数组模拟迷宫
        int[][] map = new int[8][7];
        //使用1表示墙
   ...]]></description><category></category></item><item><title><![CDATA[学习笔记-中缀表达式转逆波兰表达式(后缀表达式)]]></title><link>https://blog.youkuaiyun.com/Shine_QianMo/article/details/105161702</link><guid>https://blog.youkuaiyun.com/Shine_QianMo/article/details/105161702</guid><author>Shine_QianMo</author><pubDate>Sat, 28 Mar 2020 15:16:12 +0800</pubDate><description><![CDATA[中缀表达式转后缀表达式实现计算器(支持括号以及小数点不支持空白符)
思路图:

这里的s2栈我直接改为ArrayList因为最后是栈的结果的逆序，用ArrayList即可。ok上代码:
public class PolandNotation {
    public static void main(String[] args) {
        //定义中缀表达式
        String...]]></description><category></category></item><item><title><![CDATA[php学习笔记-GD库]]></title><link>https://blog.youkuaiyun.com/Shine_QianMo/article/details/105150158</link><guid>https://blog.youkuaiyun.com/Shine_QianMo/article/details/105150158</guid><author>Shine_QianMo</author><pubDate>Fri, 27 Mar 2020 20:57:38 +0800</pubDate><description><![CDATA[学习笔记-php GD库


]]></description><category></category></item><item><title><![CDATA[学习笔记-单链表实现栈的过程中遇到地址问题]]></title><link>https://blog.youkuaiyun.com/Shine_QianMo/article/details/105009505</link><guid>https://blog.youkuaiyun.com/Shine_QianMo/article/details/105009505</guid><author>Shine_QianMo</author><pubDate>Sat, 21 Mar 2020 14:37:58 +0800</pubDate><description><![CDATA[这个代码temp是单链表的头节点；修改temp的同时 l 的值也变了。
public void pop(){
        Linked temp = l;
        if (temp.next == null){
            throw new RuntimeException("无数据，无法取出");
        }
        Linked value = tem...]]></description><category></category></item><item><title><![CDATA[学习笔记-用单链表写栈的过程]]></title><link>https://blog.youkuaiyun.com/Shine_QianMo/article/details/105009486</link><guid>https://blog.youkuaiyun.com/Shine_QianMo/article/details/105009486</guid><author>Shine_QianMo</author><pubDate>Sat, 21 Mar 2020 14:27:32 +0800</pubDate><description><![CDATA[上一篇文章是用数组写的，这篇用的单链表写的。
public class LinkedListStack {
    public static void main(String[] args) {
        LinkedStack as = new LinkedStack();
        String key = "";
        boolean flag = true;
   ...]]></description><category></category></item><item><title><![CDATA[学习笔记-用数组写出栈的过程]]></title><link>https://blog.youkuaiyun.com/Shine_QianMo/article/details/105009399</link><guid>https://blog.youkuaiyun.com/Shine_QianMo/article/details/105009399</guid><author>Shine_QianMo</author><pubDate>Sat, 21 Mar 2020 14:25:50 +0800</pubDate><description><![CDATA[小白一枚，勿喷。下边上代码
栈的过程先入后出，后入先出。
public class ArryStack {
    public static void main(String[] args) {
        ArrayStack as = new ArrayStack(4);
        String key = "";
        boolean flag = true;
    ...]]></description><category></category></item><item><title><![CDATA[学习笔记-约瑟夫问题之环形链表]]></title><link>https://blog.youkuaiyun.com/Shine_QianMo/article/details/104950262</link><guid>https://blog.youkuaiyun.com/Shine_QianMo/article/details/104950262</guid><author>Shine_QianMo</author><pubDate>Wed, 18 Mar 2020 18:09:04 +0800</pubDate><description><![CDATA[约瑟夫问题java代码
curBoy为辅助节点
我测试的是5个人的，最终答案是24153。
public class Josepfu {
    public static void main(String[] args) {
        CircleSingleLinkedList cs = new CircleSingleLinkedList();
        cs.addBoy(5)...]]></description><category></category></item></channel></rss>