自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(586)
  • 问答 (1)
  • 收藏
  • 关注

原创 手持LED弹幕,超炫特效,让你的每一次出场都耀眼夺目!

在这个快节奏的数字时代,沟通不再局限于言语和文字,就连表白、追星、晚会互动,甚至日常的提词都需要一点科技的火花来点燃气氛。于是,手持LED弹幕滚动屏,这个集实用与趣味于一身的神器,悄然成为了社交场上的新宠儿。让我们一起探索,如何用这款“现代魔杖”,在各个场合中大放异彩!

2024-04-30 20:38:24 389

转载 Docker maven构建项目

代码】Dockermaven构建项目。

2022-07-29 10:55:26 393

转载 此网址使用了一个通常用于网络浏览以外目的的端口。出于安全原因,Firefox 取消了该请求

此网址已被限制此网址使用了一个通常用于网络浏览以外目的的端口。3、每次都配置端口号太麻烦,在保证安全的前提下,将所有的端口全部开放,可填写为0-65535。1、在Firefox地址栏输入aboutconfig,点击我了解此风险,进入配置页面。2、取消多个端口号限制时,端口号之间用,隔开,如6666,7777,8888;如果是学习、开发环境,推荐第3种方式,一次输入,以后就不会再报类似错误了。1、只取消一个端口号限制时,填写对应的端口号,如6666;...

2022-07-20 17:08:53 3612 1

转载 springboot @ComponentScan排除指定类

自定义规则需继承org.springframework.core.type.filter.TypeFilter类,实现match方法即可。@Override//可以通过MetadataReader获得各种信息,然后根据自己的需求返回boolean,实例表示包名含有aaa路径的类名将满足筛选条件。}}配置结果就是含有aaa路径的类名将被排除不被加入spring容器中。...

2022-07-17 20:25:17 3746

转载 Spring Boot应用中@CompentScan excludeFilters配置无效的问题

在我们项目中,有一个core的module,里面存放了每个项目公用的package,但是有些开发人员把一些无关的初始化操作也放到了core项目中,这就导致如果A项目引用了core,那么就会做一些无用的初始化操作,由于core的子包太多,无法一个一个引用,所以使用排除法是最快的,使用。结果扫描一下core包下面的类,确实有一个类B使用。大致的意思就是说,如果你在A类中,使用了exlucde配置,在你不需要排除的类中,有某些类B的注解上也使用了。,那么在A类中,同时也排除类B,A类中的exclude全部生效。.

2022-07-17 20:20:53 1030 1

转载 java中@Repeatable的理解

