<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[DearLC的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/DearLC</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; DearLC]]></copyright><item><title><![CDATA[记一次网关项目Actuator未授权访问漏洞的修复方案]]></title><link>https://blog.youkuaiyun.com/DearLC/article/details/131697715</link><guid>https://blog.youkuaiyun.com/DearLC/article/details/131697715</guid><author>DearLC</author><pubDate>Thu, 13 Jul 2023 11:34:46 +0800</pubDate><description><![CDATA[springboot actuator未授权访问漏洞修复方案]]></description><category></category></item><item><title><![CDATA[ELK（EFKE）日志告警监控系统集成笔记]]></title><link>https://blog.youkuaiyun.com/DearLC/article/details/123688634</link><guid>https://blog.youkuaiyun.com/DearLC/article/details/123688634</guid><author>DearLC</author><pubDate>Wed, 06 Apr 2022 17:36:29 +0800</pubDate><description><![CDATA[前言
最近在搞公司项目系统架构优化，要弄一套日志监控管理系统，百度一下市面上比较火的就是Elastic公司的ELK框架，即Elasticsearch、Logstash和Kibana，日志监控用的是Elastalert，于是借鉴了一下网上的文章，开启自己搭建日志监控系统之路，顺便记录一下，方便以后忘记了再查阅巩固。
这里还要说明一下，Elasticsearch是用于日志的存储和检索，Logstash用于日志的收集并输出到Elasticsearch存储，Kibana则是前端界面，负责对Elasticsearch]]></description><category></category></item><item><title><![CDATA[MySQL 统计count为0的情况 LEFT JOIN 关联查询左表数据缺失的问题]]></title><link>https://blog.youkuaiyun.com/DearLC/article/details/121271113</link><guid>https://blog.youkuaiyun.com/DearLC/article/details/121271113</guid><author>DearLC</author><pubDate>Thu, 11 Nov 2021 16:57:52 +0800</pubDate><description><![CDATA[需求
统计各地市新增用户情况，要求为0的也展示。
实现方案
构造所有地市为左表，关联用户表统计查询
like this：
SELECT
	t.phone_place,
	count( h.id ) AS count 
FROM
	(
	SELECT
		'安顺' phone_place UNION
	SELECT
		'遵义' phone_place UNION
	SELECT
		'黔东南' phone_place UNION
	SELECT
		'毕节' phone_place UNION
	SELEC]]></description><category></category></item><item><title><![CDATA[Android笔记---事件分发和冲突解决]]></title><link>https://blog.youkuaiyun.com/DearLC/article/details/119143499</link><guid>https://blog.youkuaiyun.com/DearLC/article/details/119143499</guid><author>DearLC</author><pubDate>Tue, 27 Jul 2021 14:52:24 +0800</pubDate><description><![CDATA[一、事件分发简介
1. View 触摸事件
对于屏幕的点击，滑动，抬起等一系的动作，其实都是由一个一个MotionEvent对象组成的。根据不同动作，主要有以下三种事件类型：
（1）ACTION_DOWN：手指刚接触屏幕，按下去的那一瞬间产生该事件
（2）ACTION_MOVE：手指在屏幕上移动时候产生该事件
（3）ACTION_UP：手指从屏幕上松开的瞬间产生该事件
（4）ACTION_CANCEL 当前 View 的手势被打断，后续不会再收到任何事件从 ACTION_DOWN 开始到 ACTION_UP]]></description><category></category></item><item><title><![CDATA[Android笔记---事件分发三个重要函数]]></title><link>https://blog.youkuaiyun.com/DearLC/article/details/118306167</link><guid>https://blog.youkuaiyun.com/DearLC/article/details/118306167</guid><author>DearLC</author><pubDate>Mon, 28 Jun 2021 16:16:52 +0800</pubDate><description><![CDATA[1. 事件分发dispatchTouchEvent
public boolean dispatchTouchEvent(MotionEvent ev)

