<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[凯哥大数据——刘凯的博客]]></title><description><![CDATA[小geeker的成长之路]]></description><link>https://blog.youkuaiyun.com/cliukai</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; cliukai]]></copyright><item><title><![CDATA[【转载】Spring Cloud Ribbon中的7种负载均衡策略]]></title><link>https://blog.youkuaiyun.com/cliukai/article/details/135667979</link><guid>https://blog.youkuaiyun.com/cliukai/article/details/135667979</guid><author>cliukai</author><pubDate>Thu, 18 Jan 2024 11:52:00 +0800</pubDate><description><![CDATA[Ribbon 是 Spring Cloud 技术栈中非常重要的基础框架，它为 Spring Cloud 提供了负载均衡的能力，比如Fegin和OpenFegin都是基于 Ribbon 实现的，就连Nacos中的负载均衡也使用了 Ribbon 框架。Ribbon 框架的强大之处在于，它不仅内置了 7 种负载均衡策略，同时还支持用户自定义负载均衡策略，所以其开放性和便利性也是它得以流行的主要原因。服务端负载均衡器和客户端负载均衡器的区别如下图所示]]></description><category></category></item><item><title><![CDATA[rosetta error: failed to open elf at /lib64/ld-linux-x86-64.so.2怎么解决]]></title><link>https://blog.youkuaiyun.com/cliukai/article/details/135559690</link><guid>https://blog.youkuaiyun.com/cliukai/article/details/135559690</guid><author>cliukai</author><pubDate>Fri, 12 Jan 2024 18:41:07 +0800</pubDate><description><![CDATA[x86-64，指的是支持64位运算的X86架构的CPU，这种CPU一般由Intel和AMD家生产的芯片。如果恰好你的电脑是搭载Apple Chip例如M1/M2/M3的MacBook，那么系统里是没有这个函数库的，就会报错。解决办法是在Docker引入Base操作系统的时候，加上。今天在打包然后运行docker镜像的时候遇到了这个问题。指定AMD64格式，然后重新打镜像。注意观察，这个库函数里面有。]]></description><category></category></item><item><title><![CDATA[eureka ConnectException如何解决]]></title><link>https://blog.youkuaiyun.com/cliukai/article/details/135520210</link><guid>https://blog.youkuaiyun.com/cliukai/article/details/135520210</guid><author>cliukai</author><pubDate>Thu, 11 Jan 2024 10:23:53 +0800</pubDate><description><![CDATA[最近开始学习微服务，配置了一个超级简单的eureka，居然频繁报错无法启动，总是报ConnectException，踩了不少坑，因此记录一下。]]></description><category></category></item><item><title><![CDATA[【转载】Hibernate和Mybatis区别]]></title><link>https://blog.youkuaiyun.com/cliukai/article/details/135476549</link><guid>https://blog.youkuaiyun.com/cliukai/article/details/135476549</guid><author>cliukai</author><pubDate>Tue, 09 Jan 2024 11:40:53 +0800</pubDate><description><![CDATA[Hibernate 功能强大，数据库无关性好，O/R 映射能力强，如果你对 Hibernate 相当精通，而且对 Hibernate 进行了适当的封装，那么你的项目整个持久层代码会相当简单，需要写的代码很少，开发速度很快，非常爽。Hibernate 的缺点就是学习门槛不低，要精通门槛更高，而且怎么设计 O/R 映射，在性能和对象模型之间如何权衡取得平衡，以及怎样用好 Hibernate 方面需要你的经验和能力都很强才行。]]></description><category></category></item><item><title><![CDATA[chromedriver不在路径的解决办法]]></title><link>https://blog.youkuaiyun.com/cliukai/article/details/117320796</link><guid>https://blog.youkuaiyun.com/cliukai/article/details/117320796</guid><author>cliukai</author><pubDate>Thu, 27 May 2021 09:45:41 +0800</pubDate><description><![CDATA[在执行下面的语句的时候，总是会出现标题所示的错误。一开始我以为是pip安装包的问题，弄了半天都没结果，后来才明白是系统找不到chromedrivder这个可执行文件的位置，原来是需要本地有一个叫chromedriver这个可执行文件的！
from selenium import webdriver
driver = webdriver.Chrome()