@Repeatable是jdk8中新增的注解,使用如Spring中的@ComponentScan注解。在没有@Repeatable注解的的注解中,在同一个地方使用相同的注解会报错,有了此元注解注解的注解,就可以在同一个地方使用相同的注解。其官方文档如下The annotation type {@code java.lang.annotation.Repeatable} is used to indicate that the annotation type whose declaration it (m

2022-04-29 14:23:54 881 1

转载 GitHub/GitLab/Gitee 中项目互拷贝后仍保留历史提交记录

1、从原地址克隆一份裸版本库,比如:原本托管于 GitHub / 本地的私有仓库git clone --bare ”git地址“2、然后到新的 Git 服务器上创建一个新项目3、以镜像推送的方式上传代码到 Git 服务器上。请确保已经添加了公钥到新的机器上cd project_name.gitgit push --mirror “新仓库地址”4、删除本地代码cd ..rm -rf project_name.git5、到新服务器上找到 Clone 地址,直

2022-01-06 17:38:59 535

转载 MySQL报错1055 - Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggregated 解决方法

1、问题复现:  今天在进行数据迁移时,使用Navicat连接数据库进行连接时,由于 SQL语句中使用了 group by分组函数,结果报了如下错误:2、产生原因  产生原因说是,在MySQL数据库版本为5.7以上的版本,默认开启了ONLY_FULL_GROUP_BY SQL模式,在此模式下,对于group by操作,如果在select语句中的查询列没有在group by中出现,那么这个SQL就是非法的,因为列不在group by语句中,所以设置了sql_mode=only_full_gr.

2021-12-29 11:31:27 9859 1

转载 探索对象池技术

对象池技术是一种常见的对象缓存手段。’对象’意味着池中的内容是一种结构化实体,这也就是一般意义上面向对象中的对象模型;’池’(或动词池化)意味着将有生命周期的对象缓存到’池子’中进行管理,即用即取。缓存的目的大多是为了提升性能,对象池技术的目的也即如此。所以,对象池技术的本质简单来说就是:将具有生命周期的结构化对象缓存到带有一定管理功能的容器中,以提高对象的访问性能。处理网络连接是对象池使用最多的场景。比如一些RPC框架的NettyChannel缓存(如motan),以及数据库连接池的Connectio

2021-12-28 16:12:36 491

转载 深入理解SPI机制

一、什么是SPISPI ,全称为 Service Provider Interface,是一种服务发现机制。它通过在ClassPath路径下的META-INF/services文件夹查找文件,自动加载文件里所定义的类。这一机制为很多框架扩展提供了可能,比如在Dubbo、JDBC中都使用到了SPI机制。我们先通过一个很简单的例子来看下它是怎么用的。1、小栗子首先,我们需要定义一个接口,SPIServicepackage com.viewscenes.netsupervisor.spi

2021-12-09 10:46:59 297

转载 Mac 生成项目目录树形结构

Mac 生成项目目录树形结构

2021-11-22 20:37:29 551

原创 Java LocalDate/LocalTime/LocalDateTime序列化

// 格式 20:10:10.011 @JsonFormat(pattern = "HH:mm:ss.SSS", timezone = "GMT+8") private LocalTime localTime; // 格式 2021-10-22 @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private LocalDate localDate; // 格式 2021-10-22 ...

2021-10-22 21:13:29 424

转载 基于 Nacos 配置中心的动态日志配置方案

动态设置 log4j2 日志的级别不能落 SpringBoot 动态设置 logback 日志的级别 上面这两篇文章只是从技术角度说了,可以实现动态日志配置。但是并没有形成适用生产环境使用的方案。今天介绍一种基于 Nacos 配置中心的动态配置日志级别的方案。0x01:安装 Nacos 配置中心配置中心 Nacos 的官网官网:https://nacos.io/zh-cn/docs/quick-start.html下载安装包需要注意一下 Nacos 需要 6..

2021-09-26 11:06:51 2516

转载 OVERRIDE SLF4J LOGBACK.XML FOR A DOCKER DEPLOYED APPLICATION

Using env variables:Create two env variable to hold the log directory location and log level setting respectively. Then use that variables in the logback.xml. Then pass the appropriate values while running the docker imagedocker run --env LOG_DIR=/opt

2021-09-18 11:45:20 159

转载 SpringBoot启动测试时报错(javax.websocket.server.ServerContainer not available)

一、测试发送短信接口时,启动springboot报如下错误2019-10-09 15:35:07.595 ERROR org.springframework.boot.SpringApplication:reportFailure[833] Application run failedorg.springframework.beans.factory.BeanCreationException: Error creating bean with name 'serverEndpointExporte.

2021-06-27 18:17:35 872

转载 如何在Kubernetes上部署高可用和可扩展的Elasticsearch?

在上一篇文章中,我们通过扩展MongoDB副本集来了解有StatefulSets。 在这篇文章中,我们将与ES-HQ和Kibana一起使用HA Elasticsearch集群(具有不同的Master,Data和Client节点)。先决条件Elasticsearch的基本知识,其Node类型及角色 运行至少有3个节点的Kubernetes集群(至少4Cores 4GB) Kibana的相关知识部署架构图Elasticsearch Data Node的Pod被部署为具有Head..

2021-05-24 21:22:38 363

转载 kubectl patch

copyfrom:使用 kubectl patch 更新 API 对象1、使用策略性合并补丁更新一个 Deployment 通过补丁,您可以避免定义整个对象,只需要定义您希望更改的部分。 通过策略性合并补丁,您只需要定义新增的元素就可以更新一个列表。列表中已有的元素仍然保留,新增的元素和已有的元素会被合并。上述例子中,最终结果的 containers 列表中既有原先的 nginx 容器,也有新增的 redis 容器。第一步: 创建一个deployment# cat .

2021-05-11 10:47:37 1339

转载 SpringBoot HATEOAS用法简介

REST风格简介介绍HATEOAS之前先简单介绍一下REST,REST 是 Representational state transfer 的缩写,翻译过来的意思是表达性状态转换。REST是一种架构的风格Richardson Maturity ModelRichardson 提出了REST一种 成熟度模型,我们称之为Richardson Maturity Model,这种模式将REST按照成熟度划分为4个等级Level0:使用HTTP作为WEB服务的传输方式,以REST样式公开SOAP We

2021-05-09 18:04:09 328

转载 vim画纯文本图的插件Drawit

要在vim里面画个下面这样的图,可以使用drawit插件 +-------------------------+ +-----------+ | +-------------+ | | IDT table | <---+--|IDTR Register| C | +-----------+ | +-------------+ P | ^| ...

2021-05-09 17:59:23 248

转载 Hystrix原理与实战

背景分布式系统环境下,服务间类似依赖非常常见,一个业务调用通常依赖多个基础服务。如下图,对于同步调用,当库存服务不可用时,商品服务请求线程被阻塞,当有大批量请求调用库存服务时,最终可能导致整个商品服务资源耗尽,无法继续对外提供服务。并且这种不可用可能沿请求调用链向上传递,这种现象被称为雪崩效应。雪崩效应常见场景硬件故障:如服务器宕机,机房断电,光纤被挖断等。 流量激增:如异常流量,重试加大流量等。 缓存穿透:一般发生在应用重启,所有缓存失效时,以及短时间内大量缓存失效时。大量的缓存不命中

2021-04-10 18:39:13 139

转载 maven surefire plugin介绍

示例 <!-- 测试运行器,生成测试报告 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.22.0</version><!--$NO-MVN-MAN-VER$ -->.

2021-03-24 11:36:41 1022

转载 使用Java监控工具出现 Can‘t attach to the process

问题重现 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 ➜ jinfo -flags 3032 Attaching to process ID 3032, please wait...

2021-03-14 20:31:05 1153

转载 参数验证 @Validated 和 @Valid 的区别

Spring Validation验证框架对参数的验证机制提供了@Validated(Spring's JSR-303 规范,是标准 JSR-303 的一个变种),javax提供了@Valid(标准JSR-303规范),配合 BindingResult 可以直接提供参数验证结果。其中对于字段的特定验证注解比如 @NotNull 等网上到处都有,这里不详述在检验 Controller 的入参是否符合规范时,使用 @Validated 或者 @Valid 在基本验证功能上没有太多区别。但是在分组、注解地方、

2021-01-08 22:01:11 237

转载 如何制作和使用Maven的Docker镜像

当使用GitLab CI的流水线功能时,可能需要新增项目打包的阶段,此时就要用到Maven或Gradle进行打包。本文将介绍如何以GitLab Runner的镜像为基础,构建集成Maven功能的Docker镜像,然后再简单介绍如何启动和使用Maven容器。一、环境描述1. 虚拟机配置CPU:单核 内存:2 GB 硬盘:120 GB IP:192.168.190.1282. 操作系统版本:CentOS 7.4 x86_64 (1708) 安装方式:Minimal3. Docker

2021-01-08 21:58:37 384

转载 说说docker run的--detach

当我们使用了docker的run命令运行一个新容器,然后也发现他端端正正的呆在我们的容器列表中,但是就是无法使用exec命令,这是什么原因呢?$docker docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES1c8a61e5e09b ...

2021-01-08 21:54:04 2355

转载 使用@RequestBodyAdvice处理客户端的加密请求体

业务场景:客户端把json数据进行加密后,编码成Base64字符串,提交给服务器。服务器再进行解密。使用@RequestBodyAdvice,可以在不修改任何Controller代码的前提下,轻松完成。之前写过一篇帖子,使用@ResponseBodyAdvice统一对响应的数据进行处理。演示了,使用ResponseBodyAdvice统一对响应给客户的json进行AES加密。RequestBodyAdvice 接口这个接口定义了一系列的方法,它可以在请求体数据被HttpMessageCo.

2020-11-29 09:57:44 721

转载 maven在settings.xml中存储加密密码

maven配置server时对password进行加密1.需求因为公司的编译服务器部署在了阿里云上,需要在编译完成后上传编译后的aar文件到公司maven私服上,普通的maven部署方式是把maven私服的账号密码以明文的方式配置在settings.xml文件中<server> <id>deploymentRepo</id> <username>admin</username> <passwo

2020-10-17 14:43:45 415

原创 部署node dockerFile配置

FROM node:12.18.4-alpine3.9ENV HOST 0.0.0.0RUN mkdir -p /appCOPY . /appWORKDIR /appEXPOSE 3000RUN npm config set registry http://registry.npm.taobao.orgRUN npm installRUN npm run buildRUN npm cache clean --forceCMD ["npm", "run","start"]

2020-10-13 21:28:16 314

原创 nacos docker-compose部署

NACOS内置数据库部署方法一:新建network,subnet必须 docker network create --driver bridge --subnet 172.18.0.0/16 --gateway 172.18.0.1 java-netversion: "2.3"services: nacos: image: nacos/nacos-server:1.3.2 container_name: nacos-standalone networks:

2020-10-11 11:25:19 211

转载 Location语法规则

Location规则语法规则: location [=||*|^~] /uri/ {… }首先匹配 =,其次匹配^~,其次是按文件中顺序的正则匹配,最后是交给 /通用匹配。当有匹配成功时候,停止匹配,按当前匹配规则处理请求。符号 含义 = = 开头表示精确匹配 ^~ ^~开头表示uri以某个常规字符串开头,理解为匹配 url路径即可。nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格) ~

2020-08-30 10:38:35 312

转载 微信小程序——解决微信小程序B接口生成小程序码中scene参数的存放和获取问题

scene参数存放与获取:1.如果只需要传一个参数 可以直接scene=参数值 例如:scene=123 前端小程序也要进行操作来获取到scene中存放的参数。onLoad:function(options){ if(options.scene){ // options 中的 scene 需要使用 decodeURIComponent 才能获取到生成二维码时传入的 scene var scene = decodeURIComponent(options....

2020-08-12 14:44:26 2048

转载 mysql中的utf8mb4、utf8mb4_unicode_ci、utf8mb4_general_ci 1

1.utf8与utf8mb4(utf8 most bytes 4)MySQL 5.5.3之后增加了utfmb4字符编码 支持BMP(Basic Multilingual Plane,基本多文种平面)和补充字符 最多使用四个字节存储字符utf8mb4是utf8的超集并完全兼容utf8,能够用四个字节存储更多的字符。标准的UTF-8字符集编码是可以使用1-4个字节去编码21位字符,这几乎包含了世界上所有能看见的语言。MySQL里面实现的utf8最长使用3个字符,包含了大多数字符但并不是所有。例如e

2020-08-02 19:09:15 304

转载 RedisTemplate用SETNX命令实现分布式锁

使用SETNX命令获取分布式锁的步骤:C1和C2线程同时检查时间戳获取锁,执行SETNX命令并都返回0,此时锁仍被C3持有,并且C3已经崩溃 C1DEL锁 C1 使用SETNX命令获取锁,并且成功 C2DEL锁 C2 使用SETNX命令获取锁,并且成功 ERROR: 由于竞态条件,C1和C2都获取到了锁幸运的是,以下面的步骤完全可以避免这种情况发生,看看C4线程如何操作C4使用SETNX命令获取锁 C3已经崩溃但是仍然持有锁,所以Redis返回0给C4 C4使用GET命令获取锁...

2020-08-02 13:35:53 913 2

转载 强制删除k8s集群中的pod

目录之前手动部署一个镜像到k8s集群中,发现一些配置出错了,导致pod一直在不停的重启,下面记录强制删除pod的命令先说下网上大部分强制删除操作吧,我试了好几次不管用,尴尬kubectl delete pod -n namespace podname --force --grace-period=0言归正传,记录下强制删除pod的命令当你的pod是通过deployment来创建的,可以这样删除kubectl delete deployments.apps -n nam.

2020-07-02 17:09:26 764

原创 Kubernetes 安装Dashboard

在docker for mac上安装kubernetes后,安装dashboard1.在https://github.com/kubernetes/dashboard/releases官网,找到对应的版本。本文使用2.0.1kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.1/aio/deploy/recommended.yaml可能会出现raw.githubusercontent.co..

2020-06-23 15:43:45 598

原创 Kubernetes中的Port端口演示

在编排kubernetes时,Deployment、ReplicationController的Pod项有containerPort,Service文件里的port,targetPort, nodePortDeployment、ReplicationController中的containerPort:容器暴露的端口Service中的port:service暴露在cluster ip上的端口,通过<cluster ip>:port访问服务,通过此端口集群内的服务可以相互访问ta

2020-06-23 15:23:45 399

转载 idea导出Oracle表结构和数据

. 通过idea连接Oracle后,鼠标右键连接成功的数据库2. 默认导出单表和insert数据,不包括表结构。3. 按照如下1234的操作设置,就可以导出整个数据库的表结构和数据,

2020-06-17 17:10:55 1870 1

转载 ERROR: Failed to Setup IP tables: Unable to enable SKIP DNAT rule

ERROR: Failed to Setup IP tables: Unable to enable SKIP DNAT rule: (iptables failed: iptables --wait -t nat -I DOCKER -i br-2add1a39bc5d -j RETURN: iptables: No chain/target/match by that name.原因是关闭防火墙之后docker需要重启,执行以下命令重启docker即可:service docker resta.

2020-06-11 17:21:46 324

转载 查看服务器内存、CPU、网络等占用情况的命令--汇总

搭建测试环境过程中,需要对正在使用的aws服务器(实际这是一台虚拟出来的服务器),查看它在运行脚本,启动脚本时的内存,CPU,网络等使用情况 1 2 3 1、查看服务器cpu内核个数:-cat 每个物理cpu中core的个数(即核数) cat/proc/cpuinfo | grep"cpu cores"| uniq    1 2 2、物理cpu个数-cat cat/proc...

2020-06-11 11:33:48 2608

转载 对微信退款结果通知接口的说明和req_info字段解析(JAVA)

微信支付的申请退款接口,可以设置notify_url参数,这个参数代表微信退款成功后调用商户自己的接口,当微信调用这个接口时,代表款项正式退给了付款方。根据观察,如果是微信零钱支付,调用申请退款接口后是秒退,如果是微信绑定的银行卡或信用卡支付,大概几分钟后到账。微信退款申请接口文档:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_4微信退款通知接口文档:https://pay.weixin.qq.com/wiki/do

2020-06-03 15:58:44 1225

空空如也

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

TA关注的人

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