<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[余生愿你常欢笑]]></title><description><![CDATA[一起学习一起闹]]></description><link>https://blog.youkuaiyun.com/wwang_dev</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wwang_dev]]></copyright><item><title><![CDATA[交叉熵损失函数]]></title><link>https://blog.youkuaiyun.com/wwang_dev/article/details/120184809</link><guid>https://blog.youkuaiyun.com/wwang_dev/article/details/120184809</guid><author>wwang_dev</author><pubDate>Wed, 08 Sep 2021 17:42:58 +0800</pubDate><description><![CDATA[说明
关于分类问题的交叉熵损失函数，博客交叉熵介绍的非常清楚。
我这里补充一点笔记，给自己看的。
前文结论
在这篇博文中，关于 KL 散度部分，已得到：

KL散度越小，表示P(x)和Q(x)越接近，所以可以通过反复训练，来使Q(x)逼近P(x)，但KL散度有个特点，就是不对称，就是用P来拟合Q和用Q来拟合P的KL散度(相对熵)是不一样的，但是P和Q的距离是不变的。


那KL散度(相对熵)和交叉熵有什么联系呢？
所以可以看到：KL散度 = 交叉熵 - 信息熵。



从信息熵的公式，我们知道，对于同一个数]]></description><category></category></item><item><title><![CDATA[VUE动态组件区分路由链接或外部链接]]></title><link>https://blog.youkuaiyun.com/wwang_dev/article/details/119357904</link><guid>https://blog.youkuaiyun.com/wwang_dev/article/details/119357904</guid><author>wwang_dev</author><pubDate>Tue, 03 Aug 2021 20:20:00 +0800</pubDate><description><![CDATA[这是从 vue-element-ui 项目中学习到的很独特的写法。
我们在写前后端分离+权限控制的项目时，常常会使用后端返回的数据来渲染出侧边菜单结构，通常点击最后一级菜单进行路由跳转，但是有时候我这个是一个外部链接，当然可以使用 v-if 进行判断，但是 v-if 写的太多就很繁琐，而且人家这个新写法真的很好，所以在此记录一下！
先定义一个动态组件[官方文档]，Link.vue
&lt;template&gt;
&lt;!-- 这里用v-bind主要是为了接收父组件传值后进行动态处理，否则无法主动进行判断]]></description><category></category></item><item><title><![CDATA[关于自己实现的 UserDetailsService 中 loadUserByUsername() 方法中抛出的异常被隐藏]]></title><link>https://blog.youkuaiyun.com/wwang_dev/article/details/119108639</link><guid>https://blog.youkuaiyun.com/wwang_dev/article/details/119108639</guid><author>wwang_dev</author><pubDate>Mon, 26 Jul 2021 14:23:12 +0800</pubDate><description><![CDATA[问题
自己实现的 UserDetailsService	 中 loadUserByUsername() 方法中抛出了 UsernameNotFoundException，在全局异常处理器中进行了捕获和处理，但是为什么没有用
自定义 UserDetailsService
@Slf4j
@Service
public class UserDetailsServiceImpl implements UserDetailsService {

    @Autowired
    SysUserService us]]></description><category></category></item><item><title><![CDATA[AuthenticationManager 的 authentication 过程]]></title><link>https://blog.youkuaiyun.com/wwang_dev/article/details/119107355</link><guid>https://blog.youkuaiyun.com/wwang_dev/article/details/119107355</guid><author>wwang_dev</author><pubDate>Mon, 26 Jul 2021 13:08:29 +0800</pubDate><description><![CDATA[1. 结论
// 调用链
AuthenticationManager.authenticate()  --&gt; ProviderManager.authenticate() --&gt; DaoAuthenticationProvider(AbstractUserDetailsAuthenticationProvider).authenticate()
// 处理
在最后的 authenticate() 方法中，调用了 UserDetailsService.loadUserByUsername() 并进]]></description><category></category></item><item><title><![CDATA[什么是JWT（来自官网）]]></title><link>https://blog.youkuaiyun.com/wwang_dev/article/details/119042011</link><guid>https://blog.youkuaiyun.com/wwang_dev/article/details/119042011</guid><author>wwang_dev</author><pubDate>Fri, 23 Jul 2021 18:29:02 +0800</pubDate><description><![CDATA[官网：JSON Web Token Introduction - jwt.io

