<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[DevelopmentStack的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/DevelopmentStack</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; DevelopmentStack]]></copyright><item><title><![CDATA[Android使用Okhttp进行数据交互]]></title><link>https://blog.youkuaiyun.com/DevelopmentStack/article/details/117826008</link><guid>https://blog.youkuaiyun.com/DevelopmentStack/article/details/117826008</guid><author>DevelopmentStack</author><pubDate>Fri, 11 Jun 2021 19:36:35 +0800</pubDate><description><![CDATA[前言

在遇到Android数据交互的情况时，思考过采取什么方式，在经过一段时间的学习，最终采取Okhttp这一个轻量级网络框架。

1、工具类实现
public class OkHttpUtil {

    public final static String TAG = "OkHttpUtil";
    public final static int CONNECT_TIMEOUT = 60;
    public final static int READ_TIMEOUT = 100;
    p]]></description><category></category></item><item><title><![CDATA[JVisualVM的使用教程]]></title><link>https://blog.youkuaiyun.com/DevelopmentStack/article/details/117385852</link><guid>https://blog.youkuaiyun.com/DevelopmentStack/article/details/117385852</guid><author>DevelopmentStack</author><pubDate>Thu, 10 Jun 2021 14:41:43 +0800</pubDate><description><![CDATA[一、前言
JVisualVM是一个Java虚拟机的监控工具，要是需要对JVM的性能进行监控可以使用这个工具哦
使用这个工具，你就可以监控到java虚拟机的gc过程了
那么，这么强大的工具怎么下载呢？
在JDK1.6后的版本是自带这个工具，它就在你的jdk的bin目录上

如果是默认安装的JDK，一般就在C盘，Program Files的java目录，就会看到你的jdk版本，点进去之后打开bin这个文件夹，就可以看到这个软件了
二、启动JVisualVM
1.进入jdk安装目录的bin目录，双击打开这个程序
]]></description><category></category></item><item><title><![CDATA[MySQL中的join查询]]></title><link>https://blog.youkuaiyun.com/DevelopmentStack/article/details/117715726</link><guid>https://blog.youkuaiyun.com/DevelopmentStack/article/details/117715726</guid><author>DevelopmentStack</author><pubDate>Wed, 09 Jun 2021 09:22:40 +0800</pubDate><description><![CDATA[前言
Mysql的join是什么，join这个单词的意思是加入、参加、连接，而在数据库中，也是连接的意思，将两个表连接起来查询出我们想要的数据。在数据库中，join的用法主要分成三种，分别是左连接、右连接和内连接，但是实际运用中，两个表之间的操作，是一共有七种，那我们今天就开始认识一下这七种用法吧
下面所有的椭圆都代表两个不同的表，假定左边为test1表，右边的为test2表，下面是两个表的情况

test1表有uid、名字和地区三个字段

test2表有uid、姓名、性别和年龄四个字段
1.全连接
如图，]]></description><category></category></item><item><title><![CDATA[使用SpringBoot + WebSocket实现单人聊天]]></title><link>https://blog.youkuaiyun.com/DevelopmentStack/article/details/117706562</link><guid>https://blog.youkuaiyun.com/DevelopmentStack/article/details/117706562</guid><author>DevelopmentStack</author><pubDate>Tue, 08 Jun 2021 16:16:13 +0800</pubDate><description><![CDATA[前言
最近在做一个聊天功能，具体需求：类似微信，在一个好友列表中，点击某个好友就可以建立与该好友的聊天连接，向该好友发送消息，对方能够实时显示出来，进行真正意义上的聊天。
在做之前，不管在界面布局，还是功能实现方面都下了一点功夫，最终还是一点点实现了，现在就记录一下。

在编码之前得先了解一下WebSocket


什么是WebSocket?


WebSocket，即Web浏览器与Web服务器之间全双工通信标准；是HTML5中的协议，支持持久连续，http协议不支持持久性连接。Http1.0和HTTP1.]]></description><category></category></item><item><title><![CDATA[Docker中的Redis、RabbitMQ及Nacos的密码修改]]></title><link>https://blog.youkuaiyun.com/DevelopmentStack/article/details/117660626</link><guid>https://blog.youkuaiyun.com/DevelopmentStack/article/details/117660626</guid><author>DevelopmentStack</author><pubDate>Mon, 07 Jun 2021 14:42:03 +0800</pubDate><description><![CDATA[Redis的密码修改
1、进入 Docker 容器
首先，在 Docker 容器中 进入 Redis 客户端，代码如下：
[root@localhost ~]# docker exec -it b9e507a86439 redis-cli

其中 b9e507a86439 是我 Docker 中的 Redis 容器 ID，使用docker ps即可查看自己容器中的 Redis ID

