<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[肖朋伟]]></title><description><![CDATA[Stay hungry，stay foolish！]]></description><link>https://blog.youkuaiyun.com/qq_40147863</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_40147863]]></copyright><item><title><![CDATA[若依vue版菜单点不开 Error: Cannot find module ‘@/views/system/user/index‘]]></title><link>https://blog.youkuaiyun.com/qq_40147863/article/details/121727997</link><guid>https://blog.youkuaiyun.com/qq_40147863/article/details/121727997</guid><author>qq_40147863</author><pubDate>Sun, 05 Dec 2021 13:45:15 +0800</pubDate><description><![CDATA[若依 vue 版菜单点不开，报错：Error: Cannot find module ‘@/views/system/user/index’
问题描述
今天运行后端哥哥都爱的若依项目：RuoYi-Vue 的时候，发现可以正常启动，但是左侧菜单点不开，一直在加载中。
然后 F12 一看控制台一顿输出：
Error: Cannot find module '@/views/system/user/index'
    at webpackEmptyContext (index.js:39)
    at per]]></description><category></category></item><item><title><![CDATA[Support for password authentication was removed on August 13, 2021. Please use a personal access tok]]></title><link>https://blog.youkuaiyun.com/qq_40147863/article/details/121715250</link><guid>https://blog.youkuaiyun.com/qq_40147863/article/details/121715250</guid><author>qq_40147863</author><pubDate>Sat, 04 Dec 2021 15:46:46 +0800</pubDate><description><![CDATA[简介
换了电脑，正在准备愉快的编程（copy），使用 git clone 时，提示：
Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.

原因是，github 密码验证于 2021 年 8 月 13 日不再支持。
解决方式一：生成 token
打开 Github 【Settings】 -&gt; 【Developer settings】]]></description><category></category></item><item><title><![CDATA[Macbook M1 开发环境快速配置]]></title><link>https://blog.youkuaiyun.com/qq_40147863/article/details/121569394</link><guid>https://blog.youkuaiyun.com/qq_40147863/article/details/121569394</guid><author>qq_40147863</author><pubDate>Sat, 27 Nov 2021 17:04:08 +0800</pubDate><description><![CDATA[前言
Macbook M1 下载软件，常用工具都会有 M1 芯片的适配版本，才能更好的发挥它滴性能，选择版本时认准： M1、arm64、Apple Silicon 即可起飞！
安装操作比 windows 简单些，如果出现 dragto，或者要安装的程序和 app store 同时出现，需要把程序拖拽到后面 app store 图标上。使用 dmg 镜像压缩文件安装，也不需要配置 jdk 环境变量等。
常用软件
1、Google Chrome 浏览器
下载地址：https://www.google.com/i]]></description><category></category></item><item><title><![CDATA[解决 Google chrome 浏览器提示【证书无效】问题]]></title><link>https://blog.youkuaiyun.com/qq_40147863/article/details/121097769</link><guid>https://blog.youkuaiyun.com/qq_40147863/article/details/121097769</guid><author>qq_40147863</author><pubDate>Tue, 02 Nov 2021 12:21:29 +0800</pubDate><description><![CDATA[问题描述
一些比较旧的系统，安装 chrome 浏览器，在访问某些网址时会显示网址不安全，查看后提示网络 【证书无效】，页面无法正常加载。
解决方法
1、桌面找到 Chome 浏览器图标，右键，选择属性
2、在’‘目标’’，引号后面加一个空格，后面再添加
--ignore-certificate-errors --allow-running-insecure-content 

3、重启浏览器即可

...]]></description><category></category></item><item><title><![CDATA[Spring AOP 切点 Pointcut 表达式介绍与使用]]></title><link>https://blog.youkuaiyun.com/qq_40147863/article/details/117623562</link><guid>https://blog.youkuaiyun.com/qq_40147863/article/details/117623562</guid><author>qq_40147863</author><pubDate>Sun, 06 Jun 2021 14:26:07 +0800</pubDate><description><![CDATA[一、前言
面向切面编程 AOP 是一种常见的编程思想，是面向对象编程的一种补充，AOP 框架通过修改源代码，将处理逻辑编织到指定的业务模块中
常见的处理比如：在方执行法前进行校验，在方法执行后进行日志的记录，事务管理，消息通知，业务监控等。
本篇主要介绍 Aspectj 通过注解配置，切点表达式的书写
二、AOP 术语说明
通知 (Advice): AOP 框架中的增强处理。通知描述了切面何时执行以及如何执行增强处理。通知的类型有：后置通知、返回通知、异常通知、环绕通知、前置通知。
连接点 (Joint P]]></description><category></category></item><item><title><![CDATA[接口多实现类动态调用的两种方式]]></title><link>https://blog.youkuaiyun.com/qq_40147863/article/details/110677403</link><guid>https://blog.youkuaiyun.com/qq_40147863/article/details/110677403</guid><author>qq_40147863</author><pubDate>Sun, 06 Dec 2020 15:17:48 +0800</pubDate><description><![CDATA[接口多实现类动态调用的两种方式
本篇内容： 一个接口在不同场景，需要有不同的实现类，实现动态调用

