- 博客(96)
- 资源 (2)
- 收藏
- 关注
原创 jpa + hibernate-spatial + postgis实现简单的空间范围查询
现在说两种不写原生sql去调用postgis的函数,这里以一个空间返回查询为例,查询该矩形里面的所有点。spring cloud、alibaba cloud版本和Spring boot版本如下。jpa 也能直接写原生sql,原生sql,直接写postgis的函数,不多说。实体类定义,这里这个Point是JTS里面的那个。一个最简单的表,id + 名称 + 空间点位。单元测试,demo里面没有加回滚。repository接口。
2024-04-01 10:12:49
347
原创 gateway过滤器没生效,特殊原因
是应用名称,把这个应用注册到nacos,然后访问上述地址,上面的地址是需要通过我们的过滤器,但是网关有一段下面的配置。看这边文章的前提,你要会gateway,知道过滤器怎么配置?直接来看过滤器,局部过滤器。,结果正常,不冲突就行。看起来确实没什么问题。
2023-08-02 16:46:11
2706
原创 一、简单的Spring Authorization Server示例代码
需要有一定的OAuth2的基础需要有一定的Spring Security基础Spring Authorization Server官方简介:Spring Authorization Server is a framework that provides implementations of the OAuth 2.1 and OpenID Connect 1.0个人理解为OAuth 2.1 and OpenID Connect 1.0的实现。关于OAuth2有很多的版本,Spring Author
2023-07-11 15:37:48
1344
1
原创 jpa使用uuid策略后无法手动设置id的问题
调用jpa的save方法,即使手动设置了id,手动设置的这个id也会被覆盖。要求:当用户手动设置了id,以用户设置的id为准,否则使用uuid。解决方案如下:使用自定义id生成策略,判断id非空。不设置则自动生成uuid。实体对象使用自定的策略。现在可以手动设置id了。
2023-07-07 10:40:23
840
原创 Spring Authorization Server扩展实现OAuth2.0的密码模式
Spring官方已经停止对Spring Security Oauth2的维护,项目和相关文档也被移除Spring Authorization Server是官方新推出的OAuth2.1和OpenID Connect1.0的实现两个主要的版本,0.4.x:jdk8。1.x: jdk17这里用的版本是0.4.1OAuth2.0已经不在推荐使用密码模式,OAuth2.1已经废除密码模式,这是为了安全考虑。
2023-06-07 17:58:28
2633
4
原创 gateway sentinel 流控规则持久化到 nacos
Sentinel改造sentinel版本是1.8.6直接看更新内容, 右侧更新后GatewayApiController/* * Copyright 1999-2018 Alibaba Group Holding Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
2023-05-06 16:37:18
1170
3
原创 kettle 9.2源码打包和idea环境启动及常见错误
一:源码打包这里为什么是kettle 9.2,因为kettle 9.3+需要jdk11这里直接去下载kettle的源码,。这里需要自己搭建一个nexus仓库,因为有些包从kettle的仓库里面下载不下来。nexus新建仓库代理, 记得加到public里面去完整的settings.xmlidea导入kettle,等待下载maven依赖,慢慢等,需要很长的时间。这个包在kettle的远程仓库也没有,可以直接去掉有些包在kettle的远程仓库有,但是下载不下来,解决方案是手动下载,然后上传到自己的m
2022-11-23 18:31:29
3490
1
原创 五、Kafka日志存储
在日志清理的同时,客户端也可以读取日志中的消息。LogCompaction执行过后的日志分段的大小会比原先的日志分段的要小,为了防止出现太多的小文件,Kafka在实际清理过程中并不对单个的日志分段进行单独清理,而是将日志文件中offset从0至firstUncleanableOffset的所有日志分段进行分组,每个日志分段只属于一组,分组策略为按照日志分段的顺序遍历,每组中日志分段的占用空间大小之和不超过segmentSize(可以通过broker端参数。...
2022-07-27 15:35:29
1946
原创 四、Kafka主题与分区
指定主题名称指定分区数指定副本个数脚本执行完成后,log.dir目录下创建对应的主题分区。4个分区,两个副本总共八个副本,分配到三台机器(这里是用windows搭建的集群),8=3+3+2。如果是三个分区三个副本,9=3+3+3。主题、分区、副本、log关系如下这里我们还可以通过zk的客户端查看主题信息还可以通过describe来查看分区的分配细节手动指定副本的分配方案。根据分区号的数值从小到到大的顺序排列。分区之间用,隔开,分区内多个副本用隔开。注意要点__和。......
2022-07-25 18:02:50
1659
原创 三、Kafka消费者
消费者(Consumer)负责订阅Kafka主题,并从订阅的主题上拉取消息。与其它消息中间件不同的是:Kafka消费理念中还有一层消费者组(Consumer Group)的概念,一个消费者组包含多个消费者,消息发布到主题后,会投递给每个消费者组中的其中一个消费者。如上图,一个主题有四个分区,P0、P1、P2、P3。两个消费者组A、B都订阅了这个主题,消费者组A中有四个消费者C1、C2、C3、C4,消费者组B中有两个消费者C5、C6。Kafka默认规则,最后的分配是消费者A组中非每一个消费者消费一个分区,B
2022-07-24 15:07:37
2557
原创 二、kafka生产者
在生产者发出消息到写入服务器之前,可能会发生一些异常,网络抖动、leader选举等,这些异常是可以通过内部重试机制而成功发送消息的,如果重试达到设置的次数,生产者放弃重试并返回异常。KafkaProducer要将消息追加到给定主题的某个分区对应的leader副本之前,需要知道主题的分区数量,然后计算目标分区,之后KafkaProducer需要知道leader副本所在的broker结点地址、端口才能建立连接,最终才能叫消息发送到Kafka,这一过程中需要的信息都属于元数据信息。下图,Node1的负载最小。..
2022-07-22 16:41:24
646
原创 一、初识kafka
一个kafka集群包含若干的Producer、若干Broker、若干的Consumer,以及一个Zookeeper集群。Zookeeper是负责Kafka元数据管理、控制器选举等操作的。Producer将消息发送到Broker,Broker将消息存储都磁盘,Consumer从Broker订阅并消费消息。Kafka体系中引入了一下三个术语。生产者,也就是发送消息的一方。生产者负责创建消息,然后将其投递到Kafka中。消费者,也就是接收消息的一方。...
2022-07-21 11:22:23
254
原创 一篇文章送给出生不那么好的Java程序员
我主要做java后端的,前后端分离不是挺火吗,去学了前端,大数据不是很火吗,我学了大数据,微服务不是挺火吗,我微服务也学了。我自己的亲身经历而言,程序员这一行(后面说的都是程序员这个行业),想要有个体面的工作,全日制统招本科学历是门槛,没有学历基本上可以这么理解就算你舞跳得再好,连舞台都没有,你在哪儿跳?现在在找工作,加上这个时间段根本不是找工作的好时机,面试都少得可怜,别说面试了,Boss上主动联系你的100%都是外包公司,你主动联系的回复率有5%已经相当高了。有人会问,马云不是说阿里招聘不看学历吗?..
2022-07-18 14:13:15
150
原创 传统色彩大全
将下面一段代码保存为文件,文件名为:index.html,然后双击打开。<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8"> <title>Color</title> <link rel="stylesheet" href="https://unpkg.com/element-plus@2.0.2/dist/index.css" />.
2022-02-16 17:23:19
8686
原创 教你如何分离单元测试和集成测试同时随意切换spring环境
文章目录前言一、通过maven指定spring环境二、分离单元测试和集成测试为什么要分离单元测试和集成测试?为什么要单独提出来,不直接通过-P指定环境来区分?如何操作?前言我们的项目很多都是用maven来管理的,写代码的时候为了省事,或者赶时间,一般都不写单元测试。就算写了单元测试,打包或者发布的时候一般都会跳过单元测试。这样做的好处是:打包、发布可以成功,但是项目质量确得不到保障。一般情况下,我们用来验证某个接口(方法)是否可以正常执行,才会编写单元测试,通常这个接口不是http接口,如果是htt
2021-12-21 11:21:49
833
原创 关于elasticsearch批量删除后立马查询还能查出被删除的数据的问题
目录相关环境:项目场景:问题描述:原因分析:解决方案:相关环境:elasticsearch:7.7.1,三个节点的集群java: 1.8项目场景:商城搜索,两个操作。操作一:用户首次查询,将数据从es查询出来,再缓存到redis,之后的查询,直接读redis。操作二:后台管理数据,删除es部分数据,重新添加这部分数据,再删除缓存。问题描述:上面的流程看起来是没有问题,但是删除es部分数据的时候还是出现了问题。 假设一下流程:删除es部分数据重新添加这部分数据删除缓存
2021-12-20 11:03:28
5535
原创 Java线程池参数详解和验证
线程池ThreadPoolExecutor,这里直接来看一下线程池的构造方法,这个是参数最多的那个。public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit,
2021-07-29 17:11:12
307
原创 虚拟机基础故障处理工具
文章标题jps:虚拟机进程状况工具jstat:虚拟机统计信息监控工具-class-gc-gccapacity-gcutil-gccause-gcnew-gcnewcapacity-gcold-gcoldcapacity-compiler-printcompilationjinfo:Java配置信息工具jmap:java内存镜像工具jhat:虚拟机堆转储快照分析工具在JDK的bin目录下有很多的小工具,用得比较多的有javac.exe、java.exe。了解一下其他的常用工具,本文以JDK1.8为例,系
2021-07-14 16:39:42
353
原创 JavaSE8的流库
文章目录前言1. 从迭代到流的操作2. 流的创建java.util.stream.Streamjava.util.Arraysjava.util.regex.Patternjava.nio.file.Files3. filter、map、flatMap方法Stream filter(Predicate<? super T> predicate) Stream map(Function<? super T, ? extends R> mapper) Stream flatMap(Fun
2021-07-12 18:08:31
377
1
原创 elasticsearch常用指令、接口
文章目录kibana安装与配置常用接口_cat/_cat查询所有指令/_cat/indices:查询索引/_cat/nodes:查询节点/_cat/health:查看集群/_cat/plugins:查询插件,用得不多索引(index)以及映射(mapping)创建索引查看索引删除索引增删改查数据保存 - 新增简单查询数据保存 - 指定ID - 新增或者编辑数据查询 - 指定ID数据删除批量操作查询条件match_allmatch 模糊查询match_phrase精确查询match_phrase_prefix
2021-07-02 15:03:59
1662
原创 es7 时间说明
文章目录ES时间基本说明ES时间查询或者聚合函数查询 - range聚合 - dateRange聚合 - dateHistogramES时间基本说明????ES字段类型支持date(时间),值可以是毫秒数,表现为new Date().getTime(),或者已经格式化好的时间字符串(需要指定时间格式),如:2021-11-11 11:11:11????ES使用的是UTC世界协调时Internally, dates are converted to UTC (if the time-zone i
2021-07-01 10:49:31
1249
原创 elasticsearch7集群 + 安全
https://www.elastic.co/guide/en/elasticsearch/reference/current/configuring-stack-security.html三种安全级别Minimal security (Elasticsearch Development)editBasic security (Elasticsearch Production)editBasic security plus secured HTTPS traffic (Elastic Stack
2021-06-25 15:12:00
402
1
原创 分享一个vue的markdown编辑器
文档地址http://ckang1229.gitee.io/vue-markdown-editor/zh/体验地址http://www.leany.top/editoreditor.md编辑器看起来效果很绚,但是各种bug各种坑,而且几年前就不维护了,网上了找半天,找到了一个好用点的markdown编辑器v-md-editorv-md-editor特性(摘自官网)高度可定制化高度可扩展性支持自定义主题包提供开箱即用的主题包提供多个组件。可按需使用。官网有详细的文档说明,这里简单说一
2021-06-24 13:43:24
727
原创 自定义树形结构
这里简单说明一下,这里的树是用户自定义的树,由自己控制父子关系。在很多应用场景下,用户需要自己去维护一颗树,这颗树一般以列表形式存在数据库里面,如下:查看树形结构需要由列表生成树,然后再去维护节点关系。列表生成树的时候,一般的做法是递归查询数据库并组装节点。这种方法简单,但是一次请求会查询多次数据库,正常来说是不允许这样做的。为了不多次查询数据库,需要把这个列表一次性查询出来,然后在内存里面把这个列表组装成树,这里有一个问题,如果父节点在前,子节点就直接绑定在父节点,这是没问题的。但是,如果子节
2021-05-28 17:39:12
551
3
原创 vue集成editor.md
editor.md:一款markdown编辑器,个人这么理解的,看起来很高大尚官网地址:https://pandao.github.io/editor.md/坑爹的是在vue里面不能直接使用,需要自己封装markdown一般需要两个东西,编辑和预览,分享一个我自己基于editor.md封装的组件,用的是vue3录屏就没有了,动图的话太大上传不了源码地址编辑https://gitee.com/qiudw/platform/tree/master/platform-admin-web/src
2021-05-26 13:07:19
3507
5
原创 从零开始搭建属于自己的个人博客,你至少需要掌握哪些技能和准备哪些东西
这里有个大前提,不是用钱买,而是自己做。先说一说最简单的流程,管理员(自己)发布博客,访客浏览,不包括评论、点赞、分享等功能。博客需要做哪些东西,然后自己去做就行了。首先,需要一套管理员后台,自己使用,然后前端,访客访问。准备东西一、需要掌握的技能1. 主流计算机语言一门2. 前端语言3. 数据库一种二、需要准备的东西1. 服务器2. 域名3. 数据库4. 常用工具一、需要掌握的技能1. 主流计算机语言一门我听过的,C、Java、Python、PHP等,我主要做Java的,这里就以Java为例,
2021-05-23 18:21:46
2996
1
原创 BigDecimal里面八种舍位模式
BigDecimal.ROUND_UP翻译:舍入模式从零舍入。始终在丢弃非零小数之前递增数字。请注意,此舍入模式永远不会减小计算值的大小。不论正负,保留精度之前的数字加一0.123456789 保留四位小数结果为:0.1235-0.123456789 保留四位小数结果为:-0.1235BigDecimal.ROUND_DOWN翻译:舍入模式向零舍入。切勿在舍弃小数(即截断)之前增加数字。请注意,这种舍入模式永远不会增加计算值的大小。不论正负,保留精度之后的数字直接截掉(丢弃)0.12.
2021-04-16 12:32:16
11482
原创 mysql字段类型
数值类型名称说明存储需求tinyint很小的整数1个字节smallint小的整数2个字节mediumint中等大小的整数3个字节int(integer)普通大小的整数4个字节bigint大整数8个字节float单精度浮点数4个字节double双精度浮点数8个字节decimal(M, D)压缩的“严格”的定点数M + 2个字节日期/时间类型名称说明存储需求yearYYYY.
2021-04-13 13:02:09
61
原创 mysql函数大全
1. 数学函数1.1 绝对值abs(x)select abs(-1);1.2 圆周率pi()select pi();1.3 平方根sqrt(x)select sqrt(4);1.4 求余mod(x, y)select mod(45.5, 6);1.5 取整cell(x), celing(x), floor(x)ceil(x)和ceiling(x)意义相同,返回不小于x的最小整数,返回值转化为一个bigintselect ceil(3.5), ceil(-3.5);floor
2021-04-11 09:33:30
543
原创 JVM垃圾收集
垃圾收集一、垃圾收集1. 对象已死1.1 引用计数算法1.2 可达性分析算法1.3 引用2. 垃圾收集算法2.1 分代收集理论2.2 标记-清除算法2.3 标记-复制算法2.4 标记-整理算法3. 经典垃圾收集器3.1 Serial收集器3.2 ParNew收集器3.3 ParNew Scavenge收集器3.4 Serial Old收集器3.5 Parallel Old收集器3.6 CMS收集器3.7 Garbage First收集器一、垃圾收集垃圾收集需要考虑的三件事:哪些内存需要回收?什么时
2021-03-19 10:33:08
246
原创 Java内存区域
文章目录一、运行时数据区1. 程序计数器2. Java虚拟机栈3. 本地方法栈4. Java堆5. 方法区6. 运行时常量池7. 直接内存二、OOM异常1. Java堆溢出2. 虚拟机栈和本地方法栈溢出3. 方法区和运行时常量池溢出一、运行时数据区Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。如下图:1. 程序计数器2. Java虚拟机栈3. 本地方法栈4. Java堆5. 方法区6. 运行时常量池7. 直接内存二、OOM异常1. Java堆溢
2021-03-18 09:48:23
75
1
原创 Linux下spark独立集群(单机)环境部署
如果你没有hadoop环境,先参考https://blog.csdn.net/admin_15082037343/article/details/107498074spark环境获取部署包官网下载spark的部署包,http://spark.apache.org/,笔者写这篇文章的时候,spark最新版本是3.0.0。上传到Linux服务器并解压配置环境变量vi /etc/profile# 将下面这两句加入环境变量,为了方便export SPARK_HOME=/opt/
2020-08-04 20:51:44
505
原创 如何在windows上搭建hadoop的客户端
一般情况,hadoop是集群运行在Linux上作为服务端,我们想使用命令行访问集群,就需要登录hadoop-master机器使用 hadoop fs -* 命令访问,感觉这样操作有点麻烦,所以我们在本地的windows上搭建一个hadoop的客户端,使用cmd命令访问集群。获取hadoop包最简单的方式就是直接将master上的hadoop包下载到本地配置环境变量# 新增HADOOP_HOME=D:\tools\hadoop\hadoop-3.2.1# PATH后面追加%HADOO
2020-07-28 10:42:09
1565
7
原创 Linux下文件权限简述
Linux系统中的每个文件或者文件夹,都有一个所属用户及所属组。使用id命令可以显示当前用户的信息,使用passwd命令可以修改当前用户密码,使用ll可以列出文件详细信息,就是ls -l。第一列为文件权限,第二列为文件数,第三列为所属用户,第四列为所属组,第五列为大小,第六列为更新时间,第七列为文件(夹)名。文件权限由4部分组成:【文件还是文件夹】【所属用户】【所属组】【其他用户】【文件:-,文件夹:d】【rwx】【rwx】【rwx】r(read)表示读权限 ,数字是 4w(write)表示写
2020-07-25 09:01:02
355
原创 Linux下搭建Hadoop伪分布环境
hadoop简单介绍Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。Hadoop由以下三个模块组成:hdfs:可以简单理解为一个文件系统,就像windows那样,有文件和文件夹的区别。yarn:可以简单理解为计算机资源(CPU和内存)的调度系统。MapReduce:定义计算任务,定义完成后提交到yarn执行。hadoop伪分布式适用与开发、测试环境,只有一台虚拟机的情况。开发环境,一般由多台(至少三台)机器组成一个集
2020-07-21 21:17:45
549
原创 spring security认证与授权
默认数据库模型的认证与授权项目结构如下WebSecurityConfigimport org.springframework.security.config.annotation.web.builders.HttpSecurity;import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;import org.springframework.security.config
2020-07-15 17:02:27
397
原创 创建一个简单的spring security示例
创建一个maven项目,添加依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>2.1.0.RELEASE</version></dependency><dependency> &.
2020-07-10 15:04:15
139
docker-centos.tar.gz
2019-07-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人