然后，出现认证问题，应该是 Redis 设置了认证密码，输入密码既可以啦（注意密码是字符串形式！）
127.0.0.1:63]]></description><category></category></item><item><title><![CDATA[前端模块打包之Webpack]]></title><link>https://blog.youkuaiyun.com/DevelopmentStack/article/details/117624829</link><guid>https://blog.youkuaiyun.com/DevelopmentStack/article/details/117624829</guid><author>DevelopmentStack</author><pubDate>Sun, 06 Jun 2021 13:18:35 +0800</pubDate><description><![CDATA[前端模块打包之Webpack
前言
这里总结一下，自己在学习webpack时，比较疑惑的地方
1、什么是webpack?
webpack是前端模块化打包工具，它把一切都看成模块，比如css、js、图片文件等都可以看成模块，再通过一些loader（加载器）和plugin（插件）对资源进行处理，打包成符合生产环境的前端资源。
2、为什么需要webpack?


多模块文件依赖，增加代码复用性
传统引入资源类似这种形式，没有模块化关系。
&lt;body&gt;
    &lt;script type="text]]></description><category></category></item><item><title><![CDATA[数据库常见错误码]]></title><link>https://blog.youkuaiyun.com/DevelopmentStack/article/details/117594295</link><guid>https://blog.youkuaiyun.com/DevelopmentStack/article/details/117594295</guid><author>DevelopmentStack</author><pubDate>Sat, 05 Jun 2021 14:02:15 +0800</pubDate><description><![CDATA[前言
我们知道网页有他的状态码，比如最常见的404，500,。都有他自己的含义，但是，在MySQL数据库里面也有他们的一个错误码，相信很多同学见过但是没有注意到吧。很多时候，进行数据库操作的时候，会提示错误，但是大部分同学都会选择直接重写语句而不是先考虑如何根据错误信息来修改，其实学会看错误码，能够快速的定位自己的错误，更容易就能解决问题哦
那么，我们现在就介绍一下几种比较常见的错误码吧
常见错误码
1.1007
我们创建一个叫test的数据库的时候，发现创建失败，显示错误代码为1007，错误信息是Can']]></description><category></category></item><item><title><![CDATA[数据库错误码大全]]></title><link>https://blog.youkuaiyun.com/DevelopmentStack/article/details/117578210</link><guid>https://blog.youkuaiyun.com/DevelopmentStack/article/details/117578210</guid><author>DevelopmentStack</author><pubDate>Sat, 05 Jun 2021 13:24:52 +0800</pubDate><description><![CDATA[0 操作成功完成。
1 功能错误。
2 系统找不到指定的文件。
3 系统找不到指定的路径。
4 系统无法打开文件。
5 拒绝访问。
6 句柄无效。
7 存储控制块被损坏。
8 存储空间不足，无法处理此命令。
9 存储控制块地址无效。
10 环境错误。
11 试图加载格式错误的程序。
12 访问码无效。
13 数据无效。
14 存储器不足，无法完成此操作。
15 系统找不到指定的驱动器。
16 无法删除目录。
17 系统无法将文件移到不同的驱动器。
18 没有更多文件。
19 介质受写入保护。
20 系统找不]]></description><category></category></item><item><title><![CDATA[Linux下Arthas的简单使用]]></title><link>https://blog.youkuaiyun.com/DevelopmentStack/article/details/117557817</link><guid>https://blog.youkuaiyun.com/DevelopmentStack/article/details/117557817</guid><author>DevelopmentStack</author><pubDate>Fri, 04 Jun 2021 14:24:30 +0800</pubDate><description><![CDATA[前言
前面我们就已经说了Windows怎么使用Arthas了，那今天我们就来聊一下在Linux下的Arthas的使用
一、准备
我们同样也需要准备一个java程序，启动之后不能停止的，那我就用的死循环程序，下面是一个死循环程序，一直输出a的值
public class test {
    public static void main(String[] args) {
        int a = 1;
        while (a==1){
            System.out.print]]></description><category></category></item><item><title><![CDATA[Windows下Arthas的简单使用]]></title><link>https://blog.youkuaiyun.com/DevelopmentStack/article/details/117519411</link><guid>https://blog.youkuaiyun.com/DevelopmentStack/article/details/117519411</guid><author>DevelopmentStack</author><pubDate>Thu, 03 Jun 2021 13:47:11 +0800</pubDate><description><![CDATA[前言
前面我们就已经说了怎么安装Arthas了，那今天我们就来聊一下Arthas的使用
一、准备
我们需要准备一个java程序，启动之后不能停止的，那我就用一个简单的死循环程序
下面是一个死循环程序，一直输出a的值
public class test {
    public static void main(String[] args) {
        int a = 1;
        while (a==1){
            System.out.println(a);
       ]]></description><category></category></item><item><title><![CDATA[在Docker中安装并修改MySQL中的 my.cnf 配置文件]]></title><link>https://blog.youkuaiyun.com/DevelopmentStack/article/details/117487945</link><guid>https://blog.youkuaiyun.com/DevelopmentStack/article/details/117487945</guid><author>DevelopmentStack</author><pubDate>Wed, 02 Jun 2021 23:17:21 +0800</pubDate><description><![CDATA[前言
前期经过MySQL主从复制之后，发现数据库的读写非常慢，而且经常发生MySQL连接数过小，导致整个数据库崩溃的情况。通过修改MySQL中的 my.cnf 配置文件参数，以达到MySQL关系型数据库最大性能的合理利用。
本文共分为三个方面进行讲述：
一、Docker安装MySQL
查看mysql镜像
	sudo docker search mysql
	
拉取mysql
	sudo docker pull mysql
#默认最新版(可自定义5.7)
	
创建容器，并测试，参考链接
 	sudo dock]]></description><category></category></item><item><title><![CDATA[JavaScript之数组去重]]></title><link>https://blog.youkuaiyun.com/DevelopmentStack/article/details/117441868</link><guid>https://blog.youkuaiyun.com/DevelopmentStack/article/details/117441868</guid><author>DevelopmentStack</author><pubDate>Tue, 01 Jun 2021 14:02:58 +0800</pubDate><description><![CDATA[前言