所以第一步，要把chromedriver下载到自己的电脑上，注意版本号要和自己的chrome浏览器版本号对应，否则会出错。
首先去chrome的系统设置中]]></description><category></category></item><item><title><![CDATA[工作之后如何高效的学习？]]></title><link>https://blog.youkuaiyun.com/cliukai/article/details/117076826</link><guid>https://blog.youkuaiyun.com/cliukai/article/details/117076826</guid><author>cliukai</author><pubDate>Thu, 20 May 2021 17:38:59 +0800</pubDate><description><![CDATA[工作之后如何高效的学习？
接近1年不太顺心的工作经历
20年7月完成毕业论文答辩后，匆匆忙忙就进了职场。一开始对工作感到非常期待，刚入司的时候也是十分激动，准备大干一场，给自己定了一个小目标：弄出一个像Airbnb公司出品的superset的数据分析平台，从爬取数据源开始，到数据加工可视化，并包含一些简单的机器学习分析。
因为本科研究生读的都是机械，所以在数据分析上，各方面技能都显得不足，于是拼命学习各种技能，数据分析的numpy, pandas, scikitlearn，可视化的matplotlib, p]]></description><category></category></item><item><title><![CDATA[PostgreSQL pg中的截取补齐lpad函数怎么用？]]></title><link>https://blog.youkuaiyun.com/cliukai/article/details/111375845</link><guid>https://blog.youkuaiyun.com/cliukai/article/details/111375845</guid><author>cliukai</author><pubDate>Fri, 18 Dec 2020 20:01:53 +0800</pubDate><description><![CDATA[PostgreSQL pg中的截取补齐lpad函数怎么用？
1 左边填充，右边截取
PostgreSQL中的lpad()函数有两个功能：

如果长度不够指定的长度，就在左边填充字符串
如果长度超出了指定的长度，就把右边截掉。


The PostgreSQL lpad() function is used to fill up a string of specific length by a substring. If the length of the substring is equal to the ]]></description><category></category></item><item><title><![CDATA[怎么删除C盘中的window.old文件？]]></title><link>https://blog.youkuaiyun.com/cliukai/article/details/111151040</link><guid>https://blog.youkuaiyun.com/cliukai/article/details/111151040</guid><author>cliukai</author><pubDate>Mon, 14 Dec 2020 10:36:33 +0800</pubDate><description><![CDATA[怎么删除C盘中的Window.old文件？

最近又自动更新了一次win10系统，开机后发现系统盘一下满了，郁闷之余打开C盘一看，好家伙，有个25个GB的Windows.old文件夹！兄弟别怪我不客气，回收站里见哈，我一个猛击删除，结果被告知权限不够无法删除，这是我的电脑还是你微软的电脑？心中一阵沸腾。。。


说干就干。首先在空白处右击打开属性，点击磁盘清理，但是在要删除的文件中，依然是找不到能清理windows更新文件这个选项的，我被欺骗了？别急，这时候再点击清理系统文件，然后这个窗口就自动关闭了。

]]></description><category></category></item><item><title><![CDATA[用flask+echarts打造一个数据可视化大屏幕]]></title><link>https://blog.youkuaiyun.com/cliukai/article/details/109083366</link><guid>https://blog.youkuaiyun.com/cliukai/article/details/109083366</guid><author>cliukai</author><pubDate>Wed, 14 Oct 2020 21:12:55 +0800</pubDate><description><![CDATA[文章目录1. big_screen项目说明2. big_screen项目文件布局3. 四大模块核心代码分析3.1 数据准备模块3.2 flask网页服务模块3.3 网页视图模块a. 网页大标题b. 左右两栏的图表c. 中间一栏的图表d. 图表echarts属性设置3.4 static静态元素分析a. 显示时间的函数b. 页面淡入和视图自适应的函数4. 总结
1. big_screen项目说明
源自github上逛到的一个项目，用flask和echarts实现了一个大屏幕显示，运行app.py后，在网页上输入]]></description><category></category></item><item><title><![CDATA[ubuntu18 安装完怎么设置中文输入法？]]></title><link>https://blog.youkuaiyun.com/cliukai/article/details/108903163</link><guid>https://blog.youkuaiyun.com/cliukai/article/details/108903163</guid><author>cliukai</author><pubDate>Fri, 02 Oct 2020 17:24:49 +0800</pubDate><description><![CDATA[ubuntu18 安装完怎么设置中文输入法？
大部分小伙伴在安装好系统之后，都会想要去安装一个中文输入法吧。这时候发现系统是英文的，于是去设置里面把语言和输入源都改为中文，如下图所示，并且菜单栏中也出现了一个ch的中文输入法，本想着大功告成，可是为什么还是无法打出中文呢？
因为输入源这里只指定了是中文，并没有指定具体哪个输入法呀！

其实设置完汉语之后，可以再次这里点击输入源里面的+号，然后选择汉语，神奇的事情出现了，这里出现了弹出的输入法选择菜单！可以继续选择具体的输入法，最后点击添加完成。

