自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(76)
  • 收藏
  • 关注

原创 重写get方法导致json序列化之后值改变的问题

当我们需要对某一个字段经过计算后再返回值时,不应该直接在其get方法中处理,而应该重新写一个get方法来获取该字段计算后的值。参考文章。

2024-11-22 10:27:41 256

原创 SpringBoot集成kafka

/</</</

2024-11-19 16:51:49 1561

原创 SpringCloud处理Websocket消息过长自动断开连接

近期实现了客户端订阅Websocket后,服务端定期向客户端推送相关设备消息的功能,在本地测试没有问题,上线后却发现订阅设备数量超过一定数量后Websocket就会自动断开连接报错日志。

2024-11-19 16:45:41 797

原创 缓存工具类编写

通过将查询数据库的函数作为传参,我们将缓存相关操作进行了抽取,减少了代码的编写,且如果后续需要更换缓存(如:将redis更换为把本地缓存),业务代码也不需要进行更改,只需要更改缓存工具类中的代码即可。

2024-11-19 16:22:43 426

原创 微信公众号扫码登录对接

源码地址:https://github.com/zzxx1234/webchat-server.git。

2024-11-19 15:35:42 949

原创 通过CompletableFuture对上游接口进行多次调用的优化

方案一因为上游平台的源码并不在我们手中,等待乙方开发又太慢了,而且设备列表页设备不会超过100台,故最多同时调用100次上游平台的接口,经过测试上游平台可以承受,故采用方案二。// 将deviceIds转换为CompletableFuture,// 每个 CompletableFuture 对象都会异步执行queryDeviceParamValuet方法,查询设备参在线状态// 调用上游平台接口}))// 等待所有任务完成,并获取结果// 后续操作省略。

2024-10-31 10:30:18 449 1

原创 SpringBoot整合SpringSecurity + JWT

Token 也是一种用于用户身份鉴权的手段。他其实是一种代表用户身份验证和授权的令牌。在 Web 应用程序中,常用的身份验证方案是基于令牌的身份验证 (Token-based Authentication)。当用户成功登录时,服务器会生成一个 Token 并将其返回给客户端。客户端在后续的请求中将 Token 包含在请求头或请求参数中发送给服务器。服务器接收到 Token 后,会进行验证和解析,以确定用户的身份和权限。Token 通常是基于某种加密算法生成的,因此具有一定的安全性。

2024-08-28 09:02:59 994 1

原创 SpringBoot集成日志框架

日志门面,是门面模式的一个典型的应用。门面模式 (Facade Pattern) ,也称之为外观模式,其核心为:外部与一个子系统的通信必须通过一个统一的外观对象进行,使得子系统更易于使用。在应用中屏蔽掉底层日志框架的具体实现,即使有一天要更换代码的日志框架,只需要修 jar 包,最多再改改日志输出相关的配置文件就可以了。这就是解除了应用和日志框架之间的耦合。在使用是非常方便的,不需要我们有什么额外的配置,因为默认支持的就是slf4jlogback的日志框架,想要灵活的定制日志策略,只需要我们在其中。

2024-08-13 16:33:35 1222

原创 docker部署容器端口占用问题

当我在使用 Windows 下使用 Docker Desktop 部署docker容器时经常性发生容器启动失败的提示,并且有的时候重启电脑后就能成功启动容器,这是因为 Hyper-V 引起的 保留端口,这部分端口将会被系统保留,无法被其他应用程序所使用。

2024-07-31 17:28:39 1251

原创 Git使用教程

访问上述链接安装完成后进行相关配置。

2024-07-30 16:25:22 1127

原创 安装部署docker以及docker-compose

docker-compose安装方式有两种:插件安装和独立安装,插件安装指令为docker compose,独立安装指令为docker-compose。官网:https://docs.docker.com/compose/install/可以将卸载命令和安装命令写成一个脚本,以后只需执行脚本就可以安装docker了。通过检查版本来验证 Docker Compose 是否正确安装。通过检查版本来验证 docker-compose 是否正确安装。安装最新版本的 Docker Compose。

2024-07-30 16:21:50 495

原创 LeetCode1726. 同积元组

同积元组

2023-10-19 19:57:24 264

原创 【Docker 部署Minio】

访问 http://ip:9090 用户名:密码 minioadmin:minioadmin。镜像站找到自己需要的Minio镜像。

2023-07-07 10:59:53 1093