什么是 JWT
JSON Web Token (JWT) is an open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information between parties as a JSON object. This information can be verified and.]]></description><category></category></item><item><title><![CDATA[CentOS7安装docker19.03.4]]></title><link>https://blog.youkuaiyun.com/wwang_dev/article/details/113752766</link><guid>https://blog.youkuaiyun.com/wwang_dev/article/details/113752766</guid><author>wwang_dev</author><pubDate>Mon, 08 Feb 2021 10:31:43 +0800</pubDate><description><![CDATA[一、更换CentOS YUM源为阿里云yum源
# 安装wget（有则不必安装）
yum install wget -y
# 备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
# 获取阿里云yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 获取阿里云epel源
]]></description><category></category></item><item><title><![CDATA[feign远程调用丢失请求头源码分析与解决]]></title><link>https://blog.youkuaiyun.com/wwang_dev/article/details/112848490</link><guid>https://blog.youkuaiyun.com/wwang_dev/article/details/112848490</guid><author>wwang_dev</author><pubDate>Tue, 19 Jan 2021 18:44:59 +0800</pubDate><description><![CDATA[前言
我们在写服务端项目的时候，总会限制对某些资源的访问，最常见的就是要求用户先登录才能访问资源，当用户登录后就会将此次会话信息保存进session，同时返回给浏览器指定的cookie键值，下次浏览器再次访问，请求头中就会携带这个cookie，我们也以次来识别用户的登录状态，做出正确响应。
问题
有时候，我们先行登录，然后访问服务A的某个方法，请求头中携带cookie，标识我们已经登录。但若是我们访问的目标方法在执行过程中使用feign进行原程调用服务B（假设不存在跨域），而服务B也要先判断登录状态，我们可]]></description><category></category></item><item><title><![CDATA[Rabbitmq可靠消息投递，消息确认机制]]></title><link>https://blog.youkuaiyun.com/wwang_dev/article/details/112768851</link><guid>https://blog.youkuaiyun.com/wwang_dev/article/details/112768851</guid><author>wwang_dev</author><pubDate>Mon, 18 Jan 2021 12:36:34 +0800</pubDate><description><![CDATA[前言
我们知道，消息从发送到签收的整个过程是
Producer--&gt;Broker/Exchange--&gt;Broker/Queue--&gt;Consumer，因此如果只是要保证消息的可靠投递，我们需要考虑的仅是前两个阶段，因为消息只要成功到达队列，就算投递成功。

比如投递消息时指定的Exchange不存在，那么阶段一就会失败
如果投递到Exchange成功，但是指定的路由件错误或者别的原因，消息没有从Exchange到达Queue，那就是第二阶段出错。


而从生产者和消费者角度来看，消息成功]]></description><category></category></item><item><title><![CDATA[微博登录接入出现错误码21322(重定向地址不匹配)，其他解决方法]]></title><link>https://blog.youkuaiyun.com/wwang_dev/article/details/112656792</link><guid>https://blog.youkuaiyun.com/wwang_dev/article/details/112656792</guid><author>wwang_dev</author><pubDate>Fri, 15 Jan 2021 12:17:47 +0800</pubDate><description><![CDATA[看到大多数博客都说的是没有在应用设置回调地址，但是我再三确认我的回调地址已填写，并且跳转连接中的地址与其一直，就像下面

&lt;a href="https://api.weibo.com/oauth2/authorize?client_id=3661722387
&amp;response_type=code
&amp;redirect_uri=http://auth.gulimall.com/oauth2/weibo/return"&gt;

但是还是这个结果

