- 博客(84)
- 资源 (6)
- 收藏
- 关注

原创 将本地项目上传到Gitee
码云上创建仓库访问地址 https://gitee.com/projects/new本地搭建Maven项目省略 参见网上文章初始化本地仓库git init初始化本地仓库git remote add origin git@gitee.com:xyz/init-project-upload.git-- xyz 为码云用户名远程分支拉到本地分支git pull --re...
2019-07-27 10:46:58
2437
原创 CORS policy: No ‘Access-Control-Allow-Origin‘ header is present on the requested resource
CORS
2023-02-13 20:49:57
1457
原创 FeignClient调用 Cannot deserialize instance of `java.lang.Boolean` out of START_OBJECT token to
FeignClient 反序列化
2022-06-09 21:50:44
6019
原创 net.sf.dozer使用坑
dozer做什么的Dozer是Java Bean到Java Bean映射器,它以递归方式将数据从一个对象复制到另一个对象。通常,这些Java Bean将具有不同的复杂类型。Dozer支持简单属性映射,复杂类型映射,双向映射,隐式显式映射以及递归映射。这包括映射还需要在元素级别进行映射的集合属性。注意:dozer 目前不支持集合之间的转换 ,需要自己进行处理,稍后我会提供一个简单的工具类.`问题描述通过上图可以知道是jar包冲突导致的(slf4j-log4j12 和 logback-class
2022-05-19 15:41:08
903
原创 运行容器中的OpenJDK替换成OracleJDK
Docker镜像使用 OpenJDKOpenJDK 默认只包含jre,在网上或镜像仓库中未找到包含jdk的安装包或镜像使用 OracleJDK安装OracleJDK tar.gz安装 rpm安装
2021-07-06 17:47:58
956
原创 虚拟机初始化总结
场景公司在做大数据项目开发时,需要在虚拟机上开发,调试等但运维那边开通的虚拟机是裸机,未分区磁盘第一次重新分配虚拟机由于之前一直使用Nav***(数据库客户端),但是它破解需要断网,当时没注意,直接断网后,运维也连不上虚拟机第二次重新分配VM使用磁盘管理 - 新建简单卷这里分卷需要注意,不能直接使用默认分卷大小,需要根据情况设置卷大小。不然就导致C盘剩余空间过少正常操作: 删除E盘,在C上使用扩展卷,如下图但当时没有想到扩展卷,就直接在E盘上安装部分程序,例如 T
2021-06-01 11:39:39
459
原创 ORA-38104: 无法更新 ON 子句中引用的列
使用Oracle保存或更新数据merge into 基本语法MERGE INTO 目标表 AUSING 数据源表 BON (A.条件1 = B.条件1 AND A.条件2 = B.条件2)WHEN MATCHED THEN UPDATE SET A.字段1 = B.字段1, A.字段2 = B.字段2WHEN NOT MATCHED THEN INSERT VALUES(B.字段1, B.字段2);这里需要注意几点UPDATE 语句后没有where条件在
2021-06-01 11:04:19
2228
原创 华为OBS生成临时访问链接
OBSOBS 即对象存储服务业务场景 公司最近基于Arthas开发在线诊断平台,在dump堆和线程时,将压缩后的上传到华为云OBS代码实现(上传省略)文档地址https://support.huaweicloud.com/sdk-java-devg-obs/obs_21_0901.htmlTemporarySignatureRequest request = new TemporarySignatureRequest();request.setBucketName("bucketNam
2021-02-25 16:31:25
3567
3
原创 在线诊断平台简易版
平台介绍基于阿里Arthas开源软件,和使用 Arthas WebConsole实现的在线诊断CPU飙高,内存爆满,线程数量巨大等问题部署流程1. arthas-tunnel-server(新开应用)可以直接下载源码部署。如需定制化,则修改当前项目源码下载启动应用 java -jar arthas-tunnel-server-3.4.4-fatjar.jar2. 目标机器进入目标机器下载Arthas启动arthas# tunnel-server-ip 为 arthas-t
2020-12-10 23:33:01
443
原创 Authentication failed for问题解决(git)
工作中内部使用一个账号打通所有平台,且账号每3个月强制修改密码,导致git命令操作都报这个错误 fatal: Authentication failed for ‘https://****.git/’解决办法# 请使用管理员运行 或者 sudo 授权git config --system --unset credential.helper之后在git的push或pull等命令时,就会提示输入用户名和密码如不使用管理员运行可能会出现如下错误:*** Permission denied
2020-12-10 22:19:15
1477
原创 工作中命令集锦
1. 进程输出主启动类的完整路径jps -l -m查看Java进程ps aux | grep java查看进程创建的线程数ps -efL pid每秒刷新一次,显示进程运行信息列表top -d 1 -c 键入M (大写m),进程按照内存使用排序2. 网络查看进程网络连接数netstat -apn | grep pid查看某个进程的连接情况(fgrep = grep -f)netstat -lap | fgrep pid3. Java虚拟机堆dump(21788 ja
2020-12-10 18:51:01
304
1
原创 数据库ID生成
场景每天需要记录600w条日志左右当日志达到2亿左右时,就需要定时删除最先生成的日志实时将日志导入到Hive中UUID实现插入日志,主键直接使用UUID,满足业务要求缺点: 使用了Mac地址,因此会暴露Mac地址和生成时间变种UUID//IP 调用IP// 时间戳// userId// operatorId// 随机数 1 ~ 10000String format = "single-IP-%d-%d-%d-%d";ThreadLocalRandom random =
2020-09-27 22:24:37
703
原创 nginx 500状态排查
现有现象我们的业务通过iframe嵌入在内部体系中默认通过内部账号搜索框,跳转我们的页面(登录判断)内部账号cookie过期时间默认为一天,不支持动态设置过期时间内部账号过期后,通过指定cookie不能获取值,跳转登录页登录页返回状态码为302,通过nginx日志反馈,则是500运维新增告警规范,项目访问返回status >= 500 则会收到告警问题分析通过在内部账号体系搜索后的连接,拼接上参数 &traceId=uuid值通过traceId+userId能确认唯一
2020-08-30 23:42:07
1006
1
原创 iframe嵌入三方域名页面无法打开
产生原因Chrome新版本中禁用第三方操作(当前版本84.0.4147.125)场景重现业务方域名为 zbj.com,嵌入iframe域名为 z***.la用户访问时,cookie不属于同一域名,导致不能获取值,一直跳转登录页问题分析项目基于 spring-session 和 spring-security 处理session和授权校验通过请教前端大佬,可以通过cookie中设置SameSite=None解决(配合secure=true使用)关键代码spring-secur
2020-08-13 23:44:22
3376
原创 上千万数据查询解决方案
业务场景集团下有多个业务团队,例如:团队A,团队B通过账号注册用户后,记录来自的团队,加入用户来源于团队A(A客户池),用户在团队A下单后,可以推荐团队B的业务给用户,如果用户在团队B(B客户池)成交订单,则团队A与团队B可以对用户在团队B下单的金额分红数据记录:注册时记录团队A,用户在团队B下单,则记录B如果用户在集团下多个团队有下单,则记录为多个团队的客户池集团用户在2500w左右,最后所有的私域客户池记录在5kw左右,每天几万增长客户池又分有无行业场景使用MySQL第一版上线(虚拟
2020-06-19 23:57:15
661
原创 Unable to initialize javax.el.ExpressionFactory
接手项目启动问题现象 接口直接返回出参或者内部异常等debug不进入业务请求内项目依赖框架入参校验,输入(脱敏)输出日志记录等断点在182行,直接跳回到接口调用处问题排查首先想到可能是Lambda写法问题? 改写成如下形式结果还是不进入第二个断点因为接入框架,想到可能是框架与业务方依赖版本冲突导致的通过源码 是这个地方初始化问题错误描述: javax.validation.ValidationException: HV000183: Unable to initialize
2020-05-28 17:11:28
5054
原创 数据库字段未更新
文章目录场景发现问题原因问题分析问题解决场景内推过来的用户,账号状态为未激活,只有当用户通过手机走注册流程,才激活账号(正常状态)发现问题原因新需求:需要对刚注册用用户实时打标(涉及业务知识可忽略),之前发MQ逻辑是在完成注册时发,这里的注册包括账号是未激活状态的注册。考虑到这样做不合理,所以将发MQ消息放在用户注册时才处理。修改后测试由于注册需要发送验证码后才能调用手机注册接口,想到麻烦,将代码推送到测试环境验证,结果第一个手机从未激活到激活状态正常;但当第二个未激活手机注册
2020-05-23 12:10:44
450
1
原创 博文自动生成目录
文章目录第一步第二步在博文头部自动生成目录。只需要两步:第一步在博文第一行写这句代码@[TOC]第二步使用#(一个或多个)作为目录的标题
2020-05-14 00:02:57
213
原创 字符串、日期、集合、计时等工具类
字符串操作/** * StringTest * @author weigang * @create 2020-05-12 **/public class StringTest { public static void main(String[] args) { String s = " "; // old if (null == s || s.isEmpty()) { } // commons-lang
2020-05-13 23:52:31
306
原创 Sentinel超时时间配置
问题描述图片从第三方下载,通过图片字节流解密,针对大图片存在超时情况。Sentinel的默认平均响应时间最大为 4900ms,不满足当前业务需求文档描述通过启动项设置即可 -Dcsp.sentinel.statistic.max.rt=10000问题解决考虑到线上部署为Docker 则需要在Dockerfile中配置之前尝试过在Dockerfile写配置启动项,涉及到配置语法等,...
2020-04-24 13:48:20
5942
原创 Dubbo线程模型与Sentinel运用
案例回放用户登录全部流量接入极验校验后,导致请求到第三方极验公司那边个别请求很慢与第三方公司定位后,还是存在问题(有所好转,但不明显)考虑到不能完全依靠第三方处理,可以通过Dubbo线程池处理个别服务慢,导致占用线程池瞬间上升,其他服务调用也越来越慢,影响整体可用性增加线程池大小,设置为可伸缩线程池线程模型参考官网介绍配置示例如下dubbo默认将所有消息都派发到线程池,并...
2020-04-03 15:47:44
349
原创 项目中使用Java SPI
参照dubbo官网http://dubbo.apache.org/zh-cn/docs/source_code_guide/dubbo-spi.html需求现状dubbo实现类项目接入公共组件(serviceimpl-framework 公司内部),针对出参和入参日志中的敏感日志都是明文输出,存在很大风险基于dubbo SPI或者java SPI开发应用考虑到使用Dubbo...
2020-04-03 12:57:07
450
原创 Translation idea插件
翻译软件安装(Mac)Preferences -> plugins -> Marketplace 搜索点击安装即可(这里是已经安装的),重启idea即可生效没有这个插件之前我们怎么做的之前翻译源码备注都是拷贝到 https://translate.google.cn/ 中进行翻译,这样好麻烦哟插件设置这里使用google翻译,如果读者使用有道或百度,是需要申请appId...
2020-04-03 10:00:39
526
原创 springboot jar部署 上传下载
需求通过批量手机找出id与手机关系,并且返回账号类型(未激活)例如:这批手机号从某次网上会议获取,有一部分是已经存在的用户,业务方将已存在的用户拿到后,就可以做分析、搞活动等系统配置Mac + IDEA框架和部署(SpringBoot + Thymeleaf + Jar 方式)初版实现通过上传手机列表,然后下载id与手机号关联列表即可上传实现# Thymeleaf页面...
2020-03-31 00:53:03
263
原创 mongodb 数组更新
原因:线上数据中,数组项某个value存在前置空格# 数据格式如下(手动输入的,json串格式可能有问题):{"categoryId":99999,"categoryType":23,"keyValue":[ {"key":"key1","value":" value1"}, {"key":"key2","value":"value2"}, {"key":"key3","value...
2020-03-26 21:40:44
1106
原创 ssh登录失败 重置ECS镜像
产生原因在阿里云上操作云服务器,错误将/etc/下文件全部删除重置磁盘(云服务器需要停止)磁盘 -> 初始化磁盘由于之前通过ssh连过远程服务器,则存储在Users**/.ssh/known_hosts文件中失败提示1、Users**/.ssh/known_hosts is not a valid known_hosts file. Not replacing exist...
2020-01-15 11:27:31
593
原创 使用 Docker 部署 Spring Boot 项目(缩减版)
Docker 技术发展为微服务落地提供了更加便利的环境,使用 Docker 部署 Spring Boot 其实非常简单,这篇文章我们就来简单学习下本地git地址 http://gitlab.example.com/weigang/spring-boot-studySpring Boot项目添加Docker支持pom.xml properties新增<!-- docker前缀...
2019-11-05 14:46:32
572
1
转载 docker logs-查看docker容器日志
通过docker logs 可以查看容器的日志docker logs 是跟随容器而产生的,如果删除了某个容器,相应的日志文件也会被删除docker日志内容类型dicker自身运行时Daemon的日志内容docker容器的日志内容docker logs实现原理Docker Daemon是Docker架构中一个常驻在后台的系统进程,它在后台启动了一个Server,Server负责接...
2019-11-05 14:12:49
3768
转载 SpringBoot中如何灵活的实现接口数据的加解密功能?
数据是企业的第四张名片,企业级开发中少不了数据的加密传输,所以本文介绍下SpringBoot中接口数据加密、解密的方式。本文目录 一、加密方案介绍二、实现原理三、实战四、测试五、踩到的坑一、加密方案介绍 对接口的加密解密操作主要有下面两种方式:自定义消息转换器优势:仅需实现接口,配置简单。劣势:仅能对同一类型的MediaType进行加解密操作,不灵活。使用spring提供的接...
2019-11-04 11:10:26
634
原创 Mac安装ProtoBuf
何为 ProtoBuf我们先来看看官方文档给出的定义和描述:protocol buffers 是一种语言无关、平台无关、可扩展的序列化结构数据的方法,它可用于(数据)通信协议、数据存储等。Protocol Buffers 是一种灵活,高效,自动化机制的结构数据序列化方法-可类比 XML,但是比 XML 更小(3 ~ 10倍)、更快(20 ~ 100倍)、更为简单。你可以定义数据的结...
2019-11-03 17:45:59
1091
spring-boot-中文文档.pdf
2017-08-16
敏捷软件开发原则、模式与实践(高清).pdf
2017-08-16
UML精粹(第三版).pdf
2017-08-16
Java 数据结构和算法(第二版).pdf
2017-08-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人