<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[uiguion的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/uiguion</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; uiguion]]></copyright><item><title><![CDATA[Kali Linux（或其他基于 Debian 的系统）中安装 Python 包时遇到 error: externally-managed-environment 错误]]></title><link>https://blog.youkuaiyun.com/uiguion/article/details/150977641</link><guid>https://blog.youkuaiyun.com/uiguion/article/details/150977641</guid><author>uiguion</author><pubDate>Fri, 29 Aug 2025 10:51:47 +0800</pubDate><description><![CDATA[Kali Linux（或其他基于 Debian 的系统）中安装 Python 包时遇到 error: externally-managed-environment 错误]]></description><category></category></item><item><title><![CDATA[读取excel的两种方式映射集合对象，poi原生依赖和easyExcel]]></title><link>https://blog.youkuaiyun.com/uiguion/article/details/122996383</link><guid>https://blog.youkuaiyun.com/uiguion/article/details/122996383</guid><author>uiguion</author><pubDate>Fri, 18 Feb 2022 09:40:28 +0800</pubDate><description><![CDATA[方法一：poi原生工具

1、引入依赖


//转换MultipartFile文件编译时用到
&lt;dependency&gt;
    &lt;groupId&gt;org.springframework&lt;/groupId&gt;
    &lt;artifactId&gt;spring-test&lt;/artifactId&gt;
    &lt;version&gt;5.3.9&lt;/version&gt;
    &lt;scope&gt;compile&lt;/scope&gt;
&l]]></description><category></category></item><item><title><![CDATA[数据流转MultipartFile文件]]></title><link>https://blog.youkuaiyun.com/uiguion/article/details/122996284</link><guid>https://blog.youkuaiyun.com/uiguion/article/details/122996284</guid><author>uiguion</author><pubDate>Fri, 18 Feb 2022 09:22:57 +0800</pubDate><description><![CDATA[//数据流转MultipartFile文件
InputStream uinputStream = new FileInputStream(file);
MultipartFile targetMultipartFile = new MockMultipartFile("targetFile", file.getName(), ContentType.APPLICATION_OCTET_STREAM.toString(), IOUtils.toByteArray(uinputStream));



...]]></description><category></category></item><item><title><![CDATA[Centos7.5安装应用服务教程 ---- jdk1.8安装教程]]></title><link>https://blog.youkuaiyun.com/uiguion/article/details/121530476</link><guid>https://blog.youkuaiyun.com/uiguion/article/details/121530476</guid><author>uiguion</author><pubDate>Thu, 25 Nov 2021 09:38:59 +0800</pubDate><description><![CDATA[1、下载jdk1.8压缩包
建议装在/usr/local目录下
2、 解压
tar -zxvf jdk-8u301-linux-x64.tar.gz

3、配置环境变量
修改文件配置：
vi|vim /etc/profile

在文件底部加入以下配置：
#java config
export JAVA_HOME=/usr/local/jdk1.8.0_301
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$]]></description><category></category></item><item><title><![CDATA[Centos7.5安装应用服务教程 ---- mysql5.7安装教程]]></title><link>https://blog.youkuaiyun.com/uiguion/article/details/121530238</link><guid>https://blog.youkuaiyun.com/uiguion/article/details/121530238</guid><author>uiguion</author><pubDate>Thu, 25 Nov 2021 09:33:16 +0800</pubDate><description><![CDATA[下载rpm安装包

wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
如果没有安装wget 先安装wget yum install wget


安装rpm

rpm -ivh mysql57-community-release-el7-8.noarch.rpm


安装mysql5.7服务

yum install mysql-server


通过系统命令启动mysql

systemctl start mysq.]]></description><category></category></item><item><title><![CDATA[Centos7.5安装应用服务教程 ---- nginx安装教程]]></title><link>https://blog.youkuaiyun.com/uiguion/article/details/121530037</link><guid>https://blog.youkuaiyun.com/uiguion/article/details/121530037</guid><author>uiguion</author><pubDate>Thu, 25 Nov 2021 09:25:11 +0800</pubDate><description><![CDATA[1、准备工作
1.先安装gcc-c++编译器
yum install -y gcc-c++
yum install -y openssl openssl-devel

