https://i.loli.net/2020/09/25/5sEaNw31zuGnbhc.jpg

spring-cloud-gateway 到底对我的UAA做了什么

哈哈,这可能就是典型的标题党了

首先说一下问题,最近正好负责微服务下的一个子项目

认证中心  UAA

认证中心基于spring-security-oauth2,选用这个框架也是为了以后的扩展,第一就是方便接入第三方登录,第二嘛是为了别人方便接入我们,哈哈哈,以后中小企业,可以选择用微信登录,支付宝登录,还有噼里啪登录。。。

mysql批量插入时,如何不插入重复的数据

温故而知新

知识这个东西,看来真的要温故而知新,一直不用,都要忘记了😑

业务很简单:需要批量插入一些数据,数据来源可能是其他数据库的表,也可能是一个外部excel的导入

那么问题来了,是不是每次插入之前都要查一遍,看看重不重复,在代码里筛选一下数据,重复的就过滤掉呢?

Alipay(支付宝支付) 如何实现一个项目配置多个商户信息付款给对应商户

如何实现一个项目配置多个商户信息付款给对应商户

最近在对接支付宝支付时,遇到了一个问题

用户在付款时,需要直接付款到指定支付宝账户。

这个需求也无可厚非,就像我们公司有四个分公司,分别在北京、上海等地,如果钱只能到总公司的账户上,那在财务结算的时候就很麻烦。

简单说一下问题背景:

公司准备上线一个商城应用,有分公司和服务商的概念,意思就是收钱的不是一个人。

前一阵子,蚂蚁金服投了一大笔钱,也算是达成了合作,所以在第三方支付中首选了支付宝,场景是手机网站支付,问题就在这出现了。目前支付宝只在当面付中支持配置多个收款账户,也是在社区里逛了一阵子才知道这个信息的。

Commands from packages installed with yarn not found?

前一段时间,删掉了整个系统的NPM依赖,抛弃了NPM,全面拥抱Yarn,这也导致了很多包需要重新下载,这不干完了活,准备再看一会vue,发现vue-cli也没了。

重新安装一遍吧~

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
yarn global add @vue/cli

yarn global v1.10.1
warning package.json: No license field
[1/4] 🔍  Resolving packages...
[2/4] 🚚  Fetching packages...
[3/4] 🔗  Linking dependencies...
warning "@vue/cli > @vue/cli-ui > graphql-type-json@0.2.1" has unmet peer dependency "graphql@>=0.8.0".
warning "@vue/cli > @vue/cli-ui > graphql-tag@2.10.0" has unmet peer dependency "graphql@^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0".
[4/4] 📃  Building fresh packages...
success Installed "@vue/cli@3.0.5" with binaries:
      - vue
✨  Done in 13.30s.

Everything looks good

springboot banner彩蛋

🙈还是在上家公司,写的这篇博客,今天来更新一下。

banner的创建并不复杂,只需要在/src/main/resources目录下创建一个banner.txt文件即可。

可以复制下面这个尝鲜。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
${AnsiColor.BRIGHT_YELLOW}
////////////////////////////////////////////////////////////////////
//                          _ooOoo_                               //
//                         o8888888o                              //
//                         88" . "88                              //
//                         (| ^_^ |)                              //
//                         O\  =  /O                              //
//                      ____/`---'\____                           //
//                    .'  \\|     |//  `.                         //
//                   /  \\|||  :  |||//  \                        //
//                  /  _||||| -:- |||||-  \                       //
//                  |   | \\\  -  /// |   |                       //
//                  | \_|  ''\---/''  |   |                       //
//                  \  .-\__  `-`  ___/-. /                       //
//                ___`. .'  /--.--\  `. . ___                     //
//              ."" '<  `.___\_<|>_/___.'  >'"".                  //
//            | | :  `- \`.;`\ _ /`;.`/ - ` : | |                 //
//            \  \ `-.   \_ __\ /__ _/   .-` /  /                 //
//      ========`-.____`-.___\_____/___.-`____.-'========         //
//                           `=---='                              //
//      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^        //
//            佛祖保佑       永不宕机     永无BUG                  //
////////////////////////////////////////////////////////////////////
${AnsiColor.BRIGHT_RED}
Application Version: ${application.version}${application.formatted-version}
Spring Boot Version: ${spring-boot.version}${spring-boot.formatted-version}

java8 HashMap之tableSizeFor

在1.8的HashMap中,有一个算法,它的功能是(不考虑大于最大容量的情况) 返回大于输入参数且最近的2的整数次幂的数

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
    /**
     * Returns a power of two size for the given target capacity.
     */
    static final int tableSizeFor(int cap) {
        int n = cap - 1;
        n |= n >>> 1;
        n |= n >>> 2;
        n |= n >>> 4;
        n |= n >>> 8;
        n |= n >>> 16;
        return (n < 0) ? 1 : (n >= MAXIMUM_CAPACITY) ? MAXIMUM_CAPACITY : n + 1;
    }