- 博客(119)
- 资源 (1)
- 收藏
- 关注
原创 开机自动启动nginx
如果你的 Nginx 是从源代码编译安装的,或者安装在非标准路径下,你可能需要手动创建一个 systemd 服务单元文件来管理 Nginx 服务。中的路径为你的实际 Nginx 可执行文件路径。这样,你的 Nginx 服务就会在每次开机时自动启动。这个命令会创建一个符号链接,将 Nginx 服务的启动脚本放入。: 使 systemd 重新加载配置文件。: 检查服务的状态以确保它正在运行。目录中,这取决于你的系统配置。: 启动你的 Nginx 服务。: 创建一个新的服务单元文件。: 使服务在开机时自动启动。
2024-09-09 11:10:57
2289
1
原创 如何生成一个好的appkey和appsecret
随机生成 appkey 和 appsecret:通过伪随机数生成器(PRNG)生成足够强度和长度的随机字符串作为 appkey 和 appsecret。选择一个强大的加密算法:为了保护 appkey 和 appsecret 的安全性,应该选择一个强大的加密算法。定期更换 appkey 和 appsecret:由于客攻击技术不断进化,建议定期更换 appkey 和 appsecret,以提高应用程序的安全性。生成一个好的 appkey 和 appsecret 是应用程序安全设计的重要组成部分。
2023-06-14 15:51:11
3527
原创 Mysql 重建索引
这将执行与上述方法相同的任务,但是仅对存储引擎支持优化表的情况下才有效。该命令会锁定表,并在执行期间阻止对表进行更改。这将强制MySQL删除并重新构建表和索引。注意,这可能会导致数据丢失,因此请务必在执行此操作之前进行备份。无论哪种方法,都要谨慎考虑并确认备份数据,避免因误操作造成数据丢失。
2023-05-15 16:31:11
3142
原创 postgre Sql : ERROR: deadlock detected
查看数据库表与索引的设计,考虑是否需要进行调整以减少死锁的可能性。可以使用较低的隔离级别(如READ COMMITTED),避免使用过多的自增列等方式来避免死锁。解决应用程序中发生的死锁:在应用程序中添加重试机制,可以捕获这种异常并尝试重新执行相关事务。也可以尝试更改应用程序的默认隔离级别或优化查询以避免死锁情况。这是一个死锁错误,意味着两个进程(Process)同时等待对方释放锁。注意,为了避免此类问题,最好将数据库操作限制在单个事务中,并确保应用程序具有适当的容错机制来处理异常情况。
2023-05-04 14:10:27
2324
原创 vue中如何把网络上的图片通过base64显示出来
在这个示例中,组件在挂载时调用了fetchImage()函数来从“https://example.com/image.jpg”获取图像并将其转换为Base64字符串。一旦转换完成,组件会将Base64字符串储存在`imageData`变量中,并且在页面中显示图片。函数从网络上获取图像,并将其转换为Base64字符串以在页面上显示。在Vue中,您可以使用。
2023-04-26 14:16:11
5101
1
原创 SpringBoot使用Aop实现分布式锁
前言:要是想对某个接口进行加锁操作,每次在方法前加锁,方法结束释放锁会显得很麻烦,这里可以基于AOP的环绕通知@Around实现功能。1、基于RedisTemplate实现封装分布式锁RedisTemplate实现setnx分布式锁https://blog.youkuaiyun.com/qq_39648029/article/details/1249262302、自定义注解import java.lang.annotation.ElementType;import java.lang.annot.
2022-05-24 11:26:12
6544
9
原创 RedisTemplate实现setnx分布式锁
RedisTemplate由于没有setnx指令,所以需要自定义脚本时间一、请直接复制package com.zy.base.utils;import lombok.extern.slf4j.Slf4j;import org.springframework.data.redis.core.RedisTemplate;import org.springframework.data.redis.core.script.DefaultRedisScript;import org.spri..
2022-05-23 14:28:48
11360
3
原创 kotlin File转换MultipartFile
import org.apache.commons.fileupload.disk.DiskFileItemFactoryimport org.springframework.web.multipart.MultipartFileimport org.springframework.web.multipart.commons.CommonsMultipartFileimport java.io.Fileimport java.io.FileInputStream/** * fil.
2022-04-25 11:33:34
430
原创 kotlin将网络上可以访问的url图片转换成Base64字符串
fun imgToBase64(path: String): String { val data: ByteArray? = null var `in`: InputStream? = null var out: ByteArrayOutputStream? = null try { val url = URL(path) val connection: HttpURLConnection = .
2022-04-25 11:30:39
2589
2
原创 Docker 下的mysql时间比实际时间少了8小时 解决方案
一、首先进入mysql容器查看时间,会发现时间少了8小时二、回到centos,把时区文件和容器的文件进行一个替换docker cp /usr/share/zoneinfo/Asia/Shanghai mysql:/usr/share/zoneinfo/Asiadocker exec -it cf-mysql bashcp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime三、 重启docker stop mysqldocker s
2022-01-19 11:16:15
2091
原创 Jenkins 把本地项目构建好上传到云服务器并执行shell脚本启动项目
一、下载插件Publish Over SSH 用于连接远程服务器Deploy to container 插件用于把打包的应用发布到远程服务器如上所示安装插件二、配置云服务器地址找到Publish over SSH填写如下信息最后点击测试按钮三、选择一个之前创建的工程选择构建触发器,有多种选择配置完成后点击构建构建完成shell脚本如下,文件路径必须加绝对路径,export B...
2021-11-25 16:48:32
2063
原创 Jenkins 简单的从git上构建一个maven项目
一、新建项目二、三、点击确定后出现如下界面,配置信息四、配置git五、配置打包方式 clean install六、保存后如下七、点击其中一个,然后点击 Build Now构建,然后点击下面的红框框可以查看构建日志八、完成...
2021-11-11 15:33:32
1172
原创 Jenkins 安装
一、下载(需要有jdk环境)安装程序:链接:https://pan.baidu.com/s/1FXv0uFF_SlUh5YAHIr0guQ提取码:1234war包:链接:https://pan.baidu.com/s/1sHZLFEt8Nbl12clM3x68AA提取码:1234官网:https://www.jenkins.io/download/二、执行.msi安装包安装完成,直接: localhost:8080war包执行: java -jar jen...
2021-11-11 14:43:37
617
原创 Springboot使用Redis-Cell实现限流
一、Redis-Cell安装如下Redis-Cell限流插件安装(Centos)_毅呀毅呀哟-优快云博客一、下载wget https://github.com/brandur/redis-cell/releases/download/v0.3.0/redis-cell-v0.3.0-x86_64-unknown-linux-gnu.tar.gz二、解压tar -zxvf redis-cell-v0.3.0-x86_64-unknown-linux-gnu.tar.gz三、得到如下四、复制.so文件的地
2021-11-10 16:27:43
4858
原创 version `GLIBC_2.18‘ not found
一、下载包wget http://ftp.gnu.org/gnu/glibc/glibc-2.18.tar.gz 二、解压tar -zxvf glibc-2.18.tar.gz三、进入目录cd glibc-2.18四、创建一个build文件夹,并且进入mkdir buildcd build/五、编译安装../configure --prefix=/usr --disable-profile --enable-add-ons --with-header
2021-11-10 14:39:55
1030
原创 Redis-Cell限流插件安装(Centos)
一、下载wget https://github.com/brandur/redis-cell/releases/download/v0.3.0/redis-cell-v0.3.0-x86_64-unknown-linux-gnu.tar.gz二、解压tar -zxvf redis-cell-v0.3.0-x86_64-unknown-linux-gnu.tar.gz三、得到如下四、复制.so文件的地址,在redis.conf文件中添加如下配置loadmodule /usr/l.
2021-11-10 13:15:57
4052
原创 Shell脚本获取jar包pid进行重启、停止、启动
直接上代码:APP_NAME=$1 #获取脚本执行后的第一个参数COMMAND=$2 #获取第二个参数#检查程序是否在运行is_exist(){ #定义函数 pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' ` #echo "pid=${pid}" #如果不存在返回0,存在返回1 if [ -z "${pid}" ]; then return 0 else return 1 fi.
2021-10-18 15:04:31
1923
原创 springboot Nacos 服务注册
springboot版本为 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.6.RELEASE</version> <relativePath/> &l
2021-10-15 10:16:58
564
原创 centos安装nacos2.0.3
一、下载安装包1、创建进入文件夹:cd usr/local/nacos2、下载nacos压缩包指令下载wget https://github.com/alibaba/nacos/releases/download/2.0.1/nacos-server-2.0.1.tar.gz官网下载,地址:https://github.com/alibaba/nacos/releases百度云盘 链接:https://pan.baidu.com/s/1jj6PsKaZFGt4RosS..
2021-10-14 14:18:35
1880
原创 idea 一键启动多个项目(不是单个项目启动多次)
前言:在做微服务项目的时候,会启动多个模块,每个模块启动一次,多了就很麻烦,现在只需要点一次,就把你想启动的模块都启动了。1、打开idea,找到最下面的Services窗口,如图如果找不到,就这样打开:2、先把你要启动的项目都启动一遍。然后你就会发现这里有你启动的项目了。3、把你要启动项目选中,shift可多选,选中以后右键,创建分组4、输入一个名字,随便取。5、以后启动项目就直接在这个Services中,选中你创建的分组 ,右键,就可以一键启动喽略~.
2021-07-09 10:36:54
8039
30
原创 vue-admin动态路由的实现
前言:项目开发中菜单栏往往是后端基于角色控制的,所以菜单栏通过后端返回,然后在进行渲染,vue-admin这个管理系统模板用的人贼多,以此为例。一、首先打开router/index.js文件吗,把constantRoutes写的静态路由全删了,只留下公共的界面,比如login、404之类的。因为这些路由后面通过接口获取。二、在store/modules/permission.js进行修改,如果没有文件就创建,该文件使用vuex的状态管理,把路由信息存储起来,最后把// router/..
2021-06-23 16:47:15
11814
282
原创 docker镜像命令大全
镜像命令:docker images 查看所有本地的主机上的镜像(repositority:镜像仓库,tag:镜像标签)。docker search+镜像名 搜索镜像(--filter=STARS=3000 搜索出来的镜像是STARS大于3000的)docker pull+镜像名 拉取镜像就是从docker Hub上下载镜像(不写tag,默认就是latest,分层下载, 签名信息,真实地址)docker pull mysql 等价于 docker pull docker.io/lib...
2021-06-18 11:17:40
1058
3
原创 js 遍历树形结构(Tree),根据id找到对应的name(递归)
getTreeName(list,id){ let _this=this for (let i = 0; i < list.length; i++) { let a=list[i] if(a.id===id){ return a.name }else{ if(a.children && a.children.length>0){ ...
2021-05-10 16:55:28
8587
5
原创 BeanUtils.copyProperties拷贝对象忽略null值
一、前言:开发中,需要使用BeanUtils.copyProperties进行对象拷贝,但是值为null的需要过滤,忽略拷贝,BeanUtils.copyProperties的构造方法中有一个三个参数的传入可变长度的字符串,改字符串就是忽略的字段名二 、实现方式,基于反射,把源对象的值为null的参数名找出来,返回Array<String?> 数组格式三、代码object PublicUtils { /** * 获取所有字段为null的属性名 *
2021-04-30 11:39:01
10194
31
原创 js正则实现关键字高量-替换html标签的text文本内容的指定值
一、背景在开发中,有个需求是关键字高量显示,如果只是存文本形式就很简单,但是我的数据是自定义的模板,一大段html代码,这个时候需要把文本内容的指定关键字找出来,替换成加红色后的样式。网上的代码好多都是直接把html标签清空返回,得到的只是text内容,我的是必须包含html标签,只替换内容关键点:html标签的text内容的指定值二、效果展示:原始效果: 关键字高量显示:三、实现代码思路:在html标签中找出text文本内容,在...
2021-03-26 15:26:22
4188
80
转载 idea把mybatis的sql黄色背景去掉
转自:http://blog.youkuaiyun.com/geekleee/article/details/778918251、去掉 Prefernces ⇒ Editor ⇒ Inspections ⇒ SQL ⇒ No data sources configure。2、去掉Prefernces ⇒ Editor ⇒ Inspections ⇒ SQL ⇒ SQL dialect detection。3、去掉Prefernces ⇒ Editor ⇒ Colors & Fonts ⇒..
2021-03-19 14:43:07
928
原创 集群下WebSocket消息推送的解决方案(springboot 基于Redis发布订阅)
一、背景单机节点下,WebSocket连接成功后,可以直接发送消息。而多节点下,连接时通过nginx会代理到不同节点。假设一开始用户连接了node1的socket服务。触发消息发送的条件的时候也通过nginx进行代理,假如代理转到了node2节点上,那么node2节点的socket服务就发送不了消息,因为一开始用户注册的是node1节点。这就导致了消息发送失败。为了解决这一方案,消息发送时,就需要一个中间件来记录,这样,三个节点都可以获取消息,然后在根据条件进行消息推送。二、解决方.
2021-01-26 11:16:14
14890
39
原创 java中Font文字对象在Centos中乱码(口口口口口)的解决方案
一、前言做了个需求,给图片添加文字水印,使用了Font文字对象,结果Centos中出现了乱码,这是由于Centos没有中文文字包导致的。二、解决方案1、在Windos系统中复制中文文字包C:\Windows\Fonts\simsunb.ttc部分文件后缀名是.ttf。没影响,.tt是.ttc的子集2、在Centos的/usr/share/fonts目录下创建个新文件夹,用于存放中文文字包。创建了个包叫做chinese,然后把上面复制的中文文字包拷贝进去。3...
2021-01-22 15:29:55
3498
10
原创 java 图片添加水印(文字水印+图片水印)
/** * @param buffImg 源文件(BufferedImage) * @param waterImg 水印文件(BufferedImage) * @param x X偏移量 * @param y Y偏移量 * @param alpha 透明度, 选择值从0.0~1.0: 完全透明~完全不透明 * @return BufferedImage * @throws IOException *.
2021-01-22 10:17:12
3303
16
原创 spring boot + redis 接口访问频率限制
@Componentpublic class BlackInterceper implements HandlerInterceptor { @Autowired private RedisTemplate<String, Object> redisTemplate; private Logger log = LoggerFactory.getLogger(this.getClass()); @Override public boolean preHandle(Http.
2021-01-18 16:45:31
1022
25
原创 spring boot 配置 webSocket
一、依赖 <!--WebSocket--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId> </dependency>二、创建WebSocketServerimport java.io.IOException;i
2021-01-07 14:14:16
2594
8
原创 java将网络上的url图片转换成File对象
public static File getFile(String url) throws Exception { //对本地文件命名 String fileName = url.substring(url.lastIndexOf("."),url.length()); File file = null; URL urlfile; InputStream inStream = null; OutputStre.
2021-01-05 10:13:01
6527
2
原创 上班太难熬?想知道还有多久时间下班?分享一段下班倒计时程序(Java版)(#^.^#)
先看效果上代码(中文命名纯属好玩)public class 下班 extends JFrame{ { try { int hour=17;//时 int minute=30;//分 int second=0;//秒 Dimension screensize = Toolkit.getDefaultToolkit().getScreenSize();
2020-12-25 16:44:37
1277
原创 uniapp之小程序分包操作
小程序上传的时候,主包不能超过2M,如果超出,则会上传失败,这时候就需要把界面进行分包,还有static下面的图片,尽量使用服务器的。附上微信小程序分包文档连接:https://developers.weixin.qq.com/miniprogram/dev/framework/subpackages.htmluniapp修改pages.json,小程序修改app.json文件,内容都一致,文件名不同而已。一、准备uniapp中,文件目录下的pages文件夹一般用于存放tabba...
2020-12-25 10:22:41
5794
31
原创 uniapp之小程序开发中引入axios
1、下载依赖 npm install axios --save2、创建一个js工具类import Vue from 'vue'import axios from 'axios'// create an axios instanceconst service = axios.create({ baseURL: 'http://localhost:9004', // url = base url + request url //withCredentials: true, //
2020-12-24 13:59:52
10680
23
原创 element ui中dialog编辑回显数据后关闭,重置表单,然后新增重新打开dialog,表单没有重置
问题描述:一般表单使用 this.$refs[formName].resetFields() 进行重置,但是elementui中,清空数据是基于第一次打开时的数据为模板进行重置,由于第一次点击的编辑,数据渲染到模板上了,所以dialog就认为这个是初始模板,每次重置都以这一部分数据来重置表单。解决方案:渲染表单用以下方式:this.$nextTick(function () { _this.ruleForm = {...data};})...
2020-12-23 14:27:20
3082
2
原创 java 阿里云 oss 文件上传
一、配置信息,在application.properties中配置import java.io.Serializable;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.context.annotation.Configuration;@Configuration@ConfigurationProperties(prefix="ali.
2020-12-22 14:09:59
505
原创 java BufferedImage转MultipartFile
java生成二维码返回BufferedImage对象,需要转成MultipartFile进行文件上传。转换流程:BufferedImage → InputStream →MultipartFile //得到BufferedImage对象 BufferedImage bufferedImage = JoinTwoImage.testEncode(200, 200, url); //创建一个ByteArrayOutputStream By.
2020-12-22 14:03:00
10982
4
原创 java生成二维码
/** * 生成二维码 * * @throws WriterException * @throws IOException */ public static BufferedImage testEncode(int width,int height,String content) throws WriterException, IOException { String format = "jpg";// 图像类型 M.
2020-12-22 13:58:10
271
原创 java查看真实ip
public class IpUtil { public static String getIpAddress(HttpServletRequest request) { String ip = request.getHeader("x-forwarded-for"); if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.g.
2020-12-17 14:07:19
569
37
jdk1.8(windows + linux)
2020-09-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人