<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Today you do things people will not do,tomorrow you will do things people can not do]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/HandSome_He</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; HandSome_He]]></copyright><item><title><![CDATA[Google支付服务端验证]]></title><link>https://blog.youkuaiyun.com/HandSome_He/article/details/120490311</link><guid>https://blog.youkuaiyun.com/HandSome_He/article/details/120490311</guid><author>HandSome_He</author><pubDate>Sun, 26 Sep 2021 15:48:24 +0800</pubDate><description><![CDATA[转载处:Google支付和服务端验证 - 简书

做服务端验证前，需要做一下准备工作

创建api项目这个和登录用的项目不是同一个
	开启Google Play Android Developer API
	设置oauth同意屏幕（就是拉起开发者授权账号登录时的登录页面）
	创建web应用的oauth客户端ID
	google play开发者后台，API权限菜单中关联刚刚创建的项目，一个google play账号只需要也只能关联一个api项目就行了，这个项目可以查询关联账号中的所有应用的订单
	拉起授权页面]]></description><category></category></item><item><title><![CDATA[JAVA & JS使用protobuffer教程]]></title><link>https://blog.youkuaiyun.com/HandSome_He/article/details/118103953</link><guid>https://blog.youkuaiyun.com/HandSome_He/article/details/118103953</guid><author>HandSome_He</author><pubDate>Tue, 22 Jun 2021 14:00:01 +0800</pubDate><description><![CDATA[一.环境配置

下载protoc包下载地址::https://github.com/google/protobuf/releases||https://share.weiyun.com/S2EXfJ3g
	下载好后直接解压.然后跟配置jdk一样配置环境变量
	检查是否配置成功 打开cmd指令输入 protoc --version 输出版本信息则配置成功
一.java使用protobuffer

创建proto文件.内容如下:
	
	
syntax = "proto3"; // PB协议版本

pack...]]></description><category></category></item><item><title><![CDATA[获取指定月份所有周末日期]]></title><link>https://blog.youkuaiyun.com/HandSome_He/article/details/117444712</link><guid>https://blog.youkuaiyun.com/HandSome_He/article/details/117444712</guid><author>HandSome_He</author><pubDate>Tue, 01 Jun 2021 15:43:00 +0800</pubDate><description><![CDATA[// 获取本月总天数
    public static int getDaysOfMonth(Date date) {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        return calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
    }

    public static Map&lt;String, Strin.]]></description><category></category></item><item><title><![CDATA[netty 基于 protobuf 协议 实现 websocket 版本的简易客服系统]]></title><link>https://blog.youkuaiyun.com/HandSome_He/article/details/117424076</link><guid>https://blog.youkuaiyun.com/HandSome_He/article/details/117424076</guid><author>HandSome_He</author><pubDate>Mon, 31 May 2021 18:09:19 +0800</pubDate><description><![CDATA[转发地址:netty 基于 protobuf 协议 实现 websocket 版本的简易客服系统
]]></description><category></category></item><item><title><![CDATA[Centos7 yum源安装配置 RabbitMQ]]></title><link>https://blog.youkuaiyun.com/HandSome_He/article/details/117252001</link><guid>https://blog.youkuaiyun.com/HandSome_He/article/details/117252001</guid><author>HandSome_He</author><pubDate>Tue, 25 May 2021 11:27:10 +0800</pubDate><description><![CDATA[安装Erlang环境

在安装erlang之前先安装下依赖文件（否则后面./configure的时候要报错)：


	# yum install gcc glibc-devel make ncurses-devel openssl-devel xmlto


2、到erlang官网去下载erlang安装包

官网地址：http://www.erlang.org/downloads


	# wget -c http://erlang.org/download/otp_src_20.2.tar.gz


解压]]></description><category></category></item><item><title><![CDATA[SpringBoot aop 注解方式实现]]></title><link>https://blog.youkuaiyun.com/HandSome_He/article/details/117126549</link><guid>https://blog.youkuaiyun.com/HandSome_He/article/details/117126549</guid><author>HandSome_He</author><pubDate>Fri, 21 May 2021 16:31:29 +0800</pubDate><description><![CDATA[引入依赖包:


&lt;dependency&gt;
    &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
    &lt;artifactId&gt;spring-boot-starter-aop&lt;/artifactId&gt;
&lt;/dependency&gt;

直接代码吧!



import java.lang.annotation.*;