模拟场景： 学生、教师部分在中国，部分在泰国，处理方式需要区分，接口国际化支持会传入一个来源，根据来源区分服务实现。

代码库：https://github.com/xpwi/springboot-multi-example
方式一：利用 @Autowired 把多实现类注入到一个 Map
利用 @Autowired 注解，可以把同一接口的实现类，注入到集合类型中，比如 List，Map，这里使用 Map 介]]></description><category></category></item><item><title><![CDATA[Lambda、函数式接口、Stream - 从入门到入坑]]></title><link>https://blog.youkuaiyun.com/qq_40147863/article/details/107875448</link><guid>https://blog.youkuaiyun.com/qq_40147863/article/details/107875448</guid><author>qq_40147863</author><pubDate>Sat, 22 Aug 2020 23:29:03 +0800</pubDate><description><![CDATA[声明：本文学习自《精通Lambda表达式：Java多核编程》，以及其他网路资源，如有，会将参考原文链接附在最后，未经允许，不可转载，如有错误，也请指点。
（1）为什么要用 lambda？
（1）Lambda 允许把函数作为一个方法的参数
（2）Lambda 表达式可以使代码变的更加简洁紧凑
（2）Lambda 重要特征

可选类型声明：不需要声明参数类型，编译器可以统一识别参数值。
可选的参数圆括号：一个参数无需定义圆括号，但多个参数需要定义圆括号。
可选的大括号：如果主体包含了一个语句，就不需要使用大括号]]></description><category></category></item><item><title><![CDATA[Springboot 使用 Shiro 模板引擎时使用 swagger-ui 时的问题]]></title><link>https://blog.youkuaiyun.com/qq_40147863/article/details/104851677</link><guid>https://blog.youkuaiyun.com/qq_40147863/article/details/104851677</guid><author>qq_40147863</author><pubDate>Fri, 13 Mar 2020 23:02:26 +0800</pubDate><description><![CDATA[先不管为啥技术栈混乱，遇到问题了描述一下，Shiro
解决方案
添加路径处理器，当一个 swagger-ui.html 请求过来，既要经过权限认证，是不是模板引擎的模板，是不是静态资源的重重处理，服务器也不知道它要要干啥了。
最开始我在网上搜索的文章，几乎都是说，通过
@Configuration
public class WebMvcConfig implements WebMvcConfigu...]]></description><category></category></item><item><title><![CDATA[HTML 页面跳转时传递参数（jquery.params.js）]]></title><link>https://blog.youkuaiyun.com/qq_40147863/article/details/104347621</link><guid>https://blog.youkuaiyun.com/qq_40147863/article/details/104347621</guid><author>qq_40147863</author><pubDate>Sun, 16 Feb 2020 19:59:18 +0800</pubDate><description><![CDATA[HTML 页面跳转时传递参数（jquery.params.js）
描述：在 HTML 页面跳转时，通过 URL 传递参数
一、引入
在解析参数页面的 JS 中引入：jquery.params.js（代码贴在本文后面）
/**
	需要先引入 jquery
*/
&lt;script type="text/javascript" src="/***/jquery/jquery-3.3.1.min.js...]]></description><category></category></item><item><title><![CDATA[MySQL 中 TIMESTAMP 类型返回日期时间数据中带有 T]]></title><link>https://blog.youkuaiyun.com/qq_40147863/article/details/104344461</link><guid>https://blog.youkuaiyun.com/qq_40147863/article/details/104344461</guid><author>qq_40147863</author><pubDate>Sun, 16 Feb 2020 16:53:25 +0800</pubDate><description><![CDATA[MySQL 中 TIMESTAMP 类型返回日期时间数据中带有 T
一、场景描述：
MySQL 中使用 TIMESTAMP  类型
实体类使用  java.util.Date 类型
返回 JSON 数据：