2.再安装pcre包
yum install -y pcre pcre-devel

3.再安装zlib包
yum install -y zlib zlib-devel

2、nginx安装伊始
1.在/usr/local/下创建文件nginx文件
mkdir /usr/local/nginx

2.在网上下nginx包上传至Linux（ht]]></description><category></category></item><item><title><![CDATA[自定义集合的排序方法，直接使用Collections工具类，重写排序方法]]></title><link>https://blog.youkuaiyun.com/uiguion/article/details/119646705</link><guid>https://blog.youkuaiyun.com/uiguion/article/details/119646705</guid><author>uiguion</author><pubDate>Thu, 12 Aug 2021 16:10:19 +0800</pubDate><description><![CDATA[有点懒，说几个点吧，一个是自定义排序的时候，百度一写1和-1返回值表达的意思，这关系到升序还是降序；
比较元素大小时，如果返回正数(比如1)，则表示排序靠后；
如果返回复数(比如-1)，则表示排序靠前。
下面是一个排序日期的自定义写法，是升序排列，日期最晚的排最前：
 Collections.sort(qrs, (r1, r2) -&gt; {
                            LocalDate o1 = r1.getLocalDate("CREATE_TIME");
       ]]></description><category></category></item><item><title><![CDATA[写一个日期格式获取的公共类，默认当前日期]]></title><link>https://blog.youkuaiyun.com/uiguion/article/details/119356900</link><guid>https://blog.youkuaiyun.com/uiguion/article/details/119356900</guid><author>uiguion</author><pubDate>Tue, 03 Aug 2021 18:57:21 +0800</pubDate><description><![CDATA[废话不多说，搞一个获取当前日期的各种基础格式的公共类，喜欢的拿去嫖。。。
//测试调用
public static void main(String[] args) {
    FileCreateTask fileCreateTask = new FileCreateTask();
    String yyMM = fileCreateTask.getNowWithFormatter("yyMM");
    String yyMMdd = fileCreateTask.getNowWithFormat]]></description><category></category></item><item><title><![CDATA[对于枚举，我们可以做一个公共的枚举获取值的类，不用继承，不用重写方法]]></title><link>https://blog.youkuaiyun.com/uiguion/article/details/119356472</link><guid>https://blog.youkuaiyun.com/uiguion/article/details/119356472</guid><author>uiguion</author><pubDate>Tue, 03 Aug 2021 18:26:04 +0800</pubDate><description><![CDATA[import lombok.extern.slf4j.Slf4j;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

/**
 * 枚举工具类
 *
 * @author dengkunnan
 */
@Slf4j
public class EnumUtil {

    public static &lt;T extends Enum&lt;T&gt;&gt; T getByField]]></description><category></category></item><item><title><![CDATA[利用反射，实现map集合和实体类的相互转换]]></title><link>https://blog.youkuaiyun.com/uiguion/article/details/119354927</link><guid>https://blog.youkuaiyun.com/uiguion/article/details/119354927</guid><author>uiguion</author><pubDate>Tue, 03 Aug 2021 17:33:34 +0800</pubDate><description><![CDATA[废话不多说，直接上代码。。。。
import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;

/**
 * 实体类工具类
 *
 * @author guojiabao
 * @date 2021/08/06
 **/
public class EntityUtils {