原创 推荐系统环境搭建

(2)将 hadoop 导入到 /home/zx/opt 目录下面的 software 文件夹下面。(2)将 JDK 导入到 /home/zx/opt 目录下面的 software 文件夹下面。(3)解压 hadoop 到/home/zx//opt/module 目录。(3)解压 JDK 到/home/zx//opt/module 目录下。(1)版本hadoop-2.7.5。(1)格式化namenode。(4)配置 JDK 环境变量。(4)配置 JDK 环境变量。(2)启动 HDFS。

2023-03-26 00:02:32 478

原创 基于Docker部署Nginx,并部署Vue项目

当服务器和容器都不存在 nginx.conf 文件时, 执行启动命令的时候 docker会将nginx.conf 作为目录创建 , 这并不是我们想要的结果。之所以要先创建 , 是因为Nginx本身容器只存在/etc/nginx 目录 , 本身就不创建 nginx.conf 文件。启动前需要先创建Nginx外部挂载的配置文件( /home/zx/nginx/conf/nginx.conf)部署好后只需要将前端项目代码放到/home/zx/nginx/html 然后重启nginx即可。

2023-03-18 16:22:12 1070

原创 【基于Mybatis拦截器实现不同用户使用不同的数据表】

*** @description: 动态替换表名拦截器*/ //method = "query"拦截select方法、而method = "update"则能拦截insert、update、delete的方法 @Intercepts({static {//表名长的放前面,避免字符串匹配的时候先匹配替换子集 TABLE_LIST . add("test");// 拦截sql Object [ ] args = invocation . getArgs();

2023-03-03 17:38:48 377

原创 基于dynamic-datasource实现多租户动态切换数据源

【代码】基于dynamic-datasource实现多租户动态切换数据源。

2023-03-01 23:19:41 5147 2

原创 Docker中部署logstash同步mysql数据

1

2022-12-08 14:12:52 595

原创 Docker中部署elasticsearch

【代码】Docker中部署elasticsearch。

2022-11-18 23:00:54 1455 1

原创 java八股

java八股

2022-07-13 09:59:18 277

原创 HDFS技术

HDFS技术一、HDFS 概述HDFS 产出背景及定义HDFS 优缺点一、HDFS 概述HDFS 产出背景及定义1)HDFS 产生背景随着数据量越来越大,在一个操作系统存不下所有的数据,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统。HDFS 只是分布式文件管理系统中的一种。2)HDFS 定义HDFS(Hadoop Distributed File System),它是一个文件系统,用于存储文件,通过目录

2022-04-04 23:04:50 279

原创 centos环境下部署Flask框架

centos环境下部署Flask框架安装docker启动docker在docker下安装MySQL启动mysql服务安装dockeryum install docker #安装dockerdocker version #查看docker版本出现下面内容说明安装成功启动dockersudo systemctl start docker #启动sudo systemctl enable docker #开机自启sudo systemctl status docker #查看状态在dock

2022-04-01 10:05:50 3080

原创 蓝桥杯算法模板

算法模板最大公约数最大公倍数最大公约数#递归写法def gcd(a,b):#最大公因数 if b == 0: return a gcd(b,a%b)#递归写法def gcd(a,b): #最大公因数 while b > 0: a,b = b,a%b return a最大公倍数#设d位a,b的最大公约数,则a,b的最大公倍数 = a*b/ddef gcd(a,b): #求最大公因数 while b > 0: a

2022-03-07 20:08:13 242

原创 Hive的安装部署

Hive的安装部署前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npi.

2022-03-06 11:16:03 1683

原创 第十二届蓝桥杯python大学A组

第十二届蓝桥杯python大学A组A:卡片问题描述解题思路python代码A:卡片问题描述小蓝有很多数字卡片,每张卡片上都是数字 0到 9。 小蓝准备用这些卡片来拼一些数,他想从 1 开始拼出正整数,每拼一个, 就保存起来,卡片就不能用来拼其它数了。 小蓝想知道自己能从 1 拼到多少。例如,当小蓝有 30 张卡片,其中 0 到 9 各 3 张,则小蓝可以拼出 11 到 1010, 但是拼 11 时卡片 1 已经只有一张了,不够拼出 11。 现在小蓝手里有 0 到 9 的卡片各 2021 张,共 2

2022-03-04 22:18:56 889

原创 LeetCode1601. 最多可达成的换楼请求数目

