<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[YAOYU007的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/YAOYU007</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; YAOYU007]]></copyright><item><title><![CDATA[react webpack 启动 Field ‘browser‘ doesn‘t contain a valid ali]]></title><link>https://blog.youkuaiyun.com/YAOYU007/article/details/117383568</link><guid>https://blog.youkuaiyun.com/YAOYU007/article/details/117383568</guid><author>YAOYU007</author><pubDate>Sat, 29 May 2021 13:10:09 +0800</pubDate><description><![CDATA[在react 脚手架项目中配置webpack , 启动时报错如图


]]></description><category></category></item><item><title><![CDATA[flex 实现水平布局 三等分]]></title><link>https://blog.youkuaiyun.com/YAOYU007/article/details/117219582</link><guid>https://blog.youkuaiyun.com/YAOYU007/article/details/117219582</guid><author>YAOYU007</author><pubDate>Mon, 24 May 2021 10:54:18 +0800</pubDate><description><![CDATA[.box{
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    align-items:center
    
}

对应的html 如下：


&lt;div class="box"&gt;
    &lt;div&gt;已售&lt;div&gt;
    &lt;div&gt;库存&lt;div&gt;
    &lt;div&gt;分享&lt;div&gt;
&lt;/div&gt;
.]]></description><category></category></item><item><title><![CDATA[xxl-job集群通过DB锁实现调度一致性,防止调度重复]]></title><link>https://blog.youkuaiyun.com/YAOYU007/article/details/110003648</link><guid>https://blog.youkuaiyun.com/YAOYU007/article/details/110003648</guid><author>YAOYU007</author><pubDate>Mon, 23 Nov 2020 18:05:22 +0800</pubDate><description><![CDATA[当调度中心是集群的情况下，是怎么保证调度不会重复的呢？

在xxl-job 的官方文档中是这样说的


基于数据库的集群方案，数据库选用Mysql；集群分布式并发环境中进行定时任务调度时，会在各个节点会上报任务，存到数据库中，执行时会从数据库中取出触发器来执行，如果触发器的名称和执行时间相同，则只有一个节点去执行此任务。


其中表结构是这样的



表结构如下


CREATE TABLE `xxl_job_lock` (
  `lock_name` varchar(50) NOT NULL COMMEN]]></description><category></category></item><item><title><![CDATA[【记一次mysql优化】使用or 条件使索引失效]]></title><link>https://blog.youkuaiyun.com/YAOYU007/article/details/109818713</link><guid>https://blog.youkuaiyun.com/YAOYU007/article/details/109818713</guid><author>YAOYU007</author><pubDate>Thu, 19 Nov 2020 17:29:57 +0800</pubDate><description><![CDATA[失效指的是，条件中如果有or，只要其中一个条件没有索引，其他字段有索引也不会使用。


查询语句是这样的


SELECT
*
FROM
GLIDE g,
WORKER w,
MANAGER_PATH p,
SITE s
WHERE
g.R_WORKER_ID = w.WORKER_ID
AND w.WORKER_ID = p.WORKER_ID
AND s.ID = g.G_COM_STIE_ID
AND
(g.R_WORKER_ID = '00333866'
OR g.INSERT_WORKER_ID.]]></description><category></category></item><item><title><![CDATA[lambda 对List对象根据对象属性分组，返回map]]></title><link>https://blog.youkuaiyun.com/YAOYU007/article/details/109747813</link><guid>https://blog.youkuaiyun.com/YAOYU007/article/details/109747813</guid><author>YAOYU007</author><pubDate>Tue, 17 Nov 2020 17:32:21 +0800</pubDate><description><![CDATA[对象实体类如下：


@Getter
@Setter
public class Detail implements Serializable {
	/**
	 * @Fields serialVersionUID:序列化ID
	 */
	private static final long serialVersionUID = 1L;
	/**  */
	private Integer id;
	private String name;
	private Integer type;
	private Stri]]></description><category></category></item><item><title><![CDATA[阿里oss分片上传大文件]]></title><link>https://blog.youkuaiyun.com/YAOYU007/article/details/109545111</link><guid>https://blog.youkuaiyun.com/YAOYU007/article/details/109545111</guid><author>YAOYU007</author><pubDate>Sat, 07 Nov 2020 13:40:14 +0800</pubDate><description><![CDATA[有一个需求，需要把一个20多G的视频放到内部网站供内部人员学习，我们的存储空间是阿里云，然后通过拖拽上传的时候会提示 最大只能上传5G的文件，如果需要上传的话，得走分片上传。

以下是分片上传的代码


import com.aliyun.oss.OSSClient;
import com.aliyun.oss.model.*;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import j]]></description><category></category></item><item><title><![CDATA[mybatis一对多关联查询]]></title><link>https://blog.youkuaiyun.com/YAOYU007/article/details/105953466</link><guid>https://blog.youkuaiyun.com/YAOYU007/article/details/105953466</guid><author>YAOYU007</author><pubDate>Wed, 06 May 2020 16:52:06 +0800</pubDate><description><![CDATA[题目对象 Subject