当有监听到事件时，首先由Activity进行捕获，进入事件分发处理流程。（因为activity没有 事件拦截，View和ViewGroup有）会将事件传递给最外层View的 dispatchTouchEvent(MotionEvent ev)方法，该方法对事件进行分发。

return true ：表示该View内部消化掉了所有事件。
return fal]]></description><category></category></item><item><title><![CDATA[Android笔记---蓝牙开发经典蓝牙和低功耗蓝牙]]></title><link>https://blog.youkuaiyun.com/DearLC/article/details/117564736</link><guid>https://blog.youkuaiyun.com/DearLC/article/details/117564736</guid><author>DearLC</author><pubDate>Wed, 09 Jun 2021 17:02:13 +0800</pubDate><description><![CDATA[在做蓝牙技术开发前，首先可以了解一下蓝牙模块分类：


]]></description><category></category></item><item><title><![CDATA[Spring Boot + Shiro 单体服务跨域问题]]></title><link>https://blog.youkuaiyun.com/DearLC/article/details/104615928</link><guid>https://blog.youkuaiyun.com/DearLC/article/details/104615928</guid><author>DearLC</author><pubDate>Mon, 02 Mar 2020 18:03:45 +0800</pubDate><description><![CDATA[由于项目需求，不需要搭建多个微服务，包括网关和注册中心等，登录和业务统计部署到同一个微服务下，这里采用的框架是shiro，由于之前都是网关+注册中心+用户中心+业务处理的模式，跨域问题依靠网关前置过滤器的配置就可以解决，主要代码如下：
/**
     * filterType: 过滤器的类型， 它决定过滤器在请求的哪个生命周期中执行。
     * 这里定义为pre, 代表会在请求被路由之前执行...]]></description><category></category></item><item><title><![CDATA[MySQL笔记---Round在取整时不能四舍五入的问题]]></title><link>https://blog.youkuaiyun.com/DearLC/article/details/102938256</link><guid>https://blog.youkuaiyun.com/DearLC/article/details/102938256</guid><author>DearLC</author><pubDate>Wed, 06 Nov 2019 17:03:08 +0800</pubDate><description><![CDATA[MySQL中的Round函数相信很多人都不陌生，功能都知道是保留小数点后多少位数，但是开发中发现一个小问题，使用Round对查询结果进行保留整数时不是四舍五入而是五舍六入。
举个例子，查询语句如下：
SELECT ROUND( supplier_id) FROM 表名

表中字段值为：

查询结果如下：

很明显ROUND函数没有对第1、3、4行的查询结果进行四舍五入，仅仅保留了整数。而对第二行的...]]></description><category></category></item><item><title><![CDATA[Spring Boot网关默认回退FallbackProvider无效和错误过滤器的问题]]></title><link>https://blog.youkuaiyun.com/DearLC/article/details/102916468</link><guid>https://blog.youkuaiyun.com/DearLC/article/details/102916468</guid><author>DearLC</author><pubDate>Tue, 05 Nov 2019 15:40:37 +0800</pubDate><description><![CDATA[刚开始接触公司的Spring Boot项目，项目中使用到网关Zuul和跨服务调用，然而在开发中就发现了令人头疼的问题，当基础服务未启动时，接口直接通过网关调用基础服务里的内容直接报500错误，程序并没有走网关的自定义的默认回退FallbackProvider，这样的话，给前端返回的数据结构就会出错，甚至会影响用户体验等问题，但是公司项目最初负责人已经离职，没有办法，自己开始找问题所在，顺便记录一下...]]></description><category></category></item><item><title><![CDATA[Android错误笔记---下载文件无法获取到文件（ContentLength）的大小]]></title><link>https://blog.youkuaiyun.com/DearLC/article/details/102463171</link><guid>https://blog.youkuaiyun.com/DearLC/article/details/102463171</guid><author>DearLC</author><pubDate>Wed, 09 Oct 2019 16:27:42 +0800</pubDate><description><![CDATA[由于项目需要做APP自动更新的功能，即进入程序自动请求获取最新的APP版本号，判断是否需要更新，这里就要涉及到下载APP文件并显示安装界面提示用户安装程序，做过下载文件的同学都知道，为了提高用户体验，就要实现下载进度条的的功能，进度值一般都是0-100，而这个值都是经过代码计算的。首先请求下载文件时http响应中会返回ContentLength，即文件大小，我们再根据当前已下载的大小除以文件大小计...]]></description><category></category></item><item><title><![CDATA[Android笔记---实现简单的左上角（其他边角）倾斜的标签（环绕效果）]]></title><link>https://blog.youkuaiyun.com/DearLC/article/details/101065342</link><guid>https://blog.youkuaiyun.com/DearLC/article/details/101065342</guid><author>DearLC</author><pubDate>Fri, 20 Sep 2019 17:37:22 +0800</pubDate><description><![CDATA[先上效果图吧


由于项目需要实现这种左上角倾斜环绕的标签效果，所以自己尝试着做一做，并记录下来。
实现的思路大致如下图：

主页面的布局结构如下：
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://sch...]]></description><category></category></item><item><title><![CDATA[Flutter笔记---Flutter与Android之间的相互通信MethodChannel与EventChannel（小白教程）]]></title><link>https://blog.youkuaiyun.com/DearLC/article/details/100974303</link><guid>https://blog.youkuaiyun.com/DearLC/article/details/100974303</guid><author>DearLC</author><pubDate>Wed, 18 Sep 2019 11:55:58 +0800</pubDate><description><![CDATA[序
Flutter混合开发中，一些基于原生开发的功能无法实现，需要编写原生Android和iOS的功能插件才能实现，这里就涉及到Flutter与原生代码之间的通信，本人也是刚从Android开发转向Flutter混合开发，所以编写此文记录一下Flutter与Android之间互相通信的学习，顺便记录一些错误以免以后再犯



新建项目
配置好Flutter环境以后，打开Android Stud...]]></description><category></category></item><item><title><![CDATA[Flutter笔记---Flutter环境配置问题记录]]></title><link>https://blog.youkuaiyun.com/DearLC/article/details/100737115</link><guid>https://blog.youkuaiyun.com/DearLC/article/details/100737115</guid><author>DearLC</author><pubDate>Wed, 11 Sep 2019 15:21:59 +0800</pubDate><description><![CDATA[Flutter是谷歌的移动UI框架，可以快速在iOS和Android上构建高质量的原生用户界面。 Flutter可以与现有的代码一起工作。
Flutter开发逐渐成为移动开发的一种趋势。
本文记录配置Flutter遇到的一些问题。

建议直接从GitHub获取Flutter：

git clone -b beta https://github.com/flutter/flutter.git

从官...]]></description><category></category></item><item><title><![CDATA[Android笔记------判断ScrollView滑动时View是否可见的方法]]></title><link>https://blog.youkuaiyun.com/DearLC/article/details/96867518</link><guid>https://blog.youkuaiyun.com/DearLC/article/details/96867518</guid><author>DearLC</author><pubDate>Mon, 22 Jul 2019 16:08:08 +0800</pubDate><description><![CDATA[判断scrollview滑动时view是否可见，基于获取View的getLocalVisibleRect来判断，当rect.getTop() == 0时，View为全部可见，为rect.getTop() 正值并且不等于0时View为部分可见，为负值时不可见。
 /**
     * 判断View是否可见
     *
     * @param target   View
     * @para...]]></description><category></category></item><item><title><![CDATA[Kotlin初学之封装使用Retrofit+RxJava]]></title><link>https://blog.youkuaiyun.com/DearLC/article/details/95216659</link><guid>https://blog.youkuaiyun.com/DearLC/article/details/95216659</guid><author>DearLC</author><pubDate>Wed, 10 Jul 2019 11:27:04 +0800</pubDate><description><![CDATA[新建项目，添加如下依赖：
	/** retrofit框架所需依赖  */
    implementation 'com.squareup.okhttp3:okhttp:3.12.0'
    implementation 'com.squareup.retrofit2:retrofit:2.4.0'
    /**gson解析依赖*/
    implementation 'com.square...]]></description><category></category></item><item><title><![CDATA[Spring Boot初学之发送邮件遇到的问题]]></title><link>https://blog.youkuaiyun.com/DearLC/article/details/95208984</link><guid>https://blog.youkuaiyun.com/DearLC/article/details/95208984</guid><author>DearLC</author><pubDate>Tue, 09 Jul 2019 17:08:55 +0800</pubDate><description><![CDATA[首先，新建一个Spring Boot项目，引入邮件依赖：
