<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[coding_deliver的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/coding_deliver</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; coding_deliver]]></copyright><item><title><![CDATA[快递100一面(Java)]]></title><link>https://blog.youkuaiyun.com/coding_deliver/article/details/122849509</link><guid>https://blog.youkuaiyun.com/coding_deliver/article/details/122849509</guid><author>coding_deliver</author><pubDate>Wed, 09 Feb 2022 22:25:04 +0800</pubDate><description><![CDATA[面经]]></description><category></category></item><item><title><![CDATA[基本排序算法笔记]]></title><link>https://blog.youkuaiyun.com/coding_deliver/article/details/120396260</link><guid>https://blog.youkuaiyun.com/coding_deliver/article/details/120396260</guid><author>coding_deliver</author><pubDate>Tue, 21 Sep 2021 16:08:30 +0800</pubDate><description><![CDATA[所谓八大排序算法： 冒泡、插入、选择、快速、归并、桶排序、计数排序、基数排序
时间复杂度为O(n²)
冒泡排序
过程
			每一次冒泡都会遍历整个数组，依次对比相邻的元素，符合条件就交换；
			
			原来 ：   1  5  6  8  2
			第一次排序：       1  5  6  8  2  （8&gt;2）交换     8的最终位置找到了 
									 1  5  6  2  8 
									 
			第二次排序          1	5	6	2	8
									1	5]]></description><category></category></item><item><title><![CDATA[七牛云使用（异步、前后分离）]]></title><link>https://blog.youkuaiyun.com/coding_deliver/article/details/119320366</link><guid>https://blog.youkuaiyun.com/coding_deliver/article/details/119320366</guid><author>coding_deliver</author><pubDate>Tue, 21 Sep 2021 13:44:09 +0800</pubDate><description><![CDATA[七牛云官方创建账户
获取AK  跟  SK  这两个密钥
创建私密空间
记录空间名称  还有  地区(华东、华南)
java(SpringBoot)+Vue测试
1Vue导入依赖
npm 下载异步请求的axion
npm  下载qiniu.js SDK
2Maven导入依赖
 &lt;!--java  整合七牛云 依赖包--&gt;
        &lt;dependency&gt;
            &lt;groupId&gt;com.qiniu&lt;/groupId&gt;
        ]]></description><category></category></item><item><title><![CDATA[Hystrix请求合并]]></title><link>https://blog.youkuaiyun.com/coding_deliver/article/details/116805261</link><guid>https://blog.youkuaiyun.com/coding_deliver/article/details/116805261</guid><author>coding_deliver</author><pubDate>Fri, 14 May 2021 21:30:01 +0800</pubDate><description><![CDATA[应用场景
将短时间内的，仅参数不同的多个请求合并成一个请求，这可以在高并发场景下减少线程数量以及网路连接数量。
好处：

在高并发下以及大量重复请求下很有用
增加应用的请求吞吐量

缺点

会导致延迟大幅提上，具体延迟要看如何配置

基本使用：
创建provider提供接口
@RestController
public class UserController {
    @GetMapping("/user/{ids}")
    public List&lt;User&gt; getUserByIds(]]></description><category></category></item><item><title><![CDATA[Restemplate的Get.Post.Put.Delete请求]]></title><link>https://blog.youkuaiyun.com/coding_deliver/article/details/116675164</link><guid>https://blog.youkuaiyun.com/coding_deliver/article/details/116675164</guid><author>coding_deliver</author><pubDate>Tue, 11 May 2021 23:57:03 +0800</pubDate><description><![CDATA[利用Spring框架提供的Restemplate四种常见的请求方法
Get
getForEntity()-----返回响应头跟响应体
getForObject()-----只返回响应体
    @GetMapping("/hello3")
    public String sayHello3() throws IOException {
        //url ,返回值类型
        return restTemplateBalance.getForObject("http://provider]]></description><category></category></item><item><title><![CDATA[Eureka集群注册服务消费]]></title><link>https://blog.youkuaiyun.com/coding_deliver/article/details/116596734</link><guid>https://blog.youkuaiyun.com/coding_deliver/article/details/116596734</guid><author>coding_deliver</author><pubDate>Mon, 10 May 2021 15:26:36 +0800</pubDate><description><![CDATA[Eureka是SpringCloud框架提供的服务消费注册中心，将每一个springboot应用注册到注册中心，由注册中心担任消息中介。
Eureka注册中心基础配置:
#应用名
spring.application.name=eureka

#端口
server.port=1111

#是否将自己注册到注册中心
eureka.client.register-with-eureka=false

#false表示自己端就是注册中心，我的职责就是维护服务实例，并不需要去检索服务
eureka.client.f]]></description><category></category></item><item><title><![CDATA[(Andorid基础)基于SqlLite数据库的增删查改小案例(电话簿)]]></title><link>https://blog.youkuaiyun.com/coding_deliver/article/details/116176364</link><guid>https://blog.youkuaiyun.com/coding_deliver/article/details/116176364</guid><author>coding_deliver</author><pubDate>Mon, 26 Apr 2021 22:54:35 +0800</pubDate><description><![CDATA[SqlLite可以提供应用持久化数据，可储存大量的数据（相比于内部存储）
案例：
效果图