import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
@Data
public class Subject implements Serializable {
	/***
	 * @Fields serialVersionUID:序...]]></description><category></category></item><item><title><![CDATA[java日期加减固定的天数]]></title><link>https://blog.youkuaiyun.com/YAOYU007/article/details/105949123</link><guid>https://blog.youkuaiyun.com/YAOYU007/article/details/105949123</guid><author>YAOYU007</author><pubDate>Wed, 06 May 2020 13:37:38 +0800</pubDate><description><![CDATA[Date date = new Date();
//加一天 
Date endTime = new Date(date.getTime() +  24 * 60 * 60 * 1000);
//减一天
Date beforeTime = new Date(date.getTime() -  24 * 60 * 60 * 1000);


]]></description><category></category></item><item><title><![CDATA[lambda用法 把list集合转化成map]]></title><link>https://blog.youkuaiyun.com/YAOYU007/article/details/105855207</link><guid>https://blog.youkuaiyun.com/YAOYU007/article/details/105855207</guid><author>YAOYU007</author><pubDate>Thu, 30 Apr 2020 10:00:01 +0800</pubDate><description><![CDATA[List&lt;Subject&gt; subjectList = subjectService.getSubjectByCatalogId(sskInputBaen.getCatalogId());
            HashMap&lt;Integer,Subject&gt; map = new HashMap();
            subjectLis...]]></description><category></category></item><item><title><![CDATA[利用java反射机制，对比两个对象的差异]]></title><link>https://blog.youkuaiyun.com/YAOYU007/article/details/91962664</link><guid>https://blog.youkuaiyun.com/YAOYU007/article/details/91962664</guid><author>YAOYU007</author><pubDate>Fri, 14 Jun 2019 12:20:25 +0800</pubDate><description><![CDATA[package com.compare;

import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.lang.reflect.Method;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Ar...]]></description><category></category></item><item><title><![CDATA[poi导入表格，cell内容格式不匹配 cannot cast to]]></title><link>https://blog.youkuaiyun.com/YAOYU007/article/details/91946514</link><guid>https://blog.youkuaiyun.com/YAOYU007/article/details/91946514</guid><author>YAOYU007</author><pubDate>Fri, 14 Jun 2019 08:51:57 +0800</pubDate><description><![CDATA[先全部以String的形式接收，然后转换成你需要的类型。


public static String getCellValue(Cell cell) {
		String re = "";
		if (null != cell) {
			switch (cell.getCellType()) {
			// 数字
			case HSSFCell.CELL_TYPE_NUMERIC:
				...]]></description><category></category></item><item><title><![CDATA[react 上传excel处理成json数据后发送请求]]></title><link>https://blog.youkuaiyun.com/YAOYU007/article/details/87912737</link><guid>https://blog.youkuaiyun.com/YAOYU007/article/details/87912737</guid><author>YAOYU007</author><pubDate>Mon, 25 Feb 2019 11:14:28 +0800</pubDate><description><![CDATA[最近接到一个需求，是导入excel表格，请求后台的接口需要提供两个数据，一个是导入的数据对应的分类id，一个是导入的数据对应的json类型，这就要求在请求之前要把excel数据处理成json数据，前端用的是react框架，首先是界面


&amp;lt;Button icon=&quot;plus&quot;&amp;gt;
    import
    &amp;lt;input type=&quot;file&quot; onChange={()=&amp;gt;...]]></description><category></category></item><item><title><![CDATA[TCP的三次握手和四次挥手（摘录）]]></title><link>https://blog.youkuaiyun.com/YAOYU007/article/details/87877069</link><guid>https://blog.youkuaiyun.com/YAOYU007/article/details/87877069</guid><author>YAOYU007</author><pubDate>Fri, 22 Feb 2019 13:56:47 +0800</pubDate><description><![CDATA[TCP是一种面向连接的单播协议，在发送数据前，通信双方必须在彼此间建立一条连接。所谓的“连接”，其实是客户端和服务器的内存里保存的一份关于对方的信息，如IP地址、端口号等。

TCP可以看成是一种字节流，它会处理IP层或以下的层的丢包、重复以及错误问题。在连接的建立过程中，双方需要交换一些连接的参数，这些参数可以放在TCP头部。

TCP提供了一种可靠、面向连接、字节流、传输层的服务，采用三次握手...]]></description><category></category></item><item><title><![CDATA[ant design table 复选框，操作之后有残留]]></title><link>https://blog.youkuaiyun.com/YAOYU007/article/details/84550106</link><guid>https://blog.youkuaiyun.com/YAOYU007/article/details/84550106</guid><author>YAOYU007</author><pubDate>Mon, 26 Nov 2018 16:54:33 +0800</pubDate><description><![CDATA[在使用ant design 的table组件时，我发现了一个问题，在勾选了某一行，然后进行修改、删除等操作，紧接着更新表格数据之后，复选框是会残留的，并不会自动清除。下面代码可以解决这个问题


class Language extends React.Component{
       constructor(props){
            super(props);
         ...]]></description><category></category></item><item><title><![CDATA[react + spring boot 菜单权限控制-动态加载二级菜单]]></title><link>https://blog.youkuaiyun.com/YAOYU007/article/details/84135566</link><guid>https://blog.youkuaiyun.com/YAOYU007/article/details/84135566</guid><author>YAOYU007</author><pubDate>Fri, 16 Nov 2018 11:37:07 +0800</pubDate><description><![CDATA[首先是给路径建表，存在数据库里


SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for `route_config`
-- ----------------------------
DROP TABLE IF EXISTS `route_config`;
CREATE TABLE `rou...]]></description><category></category></item><item><title><![CDATA[关于ant design table加scroll属性后列跟表头不对齐]]></title><link>https://blog.youkuaiyun.com/YAOYU007/article/details/83026107</link><guid>https://blog.youkuaiyun.com/YAOYU007/article/details/83026107</guid><author>YAOYU007</author><pubDate>Fri, 12 Oct 2018 14:19:35 +0800</pubDate><description><![CDATA[
class Home extends React.Component {
  render() {
    const dataSource = [{
      key: '1',
      name: '胡彦斌',
      age: 32,
      address: '西湖区湖底公园1号'
    }, {
      key: '2',
      name: '胡彦祖',
  ...]]></description><category></category></item><item><title><![CDATA[通过jquery + jsonp  的跨域访问状态码是200，但跳转到error]]></title><link>https://blog.youkuaiyun.com/YAOYU007/article/details/82591885</link><guid>https://blog.youkuaiyun.com/YAOYU007/article/details/82591885</guid><author>YAOYU007</author><pubDate>Mon, 10 Sep 2018 16:43:41 +0800</pubDate><description><![CDATA[先上代码


@RequestMapping(&quot;/hello&quot;)
	public String hello(HttpServletRequest request) {
		return JSON.toJSONString(&quot;hello&quot;);
	}

这是后台代码，通过http://localhost:8080/hello来访问


handleClick(){
    $.ajax({
     ...]]></description><category></category></item><item><title><![CDATA[react map 双重循环 嵌套循环]]></title><link>https://blog.youkuaiyun.com/YAOYU007/article/details/82350346</link><guid>https://blog.youkuaiyun.com/YAOYU007/article/details/82350346</guid><author>YAOYU007</author><pubDate>Mon, 03 Sep 2018 16:17:17 +0800</pubDate><description><![CDATA[实现效果：

如图，数据是模拟后台输出的json，通过双重循环将数据放到侧边栏中



json数据如下


{
	&quot;items&quot;:[
	{
		&quot;item&quot;: &quot;BeJson&quot;,
		&quot;menuItem&quot;: [&quot;menu1&quot;,&quot;menu2&quot;,&quot;menu3&quot;]
	},
	{
		&quot;item&quot;: &quot;mary&quot;,
		&quot;me]]></description><category></category></item><item><title><![CDATA[react map遍历 ‘number’ is not defined no-undef]]></title><link>https://blog.youkuaiyun.com/YAOYU007/article/details/82177577</link><guid>https://blog.youkuaiyun.com/YAOYU007/article/details/82177577</guid><author>YAOYU007</author><pubDate>Wed, 29 Aug 2018 09:04:50 +0800</pubDate><description><![CDATA[最近在学习react,跟着网上的例子敲的时候，在map遍历出了个小问题 

代码是这样的


const data = [1,2,3,4,5];
const listItems = data.map((item) =&amp;gt; &amp;lt;li key={number.toString()}&amp;gt;{item}&amp;lt;/li&amp;gt;);
ReactDOM.render(
	&amp;lt;ul&amp;gt;{list...]]></description><category></category></item><item><title><![CDATA[405 method not allowed]]></title><link>https://blog.youkuaiyun.com/YAOYU007/article/details/81945107</link><guid>https://blog.youkuaiyun.com/YAOYU007/article/details/81945107</guid><author>YAOYU007</author><pubDate>Wed, 22 Aug 2018 15:38:57 +0800</pubDate><description><![CDATA[

用Postman测一个接口的时候，返回了405，百度搜，都说把post请求改成get就可以了，但是，代码是这样的 。（公司前辈写的，我只是按要求改了中间的一个小细节）


@GetMapping(&quot;getPlayHistoryInfo&quot;)
	public String getLivePlayHistoryInfo(
			@RequestParam(&quot;usertoken&quot;) String us...]]></description><category></category></item></channel></rss>