数组去重是很常见的，这里总结一下，自己学过的数组去重的方法
1、数组遍历结合indexOf
indexOf 方法可返回指定元素在数组中首次出现的位置,如果没有，就返回-1
&lt;script&gt;
    var obj1 = {
        name: 'tom',
        age: 18
    };
    var obj2 = {
        name: 'tom',
        age: 18
    };
    console.log(obj1 == obj2);]]></description><category></category></item><item><title><![CDATA[HTTP和HTTPS]]></title><link>https://blog.youkuaiyun.com/DevelopmentStack/article/details/117397401</link><guid>https://blog.youkuaiyun.com/DevelopmentStack/article/details/117397401</guid><author>DevelopmentStack</author><pubDate>Sun, 30 May 2021 14:00:45 +0800</pubDate><description><![CDATA[网络基础之HTTP和HTTPS
前言
最近学习了一下HTTP和HTTPS相关的知识，由于内容比较多，这里总结了一下自己经常错的地方
一、HTTP
1.1 定义
在MDN(https://developer.mozilla.org/zh-CN/docs/Web/HTTP)这样解释
**超文本传输协议（HTTP）**是一个用于传输超媒体文档（例如 HTML）的应用层协议。它是为 Web 浏览器与 Web 服务器之间的通信而设计的，但也可以用于其他目的。HTTP 遵循经典的客户端-服务端模型，客户端打开一个连接以]]></description><category></category></item><item><title><![CDATA[黑盒测试之等价类划分法]]></title><link>https://blog.youkuaiyun.com/DevelopmentStack/article/details/117306230</link><guid>https://blog.youkuaiyun.com/DevelopmentStack/article/details/117306230</guid><author>DevelopmentStack</author><pubDate>Wed, 26 May 2021 21:44:28 +0800</pubDate><description><![CDATA[前言
我们知道黑盒测试里面有很多的测试方法，有等价划分类，边界值分析，错误推测法，随机数，因果图，判定表，正交试验，场景法等等，今天来聊聊等价类划分
一、什么是等价类划分法
太专业的词汇可能不容易理解，那我就用通俗的语言来解释吧。
等价类可以分为有效等价类和无效等价类，就是对程序来说是合法的输入。通俗的来解释呢，就是你去了一家面包店，有效等价类呢就是让你在这家店买面包，无效等价类呢就是让你在面包店买一只鸡回来。显然，面包在面包店是可以买的到的，就是有效的请求，鸡是一般在面包店买不到的（正经的面包店谁卖鸡啊）]]></description><category></category></item><item><title><![CDATA[Zuul源码分析之 网关处理流程]]></title><link>https://blog.youkuaiyun.com/DevelopmentStack/article/details/117256029</link><guid>https://blog.youkuaiyun.com/DevelopmentStack/article/details/117256029</guid><author>DevelopmentStack</author><pubDate>Tue, 25 May 2021 15:05:30 +0800</pubDate><description><![CDATA[Zuul 处理流程
一、spring-cloud-starter-zuul starter


我们先查看spring-cloud-starter-zuul starter包下有什么，这里的重点就是pom.xml文件，ZuulDeprecationWarningAutoConfiguration.java


