自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(664)
  • 资源 (1)
  • 收藏
  • 关注

原创 springBoot Cache 设置缓存启用开关

背景:希望一个统一的开关开放和关闭缓存结论:运行时通过nacos配置目前发现无法设置,只能通过配置开关后,重启服务器实现application.yml配置openCache: false@Configurationpublic class CacheConfig { @Value("${openCache}") Boolean openCache; @Bean("caffeineCacheManager") public CacheManager cacheM

2022-04-12 18:58:28 2101

原创 Spring Cacheable 数组KEY解决办法

问题:当使用Cacheable 的入参是一个数组的时候,发现KEY生成逻辑困难@Cacheable(value = "sampleCache" ) public String innerCache(String[] ids)方案0: 不写Key,正常缓存,没问题,但觉得和其它代码不统一,尝试写一个方案1:,key=“T(java.util.Arrays).asList(#ids).hashCode()” 无效方案2:通过自定义keyGenerator 实现,能够正常 @Cachea

2022-04-12 18:37:12 1937

原创 Spring CacheAble的expireAfterAccess 与expireAfterWrite

expireAfterAccess :每次读取后,超时时间顺延长expireAfterWrite:写入后,超时时间固定,不论访问与否

2022-04-12 17:42:42 3409

原创 yml 与 yaml的区别

没有区别,一样的

2022-04-12 13:41:37 16472 14

原创 caffeine缓存失效时间设置

两种设置方法Yml文件spring: cache: type: caffeine caffeine: spec: maximumSize=500,expireAfterWrite=5sconfig 文件package com.example.demo;import com.github.benmanes.caffeine.cache.Caffeine;import org.springframework.cache.CacheManager;import o

2022-04-11 20:21:37 4611

原创 org.springframework.cache.caffeine.CaffeineCacheManager 找不到解决

参考文档:http://www.manongjc.com/detail/24-fehzvghpopnfaiz.html需要引入 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> </dependency>问题解决...

2022-04-11 20:14:01 1081

原创 change > modify > alter

change:需要修改字段名的时候modify:需要修改类型的时候alter:需要修改默认值的时候

2022-04-07 11:34:22 254

原创 修改时间及创建时间使用默认值自动设置

前置条件需要字段类型为timestamp 不能是datetimealter table `XXX`modify column `modified_time` DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL

2022-04-07 11:17:21 786

原创 Failed to start bean ‘documentationPluginsBootstrapper‘; nested exception is java.lang.NullPointerEx

spring-boot-starter-parent:2.6.6 与 swagger2.9.2冲突spring-boot 降级为: 2.5.4 后正常<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.6.6</version>

2022-04-02 16:31:33 136

原创 git 同时连接云效平台和github

本地按照github 提示 和 云效提示,生成密钥云效:ssh-keygen -t ed25519 -C “your_email@example.com”github:ssh-keygen -t rsa -C ‘XXX@XXX’参考:https://help.aliyun.com/document_detail/153709.htmlC:\Users\wujia.ssh新增无后缀config文件Host github.comHostName github.comUser xxx@xxx.co

2022-03-22 11:32:37 1202

原创 并发执行多个 await,promiss.all

await 可以同步执行,但是有时候为了提升性能,反而需要并发多个await同步执行,此时需要用到promise.allDEMO如下async function doit() { var list = []; list.push(sayHello('a1')) list.push(sayHello('a2')); var result = await Promise.al...

2019-09-29 15:34:20 4655

原创 org.apache.commons.lang.StringUtils isBlank 与 isEmpty 的区别

System.out.println(StringUtils.isEmpty(" ")); // 返回false System.out.println(StringUtils.isBlank(" ")); // 返回true空字符串的时候 isEmpty 返回false , isBlank 返回true万事开头难...

2019-04-25 10:26:07 426

原创 javascript set去重

Array.from(new Set([“1”,“2”,“3”,“5”,“1”]));

2019-03-19 10:35:08 818

原创 SyntaxError: Unexpected number in JSON at position 1

SyntaxError: Unexpected number in JSON at position 1javascript JSON序列表,key 是int类型的时候,出错处理方法,使用正则表达式,将int类型的key 替换成字符串var a ="{2:\"全天\",7:\"测试\",8:\"1天\",9:12,10:14}";var x = a.replace(/(\d+):/g,"...

2019-03-12 14:35:20 12942

原创 Generator yield 迁移 await/async

Generator yield 迁移 await/asynces6 异步使用了await 和 async,老代码 使用了 generator 和yield ,迁移需要利用到 co.wrap 函数var co = require('co');function* oldF() { return yield new Promise(function (resolve, reject) { ...

2018-09-17 18:44:50 724

翻译 node -e 参数

https://nodejs.org/api/cli.html#cli_e_eval_scriptEvaluate the following argument as JavaScript. The modules which are predefined in the REPL can also be used in script.On Windows, using cmd.exe ...

2018-07-27 17:26:49 2207 1

原创 fetch 请求json 转 param

fetch post 请求的时候 header可以有两种选择: ‘Content-Type’: ‘application/json’, 和 ‘Content-Type’: ‘application/x-www-form-urlencoded’,当使用application/json 的时候,body直接是 JSON.stringify(paramObject) 比较简单 但当使用 ‘Co...

2018-07-19 11:22:16 1999

原创 node 使用long 类型

当有非常长的数字时候,node 会丢失精度,需要使用longnpm install long使用demovar Long = require("long");var longValueToB = Long.fromString("1152921517493863811", true);console.log(longValueToB.and(3).toString())参考...

2018-05-10 15:14:57 4751

原创 moment 当前时间取整

可以将当前时间的时分秒毫秒设置为0 取得当天00:00:00 的时间moment.clone().set({hour:0,minute:0,second:0,millisecond:0})

2018-05-08 16:09:55 7690

原创 moment getTime

// 如下返回truenew Date().getTime() == moment().valueOf();如果需要转化为Date()类型 如下结果返回truemoment().toDate().getTime()== new Date().getTime()

2018-05-04 17:23:45 4023

原创 node inspect=0

inspect=0 的含义是随机分配一个未使用的端口号码 用以调试 inspect 则固定使用 9229

2018-04-12 21:15:33 455

原创 koa 使用 decorator

在使用koa 开发网站的过程中期望使用decorator ,进行日志记录 通过babel-register + 安装npm install --save babel-plugin-transform-decorators-legacy.babelrc{ "plugins": ["transform-decorators-legacy"]}入口文件引入babel...

2018-02-12 15:54:08 1439

原创 google地图API被墙问题总结

google地图分三个1. google.cn的 httphttp://ditu.google.cn/maps/api/js 这个不会被墙,且加载的资源都是.cn 的,最好用,但是要求你的域名也是http的 如携程http http://hotels.ctrip.com/international/bangkok359 能够正常展示 但是无法使用google.maps.plac...

2018-02-12 11:06:48 17365 1

原创 NODEJS 的面向方面编程 shimmer

nodejs 有时候需要打日志,做权限验证等工作,如果希望在不修改原有代码情况下,做这些工作,可以使用shimmer https://www.npmjs.com/package/shimmervar Calculator = require('./calculator');var shimmer = require('shimmer');shimmer.wrap(Calculator

2018-01-26 16:27:02 715

原创 使用 NIM调试Nodejs 代码

查看了nodejs 的官方文档中,调试nodejs 推荐使用的是Chrome DevTools + NIMNIM插件地址:https://chrome.google.com/webstore/detail/nim-node-inspector-manage/gnhhdgbaldcilmgcpfddgdbkhjohddkj 插件会自动监听9225端口,当监听到有调试代码执行的时候,会自动

2018-01-23 14:54:37 2033

原创 使用extend 解决Object.assign 浅拷贝问题

Object.assign 是浅拷贝,如下代码,x 输出值被修改,这有时不是我们希望看到的var x = {d: {e: {g: 9}}}var a = {b: 1, c: 2, d: {e: {g: 2}}}Object.assign(a,x)a.d.e.g ="abc"console.log(x)安装npm install extend修改后代码如下,根据输出可见 x

2018-01-22 15:24:24 940

原创 nodejs 下载网络文件 使用request

var request = require('request');var fs = require('fs');request.post('https://download.site.com', { form: { param:"param" }}).pipe(fs.createWriteStream('./azip'))

2017-12-13 17:12:51 5148

原创 nodejs 使用cron-parser 解析cron 时间

如下DEMO 每5分钟执行一次其中 "0 */5 * * * *" 第一个0 表示0秒*/5 表示分钟 "/"表示每5分钟间隔“”.“/”字符:指定一个值的增加幅度。n/m表示从n开始,每次增加m第三个* 表示小时```var parser = require('cron-parser');try { var interval = parser.parseExp

2017-11-20 10:33:11 7332

原创 node中的 await async 入门

await async ES7 中新增的, NODE 7.5 及以后支持,以前的需要使用babel-registerfunction myP(val) { return new Promise(function (resolve, reject) { setTimeout(function () { resolve(val) }, 5

2017-11-14 12:00:05 690

原创 node Unexpected token import

node 目前默认不支持es6 的模块 import解决方法有2方法1 experimental-modules升级node 8.5 使用 experimental-modules,参数。切要求所有文件名后缀都要修改为mjs node –experimental-modules index.mjs index.mjsimport {add} from './calculator.

2017-11-13 19:07:33 3775 1

转载 MAC JAVA 1.8 与 9 版本切换

vi .bash_profile 内容如下export JAVA_HOME_8=/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Homeexport JAVA_HOME=$JAVA_HOME_8alias jdk8='export JAVA_HOME=$JAVA_HOME_8'alias jdk9='export JAV

2017-10-31 16:33:30 4038

原创 can't find file to patch at input line 3 错误原因

执行 patch < nginx-proxy.diff 命令,将文件修改应用到文件中,报告如下错误: can’t find file to patch at input line 3 Perhaps you should have used the -p or –strip option?原因: 目标文件没有找到。也就会如下DEMO代码第一行的文件 nginx-proxy.conf 文件没有

2017-10-30 16:49:08 15646

转载 mac brew 安装pip3 采坑记录

网上文章上都说用brew 安装python3 会自带pip3 的安装 但是不知什么原因 我使用brew 安装按成python3 后并没有pip3需要手工安装 参考文档: http://blog.csdn.net/minixuezhen/article/details/72887712https://bootstrap.pypa.io/get-pip.py 打开链接,将文本存到本地,

2017-10-20 12:22:56 10281

原创 fetch post application/json 传递复杂类型

使用原始的 application/x-www-form-urlencoded,body需要是a=1&b=2&c=3 格式,无法传递复杂多层次的对象 fetch('/test/post', { headers: { "Content-Type": "application/x-www-form-urlencoded" },

2017-10-11 16:38:51 11981

原创 fetch 使用 form data 方式提交

import queryString from 'query-string';fetch 参数如下, 1.需要设置content-type application/x-www-form-urlencoded 2.body 进行param 转化为a=1&b=2 的形式 则提交到服务端的内容与post内容相同 headers: { "Content-Type":

2017-09-28 17:08:16 10739 1

原创 npm 版本的jquery.param queryString.stringify

jquery.param({a:1,b:2}) 会生成a=1&b=2 如果需要npm 版本的可以引入query-string,实现相同的功能 https://github.com/sindresorhus/query-stringimport queryString from 'query-string';const stringified = queryString.stringify

2017-09-28 17:01:38 1288

原创 webpack 报错Cannot find module 'opn'

rm -rf node_modules npm install删除node_module,重新安装问题解决 原因不明

2017-09-27 21:10:38 9950 1

原创 nodejs gzip 解压缩base64

zlib 是nodejs 自带的,可以直接使用 如下代码将base64的gzip 压缩,解压出来const zlib = require('zlib');var buffer = new Buffer('H4sIAAAAAAAAAIuOBQApu0wNAgAAAA==', 'base64');zlib.unzip(buffer, function(err, buffer) { if (!

2017-09-27 07:59:09 3680

原创 webpack less-loader 的modifyVars配置方式

在module rules 中的less-loader 下配置options modifyVars。 实现 更改less 中的变量{ test: /\.less/, use: [ { loader: "style-loader"

2017-09-26 15:27:12 19535 1

原创 react-router withRouter

react-router 提供了一个withRouter组件 withRouter可以包装任何自定义组件,将react-router 的 history,location,match 三个对象传入。 无需一级级传递react-router 的属性,当需要用的router 属性的时候,将组件包一层withRouter,就可以拿到需要的路由信息import {withRouter} from 're

2017-09-26 14:03:10 25643 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除