&lt;!--邮件依赖--&gt;
        &lt;dependency&gt;
            &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
            &lt;artifactId&gt;spring-boot-starter-mail&lt;...]]></description><category></category></item><item><title><![CDATA[Kotlin初学之依赖错误：Failed to resolve: org.jetbrains.kotlin:kotlin-stdlib-jre7:1.3.21]]></title><link>https://blog.youkuaiyun.com/DearLC/article/details/94593960</link><guid>https://blog.youkuaiyun.com/DearLC/article/details/94593960</guid><author>DearLC</author><pubDate>Thu, 04 Jul 2019 08:52:38 +0800</pubDate><description><![CDATA[第一次写koltin程序，刚开始新建程序编译就报错：

添加koltin无法依赖成功，百度了才找到解决办法：
将依赖：
implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"

修改为：
implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin...]]></description><category></category></item><item><title><![CDATA[Android初学之封装IJkplayer制作视频播放的Dialog]]></title><link>https://blog.youkuaiyun.com/DearLC/article/details/94445548</link><guid>https://blog.youkuaiyun.com/DearLC/article/details/94445548</guid><author>DearLC</author><pubDate>Tue, 02 Jul 2019 15:37:44 +0800</pubDate><description><![CDATA[首先引入IJkplayer依赖：
//ijkPlayer 播放器框架依赖
    //required, enough for most devices.足够大部分机型使用
    implementation 'tv.danmaku.ijk.media:ijkplayer-java:0.8.8'
    implementation 'tv.danmaku.ijk.media:ijkplayer...]]></description><category></category></item><item><title><![CDATA[Android初学之自定义简单蛛网（雷达）图]]></title><link>https://blog.youkuaiyun.com/DearLC/article/details/94398976</link><guid>https://blog.youkuaiyun.com/DearLC/article/details/94398976</guid><author>DearLC</author><pubDate>Mon, 01 Jul 2019 17:52:02 +0800</pubDate><description><![CDATA[因项目需要，需要加入蛛网图的显示，虽然GitHub上早已有很多大神的nb框架，但是还是想自己写写练练手。
项目中显示的蛛网图也比较简单，只需要控制四个进度值，这样就不需要考虑角度旋转的问题了 ，只需要控制上下左右四个进度值得变化就可以了，也就是只取上下左右四个进度值的点就可以了。
首先先获取各个重要点位信息：
@Override
    protected void onSizeChanged(i...]]></description><category></category></item><item><title><![CDATA[Android错误之使用MPAndroid画曲线图自定MarkerView出现的问题]]></title><link>https://blog.youkuaiyun.com/DearLC/article/details/94397425</link><guid>https://blog.youkuaiyun.com/DearLC/article/details/94397425</guid><author>DearLC</author><pubDate>Mon, 01 Jul 2019 16:53:37 +0800</pubDate><description><![CDATA[项目需要曲线图显示效果，这里使用的是GitHub上最火的图标库MPAndroid，GitHub地址：
https://github.com/PhilJay/MPAndroidChart
在给曲线图添加MarkerView时出现的小问题，自定义好LineChartMarkerView如下：
package com.zc.customview;

import android.content.Cont...]]></description><category></category></item></channel></rss>