打开org.springframework.cloud/spring-cloud-starter-zuul/pom.xml ，可以看到是依赖了spring-cloud-starter-netflix-]]></description><category></category></item><item><title><![CDATA[打包微服务前后端分离项目并部署到服务器 --- 分布式 Spring Cloud + 页面渲染 Nuxt.js]]></title><link>https://blog.youkuaiyun.com/DevelopmentStack/article/details/117224362</link><guid>https://blog.youkuaiyun.com/DevelopmentStack/article/details/117224362</guid><author>DevelopmentStack</author><pubDate>Mon, 24 May 2021 16:24:45 +0800</pubDate><description><![CDATA[前言
Spring Cloud项目属于微服务项目，也就是含有多个Sping Boot模块集合而成的项目
Nuxt.js项目属于前端基于Vue的服务端渲染项目
最近在服务器部署上线了一个基于Spring Cloud + 服务端渲染技术Nuxt.js的项目，在这里记录一下
一、部署后端
1、打包
步骤：

在pom.xml中加入打包依赖
在IDEA中点击clean、选择install打包成jar包
在target文件夹中可以看到打包的jar包

注意：如果target文件夹中出现多个jar包，.jar.orig]]></description><category></category></item><item><title><![CDATA[分析Springcloud Stream 消费者端的工作流程]]></title><link>https://blog.youkuaiyun.com/DevelopmentStack/article/details/117173666</link><guid>https://blog.youkuaiyun.com/DevelopmentStack/article/details/117173666</guid><author>DevelopmentStack</author><pubDate>Sun, 23 May 2021 13:26:58 +0800</pubDate><description><![CDATA[通过分析SpringCloud Stream 消费者端的工作流程，涉及到的主要依赖有:
spring-cloud-stream
spring-rabbit
spring-amqp
spring-messaging
amqp-client
1、消息驱动
1.1 分析过程
1.1.1 准备工作
案例中通过rabbitMQ作为消息中间件，完成SpringCloud Stream消息驱动的分析
1.1.2 消息生产者
1.1.2-1 创建工程引入依赖
&lt;dependencies&gt;
   &lt;depe]]></description><category></category></item><item><title><![CDATA[Linux下Arthas的安装和卸载]]></title><link>https://blog.youkuaiyun.com/DevelopmentStack/article/details/117158892</link><guid>https://blog.youkuaiyun.com/DevelopmentStack/article/details/117158892</guid><author>DevelopmentStack</author><pubDate>Sat, 22 May 2021 14:37:14 +0800</pubDate><description><![CDATA[关于Arthas的简介在《Windows下Arthas的安装和卸载》这篇文章写过了，就不重复了直接进入正题
安装步骤其实跟Windows下安装是差不多的，也是下载Arthas的jar包，启动jar包来安装Arthas
方法一，在线安装
1.登录服务器
这个就不多说了，使用服务器的这是基本操作，使用root身份登录服务器

2.进入安装目录
进入你想存放Arthas的jar包的路径，同样的，如果没有就新建，有的话就直接进入，ls命令是显示当前目录下的所有文件夹，可以查看Arthas文件夹有没有创建成功
这里有]]></description><category></category></item><item><title><![CDATA[Windows下Arthas的安装和卸载]]></title><link>https://blog.youkuaiyun.com/DevelopmentStack/article/details/117121965</link><guid>https://blog.youkuaiyun.com/DevelopmentStack/article/details/117121965</guid><author>DevelopmentStack</author><pubDate>Fri, 21 May 2021 17:57:28 +0800</pubDate><description><![CDATA[什么是arthas？
首先Arthas 是Alibaba开源的Java诊断工具。
根据阿里巴巴提供的文档可以知道，arthas可以解决以下问题：

这个类从哪个 jar 包加载的？为什么会报各种类相关的 Exception？
我改的代码为什么没有执行到？难道是我没 commit？分支搞错了？
遇到问题无法在线上 debug，难道只能通过加日志再重新发布吗？
线上遇到某个用户的数据处理有问题，但线上同样无法 debug，线下无法重现！
是否有一个全局视角来查看系统的运行状况？
有什么办法可以监控到JVM的实时]]></description><category></category></item><item><title><![CDATA[几种简单的登录方式的实现——前端+后端]]></title><link>https://blog.youkuaiyun.com/DevelopmentStack/article/details/117073247</link><guid>https://blog.youkuaiyun.com/DevelopmentStack/article/details/117073247</guid><author>DevelopmentStack</author><pubDate>Thu, 20 May 2021 13:41:06 +0800</pubDate><description><![CDATA[登录方式的实现
引言
想了一下之前项目中用到的登录方式，简单的总结一下
1、普通登录

普通登录的实现：根据用户输入的用户名和密码，提交到后台，后台判断用户输入的信息是否在数据库中存在，如果存在就给前端返回数据。
出现的问题：只要数据库存在用户信息，不管任何时候都可以登录，所以存在安全问题，就需要考虑权限控制，安全认证，防止CSRF攻击等问题。

前端代码
$.ajax({
            url: '/login',
            type: 'POST',
            da]]></description><category></category></item></channel></rss>