直到我终于看到了这篇博客，它里面提到一句]]></description><category></category></item><item><title><![CDATA[JSR303校验+统一异常处理细节+同一字段多个校验注解的结果如何处理]]></title><link>https://blog.youkuaiyun.com/wwang_dev/article/details/112585430</link><guid>https://blog.youkuaiyun.com/wwang_dev/article/details/112585430</guid><author>wwang_dev</author><pubDate>Wed, 13 Jan 2021 20:33:24 +0800</pubDate><description><![CDATA[JSR303

1)、导入 javax.validation、hibernate-validator依赖，尤其是第二个，在springboot应用中使用校验，必须导入
2)、给Bean的字段添加校验注解:javax.validation.constraints，并定义自己的message提示

@NotNull: CharSequence, Collection, Map 和 Array 对象不能是 null, 但可以是空集（size = 0）。
@NotEmpty: CharSequence, Colle]]></description><category></category></item><item><title><![CDATA[ElasticSearch7.8.0Docker安装及入门最基本操作]]></title><link>https://blog.youkuaiyun.com/wwang_dev/article/details/107271769</link><guid>https://blog.youkuaiyun.com/wwang_dev/article/details/107271769</guid><author>wwang_dev</author><pubDate>Fri, 10 Jul 2020 22:37:50 +0800</pubDate><description><![CDATA[Docker 安装 ElasticSearch
拉取镜像
# 最新版本7,8.0
docker pull elasticsearch:7.8.0

启动集群
# 基本启动命令
# -e "discovery.type=single-node" \  单节点集群
# -e ES_JAVA_OPTS="-Xms512m -Xmx512m" \ 制定运行参数，不然如果机器内存太小，启动后会非常卡顿
# --name 起个别名
docker run -p 9200:9200 -p 9300:9300 --name ]]></description><category></category></item><item><title><![CDATA[ElasticSearch入门项目--仿京东搜索（关键字高亮）]]></title><link>https://blog.youkuaiyun.com/wwang_dev/article/details/107252436</link><guid>https://blog.youkuaiyun.com/wwang_dev/article/details/107252436</guid><author>wwang_dev</author><pubDate>Fri, 10 Jul 2020 15:47:26 +0800</pubDate><description><![CDATA[ElasticSearch入门，仿京东搜索实战
项目介绍
此项目是跟随狂神ES课程入门所做的SpringBoot+ES+Vue实战项目，在视频的基础上，已实现前后端分离。功能比较简单，实现的基本的爬取+储存+搜索+高亮，未实现分页，若对ES已有一定的基础，可自己改进，也可发起PR，若发现问题，望及时提醒。
此项目涉及以下功能

ES创建索引
ES删除索引
ES批量插入文档
ES查询并高亮显示
最基础的JAVA爬虫（Jsoup）
Vue基本操作

运行环境

ElasticSearch 7.8.0
kiban]]></description><category></category></item><item><title><![CDATA[MybatisGenerator配置文件模板最全解释+使用指南]]></title><link>https://blog.youkuaiyun.com/wwang_dev/article/details/107132325</link><guid>https://blog.youkuaiyun.com/wwang_dev/article/details/107132325</guid><author>wwang_dev</author><pubDate>Sun, 05 Jul 2020 00:00:58 +0800</pubDate><description><![CDATA[配置文件编写
为了提高工作效率，我们经常使用MybatisGenerator逆向工程为数据库表生成对应的实体类、DAO接口、Mapper映射文件，最重要的一个步骤就是编写generatorConfig.xml，这个文件有很多配置，今天就给大家一个最详细的模板，自己取其中必要部分即可，这个模板可当作参考手册，若有更新，请以官网为准。
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;!DOCTYPE generatorConfiguration
  PUBLIC]]></description><category></category></item><item><title><![CDATA[PAT 1052 Linked List Sorting (25分) 结构体排序而已]]></title><link>https://blog.youkuaiyun.com/wwang_dev/article/details/107119208</link><guid>https://blog.youkuaiyun.com/wwang_dev/article/details/107119208</guid><author>wwang_dev</author><pubDate>Sat, 04 Jul 2020 08:32:37 +0800</pubDate><description><![CDATA[题目
