- 博客(62)
- 资源 (1)
- 收藏
- 关注

原创 MySQL常见问题汇总
1、字段类型为int ,字段值突然变成00000000001:解决方案:去掉这两个打钩,第一个意思无符号整型,第二个意思填充02、order by时,想让升序排序,并且空值排后面:解决方案:order by isnull(字段1),字段1 asc3、group by 比distinct效率高,去重的时候推荐group by4、解决Navicat长时间没有操作mysql...
2019-07-29 14:41:48
330
原创 JAVA/SPringBoot小工具程序直接打包EXE文件
jpackage --type app-image --name xml转换器 --input target --main-jar util-0.0.1-SNAPSHOT.jar --win-console --dest dist1 --java-options "-Dfile.encoding=UTF-8"在springBoot启动类中,添加项目访问页面路径。IDEA:创建Springboot,前后不分离项目。2、项目可以通过网页正常访问。所有依赖都放在一个包中。5、执行jpack命令。
2024-12-03 11:26:37
517
1
转载 统一授权认证架构设计及实现
认证(Identification)是指根据声明者所特有的识别信息,确认声明者的身份。白话文的意思就是:你需要用身份证证明你自己是你自己。
2023-12-19 18:26:20
1858
3
转载 基于CAS认证实现单点登录
ST:ST 全称是 Service Ticket,这是 CAS Sever 通过 TGT 给用户发放的一张票据,用户在访问其他服务时,发现没有 Cookie 或者 ST ,那么就会 302 到 CAS Server 获取 ST,然后会携带着 ST 302 回来,CAS Client 则通过 ST 去 CAS Server 上获取用户的登录状态。CAS的单点登录SSO流程如下, 应用系统要做单点登录,需要跟CAS服务进行集成,首先要理解CAS集成流程和原理。在 CAS 的整个登录过程中,有三个重要的概念。
2023-12-19 18:23:55
203
原创 修复低版本漏洞:OpenSSH 操作系统命令注入漏洞(CVE-2020-15778)
本次描述的修复方式只适用于应付检查,并不是真正修复,如果真正修复,需要将OpenSSH组件升级到官方最新版本。查看当前的版本:ssh -V把脚本中的7.4换成上面查询的结果#!/bin/bashos=`cat /etc/os-release|grep ID|grep -v VERSION_ID`ssh_status=`systemctl status sshd`if [[ $os =~ "centos" ]];then ssh=`strings /usr/bin/ssh|gre
2023-12-18 09:51:47
1033
原创 修复漏洞:Diffie-Hellman Key Agreement Protocol 资源管理错误漏洞(CVE-2002-20001)
在安全检测流程中,发现爆出这个漏洞。
2023-12-13 14:10:48
2485
2
原创 大文件下载优化方案(nginx+Springboot+vue)---非常完美
缺点:文件先读到内存再输出,存在服务器压力;大文件传输过程中客户端和服务器的连接管道容易断开:broken pieped;进度需要自己记录和计算;系统中有个文件下载的功能,下载的文件从1k-几十G不等,小文件下载没有问题,只要上G了,下载大概率失败。描述:前端和后端都使用分片下载,等前端把所有的分片下载完成再合并成一个文件;2.1 服务器读取文件流传输+前端blob接收。描述:传输速度比BIO能快10倍以内。能减少连接断开的概率;优点:传统方案,方案固定好写。Nginx.conf配置。
2023-07-17 18:06:35
3615
原创 Hutool发送企微邮箱邮件无法发出,qq邮箱正常
定位:添加debug设置,看打印出来的日志,发现登录的user没有带@xxx.com.cn,qq应该是有兼容,企微邮箱没有兼容,导致账号有问题。使用hutool工具类发送邮件,qq邮箱能正常发送,企微邮箱发送报535错误码,意思是验证失败。解决:手动设置账户:mailAcount.setUser("aaaa@xxx.com.cn")再看debug打印的日志,发现user已经带了后缀,并且发送也成功了。
2023-04-27 13:58:10
608
原创 工厂模式详解
1、简单工厂模式简单工厂模式是指由工厂对象来决定创建哪一种产品类的实例。属于创建型模式,不属于GOF23中设计模式。举例://课程接口public interface ICourse { void record();}//java课程public class JavaCourse implements ICourse{ @Override public void record() { System.out.println("Java课程录制");
2021-07-04 19:42:40
295
原创 设计模式-七大原则
七大软件设计原则1、开闭原则定义:设计软件实体(类、模块、函数等)时,应该对扩展开放,对修改关闭。用抽象构架框架,用实现扩展细节优点:提高系统的可维护性和复用性2、依赖倒置原则定义:高层模块不应该依赖底层模块,二者都应该依赖其抽象抽象不应该依赖细节,细节应该依赖抽象;针对接口编程,不针对实现编程优点:减少类之间的耦合性,提高系统稳定性,提高代码可读性和可维护性,可降低修改程序所造成的风险3、单一职责原则定义:不要存在多于一个导致类变更的原因一个方法、接口、类只负责一项职责优点:降低
2021-07-04 00:56:00
110
原创 linux环境导出MySQL数据的几种常用方式
经常会遇到修数据的情况,需要从一个库里导出数据放入另一个库,这个时候就需要将数据导出来,常见的有以下几种方式:导出表结构到文件:mysqldump -h 11.11.11.11 -uroot -ppassword db_name -d table_name>table_name.sql 导出表数据导文件:mysqldump -h 11.11.11.11 -uroot -ppassword--single-transaction --no-create-info --skip-triggers..
2021-02-04 08:46:09
1614
原创 docker部署nginx经典操作
docker pull nginxdocker run -d --name nginx nginx:latestdocker ps -----得到23cb5df207eedocker cp 23cb5df207ee:/usr/share/nginx/html /data/appdocker cp 23cb5df207ee:/etc/nginx/nginx.conf /data/nginx/conf/nginx.confdocker cp 23cb5df207ee:/var/log/ngi...
2020-09-11 18:30:58
231
转载 Docker中安装了gitlab,忘记了管理员密码,进行管理员密码重置
https://www.cnblogs.com/zhang-yawei/p/12692493.html
2020-07-09 18:18:18
1064
原创 设计模式学习笔记(2)——创建型——工厂方法模式
工厂方法模式(Factory Method Pattern)定义一个创建产品对象的工厂接口,将产品对象的实际创建工作推迟到具体子工厂类当中。这满足创建型模式中所要求的“创建与使用相分离”的特点。优点:用户只需要知道具体工厂的名称就可得到所要的产品,无须知道产品的具体创建过程; 在系统增加新的产品时只需要添加具体产品类和对应的具体工厂类,无须对原工厂进行任何修改,满足开闭原则;缺点:每增加一个产品,就要新增一个对应的工厂类和产品类,增加系统的复杂度角色:抽象工厂(Abstract Fac
2020-06-08 17:03:33
202
1
原创 设计模式学习笔记(1)——七大设计原则
设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。1、开闭原则(Open Close Principle)开闭原则的意思是:对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。简言之,是为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后面的具体设计中我们会提到这点。2、里氏代换原则(Liskov Substitution Princ
2020-06-08 16:03:53
200
原创 docker中的Jenkins修改密码或者忘记密码
场景:Jenkins某个账号忘了密码,登录不上去了,Jenkins运行在docker容器中解决方案2种:1、直接在docker 容器中修改:docker exec -it containerId /bin/bash cd /var/jenkins_home/users 进入想要修改的人的文件夹下 cd zhangsan 修改config.xml 文件:通常使用vim config...
2020-04-27 18:28:14
5858
原创 mysql中获取2个日期之间的所有日期最佳SQL
SELECT *FROM (SELECT adddate( '1970-01-01', t4.i * 10000 + t3.i * 1000 + t2.i * 100 + t1.i * 10 + t0.i ) selected_dateFROM (SELECT 0 i UNIONSELECT 1 UNIONS...
2020-04-23 12:53:52
1298
3
原创 Linux系统优化
问题描述:linux服务器中放了一个PHP的系统和系统配套使用的数据库MySQL。最近发现系统老是进不去,调查结果显示,MySQL服务挂了。解决方案:尝试进入MySQL:mysql -r root -p报错:Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)...
2020-03-28 14:20:31
291
原创 记一次排查系统登录超时问题的过程
场景:前端:VUE框架,后端:spring boot +spring security认证。问题描述:登录的时候,每3到4次才能成功登录一次,其他都是超时,前端设置的超时时间是20s,对大多数接口来说这个已经足够用了。服务器配置:腾讯云,2核4G1M带宽。过程:第一次尝试:最开始以为是服务器配置太低,因为超时的时候去查看在线人数大概200+,以为是人多,同时访问请求多,导致1M...
2020-03-27 22:47:49
1281
原创 免费制作https证书详细步骤和可能存在的报错解决
制作的详细步骤在这篇文章已经介绍了:https://www.jianshu.com/p/d38e93614735,但是在中间有可能报错的地方,需要注意:1、命令: certbot --nginx ,提示没有找到nginx对应位置:Saving debug log to /var/log/letsencrypt/letsencrypt.logError while running ng...
2020-03-24 13:45:08
790
原创 消息队列之ActiveMQ
安装ActiveMQ:http://activemq.apache.org/下载Windows版本,解压之后--》bin目录--》win64 --》InstallService.bat 以管理员身份运行这个文件,去系统服务中就可以手动启动这个服务;访问:localhost:8161,即可验证是否安装并成功启动服务,进入账号密码:admin / admin;ActiveMQ的maven...
2020-01-14 10:53:51
183
原创 redis在linux下安装部署/常用命令
Redis的安装启动关闭过程如下:1、首先在Linux下安装redis,redis.cn 这个网址下直接点下载,下方有提示安装的方法,粘贴复制即可2、启动服务:进入src目录下,使用命令 ./redis-server (--port 6380)(../redis.conf) (&),括号里的是可选的,第一个用来指定端口,第二个指定配置文件,两个都不写,则默认使用6379端口启动。...
2019-10-11 11:57:13
194
原创 lombok使用详解
lombok作为一个java插件,在java项目中应用很广泛,但是在不同的地方和场景下,要使用合适的注解,才能达到最好的效果,今天来分析下这个插件的原理和使用在开发时,使用的步骤如下:1、引入maven依赖:<dependency> <groupId>org.projectlombok</groupId> <artifactId&g...
2019-09-28 14:39:59
331
转载 (tomcat8)jenkins构建报错The username you provided is not allowed to use the text-based Tomcat Manager
使用jenkins构建web项目,构建过程中tomcat8报没有tomcat manager权限,截图如下:由于tomcat用户权限问题导致,进入tomcat目录下的conf文件夹,修改tomcat-users.xml文件,设置用户权限如下:修改webapps/manager/META-INF/context.xml文件,设置能访问manager的IP为所有,如下所示:重新构建成功...
2019-09-27 16:27:37
206
转载 centos安装gitlab教程(亲测有效)--转
下载gitlab亲测: centos6.5 安装依赖包:1: yum install curl policycoreutils policycoreutils-python openssh-server openssh-clients依赖包安装完成之后:按 Ctrl+C 复制代码按 Ctrl+C 复制代码以上依赖安装完之后,下载gitlab:cent...
2019-09-26 14:21:24
693
原创 centos安装nginx、jdk步骤
安装nginx过程如下:1、新建一个文件夹用来放安装包:mkdir -p /developement/setup2、初始化nginx安装所需要的依赖:yum -y install gcc gcc-c++ wget net-tools pcre-devel zlib-devel openssl-devel3、下载nginx:wget http://nginx.org/d...
2019-09-25 17:20:43
197
原创 java中使用邮件服务发送邮件时,附件名称乱码问题
在使用 MimeMessageHelper设置邮件的附件时,将附件名称传入之后,底层会对附件名称进行编码,当编码之后的字符长度大于60的时候,会对编码后的内容截取前60个,这样在解码的时候就会出错,导致文件名称显示乱码,解决方案:在发送邮件的类中,添加如下代码: static { System.setProperty("mail.mime.splitlongparamet...
2019-09-12 09:22:19
1017
2
原创 mysql中表情emoji保存和查询注意事项
通常APP或者小程序,都会存在用户通过输入和系统进行交互,新增、修改、搜索数据的时候都会存在用户输入表情的问题,如果没有处理好就会出现线上bug,还不容易发现 移动端emoji表情的大小是4个字节(可以用专门的转码工具,将其转换为3字节存储),而一般在数据库设计的时候,初始化的字符集是utf8,占三个字节。当表情不做处理的时候存入或者读取数据库时,就会出现问题。知道原因之后,再解...
2019-09-02 18:21:16
1064
转载 Guava Cache探索及spring项目整合GuavaCache实例
背景 对于高频访问但是低频更新的数据我们一般会做缓存,尤其是在并发量比较高的业务里,原始的手段我们可以使用HashMap或者ConcurrentHashMap来存储. 这样没什么毛病,但是会面临一个问题,对于缓存中的数据只有当我们显示的调用remove方法,才会移除某个元素,即便是高频的数据,也会有访问命中率的高低之分,内存总是有限的,我们不可能无限地去增加Map中的数据. 我希...
2019-08-27 11:51:48
346
原创 Java问题记录
1、Java中的泛型使用:在编译器不知道实际类型,运行时才知道:泛型类:public class Demo<T> { ...}静态泛型方法:public static<T> Demo<T> getSomethin(){ return new Demo<T>;}2、Json序列化,如果要忽略某个方法或者属性...
2019-08-22 14:42:43
175
原创 Java枚举使用
Java中的enum 是 JDK 1.5 中引入的新特性,存放在 java.lang 包中。在开发过程中,经常使用该类型存放一些简单的标记数据,易于维护和阅读,下面是使用的方法:简单的枚举:实际调用Enum(String name, int ordinal) 将值按顺序存放:new Enum("ONE",0);new Enum("TWO",1);....pu...
2019-08-21 16:56:32
151
原创 网站接入QQ登录过程(防踩坑)
一个要留住用户的网站,经常会以通用的方式进行登录,手机号、微信、QQ、邮箱,这些登录都各有自己的规则,这篇文章记录一下接入QQ登录的过程,给大家梳理下,防止后来人踩坑。1、进行开发者注册: 在QQ互联开放平台首页http://connect.qq.com/,点击右上角的“登录”按钮,使用QQ账号登录,如下图所示: 点击图像登录,或者手机扫描二维码登录 登录完成之...
2019-08-21 10:56:21
1925
原创 Linux 常见问题处理
1、执行.sh脚本文件的时候,明明存在,却报错找不到,或者报错权限不足:-bash: ./startup.sh: 权限不够解决方案:原因是该文件的权限设置有问题,首先使用 ll 命令查看文件的详情,看看前面的权限位有没有‘X’的,如果没有就要添加权限:chmod u+x sss.sh (给拥有者添加可执行权限) g+x (所属组添加可执行权限) o+x (给其他人添加可执行权限),或者暴力...
2019-08-16 11:00:10
385
原创 Mysql 常用函数汇总
常见的函数有字符串处理函数、日期处理函数等一、字符串处理1、‘+’ 加号拼接:select 1+2 ----- 3 select 1+‘2’ ------3 select ‘1’+2 ------3 select ‘1xxsds’+ 2 -----3 select 'xxxsds'+ 2 ------2 总结:用加号拼接时,会转换成求和,所有的内容都会转换...
2019-08-07 11:44:26
161
原创 maven项目管理
maven作为项目管理工具,主要作用是:统一开发规范和工具 jar包的统一管理(不用缺哪个就要去下载jar包,拷贝项目的时候,省去jar包也要考的麻烦)maven项目的核心是pom.xml文件,在文件中添加项目的依赖,maven加载jar的过程:1先在本地仓库进行查找,如果没找到,则去第二个地方 2在中央仓库查找:http://repo2.maven.org/maven2/,如果没...
2019-07-15 12:50:42
176
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人