将这个输入]]></description><category></category></item><item><title><![CDATA[select下拉框如何触发函数并传递参数]]></title><link>https://blog.youkuaiyun.com/cliukai/article/details/108593892</link><guid>https://blog.youkuaiyun.com/cliukai/article/details/108593892</guid><author>cliukai</author><pubDate>Tue, 15 Sep 2020 09:59:46 +0800</pubDate><description><![CDATA[select下拉框和函数触发怎么写
首先需要写select下拉框的HTML代码，标准格式如下
&lt;form&gt;
    &lt;select id="para_region" name="para" onchange="change()"&gt;
        &lt;option value = 1 &gt;选择1&lt;/option&gt;
        &lt;option value = 2 &gt;选择2&lt;/option&gt;
        &lt;option value]]></description><category></category></item><item><title><![CDATA[RFM模型的理解和python案例分析]]></title><link>https://blog.youkuaiyun.com/cliukai/article/details/108570371</link><guid>https://blog.youkuaiyun.com/cliukai/article/details/108570371</guid><author>cliukai</author><pubDate>Sun, 13 Sep 2020 23:40:46 +0800</pubDate><description><![CDATA[RFM模型是什么
RFM是客户关系管理（CRM：Customer Relationship Management）中一种重要的分析模型，通过研究一个客户的交易时间、交易频率和交易总金额来衡量客户的价值，从而做出一些精细化营销的行为。
具体的RFM定义如下：

R（Recency）：最近的一次交易时间与现在的时间间隔
F（Frequency）：用户在一段时间内的交易次数
M（Monetary）：用户在一段时间内的交易金额总数

RFM客户分类
RFM模型的核心目的就是对用户黏性、忠诚度和收入这三个维度进行数值]]></description><category></category></item><item><title><![CDATA[VMware虚拟机中ubuntu的磁盘怎么扩容]]></title><link>https://blog.youkuaiyun.com/cliukai/article/details/108240360</link><guid>https://blog.youkuaiyun.com/cliukai/article/details/108240360</guid><author>cliukai</author><pubDate>Wed, 26 Aug 2020 15:12:52 +0800</pubDate><description><![CDATA[VMware虚拟机中ubuntu的磁盘怎么扩容
之前在vm中安装ubuntu18.04的时候，觉得30GB已经挺大了，结果在linux里安装了hadoop一圈的软件，然后又安装了idea，eclipse，pycharm，anaconda等一系列软件，今天打开资源管理器的时候，系统警告空间不足。

想都没想，我就把ubuntu关了，然后在虚拟机中给分配到了50GB，重新启动，我去，怎么还是只有30个G。网上搜了一圈才明白，原来后面分配的20个G，属于未分配的资源，晕。一开始以为扩容很简单，结果看了许多博客，倒]]></description><category></category></item><item><title><![CDATA[Java异常处理学习笔记（抛出、捕获、finally、异常传播、NPE、断言、日志）]]></title><link>https://blog.youkuaiyun.com/cliukai/article/details/106671334</link><guid>https://blog.youkuaiyun.com/cliukai/article/details/106671334</guid><author>cliukai</author><pubDate>Wed, 10 Jun 2020 17:27:22 +0800</pubDate><description><![CDATA[Java中的异常是什么？
Java异常本质上一种class，继承关系如下图所示，Error是严重的错误，程序无能为力，RuntimeException是在运行过程中发生的异常，其余的异常在编写程序的时候就应该检查并处理。
异常继承树

哪些异常必须捕获？
除了Error，RuntimeException和他们的子类，其余的异常都必须被捕获。
try{}、throws抛出异常catch(){}捕获
如果不写try{}catch(){}会怎样？
// try...catch
import java.util.A]]></description><category></category></item><item><title><![CDATA[Java核心类笔记（字符串方法、StringBuilder(Joiner)、包装、JavaBean、枚举、Math、随机数）]]></title><link>https://blog.youkuaiyun.com/cliukai/article/details/106655376</link><guid>https://blog.youkuaiyun.com/cliukai/article/details/106655376</guid><author>cliukai</author><pubDate>Wed, 10 Jun 2020 07:30:48 +0800</pubDate><description><![CDATA[String字符串注意点和常用方法
怎样理解字符串的不可变性？

在Java中，String是通过private final char[]实现的，没有任何修改char[]的方法，所以是不可变的。

