文章分类 - 实用
摘要:mysql8安装 创建不存在的目录 更改my.cnf [mysqld] user=mysql character-set-server=utf8 default_authentication_plugin=mysql_native_password secure_file_priv=/var/lib
阅读全文
摘要:xxl-job 1.拉取镜像 docker pull xuxueli/xxl-job-admin:2.3.1 sql文件 /* Navicat Premium Data Transfer Source Server : 192.168.101.65 Source Server Type : MySQ
阅读全文
摘要:前言 最近在做毕设有个性能测试章节,本着不安装工具的想法找到了这个locust工具,这个玩意是基于python3环境的,之前装过python现在直接用。 步骤 安装locust库 pip install locust 复制官网上的例子加以修改 os.system这个函数就相当于你在命令行输入的命令
阅读全文
摘要:前言 最近做了一个小案例,只在本地创建了git仓库,还没有创建远程仓库,这里记录一下操作。 流程 在本地创建一个本地仓库 `git init 把代码添加到版本库 git add . 提交记录 git commit '本次操作' 在github或者gitee上创建远程仓库 创建远程仓库 在远程代码托管
阅读全文
摘要:1.下载curl工具 curl下载官网 2.解压 3.配置环境变量 4.测试安装 5.调试接口(header中带有token) -X:请求方式 --location/-L: 跟随请求重定向 -H/--header: 请求头信息 curl -X GET --location -H “token: ey
阅读全文
摘要:前言 最近有一个需求, 我在项目中使用了MinIo但是并没有找到文件重命名的方法,所以,想着如何通过文件名进行获取byte[],然后通过byte转换为MultipartFile重新进行文件上传,模拟了重命名功能。 解决思路 首先MultipartFile是一个接口,实现它的方法即可。download
阅读全文
摘要:https://www.nanyinet.com/908.html
阅读全文
摘要:前言 最近项目中用到了支付业务,由于项目还没有上线,这里使用支付宝沙箱环境模拟支付操作。 支付宝沙箱-手机网页支付 1.进入支付宝开放平台 支付宝开放平台网址 2.创建应用 3.查看支付宝沙箱环境信息 沙箱信息 4.下载SDK搭建支付宝沙箱环境 4.把下载好的沙箱的源码放到IDE中 这里使用ecli
阅读全文
摘要:前言 最近在项目中在做登录功能,就想着引入一下qq,微信等第三方进行社交登录,但是啊都tm要身份认证,于是就用了gitee,这玩意目前不用填写身份信息就能用。 使用教程 点击设置,找到第三方应用 填写信息生成Client ID和Client Secret 找到openApi,接着查找OAuth2认证
阅读全文
摘要:前言 这里为什么用阿里云呢?就是因为阿里云的云市场里面有第三方的短信签名不需要企业认证。 流程 1.购买服务 去阿里云云市场找一个第三方的短信服务购买 2.debug短信服务 在商品详情里面找到调试工具去调试 这个APPCODE就是你购买服务后,在你的控制台里面有这个东西,然后发送请求时带上即可。
阅读全文
摘要:前言 最近在项目中用到了发送短信这一功能,于是就想着模仿一下发送短信倒计时的功能。 代码 可以看到我们的发送验证码的按钮是个a标签。 这里主要用jq选择元素,用js的setInterval()方法做定时器。用clearInterval()结束这个定时任务。 使用方法:setInterval(func
阅读全文
摘要:前言 因为昨天开始许多网页临时变成了灰色,但是我就是不想要灰色(没其他的意思就是不喜欢),所以这个脚本的作用就是还原网页原来的颜色。 脚本 首先要弄清楚灰色是怎么实现的,这里以bilibili为例。 可以看到就是加了一个gray类,作用类似于遮罩层。 解决办法一:手动删除class=gray即可还原
阅读全文
摘要:ThreadPoolExecutor的七大参数 @param corePoolSize the number of threads to keep in the pool, even* if they are idle, unless {@code allowCoreThreadTimeOut} i
阅读全文
摘要:简介 信号量为存储在redis中的一个数字,当这个数字大于0时,即可以调用acquire()方法增加数量,也可以调用release()方法减少数量,但是当调用release()之后小于0的话方法就会阻塞,直到数字大于0 RSemaphore semaphore = redisson.getSemap
阅读全文
摘要:简介 闭锁可以延迟线程的进度直到其到达终止状态,闭锁可以用来确保某些活动直到其他活动都完成才继续执行: 1)确保某个计算在其需要的所有资源都被初始化之后才继续执行; 2)确保某个服务在其他依赖的所有其他服务都已经启动之后才启动; 3)等待直到某个操作所有参与者都准备就绪在继续执行。 案例 来看看它的
阅读全文
摘要:简介 保证一定能读到最新数据,修改期间写锁是互斥锁(排他锁)。读锁是一个共享锁 写锁没释放读就必须等待 读 + 读:相当于无锁,并发读只会在Redis中记录好,所有当前的读锁。它们都会同时加锁成功 写 + 读:等待写锁释放 写 + 写:阻塞方式 读 + 写:有读锁,写也需要等待 只要有写* 锁的时候
阅读全文
摘要:前言 最近在项目中要用到分布式锁, 这里使用的Redisson作分布式锁,这里先记录一下Redisson的可重入锁。 Redisson可重入锁 可以参考官方文档:https://github.com/redisson/redisson/wiki/8.-%E5%88%86%E5%B8%83%E5%BC
阅读全文
摘要:前言 最近在项目中用到了Redis缓存,然后如果是在高并发的场景下,如果我去查询一条数据,在缓存中是没有的,但是在数据库中是有数据的,那么在高并发的前提下,它会一下子把所有的请求打到数据库,这就是缓存击穿的一个经典问题了。 业务逻辑 Controller @ResponseBody @GetMapp
阅读全文
摘要:前言 原来的阿里云OSS使用SDK方式,无比的麻烦,写一堆的代码,具体使用如下。 阿里云SDK官方文档:https://help.aliyun.com/document_detail/84781.html?spm=a2c4g.11186623.0.0.10d233f7cmza4h 正常的步骤就是引入
阅读全文
摘要:前言 这里以elasticsearch为例,本来我指定的版本是7.12.1,但是通过依赖版本看到了一个与7.12.1不符的一个依赖版本。 那么为什么会这样呢? 可以看到springboot父依赖的版本管理的elasticsearch管理的版本是7.12.1。 解决办法 用标签指定相应的依赖版本即可。
阅读全文