    /**
     * 实体类转Map
     * @param object 需要初始化的数据实体类
     * @retu]]></description><category></category></item><item><title><![CDATA[maven管理多模块，并且用父模块管理公共依赖时的一些说明]]></title><link>https://blog.youkuaiyun.com/uiguion/article/details/119246865</link><guid>https://blog.youkuaiyun.com/uiguion/article/details/119246865</guid><author>uiguion</author><pubDate>Fri, 30 Jul 2021 14:58:47 +0800</pubDate><description><![CDATA[当我们的项目模块很多的时候，我们使用Maven管理项目非常方便，帮助我们管理构建、文档、报告、依赖、scms、发布、分发的方法。可以方便的编译代码、进行依赖管理、管理二进制库等等。
    		  由于我们的模块很多，所以我们又抽象了一层，抽出一个itoo-base-parent来管理子项目的公共的依赖。为了项目的正确运行，必须让所有的子项目使用依赖项的统一版本，必须确保应用的各个项目的依赖项和版本一致，才能保证测试的和发布的是相同的结果。]]></description><category></category></item><item><title><![CDATA[关于同个类型的类，bean 的名字(name)，注入方式总结]]></title><link>https://blog.youkuaiyun.com/uiguion/article/details/119148174</link><guid>https://blog.youkuaiyun.com/uiguion/article/details/119148174</guid><author>uiguion</author><pubDate>Tue, 27 Jul 2021 17:30:21 +0800</pubDate><description><![CDATA[关于同个类型的类，bean 的名字(name)，不同的注入方式
一、 @Resource方式注入
如下面，同个类有两个不同的bean name ，类的类型一样，属性值不同时：
@Bean(name = "influx1")
    public InfluxDB influxDB1(){
        InfluxDB influxDB = InfluxDBFactory.connect("http://localhost:8086");
        influxDB.setDatabase("db1]]></description><category></category></item><item><title><![CDATA[飞鸟和鱼]]></title><link>https://blog.youkuaiyun.com/uiguion/article/details/116498118</link><guid>https://blog.youkuaiyun.com/uiguion/article/details/116498118</guid><author>uiguion</author><pubDate>Fri, 07 May 2021 17:20:51 +0800</pubDate><description><![CDATA[你知道的，我爱的是你的灵魂，只是你太让我容易难过了，所以，今生注定缘断于山海
    不同的是我们最后的青春就是你的温柔与最后的倔强，我忘你最后说的温柔是什么，但是我想这一定是你我最后的温柔，就这样吧
    不在一起，也许可能才是最好的年华和记忆，我愿意一直留一点位置喜欢你，无法想象像我这样的人，竟然也会有喜欢一个人的感觉，
而且不可否认的是你让我更有力量的度过很多时光，在那些我很累、伤感、想要放弃的瞬间，有时脑海会出现你的影子，他让我觉得这一切好像都不是那么糟，所以每次老天都给面子让我顺利的完]]></description><category></category></item><item><title><![CDATA[数据库分库分表的策略问题概述]]></title><link>https://blog.youkuaiyun.com/uiguion/article/details/116268190</link><guid>https://blog.youkuaiyun.com/uiguion/article/details/116268190</guid><author>uiguion</author><pubDate>Thu, 29 Apr 2021 14:28:51 +0800</pubDate><description><![CDATA[前言

中大型项目中，一旦遇到数据量比较大，小伙伴应该都知道就应该对数据进行拆分了。有垂直和水平两种。

垂直拆分比较简单，也就是本来一个数据库，数据量大之后，从业务角度进行拆分多个库。如下图，独立的拆分出订单库 和 用户库



水平拆分的概念，是同一个业务数据量大之后，进行水平拆分。



上图中订单数据达到了4000万，我们也知道mysql单表存储量推荐是百万级，如果不进行处理，mysql单表数据太大，会导致性能变慢。使用方案可以参考数据进行水平拆分。把4000万数据拆分4张表或者更多。当然也可以分库]]></description><category></category></item><item><title><![CDATA[List 对象集合对对象进行排序总结]]></title><link>https://blog.youkuaiyun.com/uiguion/article/details/113393955</link><guid>https://blog.youkuaiyun.com/uiguion/article/details/113393955</guid><author>uiguion</author><pubDate>Fri, 29 Jan 2021 16:11:04 +0800</pubDate><description><![CDATA[List 对象集合对对象进行排序总结
相信java开发的同学们对于 List集合 和 java8新特性的流处理都是非常熟悉的，有时候我们需要对查询出的集合做一些处理，包括排序，筛选、分组等等操作，现在记录一下关于集合对象的排序问题和总结。（其他的有时间再搞）


...]]></description><category></category></item><item><title><![CDATA[文件流（InputStream）转文件（file）]]></title><link>https://blog.youkuaiyun.com/uiguion/article/details/113392840</link><guid>https://blog.youkuaiyun.com/uiguion/article/details/113392840</guid><author>uiguion</author><pubDate>Fri, 29 Jan 2021 15:55:15 +0800</pubDate><description><![CDATA[文件流（InputStream）转文件（file）
直接上代码（需要自取）：
/**

输入流转文件

@param ins
@param file
*/
public static void inputStreamToFile(InputStream ins, File file) {
BufferedOutputStream bos = null;
BufferedInputStream bis = new BufferedInputStream(ins);
try {
bos = new Buffer]]></description><category></category></item><item><title><![CDATA[SourceTree 3.2.* 版本跳过 Bitbucket 登录方法]]></title><link>https://blog.youkuaiyun.com/uiguion/article/details/107844989</link><guid>https://blog.youkuaiyun.com/uiguion/article/details/107844989</guid><author>uiguion</author><pubDate>Thu, 06 Aug 2020 17:13:47 +0800</pubDate><description><![CDATA[首先要安装好git。当打开 SourceTree 安装程序后，提示登录到 Bitbucket ，然而我们只想用软件不想注册，我们只需要修改两个文件即可满足我们的需求：1、关闭安装程...

首先要安装好git。

当打开 SourceTree 安装程序后，提示登录到 Bitbucket ，然而我们只想用软件不想注册，我们只需要修改两个文件即可满足我们的需求：

1、关闭安装程序，在资源管理器地址中输入%LocalAppData%\Atlassian ，然后进入 SourceTree 目录，创建accou..]]></description><category></category></item><item><title><![CDATA[idea导入的模块不能跳转具体的资源，是由于idea只编译了最外层模块的pom文件]]></title><link>https://blog.youkuaiyun.com/uiguion/article/details/107113539</link><guid>https://blog.youkuaiyun.com/uiguion/article/details/107113539</guid><author>uiguion</author><pubDate>Fri, 03 Jul 2020 19:48:13 +0800</pubDate><description><![CDATA[记录一下，找了很久终于解决了module无法导入的问题