创建布局文件
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
 ]]></description><category></category></item><item><title><![CDATA[(Andorid基础)通过内部存储保存数据于文件案例]]></title><link>https://blog.youkuaiyun.com/coding_deliver/article/details/116139327</link><guid>https://blog.youkuaiyun.com/coding_deliver/article/details/116139327</guid><author>coding_deliver</author><pubDate>Sun, 25 Apr 2021 22:07:10 +0800</pubDate><description><![CDATA[通过内部存储读写文件 ，从而保存数据，但是 不要要保存大量
万事页面始
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddin]]></description><category></category></item><item><title><![CDATA[(Android基础)Intent意图实现携带数据跳转和回传]]></title><link>https://blog.youkuaiyun.com/coding_deliver/article/details/116137975</link><guid>https://blog.youkuaiyun.com/coding_deliver/article/details/116137975</guid><author>coding_deliver</author><pubDate>Sun, 25 Apr 2021 21:01:29 +0800</pubDate><description><![CDATA[在Activity之间跳转可以使用Intent这个桥梁
ps ： 菜鸟教程总结
实例：
实现页面1点击按钮跳转到界面2选择图片后跳转回页面1 并显示
首先创建布局文件：activity_my.xml  界面1
&lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_pa]]></description><category></category></item><item><title><![CDATA[(android基础) RecyclerView使用]]></title><link>https://blog.youkuaiyun.com/coding_deliver/article/details/116092013</link><guid>https://blog.youkuaiyun.com/coding_deliver/article/details/116092013</guid><author>coding_deliver</author><pubDate>Sat, 24 Apr 2021 15:17:18 +0800</pubDate><description><![CDATA[RecyclerView是谷歌提供的控件，与ListView相似，但更强大
1.导入依赖：
    implementation 'com.android.support:recyclerview-v7:28.0.0'
    implementation 'com.android.support:appcompat-v7:28.0.0'

在activity_main.xml创建列表视图
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;RelativeLa]]></description><category></category></item><item><title><![CDATA[(Andorid基础)ListView控件的使用--BasicAdapter]]></title><link>https://blog.youkuaiyun.com/coding_deliver/article/details/116086210</link><guid>https://blog.youkuaiyun.com/coding_deliver/article/details/116086210</guid><author>coding_deliver</author><pubDate>Sat, 24 Apr 2021 12:14:24 +0800</pubDate><description><![CDATA[ListView可用与列表展示数据
数据设配器是数据与视图之间的桥梁
BasicAdapter是最基本的适配器
使用示例：
创建总列表数据试图  activity_main.xml
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:]]></description><category></category></item><item><title><![CDATA[(Android基础)自定义对话框]]></title><link>https://blog.youkuaiyun.com/coding_deliver/article/details/116082332</link><guid>https://blog.youkuaiyun.com/coding_deliver/article/details/116082332</guid><author>coding_deliver</author><pubDate>Sat, 24 Apr 2021 10:24:46 +0800</pubDate><description><![CDATA[系统自带的对话框dialog并不能满足更严格的开发需求，所以需要自定义对话框;
首先创建显示点击按钮布局文件:activity_main.xml
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_hei]]></description><category></category></item><item><title><![CDATA[KNN算法JAVA实现]]></title><link>https://blog.youkuaiyun.com/coding_deliver/article/details/111515575</link><guid>https://blog.youkuaiyun.com/coding_deliver/article/details/111515575</guid><author>coding_deliver</author><pubDate>Tue, 22 Dec 2020 10:59:33 +0800</pubDate><description><![CDATA[KNN算法是一种分类算法，其实啊，KNN的原理就是当预测一个新的值x的时候，根据它距离最近的K个点是什么类别来判断x属于哪个类别。

例如当K=3的时候，也就是取最靠近样本点的三个数据，然后看这三个数据大多数是什么类型的，就将样本点归为什么类；
所以在代码中可以根据距离计算判断：例如二维数据

KNN算法优点
简单易用，相比其他算法，KNN算是比较简洁明了的算法。即使没有很高的数学基础也能搞清楚它的原理。模型训练时间快，上面说到KNN算法是惰性的，这里也就不再过多讲述。预测效果好，对异常值不敏感，毕竟取多数]]></description><category></category></item><item><title><![CDATA[看看什么是Git]]></title><link>https://blog.youkuaiyun.com/coding_deliver/article/details/111086434</link><guid>https://blog.youkuaiyun.com/coding_deliver/article/details/111086434</guid><author>coding_deliver</author><pubDate>Thu, 17 Dec 2020 00:10:44 +0800</pubDate><description><![CDATA[上传项目

首先在项目根目录打开git控制台
初始化git仓库

git init


添加文件

git add excemplefile


提交

git commit -m "demo"


关联仓库

git remote add origin 自己仓库地址


最终提交