二、通过注解格式化（方法一）
可以在日期类型属性上，或者 GET 方法加上 Jackson 的 @JsonFormat 注解方式来格式化，例如：
@JsonFormat(pattern = "...]]></description><category></category></item><item><title><![CDATA[告别吧 - 单链表反转（Java 实现）]]></title><link>https://blog.youkuaiyun.com/qq_40147863/article/details/100110336</link><guid>https://blog.youkuaiyun.com/qq_40147863/article/details/100110336</guid><author>qq_40147863</author><pubDate>Wed, 28 Aug 2019 00:10:58 +0800</pubDate><description><![CDATA[告别吧 - 单链表反转（Java 实现）
若有不足，还望指正，
一、递归实现
帮助理解：
编写递归代码时最重要的有以下三点 ： —— 摘自《算法 4》
（1）递归总有一个最简单的情况，即方法的第一条语句总是一个包含 return 的条件语句。
（2）递归调用总是去尝试解决一个规模更小的子问题，这样递归才能收敛到最简单的情况。含有某个参数一直在缩小。
（3）递归调用的父问题和尝试解决的子问题之间不应...]]></description><category></category></item><item><title><![CDATA[CentOS7 下 Redis 的安装、配置、启动、关闭、开启远程连接]]></title><link>https://blog.youkuaiyun.com/qq_40147863/article/details/100073959</link><guid>https://blog.youkuaiyun.com/qq_40147863/article/details/100073959</guid><author>qq_40147863</author><pubDate>Mon, 26 Aug 2019 12:53:15 +0800</pubDate><description><![CDATA[CentOS7 下 Redis 的安装、配置、启动、关闭
redis 官网：https://redis.io/download
操作步骤
官网给了最简单的安装方式，emmm，太简单了，简单的不敢相信，我们还是走复杂的
提示：

输入名称时，建议使用 Tab 键补全，又快又爽。
使用 ls 随时查看目录下的文件列表
先安装 gcc：yum install gcc -y

（1）下载
cd 进到一个目...]]></description><category></category></item><item><title><![CDATA[Ubuntu 18 boot 分区空间不足-解决方法]]></title><link>https://blog.youkuaiyun.com/qq_40147863/article/details/100053715</link><guid>https://blog.youkuaiyun.com/qq_40147863/article/details/100053715</guid><author>qq_40147863</author><pubDate>Sat, 24 Aug 2019 16:07:05 +0800</pubDate><description><![CDATA[Ubuntu 18 boot 分区空间不足-解决方法
直接进入 boot 下可以看到会有多个版本的文件，这是更新后没有删除

（1）为了稳妥，先查看自己当前使用的版本，使用
uname -r


（2）然后准备删除其他低版本
（3）先查看都安装了那些版本，使用：
 dpkg --get-selections | grep linux


（4）删除制定版本内容，例如：
sudo apt-get purg...]]></description><category></category></item><item><title><![CDATA[Ubuntu 18 搜狗输入法 - 输入汉字时候选栏乱码问题]]></title><link>https://blog.youkuaiyun.com/qq_40147863/article/details/99712653</link><guid>https://blog.youkuaiyun.com/qq_40147863/article/details/99712653</guid><author>qq_40147863</author><pubDate>Mon, 19 Aug 2019 09:06:19 +0800</pubDate><description><![CDATA[Ubuntu 18 搜狗输入法 - 输入汉字时候选栏乱码问题
打开中终端
（1）如果是刚装完搜狗输入法，可尝试修复，输入命令：
sudo apt-get install -f