LeetCode1601. 最多可达成的换楼请求数目题目描述解题思路代码题目描述LeetCode1601. 最多可达成的换楼请求数目我们有 n 栋楼,编号从 0 到 n - 1 。每栋楼有若干员工。由于现在是换楼的季节,部分员工想要换一栋楼居住。给你一个数组 requests ,其中 requests[i] = [fromi, toi] ,表示一个员工请求从编号为 fromi 的楼搬到编号为 toi 的楼。一开始 所有楼都是满的,所以从请求列表中选出的若干个请求是可行的需要满足 每栋楼员工净变化

2022-02-28 20:31:19 174

原创 Hadoop集群部署

Hadoop集群部署一、环境准备二、在hadoop102中安装jdk三、在 hadoop102 安装 Hadoop安装hadoop查看 Hadoop 目录结构一、环境准备(0)需要准备三台虚拟机,名称为Hadoop(102,103,104),ip地址为192.168.10.(102、103、104)。(1)关闭虚拟机防火墙[root@hadoop100 ~]# systemctl stop firewalld (关闭防火墙)[root@hadoop100 ~]# systemctl disable

2022-02-27 14:03:27 2127

原创 SHELL3 输出7的倍数

SHELL3 输出7的倍数描述方法描述写一个 bash脚本以输出数字 0 到 500 中 7 的倍数(0 7 14 21…)的命令方法#!/bin/bashsed 0 7 500

2022-02-27 10:18:49 286

原创 LeetCode2016. 增量元素之间的最大差值

LeetCode2016. 增量元素之间的最大差值题目描述解题思路代码题目描述LeetCode2016. 增量元素之间的最大差值给你一个下标从 0 开始的整数数组 nums ,该数组的大小为 n ,请你计算 nums[j] - nums[i] 能求得的 最大差值 ,其中 0 <= i < j < n 且 nums[i] < nums[j] 。返回 最大差值 。如果不存在满足要求的 i 和 j ,返回 -1 。示例 1:输入:nums = [7,1,5,4]输出:4解

2022-02-26 21:25:50 312

原创 SHELL2 打印文件的最后5行

SHELL2 打印文件的最后5行描述方法1tail命令详解扩展描述经常查看日志的时候,会从文件的末尾往前查看,于是请你写一个 bash脚本以输出一个文本文件 nowcoder.txt中的最后5行示例:假设 nowcoder.txt 内容如下:#includeusing namespace std;int main(){int a = 10;int b = 100;cout << “a + b:” << a + b << endl;return 0;

2022-02-26 20:13:08 751

原创 LeetCode1706. 球会落何处

LeetCode1706. 球会落何处题目描述解题思路python代码题目描述LeetCode1706. 球会落何处用一个大小为 m x n 的二维网格 grid 表示一个箱子。你有 n 颗球。箱子的顶部和底部都是开着的。箱子中的每个单元格都有一个对角线挡板,跨过单元格的两个角,可以将球导向左侧或者右侧。将球导向右侧的挡板跨过左上角和右下角,在网格中用 1 表示。将球导向左侧的挡板跨过右上角和左下角,在网格中用 -1 表示。在箱子每一列的顶端各放一颗球。每颗球都可能卡在箱子里或从底部掉出来。

2022-02-24 14:10:20 134

原创 SHELL1 统计文件的行数

SHELL1 统计文件的行数描述方法1方法2tail命令详解方法3方法4描述写一个 bash脚本以输出一个文本文件 nowcoder.txt中的行数示例:假设 nowcoder.txt 内容如下:#include <iostream>using namespace std;int main(){ int a = 10; int b = 100; cout << "a + b:" << a + b << endl;

2022-02-24 12:29:06 1272

原创 linux下的shell脚本

linux下的shell脚本一、Shell概述二、Shell 解析器三、Shell脚本入门一、Shell概述Shell是一个命令解释器,它接受应用程序/用户的命令,然后调用操作系统内核。Shell还是一个功能强大的编程语言,易编写、易调试、灵活性强。二、Shell 解析器(1)Linux提供的Shell解析器有:[root@localhost datas]# cat /etc/shells /bin/sh/bin/bash/usr/bin/sh/usr/bin/bash/bin/

2022-02-22 12:22:45 2007

原创 LeetCode1020. 飞地的数量