A linked list consists of a series of structures, which are not necessarily adjacent in memory. We assume that each structure contains an integer key and a Next pointer to the next structure. Now given a linked list, you are supposed to sort the structu]]></description><category></category></item><item><title><![CDATA[PAT1051 Pop Sequence (25分) 模拟入栈]]></title><link>https://blog.youkuaiyun.com/wwang_dev/article/details/107115597</link><guid>https://blog.youkuaiyun.com/wwang_dev/article/details/107115597</guid><author>wwang_dev</author><pubDate>Fri, 03 Jul 2020 21:32:13 +0800</pubDate><description><![CDATA[题目
Given a stack which can keep M numbers at most. Push N numbers in the order of 1, 2, 3, …, N and pop randomly. You are supposed to tell if a given sequence of numbers is a possible pop sequence of the stack. For example, if M is 5 and N is 7, we can obt]]></description><category></category></item><item><title><![CDATA[PAT1050 String Subtraction (20分) 用数组即可]]></title><link>https://blog.youkuaiyun.com/wwang_dev/article/details/107112973</link><guid>https://blog.youkuaiyun.com/wwang_dev/article/details/107112973</guid><author>wwang_dev</author><pubDate>Fri, 03 Jul 2020 19:23:57 +0800</pubDate><description><![CDATA[题目
Given two strings S​1​​  and S​2​​ , S=S​1​​ −S​2​​  is defined to be the remaining string after taking all the characters in S​2​​  from S​1​​ . Your task is simply to calculate S1​​​ −S​2​​  for any given strings. However, it might not be that simple ]]></description><category></category></item><item><title><![CDATA[PAT 1049 Counting Ones (30分) 编程之美--1的个数]]></title><link>https://blog.youkuaiyun.com/wwang_dev/article/details/107109570</link><guid>https://blog.youkuaiyun.com/wwang_dev/article/details/107109570</guid><author>wwang_dev</author><pubDate>Fri, 03 Jul 2020 17:31:15 +0800</pubDate><description><![CDATA[题目
The task is simple: given any positive integer N, you are supposed to count the total number of 1’s in the decimal form of the integers from 1 to N. For example, given N being 12, there are five 1’s in 1, 10, 11, and 12.
Input Specification:
Each input ]]></description><category></category></item><item><title><![CDATA[PAT 1048 Find Coins (25分) 硬币面值做数组下标即排序]]></title><link>https://blog.youkuaiyun.com/wwang_dev/article/details/107101695</link><guid>https://blog.youkuaiyun.com/wwang_dev/article/details/107101695</guid><author>wwang_dev</author><pubDate>Fri, 03 Jul 2020 11:22:58 +0800</pubDate><description><![CDATA[题目
Eva loves to collect coins from all over the universe, including some other planets like Mars. One day she visited a universal shopping mall which could accept all kinds of coins as payments. However, there was a special requirement of the payment: for ]]></description><category></category></item><item><title><![CDATA[PAT1047 Student List for Course (25分）避免运行超时（内存溢出）]]></title><link>https://blog.youkuaiyun.com/wwang_dev/article/details/107097915</link><guid>https://blog.youkuaiyun.com/wwang_dev/article/details/107097915</guid><author>wwang_dev</author><pubDate>Fri, 03 Jul 2020 08:46:59 +0800</pubDate><description><![CDATA[题目
Zhejiang University has 40,000 students and provides 2,500 courses. Now given the registered course list of each student, you are supposed to output the student name lists of all the courses.
Input Specification:
Each input file contains one test case. ]]></description><category></category></item><item><title><![CDATA[PAT 1046 Shortest Distance (20分)]]></title><link>https://blog.youkuaiyun.com/wwang_dev/article/details/107094084</link><guid>https://blog.youkuaiyun.com/wwang_dev/article/details/107094084</guid><author>wwang_dev</author><pubDate>Thu, 02 Jul 2020 22:06:05 +0800</pubDate><description><![CDATA[题目
The task is really simple: given N exits on a highway which forms a simple cycle, you are supposed to tell the shortest distance between any pair of exits.
Input Specification:
Each input file contains one test case. For each case, the first line contai]]></description><category></category></item></channel></rss>