进行检查，判断是否缺少依赖项，或者安装包出错，出错会重新安装
更多：sudo apt-get -f install 修复损坏的软件包，尝试卸载出错的包，重新安装正确版本的。-f 是 参数放在 install 前面跟后面效果...]]></description><category></category></item><item><title><![CDATA[为什么重写 equals() 要重写 hashCode()?  hashCode 值相等，两个对象不一定相等？]]></title><link>https://blog.youkuaiyun.com/qq_40147863/article/details/99697386</link><guid>https://blog.youkuaiyun.com/qq_40147863/article/details/99697386</guid><author>qq_40147863</author><pubDate>Sat, 17 Aug 2019 22:31:11 +0800</pubDate><description><![CDATA[为什么重写 equals() 要重写 hashCode()?  hashCode 值相等，两个对象不一定相等？
hashCode 方法，如果不重写的话，返回的实际上是该对象在 jvm 的堆上的地址，而不同对象的地址肯定不同，所以这个 hashCode 也就肯定不同了。如果重写了的话，由于采用的算法的问题，有可能导致两个不同对象的 hashCode 相同。
equals 方法，如果不重写的话，是严格...]]></description><category></category></item><item><title><![CDATA[为什么包装类型间的相等判断应该用 equals]]></title><link>https://blog.youkuaiyun.com/qq_40147863/article/details/99691725</link><guid>https://blog.youkuaiyun.com/qq_40147863/article/details/99691725</guid><author>qq_40147863</author><pubDate>Sat, 17 Aug 2019 13:00:38 +0800</pubDate><description><![CDATA[为什么包装类型间的相等判断应该用 equals
大家都知道 java 中 == 和 equal 的区别，  == 操作比较的是两个变量的值，对于引用型变量是判断变量是否指向同一引用对象，比地址。
equals 操作表示的两个变量是否是对同一个对象的引用，即堆中的内容是否相同。
引用类型用 == 的示例：
public static void main(String[] args) {

	Inte...]]></description><category></category></item><item><title><![CDATA[金额工具类]]></title><link>https://blog.youkuaiyun.com/qq_40147863/article/details/99690423</link><guid>https://blog.youkuaiyun.com/qq_40147863/article/details/99690423</guid><author>qq_40147863</author><pubDate>Sat, 17 Aug 2019 11:03:26 +0800</pubDate><description><![CDATA[金额工具类
import java.math.BigDecimal;
import java.text.DecimalFormat;

/**
 * &lt;p&gt;
 *
 * @author coder
 * @since 2019-08-17
 */
public class AmountUtil {

    public static DecimalFormat fnum = new ...]]></description><category></category></item><item><title><![CDATA[不能使用 float 和 double 来表示金额等精确的值]]></title><link>https://blog.youkuaiyun.com/qq_40147863/article/details/99687726</link><guid>https://blog.youkuaiyun.com/qq_40147863/article/details/99687726</guid><author>qq_40147863</author><pubDate>Sat, 17 Aug 2019 11:02:54 +0800</pubDate><description><![CDATA[不能使用 float 和 double 来表示金额等精确的值
关于面试，金额用什么数据类型？
不是 doube，更不是 float ，而是用 BigDecimal。对于金融项目，对于金额，误差是不能容忍的。那么用什么数据类型才能精确的表示金额？JDK 提供了一个 java.math.BigDecimal 的类，这个类可以表示任意精度的数字。
Java 中 float 的精度为 6-7 位有效数字。...]]></description><category></category></item><item><title><![CDATA[浮点数为什么不精确]]></title><link>https://blog.youkuaiyun.com/qq_40147863/article/details/99687922</link><guid>https://blog.youkuaiyun.com/qq_40147863/article/details/99687922</guid><author>qq_40147863</author><pubDate>Sat, 17 Aug 2019 01:52:13 +0800</pubDate><description><![CDATA[浮点数为什么不精确？
其实这句话本身就不精确， 相对精确一点的说法是： 我们在程序里写的 10 进制小数，计算机内部无法用二进制的小数来精确的表达。
因为二进制只能表示 2 的 n 次方的数，n 可以取负值，3.3 无法用 2 的 n 次方的数组合计算出来，所以无法精确表示：
3.3 = 1*2+1*1+0*1/2+1*1/4+0*1/8+0*1/16+1*1/32+…
（解释：2+1=3，3+1...]]></description><category></category></item><item><title><![CDATA[JVM 字节码指令手册 - 查看 Java 字节码]]></title><link>https://blog.youkuaiyun.com/qq_40147863/article/details/99655005</link><guid>https://blog.youkuaiyun.com/qq_40147863/article/details/99655005</guid><author>qq_40147863</author><pubDate>Thu, 15 Aug 2019 21:26:27 +0800</pubDate><description><![CDATA[JVM 字节码指令手册 - 查看 Java 字节码
jdk 进行的编译生成的 .class 是 16 进制数据文件，不利于学习分析。通过下命令
javap -c Demo.class &gt; Demo.txt

或者其他方式可反汇编，得到字节码文件
一、JVM 指令分类
（1）操作数栈




过程
符号




变量到操作数栈
iload,  iload_,  lload,  lload_, ...]]></description><category></category></item></channel></rss>