git push -u origin master


]]></description><category></category></item><item><title><![CDATA[通过RabbitMQ实现邮箱的发送订阅功能]]></title><link>https://blog.youkuaiyun.com/coding_deliver/article/details/111083664</link><guid>https://blog.youkuaiyun.com/coding_deliver/article/details/111083664</guid><author>coding_deliver</author><pubDate>Sat, 12 Dec 2020 20:17:22 +0800</pubDate><description><![CDATA[邮件配置准备工作
配置邮件服务
#配置邮件
spring.mail.host=smtp.qq.com
spring.mail.username = 1261349543@qq.com
spring.mail.password  = 授权码
spring.mail.port = 587
spring.mail.default-encoding=UTF-8
spring.mail.properties.mail.smtp.socketFactoryClass=javax.net.ssl.SSLSocketFac]]></description><category></category></item><item><title><![CDATA[对文件读写稀疏矩阵]]></title><link>https://blog.youkuaiyun.com/coding_deliver/article/details/110254063</link><guid>https://blog.youkuaiyun.com/coding_deliver/article/details/110254063</guid><author>coding_deliver</author><pubDate>Sat, 28 Nov 2020 03:27:37 +0800</pubDate><description><![CDATA[稀疏数组方便保存只有少量有效数据的数组
创建一个样本数组
int chessArr[][] = new int[11][11];
        chessArr[1][2] = 1;
        chessArr[1][3] = 2;
        chessArr[1][4] = 2;
        chessArr[2][6] = 1;
        chessArr[2][1] = 1;
        for (int[] i : chessArr) {
            for ]]></description><category></category></item><item><title><![CDATA[mysql不能基于一张表的数据修改同一张表的数据]]></title><link>https://blog.youkuaiyun.com/coding_deliver/article/details/110242616</link><guid>https://blog.youkuaiyun.com/coding_deliver/article/details/110242616</guid><author>coding_deliver</author><pubDate>Fri, 27 Nov 2020 19:17:21 +0800</pubDate><description><![CDATA[当mysql报错：1093 - You can’t specify target table ‘department’ for update in FROM clause  的时候，说明你想查询一张表的数据，再根据这个数据修改同一张表的数据，这在mysql是不允许的。但是有其他方法可以实现同样的效果:
原来的sql:
UPDATE department 
SET isParent = 0 
WHERE
	id = ( SELECT parentId FROM department WHERE id = 10]]></description><category></category></item><item><title><![CDATA[RabbitMq消息服务(SpringBoot)]]></title><link>https://blog.youkuaiyun.com/coding_deliver/article/details/109631203</link><guid>https://blog.youkuaiyun.com/coding_deliver/article/details/109631203</guid><author>coding_deliver</author><pubDate>Wed, 11 Nov 2020 23:21:04 +0800</pubDate><description><![CDATA[AMQP
中文名：高级消息队列协议，他是线路层协议规范，所以可以跨平台，就像是HTTP一样，只要按照规范发送数据，就可以通过AMQP进行消息交互，本文基于我安装了超级久的RabbitMQ
RabbitMQ
RabbitMQ 是实现了AMQP的消息中间件，使用Erlang编写，所以使用前要安装Erlang环境
#下载
wget http://erlang.org/download/otp_src_21.0.tar.gz
#解压
tar -zxvf otp_src_21.0.tar.gz
cd otp_src_]]></description><category></category></item><item><title><![CDATA[SpringBoot的WebSocket实现单聊群聊]]></title><link>https://blog.youkuaiyun.com/coding_deliver/article/details/109568091</link><guid>https://blog.youkuaiyun.com/coding_deliver/article/details/109568091</guid><author>coding_deliver</author><pubDate>Mon, 09 Nov 2020 01:08:27 +0800</pubDate><description><![CDATA[说在开头
在HTTP协议中，所有的请求都是由客户端发送给服务端，然后服务端发送请求
要实现服务器向客户端推送消息有几种methods:

轮询
大量无效请求，浪费资源
长轮询
有新数据再推送，但这会导致连接超时，有一定隐患
Applet和Flash
过时，安全隐患，兼容性不好

消息群发
创建新项目:
添加依赖：
        &lt;dependency&gt;
            &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
   ]]></description><category></category></item><item><title><![CDATA[oauth2在SpringBoot怎么用]]></title><link>https://blog.youkuaiyun.com/coding_deliver/article/details/109524079</link><guid>https://blog.youkuaiyun.com/coding_deliver/article/details/109524079</guid><author>coding_deliver</author><pubDate>Fri, 06 Nov 2020 03:26:43 +0800</pubDate><description><![CDATA[Oauth2
oauth2采用令牌的方式让用户灵活地对第三方应用授权访问资源或者撤销权限
授权流程

客户端像用户请求授权
用户同意后服务器返回一个授权凭证
客户端可以拿着凭证访问授权服务器，申请令牌
授权服务器确认无误后，发放令牌
客户端可以拿着令牌访问资源服务器上的资源
资源服务器确认后发放资源

授权模式有四种：

授权码模式：最完整，最严谨，第三方登录基本使用这种模式
简化模式：不需要客户端参与，直接在浏览器中向授权服务器申请令牌
密码模式：用户直接把用户名密码告诉客户端，客户端根据这些信息申请令牌]]></description><category></category></item></channel></rss>