LeetCode1020. 飞地的数量题目描述解题思路python代码题目描述给你一个大小为 m x n 的二进制矩阵 grid ,其中 0 表示一个海洋单元格、1 表示一个陆地单元格。一次 移动 是指从一个陆地单元格走到另一个相邻(上、下、左、右)的陆地单元格或跨过 grid 的边界。返回网格中 无法 在任意次数的移动中离开网格边界的陆地单元格的数量。示例 1:输入:grid = [[0,0,0,0],[1,0,1,0],[0,1,1,0],[0,0,0,0]]输出:3解释:有三个 1 被

2022-02-12 19:40:34 354

原创 LeetCode1001. 网格照明

LeetCode1001. 网格照明A.门牌制作题目描述解题思路python代码A.门牌制作题目描述在大小为 n x n 的网格 grid 上,每个单元格都有一盏灯,最初灯都处于 关闭 状态。给你一个由灯的位置组成的二维数组 lamps ,其中 lamps[i] = [rowi, coli] 表示 打开 位于 grid[rowi][coli] 的灯。即便同一盏灯可能在 lamps 中多次列出,不会影响这盏灯处于 打开 状态。当一盏灯处于打开状态,它将会照亮 自身所在单元格 以及同一 行 、同一 列

2022-02-08 19:35:33 7532

原创 LeetCode1765. 地图中的最高点

LeetCode1765. 地图中的最高点A.门牌制作题目描述解题思路python代码A.门牌制作题目描述给你一个大小为 m x n 的整数矩阵 isWater ,它代表了一个由 陆地 和 水域 单元格组成的地图。如果 isWater[i][j] == 0 ,格子 (i, j) 是一个 陆地 格子。如果 isWater[i][j] == 1 ,格子 (i, j) 是一个 水域 格子。你需要按照如下规则给每个单元格安排高度:每个格子的高度都必须是非负的。如果一个格子是是 水域 ,那么它的高度必

2022-01-29 21:16:48 121

原创 第十一届蓝桥杯软件类第二场C/C++大学B组

第十一届蓝桥杯软件类生死第二场C/C++大学B组1. 斐波那契数列题目描述解法一解题思路python代码1. 斐波那契数列题目描述解法一解题思路python代码1. 斐波那契数列题目描述解法一解题思路python代码1. 斐波那契数列题目描述解法一解题思路python代码1. 斐波那契数列题目描述解法一解题思路python代码1. 斐波那契数列题目描述解法一解题思路python代码1. 斐波那契数列题目描述解法一解题思路python代码1. 斐波那契数列题目描述解法一解题思路python代码1. 斐波那契

2022-01-24 09:14:17 175

原创 思特奇杯·云上蓝桥 -算法 集训营第三周

1. 斐波那契数列题目描述斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:F(0) = 0,F(1) = 1F(n) = F(n - 1) + F(n - 2),其中 n > 1给你 n ,请计算 F(n) 。解法一解题思路动态规划python代码def fib(self, n: int) -> int: if n==0: return 0

2022-01-19 13:20:48 786

原创 思特奇杯·云上蓝桥 -算法 集训营第二周

跑步训练1. 带分数2. 李白打酒3. 第 39 级台阶题目描述解法一python代码解法二解题思路python代码4. 穿越雷区5. 迷宫6. 跳马7. 路径之谜8. 未名湖边的烦恼9. 大臣的旅费10. 2n 皇后问题1. 带分数2. 李白打酒3. 第 39 级台阶题目描述小明刚刚看完电影《第 39 级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是 39 级!站在台阶前,他突然又想着一个问题:如果我每一步只能迈上 1 个或 2 个台阶。先迈左脚,然后左右交替,最后一步是迈右脚

2022-01-12 19:15:09 549

原创 思特奇杯·云上蓝桥 -算法 集训营第一周-13.七星填空

七星填空题目描述解法一解题思路python代码题目描述如下图所示。在七角星的 14 个节点上填入 1 ~ 14的数字,不重复,不遗漏。要求每条直线上的四个数字之和必须相等。图片描述图中已经给出了 3 个数字。 请计算其它位置要填充的数字,答案唯一。填好后,请输出绿色节点的 4 个数字(从左到右,用空格分开)。解法一解题思路将空白的11个空一次填空,并用数组a[11]表示初始a = [1,2,3,4,5,7,8,9,10,12,13]对a进行全排列找出满足条件的排列可能最终结果如下

2022-01-06 20:49:35 1028

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除