/**
 * @author : Xiao_He
 * @descriptio.]]></description><category></category></item><item><title><![CDATA[CyclicBarrier详解]]></title><link>https://blog.youkuaiyun.com/HandSome_He/article/details/117125569</link><guid>https://blog.youkuaiyun.com/HandSome_He/article/details/117125569</guid><author>HandSome_He</author><pubDate>Fri, 21 May 2021 16:13:57 +0800</pubDate><description><![CDATA[官网解释：

允许一组线程全部等待彼此达到共同屏障点的同步辅助。循环阻塞在涉及固定大小的线程方的程序中很有用，这些线程必须偶尔等待彼此。屏障被称为循环，因为它可以在等待的线程被释放之后重新使用。
意思就是每个线程都得执行到等待点进行等待，直到所有线程都执行到等待点，才会继续往下执行。相当于日常开会，只有等每个参会的人都到之后才会开始会议。


用法：（以王者荣耀组队五黑举例）


CyclicBarrier cyclicBarrier = new CyclicBarrier(5, () -&gt; {
 .]]></description><category></category></item><item><title><![CDATA[关于AOP无法切入同类调用方法的问题]]></title><link>https://blog.youkuaiyun.com/HandSome_He/article/details/117108888</link><guid>https://blog.youkuaiyun.com/HandSome_He/article/details/117108888</guid><author>HandSome_He</author><pubDate>Fri, 21 May 2021 09:47:29 +0800</pubDate><description><![CDATA[一、前言

　　Spring AOP在使用过程中需要注意一些问题，也就是平时我们说的陷阱，这些陷阱的出现是由于Spring AOP的实现方式造成的。每一样技术都或多或少有它的局限性，很难称得上完美，只要掌握其实现原理，在使用时不要掉进陷阱就行，也就是进行规避。

对于Spring AOP的陷阱，我总结了以下两个方面，现在分别进行介绍。

二、各种AOP失败场景

2.1、（public）方法被嵌套使用而失效

Service中的方法调用同Service中的另一个方法时，如此调用并非调用的是代理类中的方法，是]]></description><category></category></item><item><title><![CDATA[mysql SQL语句导入、导出整个库，或者导入、导出某张表的sql文件]]></title><link>https://blog.youkuaiyun.com/HandSome_He/article/details/116655683</link><guid>https://blog.youkuaiyun.com/HandSome_He/article/details/116655683</guid><author>HandSome_He</author><pubDate>Tue, 11 May 2021 15:04:13 +0800</pubDate><description><![CDATA[导入库
  mysql -h127.0.0.1 -u用户名 -p密码 数据库名 &lt; sqlFileName.sql
eg :mysql -h127.0.0.1 -uname -p database_name &lt; sqlFileName.sql
命令如何使用：

mysql：使用mysql命令

-h：后面是紧跟着你要导入的ip:本地要么是127.0.0.1或者是localhost，或者远程公网能访问到的ip地址

-umysql的用户名:一般我们安装上默认是ro...]]></description><category></category></item><item><title><![CDATA[自定义shell脚本.操作tomcat启动|关闭]]></title><link>https://blog.youkuaiyun.com/HandSome_He/article/details/116655176</link><guid>https://blog.youkuaiyun.com/HandSome_He/article/details/116655176</guid><author>HandSome_He</author><pubDate>Tue, 11 May 2021 14:54:29 +0800</pubDate><description><![CDATA[#! /bin/base

## author: xiaohe
## tomcat 启动关闭脚本,需将脚本放置tomcat目录下

tomcat=`pwd`
cmd=$1
shutdown=$tomcat/bin/shutdown.sh
start=$tomcat/bin/startup.sh
pid=`ps -x | grep $tomcat | grep -v "grep"|awk '{print $1}'`

# 判断 pid是否为数字 pid 有时候是root 有点慌
num=0
if echo .]]></description><category></category></item><item><title><![CDATA[centos7环境部署]]></title><link>https://blog.youkuaiyun.com/HandSome_He/article/details/115004708</link><guid>https://blog.youkuaiyun.com/HandSome_He/article/details/115004708</guid><author>HandSome_He</author><pubDate>Fri, 19 Mar 2021 20:06:10 +0800</pubDate><description><![CDATA[一. 安装jdk1.8

安装之前先检查一下系统有没有自带open-jdk

命令：

rpm -qa |grep java

rpm -qa |grep jdk

rpm -qa |grep gcj


如果没有输入信息表示没有安装。

如果安装可以使用rpm-qa|grepjava|xargsrpm-e--nodeps批量卸载所有带有Java的文件这句命令的关键字是java

首先检索包含java的列表

yum list java*

检索1.8的列表
yum list ja...]]></description><category></category></item><item><title><![CDATA[根据IP获取城市.以及禁止国内访问]]></title><link>https://blog.youkuaiyun.com/HandSome_He/article/details/113846013</link><guid>https://blog.youkuaiyun.com/HandSome_He/article/details/113846013</guid><author>HandSome_He</author><pubDate>Thu, 18 Feb 2021 14:17:50 +0800</pubDate><description><![CDATA[源代码地址:根据IP获取城市.以及禁止国内访问
nginx需要添加配置:

      proxy_redirect off;
      proxy_set_header Host $host;
      proxy_set_header  X-real-ip $remote_addr;
      proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
...]]></description><category></category></item><item><title><![CDATA[自动更新纯真IP数据库]]></title><link>https://blog.youkuaiyun.com/HandSome_He/article/details/113615239</link><guid>https://blog.youkuaiyun.com/HandSome_He/article/details/113615239</guid><author>HandSome_He</author><pubDate>Wed, 03 Feb 2021 17:12:29 +0800</pubDate><description><![CDATA[直接地址:

https://github.com/out0fmemory/qqwry.dat
]]></description><category></category></item><item><title><![CDATA[SpringCloud相关笔记一系统架构的演变(一)]]></title><link>https://blog.youkuaiyun.com/HandSome_He/article/details/107520855</link><guid>https://blog.youkuaiyun.com/HandSome_He/article/details/107520855</guid><author>HandSome_He</author><pubDate>Wed, 22 Jul 2020 20:35:29 +0800</pubDate><description><![CDATA[SpringCloud

SpringBoot 四种属性注入小结
1.@Autowired注入
2.构造方法注入
3.@Bean方法形参注入
4.直接在@Bean方法上使用@ConfigurationProperties(prefix = "jdbc")

SpringBoot 常用注解
1.@RestController
2.@EnableAutoConfiguration
3.@ComponentScan  * 注解扫描
4.@SpringBootApplication  *
5.@Spr...]]></description><category></category></item><item><title><![CDATA[Hibernate使用Criteria查询返回VO对象]]></title><link>https://blog.youkuaiyun.com/HandSome_He/article/details/107211774</link><guid>https://blog.youkuaiyun.com/HandSome_He/article/details/107211774</guid><author>HandSome_He</author><pubDate>Wed, 08 Jul 2020 17:58:15 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[MySQL查询上周(从周一~周日)]]></title><link>https://blog.youkuaiyun.com/HandSome_He/article/details/106938860</link><guid>https://blog.youkuaiyun.com/HandSome_He/article/details/106938860</guid><author>HandSome_He</author><pubDate>Wed, 24 Jun 2020 10:43:00 +0800</pubDate><description><![CDATA[一.先贴上测试时间:



二.测试数据:







三.可以使用一下语句获取上周周一时间和上周周日来完成需求


 SELECT DATE_FORMAT( DATE_SUB( DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) DAY), INTERVAL 1 WEEK), '%Y-%m-%d 00:00:00') AS '上周一';
SELECT DATE_FORMAT( SUBDATE(CURDATE(), WEEKDAY(CURDATE()) + 1.]]></description><category></category></item><item><title><![CDATA[基于注解实现spring aop使用注解进行验证]]></title><link>https://blog.youkuaiyun.com/HandSome_He/article/details/106798242</link><guid>https://blog.youkuaiyun.com/HandSome_He/article/details/106798242</guid><author>HandSome_He</author><pubDate>Tue, 16 Jun 2020 23:59:18 +0800</pubDate><description><![CDATA[@Aspect
@Component
public class DoneTimeAspect {

    @Around("@annotation(doneTime)")
    public Object around(ProceedingJoinPoint joinPoint, DoneTime doneTime) throws Throwable {
        System.out.println("吃提交");
        System.out.println("方法开始时间是:"+n.]]></description><category></category></item><item><title><![CDATA[使用网易云短信接口]]></title><link>https://blog.youkuaiyun.com/HandSome_He/article/details/105458720</link><guid>https://blog.youkuaiyun.com/HandSome_He/article/details/105458720</guid><author>HandSome_He</author><pubDate>Sat, 11 Apr 2020 20:17:22 +0800</pubDate><description><![CDATA[1、网易云信官网网址：https://netease.im/sms,注册登录后选择免费试用

转载地址:https://www.cnblogs.com/wldbky/p/12172240.html


package test;

import java.security.MessageDigest;

public class CheckSumBuilder {
    
    // 计算并...]]></description><category></category></item><item><title><![CDATA[禁止submit操作后 页面刷新操作]]></title><link>https://blog.youkuaiyun.com/HandSome_He/article/details/104798236</link><guid>https://blog.youkuaiyun.com/HandSome_He/article/details/104798236</guid><author>HandSome_He</author><pubDate>Wed, 11 Mar 2020 15:45:29 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[一文彻底搞懂Cookie、Session、Token到底是什么]]></title><link>https://blog.youkuaiyun.com/HandSome_He/article/details/104006479</link><guid>https://blog.youkuaiyun.com/HandSome_He/article/details/104006479</guid><author>HandSome_He</author><pubDate>Thu, 16 Jan 2020 16:02:41 +0800</pubDate><description><![CDATA[一文彻底搞懂Cookie、Session、Token到底是什么
]]></description><category></category></item></channel></rss>