- 博客(38)
- 收藏
- 关注
原创 sonarQube代码质量分析
使用sonarQube可以帮助我们分析自己代码上的一些问题,能够及时发现解决问题。一、搭建环境:centos7.9 + docker + sonar7.6 + mysql5.7 + jdk1.8 + IEDA1.1 docker安装可以参考我之前的文章:centos7 安装docker_震旦小读者的博客-优快云博客1.2 docker下安装mysql5.7# 拉取镜像,指定mysql版本docker pull mysql:5.7.36# 运行容器docker run -d
2022-05-28 15:49:21
768
原创 elasticsearch7.8.0 javaAPI入门操作
环境:springboot2.3.3.RELEASE引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-elasticsearch</artifactId> </dependency>一、客户端
2022-05-25 17:46:31
570
原创 elasticsearch7.8.0入门操作
一、基本概念Cluster:集群, 由一组 es 实例组成Node:节点, 单个 es 运行的实例Index:索引, 类似于数据表Type 类型ES7以后固定值是 _docDocument: 文档, 类似于数据表中的一条数据Field: 字段, 类似于数据表的字段Mapping:映射, 类似于数据表的字段定义, 包括数据类型二、索引-增删改查2.1 创建索引,PUT请求,不能重复添加http://192.168.0.104:9200/shopping2.2 全查
2022-05-25 11:59:49
493
原创 centos7安装elasticsearch7.8.0
环境搭建:centos7.9 / es7.8.0一、下载安装wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.8.0-x86_64.rpmwget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.8.0-x86_64.rpm.sha512shasum -a 512 -c elasticsearch-7.8.0
2022-05-24 15:49:45
557
原创 SpringBoot下的参数校验和全局异常
日常开发中,前后端都会对传递的参数进行校验,前端为的是更好的交互体验,后端则更是为了接口的安全,数据的正确性做了各种各样的校验。环境:springboot2.3.3.RELEASE校验依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId><
2022-05-23 16:52:36
714
原创 数据库三大范式和反范式
查阅数据库三大范式相关理论知识的过程中,我想起了某一次面试,面试官问我要设计一个学生管理系统,数据库这方面你想怎么设计。我当时噼里啪啦讲了好多具体怎么做,有什么表呀,什么字段呀,根据业务来具体决定之类的。面试官当时笑眯眯的,也不给个提示。现在想起来,大写的尴尬。其实业务上,你没做过相关行业,很难说的比较准确的。面试主要还是一些经验理论的解决方案。虽然实际工作中,我们设计数据库表也是会尽量多思考实际业务情况,尽量把表设计得好一点,可是工作归工作,面试归面试。做出来的东西都是需要理论等其他知识支撑的。第一范
2022-05-18 13:52:57
260
原创 hutool工具类的post请求不同类型参数的接口
hutool:5.0.5接口测试都是这个文章的测试接口springBoot下的post接口_震旦小读者的博客-优快云博客一、表单提交方式(@RequestParam修饰的参数)// Map<String, Object> param = new HashMap<>(); JSONObject param = JSONUtil.createObj(); param.put("name", "test"); p
2022-05-12 17:21:21
11299
1
原创 springBoot下的post接口
一、普通表单数据 /** * 普通表单数据 * @param name * @param age * @return */ @PostMapping("/testForm") public R testForm(@RequestParam("name") String name, @RequestParam("age") Integer age) { return R.success(new DemoPojo(na
2022-05-12 14:55:54
4310
1
原创 tomcat配置直接通过url访问图片
配置文件vim /usr/local/tomcat9/conf/server.xml在<Server><Service><Engine><Host>的节点里面添加<Context docBase="/usr/local/img" path="img" />docBase是图片的实际存储路径,path是虚拟访问路径通过http://ip:port/path/图片名即可访问...
2022-05-11 14:53:08
1138
原创 2021-12-25杂记
@UtilityClass一般作用于工具类上。在使用@UtilityClass注解后,所有的方法和属性都会被加上static关键字,并且该类会创建一个私有的空参构造器。@ConditionalOnWebApplication(type = Type.SERVLET)判断当前应用是否是 Web 应用,如果是的话,当前配置类生效。@ComponentScan 注解只能扫描 spring-boot 项目包内的 bean 并注册到 spring 容器中,因此需要 @EnableAutoConfigu.
2022-05-05 14:27:08
356
原创 springboot 父子工程打jar包
一、先搭建一个父子工程项目,springboot项目父pom <groupId>com.xxx</groupId> <artifactId>fzjar</artifactId> <version>1.0-SNAPSHOT</version> <packaging>pom</packaging> <modules> <module&
2022-04-28 16:01:45
1930
原创 centos7安装nginx
1、检查是否已经安装过nginxfind -name nginx有的话就卸载yum remove nginx2、进入/usr/local/ 下载nginxwget http://nginx.org/download/nginx-1.12.0.tar.gztar -zxvf nginx-1.12.0.tar.gz3、进入解压目录./configure --prefix=/usr/local/nginx报错:./configure: error: C compil
2022-04-27 15:23:23
1892
原创 sharding-jdbc02-分库分表实践
一、前文已经搭配好mysql主从环境,接着用springboot+druid+mybatisplus+shardingjdbc实践springboot:2.3.5pom.xml<dependencies> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter<
2022-04-20 15:14:16
965
原创 sharding-jdbc01-主从分离环境搭建
一、完全卸载mysql1.1 查看并删除mysql安装了的东西rpm -qa |grep -i mysqlyum remove XXX(上面查到的结果)1.2 删除mysql相关目录find / -name mysqlrm -rf XXX(上面查到的结果)1.3 删除/etc/my.cnfrm -rf /etc/my.cnf1.3 删除/var/log/mysqld.log(如果不删除这个文件,会导致新安装的mysql无法生存新密码,会出现无法登陆的情况)rm -rf
2022-04-19 18:02:12
872
原创 MyBatis-Plus updateById 不更新null字段
问题: xxxService.updateById(xxx) 默认不会更新值为null的字段原因:mybatis-plus的fieldStrategy的策略有三种,分别是IGNORED-0-忽略,NOT_NULL-1-非NULL(默认策略),NOT_EMPTY-2-非空,所以造成不更新的原因是默认策略。解决办法:1、设置全局的fieldStrategy2、对字段单独设置策略@TableField(updateStrategy= FieldStrategy.IGNORED)3、使.
2021-11-01 11:19:49
5093
原创 docker下nginx挂载配置文件
一、创建挂载目录mkdir -p /data/nginx/{conf,conf.d,html,logs}二、进入容器docker run -i -t nginx /bin/bash三、复制容器里的配置文件到宿主机刚创建的文件夹下面docker cp 63f22e3363fe:/etc/nginx/nginx.conf /data/nginx/conf/nginx.confdocker cp 63f22e3363fe:/etc/nginx/conf.d/default.conf .
2021-09-08 14:33:37
890
原创 docker 安装旧版minio服务
一、说明7月份之后的新版minio使用体验各种不合适,还是之前旧版的简单耐用。相对来说,网上旧版的minio学习资料更多,参考了网上的一些文章,总结docker安装旧版minio服务的步骤。二、安装指定版本docker pull minio/minio:RELEASE.2021-06-17T00-10-46Z三、运行miniodocker run -p 9000:9000 --name minio -di --restart=always \ -e "MINIO_ROOT_USER=.
2021-09-03 15:11:16
2391
原创 centos7 安装docker
一、查看内核版本uname -a,3.10版本以上才行二、安装依赖软件包sudo yum remove docker docker-common docker-selinux docker-enginesudo yum install -y yum-utils device-mapper-persistent-data lvm2三、设置yum源sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce.
2021-09-03 15:00:06
214
原创 win10下Jmeter简单实用
默认jdk已经安装配置好了。1 下载资源官网:http://jmeter.apache.org/2 配置环境变量新建系统变量变量名称:JMETER_HOME变量值:解压的jmeter安装路径配置系统classpath变量%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar%JMETER_HOME%\lib\jorphan.jar%JMETER_HOME%\lib\logkit-2.0.jar3 启动jmeter.bat..
2021-08-26 18:02:10
287
原创 Spring Security Oauth2
前面一篇关于认证授权的文章,已经有较多而且比较好的博客文章介绍了Oauth2的概念和流程。https://blog.youkuaiyun.com/RX_780/article/details/119215001常用的两种模式主要是授权码模式和密码模式,最终都是为了拿到acces_token(令牌)。授权码模式:client_id、client_secret-》code-》token密码模式:username、password-》token主要实现流程:一、认证服务器配置@EnableAu
2021-08-06 11:32:12
294
原创 关于认证授权的博客好文章
1、jwt token 过期刷新_基于 JWT + Refresh Token 的用户认证实https://blog.youkuaiyun.com/weixin_39545895/article/details/110801353https://www.cnblogs.com/minirice/p/9232355.html2、深入理解Spring Cloud Security OAuth2及JWThttps://www.jianshu.com/p/cb886f995e863、阮一峰oauth2.0h
2021-07-29 16:49:18
132
原创 代码规范——domain包中的javabean
代码规范十分重要,本文参考git上的某一个项目摘抄的记录。后续文章不再说明。https://github.com/1024-lab/smart-admin1、javabean整体要求不得有任何的业务逻辑或者计算 基本数据类型必须使用包装类型(Integer, Double、Boolean 等) 不允许有任何的默认值 每个属性必须添加注释,并且必须使用多行注释。 必须使用 lombok 简化 getter/setter 方法 建议对象使用 lombok 的 @Builder ,@NoAr
2021-03-25 15:21:08
241
原创 Mysql 查询优化(一)
前言:工作上遇到需要优化查询速度的任务,在网上找了比较多的资料,主要还是索引的优化,最后解决问题。环境:mysql版本:8数据量:60万sqlyog可视化工具问题描述:1、单表查询(未优化查询速度大概是5~7s)SELECT* FROM actionlogs ORDER BY create_time, code LIMIT 0, 302、分组查询(未优化查询速度大概是5~7s)SELECT en_name, cn_name FROM actionl...
2020-12-15 13:28:57
202
原创 HttpClient方式请求发送multipart-form-data混合数据(包括多个文件和json字符串等)
前言:之前用了spring框架的restTemplate实现multipart-form-data混合数据(包括多个文件和json字符串等)的上传,现在使用httpClient方式来实现。环境:<dependency> <groupId>commons-httpclient</groupId> <artifactId>commons-httpclient</artifactId> <version>
2020-11-16 15:34:28
3632
1
原创 java的枚举类简单例子
简单的枚举类:public enum PlaceCode { PLACE_CODE_BZHKD("10", "大学"), PLACE_CODE_KC("11", "高中") ; private String code; private String value; PlaceCode(String code, String value) { this.code = code; this.value = value
2020-11-16 14:28:09
210
原创 Mysql 重复添加唯一键导致索引数目超出mysql范围-Too many keys specified; max 64 keys allowed
前言:今天跑脚本的时候,发现了一个错误:Too many keys specified; max 64 keys allowed,开始一脸懵逼,看脚本去。环境:mysql8分析:ALTER TABLE `table_t` ADD UNIQUE(`c`);这句话简单的将字段c添加了唯一约束。如果脚本只是这样写的话,没执行一次这个sql语句,数据库都会新增一个新的索引值,c,c_1.c_2直到超出了mysql索引数目64,然后报错:Too many keys specified; max 6
2020-11-13 17:47:26
4195
原创 RestTemplate方式请求发送multipart-form-data混合数据(包括多个文件和json字符串等)
前言:日常我们使用http发送请求到其他服务器接口的时候,一般都是发送json格式的数据,或是json串、或是key-value值,格式是 application/json。但也可能遇到需要同时发送多个文件以及其他类型参数的混合数据,这时候,我们使用的http的contentType就是 multipart/form-data。针对这一需求,我们有多种方式实现:1借助spring自身的RestTemplate实现;2借助httpClient实现;环境:spring 4.3.0以上(4.3之前版本
2020-11-13 17:24:08
10579
原创 Ubuntu16系统时间修改
1. sudo date -s MM/DD/YY //修改日期,MM:月, DD:日, YY:年2. sudo date -s hh:mm:ss //修改时间3. sudo hwclock --systohc4. 查看系统时间 date
2020-11-04 10:09:20
745
原创 MySQL GROUP BY clause; this is incompatible with sql_mode=only_full_group_by异常
临时解决: 重启mysql服务后问题依然存在SELECT @@GLOBAL.sql_mode;SET @@GLOBAL.sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'需修改mysql配置文件,通过手动添加sql_mode的方式强制指定不需要ONLY_FULL_GROUP_BY属性, my.cnf位于etc文件夹下,vim.
2020-11-02 14:18:03
913
原创 获取list中的最大值
java.utilList<Integer> numList = new ArrayList<>();Integer max = Collections.max(numList);
2020-11-02 11:51:42
9367
原创 DATE_FORMAT函数的使用(时间戳格式转换、比较)
作用:格式化日期时间语法:DATE_FORMAT(date,format)date 参数是合法的日期。format 规定日期/时间的输出格式。1、获取年月日DATE_FORMAT(a.`ts`, '%Y-%m-%d')--》2020-11-022、获取时分秒DATE_FORMAT(a.`ts`, '%T') 或者DATE_FORMAT(a.`ts`, '%H:%i:%s')--》20:00:003、常用符号标识%a:缩写星期名%b:缩写月名%c:月,数值...
2020-11-02 11:43:47
26032
原创 Android 蓝牙BLE开发(二 基本流程)
Android 蓝牙BLE开发(二 基本流程)一、概述低功耗蓝牙(BLE)实现交互功能可以分为4个步骤:发现设备--> 配对/绑定设备--> 建立连接--> 数据通信1、发现设备 主设备(Central),发现方, BluetoothAdapter.startLeScan(); 从设备(peripheral), 被发现方, 发出广播,以供发现。2、配对/绑定设备 ...
2018-06-03 21:51:40
847
原创 Android 蓝牙BLE开发(一 熟悉基本概念)
Android 蓝牙BLE开发(一 熟悉基本概念) 自学Android有差不多一个月了,手头上也一直做关于BLE蓝牙的项目,期间看过别人很多的文章例子,获益匪浅。现在大概能够理通基本的概念和实现简单的蓝牙手机串口通信。接下来就会实现手机通过蓝牙串口与单片机的通讯。但这时候,我觉得需要将基本学习到的东西记录巩固下来。一、有什么(以下摘抄自其他网友的语录)一个BLE终端可以包含多个Servic...
2018-06-03 21:20:03
404
原创 Android: RelativeLayout 记录
1、 基本内容 一图解决: 2、父容器定位示意图 3、根据兄弟组件定位 注意,此图组件1和2是兄弟组件,组件3不是。兄弟组件指是同一层次容器的组件。梅花布局比较有趣,也比较简单。大家也可以试试。4、margin 和 padding 的区别 margin代表的是偏...
2018-05-31 21:33:38
280
原创 Git初次使用(Windows)
1、创建代码仓库 1.1 配置身份 打开Git Bash,输入一下命令: git config --global user.name "xxx" git config --global user.email "xxxxxx" 确认是否成功,只需要将以上命令的名字及邮箱去掉即可。 1.2 创建代码仓库(Repository)...
2018-05-19 22:29:38
517
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人