- 博客(30)
- 收藏
- 关注
转载 记录SpringBoot工具类
记录SpringBoot工具类断言断言是一个逻辑判断,用于检查不应该发生的情况Assert 关键字在 JDK1.4 中引入,可通过 JVM 参数-enableassertions开启SpringBoot 中提供了 Assert 断言工具类,通常用于数据合法性检查// 要求参数 object 必须为非空(Not Null),否则抛出异常,不予放行// 参数 message 参数用于定制异常信息。void notNull(Object object, String message)/
2022-02-10 16:02:11
359
原创 Gitlab-ce14.5.2搭建配置全流程记录
Gitlab-ce14.5.2搭建配置全流程记录前言记录gitlab搭建流程,方便日后回顾服务器配置:阿里云4c16g,CentOS7.8.2003 x86_640. 安装前确认如果服务器从未安装过gitlab,可以跳过此条如果安装过任意版本gitlab,包括docker安装,请仔细的,一步不差的执行下面的步骤,这个坑浪费了我服务器十几G的流量费原生安装过gitlab:# 停止gitlab服务gitlab-ctl stop# 查看gitlab进程ps aux | gr
2021-12-16 16:40:32
810
转载 nginx配置文件中的error_page配置详解
nginx配置文件中的error_page配置详解1. error_page规则# 语法:error_page code [ code... ] [ = | =answer-code ] uri | @named_location使用字段:http, server, location, location中的if字段2. 实例nginx指令error_page的作用是当发生错误的时候能够显示一个预定义的uri,比如:error_page 502 503 /50x.html;location
2021-12-08 17:02:22
8421
1
原创 使用fastjson时出现ref:“ref:“.list[2\]“的解决办法(重复引用)
使用fastjson时出现ref:“ref:”.list[2]"的解决办法(重复引用)最近下做成绩分析的功能的时候,出现了ref:“ref:”.list[2]"的情况。然后我查了一下出现这种情况的原因和解决办法。出现ref:“ref:”.list[2]"的原因是因为循环引用/内存对象重复那么什么是重复/循环引用?简单说,重复引用就是一个集合/对象中的多个元素/属性同时引用同一对象,循环引用就是集合/对象中的多个元素/属性存在相互引用导致循环。举例说明重复引用List<Object>
2021-11-22 13:28:27
597
原创 Spring依赖注入三种方式的思考和理解
Spring依赖注入三种方式的思考和理解前言Spring框架的依赖注入特性非常灵活好用,并且提供了三种注入方式—Field注入、Constructor注入、Setter方法注入,但是目前各论坛有大量关于注入方式优缺点的讨论,这里只是记录我个人对于注入方式的思考及理解。先放出个人对注入方式的思考和理解尽量避免Field注入;必要且不应被修改的依赖使用Constructor注入。配合Spring4.3及Lombok插件,代码会变得非常简洁,推荐大量使用;Setter注入仅用于静态变量的注入、解决依
2021-10-22 12:07:32
382
原创 Mac下Idea更新2021.2版本后Unable to save settings: Failed to save settings. Please restart IntelliJ IDEA解决
Mac下Idea更新2021.2版本后报错Unable to save settings: Failed to save settings. Please restart IntelliJ IDEA解决记录前言今天正在快乐的搬砖,Idea突然弹出可以更新2021.2版本了,手贱点了更新重启,然后一打开项目就开始疯狂报错解决思路既然Idea也是运行在Java Runtime下的,它一定有日志能看吧,可是百度上全是windows下的日志路径,不过至少知道了idea的日志文件叫idea.log,那就上终
2021-07-30 14:20:49
5041
原创 记录macOS设置ssh别名
记录macOS设置ssh别名前言之前ssh远程服务器都是使用命令ssh root@xxx.xx再敲密码或者使用密钥对ssh key.pem root@xxx.xx登陆,命令繁琐,还总是记不住服务器ip,现在可以设置ssh别名来快速登陆服务器。设置cd ~/.ssh然后ls,一般会有config和known_hosts两个文件,如果没有config文件,可以touch config来生成该文件,在文件中设置别名。两种设置方式,分别针对密码登陆和密钥对登陆。密码登陆[~/.ssh]$ vim
2021-07-08 15:41:22
1080
转载 记录git清除历史记录
记录git清除历史记录有些时候,git 仓库累积了太多无用的历史更改,导致 clone 文件过大。如果确定历史更改没有意义,可以采用下述方法清空历史,先 clone 项目到本地目录 (以名为 mylearning 的仓库为例)$ git clone git@gitee.com:badboycoming/mylearning.git进入 mylearning 仓库,拉一个分支,比如名为 latest_branch$ git checkout --orphan latest_branch
2021-05-17 11:52:39
431
转载 记录@Validated参数校验
Spring的@Validated注解的使用1. 分组验证,参数太多不想一一分组分组的类继承package javax.validation.groups 下的Default分组验证遇到的坑2. @Valid和@Validated的区分@Validated是@Valid 的一次封装,是Spring提供的校验机制使用。@Valid不提供分组功能@Validated不提供嵌套验证功能。嵌套验证需要在对应的嵌套属性前加@Valid@Valid和@Validated的总结区分https://bl
2021-03-24 09:19:09
269
原创 使用POI合并.docx文件内容工具类(不支持Word2003的.doc)
使用POI合并.docx文件内容工具类(不支持Word2003的.doc)前言需求是要把多个Word文件根据顺序合并为一个,找到poi有相关的方法可以做,这里整合一个工具类备用,依赖了poi-ooxml 3.17依赖<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.17&
2021-03-16 14:04:30
687
转载 记录gitlab仓库占用CPU和内存过高问题解决
解决gitlab仓库占用CPU和内存过高的问题2核16G云服务器上架着的gitlab总是占用着80%以上的CPU资源, 并且内存占用量总是会缓慢的升高, 每天都要重启服务很烦躁, 今天找到了大神的配置, 效果显著vim /etc/gitlab/gitlab.rb$ vim /etc/gitlab/gitlab.rbgitlab_rails['time_zone'] = 'Asia/Shanghai'unicorn['worker_processes'] = 2unicorn['worker_me
2021-02-20 14:28:43
6545
3
原创 JSON parse error: Invalid UTF-8 Windows系统下JSON解析报错解决记录
Windows下RequestBody里中文格式JSON解析报错大年29, 项目终于完工, 火急火燎的上线部署, 服务器是Windows系统, 项目框架是SpringBoot2.2.11, 打成jar包运行后测试报错, 报错信息如下:报错信息JSON parse error: Invalid UTF-8 middle byte 0xe8; nested exception is com.fasterxml.jackson.databind.JsonMappingException: Invalid U
2021-02-20 13:37:40
4561
4
原创 mysql5.7配置主从同步(master-slave)
mysql5.7配置主从同步(master-slave)准备工作主服务器:192.168.5.130从服务器:192.168.5.140步骤1. 主数据库配置修改 在标签[mysqld]下配置log-bin=mysql-bin #开启二进制日志server-id=1 #设置server-idbinlog-do-db = test #需要同步的数据库binlog-ignore-db = mysql #忽略同步的数据库2. 主数据库新建同步账号mysql> GRANT RE
2021-02-20 12:04:50
531
1
原创 fastdfs配置单tracher双storage同步
fastdfs配置单tracher双storage同步准备工作主服务器:192.168.5.130从服务器:192.168.5.140Docker 安装fastdfs+nginx模块,详细步骤不再展开,自行百度步骤1. 了解fastDFS原理这次是最简单的storage同步,不涉及多tracker多group的配置,这里简单讲一下fastdfs的原理FastDFS 是余庆老师开发的一个开源的高性能分布式文件系统(DFS)。 它的主要功能包括:文件存储,文件同步和文件访问,以及高容量和负载平
2021-02-20 11:49:56
974
转载 Linux下调整LVM逻辑分区大小(针对xfs和ext4不同文件系统)
前言当我们在安装系统的时候,由于没有合理分配分区空间,在后续维护过程中,发现有些分区空间不够使用,而有的分区空间却有很多剩余空间。如果这些分区在装系统的时候使用了lvm(前提是这些分区要是lvm逻辑卷分区),那么就可以轻松进行扩容或缩容!不同文件系统类型所对应的创建、检查、调整命令不同,下面就针对xfs和ext2/3/4文件系统的lvm分区空间的扩容和缩容的操作做一记录:特别注意的是:resize2fs 命令 针对的是ext2、ext3、ext4文件系统xfs_growfs
2021-01-13 14:09:47
458
转载 mysql批量修改排序规则
前言公司开发服务器最近升级了mysql8,为了适配开发人员本机的mysql5.7,需要把所有数据库,数据表,表字段自动设置的utf8mb4_0900_ai_ci排序规则改为utf8mb4_general_ci解决方法字段修复#改变字段数据SELECT TABLE_SCHEMA '数据库',TABLE_NAME '表',COLUMN_NAME '字段',CHARACTER_SET_NAME '原字符集',COLLATION_NAME '原排序规则',CONCAT('ALTER TABLE ', TA
2021-01-13 13:59:01
633
1
转载 局域网下mysql响应慢问题解决记录
前言公司开发用的服务器终于换了,Mysql也上了8.0顺应时代潮流。可是项目里总是报mysql连接失败,navicat连接也特别慢,远程上去在本机连接就没有这个问题,一番百度找到解决方法,在此记录解决方法找到配置文件,在[mysqld]下增加一行skip-name-resolve,问题解决据说原因是mysql所在服务器在外网环境下,会对连接请求进行DNS反向查询,但是请求来自于内网环境,所以会造成阻塞...
2021-01-11 15:13:30
262
原创 苹果M1芯片上借助Linux虚拟机搭建Docker环境
前言苹果M1芯片的Mac电脑目前使用Docker desktop app,对于我目前开发时必须的本地FastDFS环境影响很大,研究到一套在M1芯片上搭建ARM base Linux虚拟机的路子,这样就不会被macOS限制了准备工作下载ARM base Linux镜像:focal-desktop-arm64.iso’步骤创建临时文件夹,克隆vftool虚拟机启动工具并编译mkdir ~/Documents/vmcd ~/Documents/vmgit clone https://gith
2020-12-19 19:17:27
8903
15
原创 记录mysql5.7出现的ONLY_FULL_GROUP_BY问题及解决
近期在大量部署服务器,配置环境,每次都不太记得mysql这个问题的配置方法,现在在此记录下查看当前sql modeSELECT @@GLOBAL.sql_mode;//查看全局配置select @@sql_mode;//已存在数据库配置临时解决策略将上一步查询出来的sql_mode复制出来,去掉ONLY_FULL_GROUP_BY后替换下方语句中的{sql_mode},执行set sql_mode='{sql_mode}' //改变已经存在的数据库sql_modeset @@global.s
2020-11-11 13:05:20
275
转载 CentOS7下搭建fastdfs最优雅的方法——Docker
之前手动搭建最简单的fdfs环境时,步骤繁琐,还需要配置nginx暴露storage的文件访问,现在可以使用Docker的虚拟机快速搭建一个简单可用的fdfs环境介绍fastdfs5.11的dockerfilefastdfs:5.11、nginx、fastdfs-nginx-module整合到一个docker镜像中fastdfs tracker_server、storage_server都只有一个适用于需要fastdfs文件服务但又不需要集群部署,或者快速开始包含一个java的测试脚本使用方法
2020-11-03 13:24:30
409
原创 macOS下Java后端服务调用慢-问题记录
问题产生公司目前是前后端分离开发,我用的Mac本。前端在调用我的接口时基本都是5秒以上才能响应,前端超时时有发生,但是代码提给Windows的同事跑,接口响应都是几十毫秒就完事了。更恶心的是后端还会报错java.io.IOException: Broken pipe,大致就是前端超时就关闭通道了,超时的通道过多就会引发管道崩溃,崩溃了就要重启服务,总会打断思路,而且前端看我的接口等的心急,于是着手解决这个问题。问题溯源后台Java用了Dubbo的服务调用,DEBUG级日志显示每次Dubbo在获取ho
2020-10-29 11:13:46
688
转载 记录centOS7部署FastDFS+nginx模块
软件下载已经事先把所需软件下载好并上传到/usr/local/src目录了https://github.com/happyfish100/libfastcommon/archive/V1.0.43.tar.gzhttps://github.com/happyfish100/fastdfs-nginx-module/archive/V1.22.tar.gzhttps://github.com/happyfish100/fastdfs/archive/V6.06.tar.gzhttps://gith
2020-10-26 16:50:19
156
原创 centOS7防火墙相关命令记录
CentOS7防火墙 开放端口配置查看防火墙状态firewall-cmd --state停止防火墙服务systemctl stop firewalld.service查看已开放的端口firewall-cmd --list-ports开放端口(开放后需要要重启防火墙才生效)firewall-cmd --zone=public --add-port=3338/tcp --permanent关闭端口(关闭后需要要重启防火墙才生效)firewall-cmd --zone=public -
2020-10-23 17:15:46
135
转载 MacOS使用脚本一键安装Homebrew,不再被拉垮的网络限制
你可能尝试了很多办法去安装brew,从一开始的网络超时,到一脸蒙的手动安装,本文教你如何正确安装brew安装Homebrew创建Homebrew目录打开你的终端执行下面的命令,进行创建Homebrewsudo mkdir /usr/local/Homebrew同步brew.git库sudo git clone https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git /usr/local/Homebrew添加环境变量sudo l
2020-10-10 13:00:38
648
原创 activiti工作流动态绑定审批人、候选人与候选组
引言activiti原生的编辑器不能实现A8一样的可视化设置UserTask节点的受理人,但是业务需求是想要让用户可以动态的设置每个流程图的受理人,所以开发了节点设置审批人的功能,其中后台有职位表,用来指定职位对应的用户关系。下面是代码:后台模型@Datapublic class ProcessDefinition extends BaseEntity { private String id; @Excel(name = "流程名称") private String
2020-09-30 17:59:26
12914
11
转载 用于单体应用的,生成类型为Int的雪花算法
起因Twitter的雪花算法是出名的高效率,无网络和io开销的全局唯一ID生成算法,且相较于UUID、百度的UidGenerator相比,生成的id具有一定的时间顺序,不需要另起字段排序。在开发过程中碰到对接硬件SDK时,唯一ID仅支持int类型,但无分布式需求且并发量低。所以动手改写了雪花算法的生成规则。原雪花算法规则:正数位(1bit):一个符号位,永远是0。时间戳(41bit) :自从2012年以来的毫秒数,能撑139年。自增序列(12bit,最大值4096):毫秒之内的自增,过了一
2020-09-30 16:18:51
3600
10
转载 记录CentOS7下redis的安装与配置自启
一、安装gcc依赖由于 redis 是用 C 语言开发,安装之前必先确认是否安装 gcc 环境(gcc -v),如果没有安装,执行以下命令进行安装 [root@localhost local]# yum install -y gcc 二、下载并解压安装包[root@localhost local]# wget http://download.redis.io/releases/redis-5.0.3.tar.gz[root@localhost local]# tar -zxvf redis-5
2020-09-30 10:23:15
168
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人