原因：
出现该问题，是由于打开工程的时候IDEA只编译了最外层的pom.xml文件，而内部的各个module未被Maven自动检索到（各module的pom.xml文件未被编译）。

IDEA中导入多module的Maven项目无法识别module的解决办法

原文链接：https://www.jianshu.com/p/909eb8a48d49?from=groupmessage
...]]></description><category></category></item><item><title><![CDATA[JSONObject.toBean()方法转成对象报错，或者bean属性全为null]]></title><link>https://blog.youkuaiyun.com/uiguion/article/details/106047677</link><guid>https://blog.youkuaiyun.com/uiguion/article/details/106047677</guid><author>uiguion</author><pubDate>Mon, 11 May 2020 09:52:18 +0800</pubDate><description><![CDATA[Tried to assign property OutStationNo:java.lang.Integer to bean of class对象中其他值唯一不同的地方就是开头字母大写了

问题：调用别家的api接口返回的参数名首字母是大写的，而根据JSONObject解析方式是不支持参数名首字母大写，有人遇到过这个问题么？有啥解决方案。

解决方案：
在研究该问题时，发现有两种解决方案
1、将该bean对象的首字母全部改为小写。
2、将该bean对象的首字母大写的后面几个单词改为大写(开头算起，连续的大]]></description><category></category></item><item><title><![CDATA[浏览器警告Failed to decode downloaded font 系统页面字体图标加载不出来（线上环境字体图标不显示）]]></title><link>https://blog.youkuaiyun.com/uiguion/article/details/105945346</link><guid>https://blog.youkuaiyun.com/uiguion/article/details/105945346</guid><author>uiguion</author><pubDate>Wed, 06 May 2020 10:52:23 +0800</pubDate><description><![CDATA[#Failed to decode downloaded font

当我们发现页面有些字体图标不显示，或者显示错误时，浏览器就会报上述错误。

这时候解决方法有三点（三步）：

第一：检查是否使用maven，如果是，由于maven的filter（拦截），会破坏font文件的二进制文件格式，导致前台解析出错，

所以可以添加以下代码，到pom文件的&lt;project&gt;标签下的&lt;b...]]></description><category></category></item></channel></rss>