在字符串操作中，其实是复制了一份新的字符串，然后再进行操作，返回的是新的字符串，不是在原有的字符串上进行操作。
如果想要改变的话，可以用char[] cs = "hello".toCharArray()把字符串转换成字符型数组，然后改变字符型数组。
为什么字符串不能用==比较？
因为字符串默认是一种引用，如果直接]]></description><category></category></item><item><title><![CDATA[Java面向对象基础学习笔记（构造、重载、继承、多态、抽象类、接口、模块）]]></title><link>https://blog.youkuaiyun.com/cliukai/article/details/106608208</link><guid>https://blog.youkuaiyun.com/cliukai/article/details/106608208</guid><author>cliukai</author><pubDate>Sun, 07 Jun 2020 21:52:30 +0800</pubDate><description><![CDATA[Java面向对象编程包含哪些内容？

怎么理解面向对象编程？
现实生活中，我们定义了“人”的抽象概念，这就是类class，生活中的每一个具体的人就是实例instance。
class就是一种模板，本身是一种数据类型。
instance是根据模板创建的对象，每一个模板可以创造不同的对象，且各个对象之间属性可以不同。

举个例子，左边的模子就是类class，右边的爱心鸡蛋就是实例instance。
class类似于C语言里面的struct结构体，可以封装一系列的变量（字段field），最终相当于一个新的数据结构]]></description><category></category></item><item><title><![CDATA[Java数组学习笔记（遍历、排序、多维数组、命令行参数）]]></title><link>https://blog.youkuaiyun.com/cliukai/article/details/106568125</link><guid>https://blog.youkuaiyun.com/cliukai/article/details/106568125</guid><author>cliukai</author><pubDate>Fri, 05 Jun 2020 12:45:26 +0800</pubDate><description><![CDATA[文章目录数组的遍历和快速打印冒泡排序和快速排序数组和字符串排序的区别多维数组建立和输出命令行向main()传递参数
数组的遍历和快速打印
一、数组的遍历
数组的遍历有两种方法，一种是使用for循环，另一种是使用for each。
for each的基本使用方法为：
for (int element:ns) {
  System.out.println(element);							// element直接返回ns数组里面的元素
}	

需要注意的是：

使用for each看起来更加简洁
但是在使用for]]></description><category></category></item><item><title><![CDATA[Java数组基础笔记（引用、字符串数组）]]></title><link>https://blog.youkuaiyun.com/cliukai/article/details/106560855</link><guid>https://blog.youkuaiyun.com/cliukai/article/details/106560855</guid><author>cliukai</author><pubDate>Thu, 04 Jun 2020 23:41:55 +0800</pubDate><description><![CDATA[文章目录数组的新建数组的引用概念字符串数组引用的奇妙
数组的新建
数组的新建有多种方式，需要注意返回值类型是int[]，新建方式如下几种：
int[] ns；
ns = new int[] {10,20,30,40,50};

int[] ns = new int[5];						

int[] ns = new int[]{10,20,30,40,50};

int[] ns = {10,20,30,40,50};

小练习
public class Students {
	public static ]]></description><category></category></item><item><title><![CDATA[Mac os 10.15配置Java14和Eclipse环境]]></title><link>https://blog.youkuaiyun.com/cliukai/article/details/106560781</link><guid>https://blog.youkuaiyun.com/cliukai/article/details/106560781</guid><author>cliukai</author><pubDate>Thu, 04 Jun 2020 23:34:02 +0800</pubDate><description><![CDATA[文章目录下载安装JDK14配置bash_profile安装Eclipse以及基本设置使用eclipse新建一个项目eclipse插件目录在哪里
下载安装JDK14
前往官网下载，Safari浏览器每次下载的文件只有5kb，所以建议使用chrome浏览器下载。
随后根据提示一步步安装即可。
配置bash_profile
首先打开并配置bash文件，如果是第一次配置的话，直接打开配置文件会报错提示文件不存在，需要先新建一个文件，再打开编辑。
touch .bash_profile			# 首先新建一个配置文件
]]></description><category></category></item><item><title><![CDATA[Matlab怎样将传递函数转换成差分方程]]></title><link>https://blog.youkuaiyun.com/cliukai/article/details/103673086</link><guid>https://blog.youkuaiyun.com/cliukai/article/details/103673086</guid><author>cliukai</author><pubDate>Mon, 23 Dec 2019 21:14:50 +0800</pubDate><description><![CDATA[最近在做毕业设计，自己的控制对象描述形式是传递函数，而书里看到的大部份被控对象都是差分方程的形式，就想有没有这种转换的方法，网上搜索了一圈，总结如下。
步骤一，先建立传递函数方程
首先给定一个连续的传递函数，例如一个二阶传递函数

在MATLAB里面的描述如下：
sys=tf([3,1],[1,2,5]);       % 建立被控对象传递函数

步骤二：将传递函数离散化
将传递函数离散成如下z函...]]></description><category></category></item></channel></rss>