自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 延时任务实现方式对比

无界阻塞队列,该队列只有在延迟期满的时候才能从中获取元素,放入DelayQueue中的对象,是必须实现Delayed接口的。自动排序取最小判断,在高并发条件下,需要加锁,不然会取到同一个数据。建议使用延迟插件,死信队列只会校验队列第一个是否超时。

2024-03-02 22:16:57 38

原创 WebSocket协议及其在实时通信中的重要性

WebSocket 是一种网络传输协议。它允许客户端和服务器之间进行双向通信,而不需要每次请求都重新建立连接。可在单个 TCP 连接上进行全双工通信,位于 OSI 模型的应用层。WebSocket 通信始于 HTTP 握手,之后升级到WebSocket协议。双向通信:WebSocket支持全双工通信,允许服务器主动向客户端推送数据,而不需要客户端发送请求。较低的延迟:WebSocket 通过在建立连接后保持持久连接的方式,避免了重复建立和关闭连接的开销。可以减少延迟,实现更快的数据传输和实时更新。

2024-03-02 22:14:28 1000

原创 WebSocket连接异常 Error parsing HTTP request header Connection reset by peer

请求地址应为ws://127.0.0.1:9095/spring-boot-websocket,因为在实现WebSocketConfigurer后配置的路径为全路径,不是匹配路径。在使用spring的方式集成websocket时,在配置WebSocketConfigurer后。用postman请求发现结果时 404 ,错误信息如下。ServerEndpoint代码。

2023-10-10 10:13:14 619

原创 【Elasticsearch】聚合查询(四)

这篇文章主要介绍检索相关的操作,单值、多值、范围、模糊等查询方式,使用bool支持多种条件复杂查询。在聚合查询中,aggs 命令下首先是一个自定义命名的查询,在这之下可以继续做 aggs 操作,可以对数据进行过滤、排序等操作,再通过最外部的 query 命令进行检索。在聚合中,是不会过滤桶的个数的,哪怕桶内已经没有符合要求的数据了,这个时候需要使用桶选择器对桶进行过滤。

2023-09-28 15:12:15 601

原创 【Elasticsearch】简单搜索(三)

在ES中,如同普通SQL语句都有着类似API可以调用。ES支持对内容进行分词,根据分词进行搜索,并对结果进行打分。适合对文章内容进行搜索,而关系型数据库例如 MySQL,对这个功能支持能力不强。查询语句在query内层套用 bool,可以支持多种条件过滤,同时也可以计算得分。

2023-09-26 11:12:29 296

原创 【Elasticsearch】数据简单操作(二)

简介:Elasticsearch(ES)是一个开源的分布式搜索和分析引擎,用于快速存储、搜索和分析大量数据。它具有高性能、可扩展性和灵活性的特点,被广泛用于构建实时搜索、日志分析、数据可视化等应用。本文主要介绍ES索引的操作,索引中数据的操作,增、删、改功能。

2023-09-26 11:09:29 230

原创 【Elasticsearch】基础概念(一)

ES中分片数和副本数需要按照实际情况进行合理分配,参考上述公式。ES中的type默认填写_doc即可,相比于index变多不如使index更大更有利于ES查询。记忆ES索引和文档时,尽量不要与MySQL相关概念一起记忆。ES在已有索引上只能新增字段可以通过命令或者ES自动创建来实现,不允许修改字段。

2023-09-26 10:55:50 218

原创 【Java后端】@DateTimeFormat @JsonFormat 时间格式传参总结

@DateTimeF最近在时间Date传参时,没有加注解、前端多种格式都可以接收到数据,从而总结一下其中的原因。在Spring Boot 2.x中,当前端通过POST请求发送一个时间字符串"2023-06-20 21:04:50"时,后端使用Date类型来接收,并且没有标注任何注解,仍然可以接收到数据的原因是因为Spring Boot默认使用了Jackson库进行JSON序列化和反序列化。ISO-8601日期格式:2023-06-20日期+时间格式:2023-06-20T21:04:50(必须含有中间的T)

2023-06-23 23:49:34 3138 2

原创 从零开始,5分钟轻松实现Spring Boot与RabbitMQ的无缝集成

配置方法,能够动态加载 路由、队列、交换机。

2023-06-10 17:02:49 325

原创 【技术分享】接口幂等性:为什么你需要它?

接口幂等性指的是无论调用多少次一个接口,都能得到相同的结果。几种的接口幂等性的方案大同小异,用悲观锁、乐观锁的方式来实现,都是比较简单的。

2023-05-27 17:42:43 251

原创 Text fields are not optimised for operations that require per-document field data like aggregations

Text fields are not optimised for operations that require per-document field data like aggrega若 PUT 请求得到了 “acknowledged”: true 的响应,则表示该请求已经被接受并且更改成功。在使用Elasticsearch进行聚合操作或排序时,不允许对文本类型(text)的字段进行聚合或排序。默认情况下,文本字段并不适合这些需要每个文档都加载相关数据的操作,因此这些操作会被禁用。在工具中执行以下命令。

2023-05-25 19:15:15 3922

原创 「高性能MySQL」读书笔记(1)- MySQL架构

本系列主要是记录阅读「高性能MySQL」期间笔记,记录在日常使用中忽略的知识、模糊的点,主要面对有一定MySQL使用经验的开发者。本文是针对于MySQL一些基础定义的解释说明,会非常浅显通俗易懂。

2023-05-10 22:15:06 699

原创 SpringBoot快速集成Kafka

Kafka部署依赖于zookeeper,所以部署方式采用docker compose部署环境对安全要求较高,需要添加安全验证,使用SASL/PLAIN验证方式为了方便于大家测试,代码已提交到Gitee中,欢迎Star⭐️一下~配置文件中添加topic、groupId的配置,便于修改通过读取配置文件的方式,把配置信息加载到Spring中/*** 类名: @ClassName KafkaTopicConfig* 创建人:@author zhao dong。

2023-03-22 00:05:52 293 2

原创 CodeTop刷题记录-京东(1)

142. 环形链表 II 206. 反转链表 912. 排序数组大家好,文章题目是上的热门题目,本文章是京东面试题目热门题目。虽然算法在后端日常开发中应用比较少,但是它对思维的开发是很有益的,也是进中、大厂的必备的东西。文章致力于用最简单的语言阐述解题思路和解题方法,欢迎大家讨论更优秀的解题方案。ps:对题目的讲解分为三部分,题意描述、思路描述和代码编写。众所周知有思路不一定能编写出代码,思路的完整性有助于一次AC。强烈建议参考代码一起思考,有些东西用语言表达不出来

2023-03-12 18:03:58 161

原创 再谈电商之支付逻辑与坑

购物车作为整个电商系统中核心的业务逻辑,本文对于其中的一些操作细节处理做了详细的梳理(仅代表本人遇到的业务场景),对于特殊场景的细节处理在文章末尾做了讲解。文章中商品默认为电子商品,不考虑库存。

2023-01-01 16:29:57 947

原创 再谈购物车 - 逻辑细节处理

购物车作为整个电商系统中核心的业务逻辑,本文对于其中的一些操作细节处理做了详细的梳理(仅代表本人遇到的业务场景),对于特殊场景的细节处理在文章末尾做了讲解。文章中商品默认为电子商品,不考虑库存。

2022-12-29 22:31:54 642

原创 明明一次提交却创建多个之幂等问题

在日常的业务系统开发中,部分人和大多数新手都会犯错的点,明明在提交表单、创建属性时点了一次突然卡了一下,回过头一刷新咔咔出来一堆相同的数据,ID 却还不同,不得不手动去删除多余的数据。这就是由于网络,用户操作的问题多次发送请求,服务端对于请求没有进行判断,以为每个请求都是用户需要的,重复执行的结果。这就是经常说的幂等性问题,下面一起梳理幂等相关的问题。在上面讲的创建数据问题,其实也还好可以进行删除,但是如果放在转账的业务中,放在下单功能上呢。

2022-10-29 21:08:52 628

原创 【浅谈电商】如何防止掉单

最近正在做电商相关的项目,整理一下解决方案并帮助自己巩固知识点,此方案是结合了目前的业务环境,若有更好的解决的方式很高兴与大家一起讨论。首先创建订单。用户进行支付。系统接收三方支付回调信息。系统处理回调信息。那什么是掉单呢,掉单就是在我们支付后,系统没有及时的响应、收到订单的支付结果。例如在三方支付回调时,因为其他原因没有收到信息。

2022-10-27 10:12:29 718

原创 【浅谈电商】如何防止重复下单

首先我们要知道什么时候是下单操作。以JD为例:购物车 -> 结算页面 -> 下单页面购物车:购物车结算页面:此页面可以查看待支付金额,使用的优惠券,填写地址,运费等等。下单页面:此页面可以选择结算方式,并且页面展示付款倒计时,也就是说订单已经创建完成。在下单页面时,由于用户点击下单按钮多次、或者重试策略导致在订单服务中接收到了两次同样的下单请求。

2022-10-22 22:10:15 2020

原创 【浅谈电商】如何防止重复支付

最近正在做电商相关的项目,整理一下解决方案并帮助自己巩固知识点,此方案是结合了目前的业务环境,若有更好的解决的方式很高兴与大家一起讨论。

2022-10-22 22:08:38 1587 2

原创 Idea创建SpringBoot多模块项目

随着业务的发展,开发了商品、库存、订单、购物车等等功能,在Controller层中会越来越多,其中的Service互相依赖,以一个强耦合的形式存在,以至于后期若需要提取商品相关的方法,耦合度太高无法提取。我们可以定义一个维度,以此来划分模块,例如上述商城、可以划分成商品、库存和订单模块。也可以目录结构分层,Controller层,只不过没人这样做。这样就引申出了下一个问题拆分策略。

2022-10-20 13:44:33 1854

原创 【nginx】前后端代理配置

文件目录test│├─test0│ index.html├─test1│ index.html└─test2 │ index.html ├─test2-1 │ index.html └─test2-2 index.html代理前端代理单个前端时,以下eg1、eg2代理的是同一个文件,不用的是urllocalhost:8080/localhost:8080/test0server { lis

2021-08-31 17:25:00 2238

原创 【antd Vue】封装upload图片上传组件(返回Base64)

最近需要把上传的图片信息存储到数据库,以base64的方式,需要重新封装一下antd的upload组件1. 使用方法引入组件然后配置一下即可使用,配置项包括defaultImageList,需要回显的图片(必传),[ url1, url2 ]fileTypeList ,文件格式(可选),默认不做限制limitSize ,单个图片大小限制(可选),单位MBlimitNum ,上传图片个数限制(可选),默认200个multipl.

2021-03-01 18:01:29 2708 5

原创 初入MongoDB

初入MongoDB业务需求,需要用到MongoDB。向来一直是mysql数据库的思想,一下转换为nosql还是很不适应。经过一个月的开发,写一下自己的感触。本文会对应mysql数据库进行说明。数据库类型文档型数据库:存储的数据是非结构化数据。文档存储一般用类似 json 的格式存储,存储的内容是文档型的。相比mysql来说,mysql的表是高度结构化的,若添加字段可能需要修改表结构。MongoDB的话没有这个烦恼,在其中的每条数据可以认为一个“文档”。比如,一篇文章+评论,它可以存储为一个jso

2020-09-11 17:14:46 141

原创 【axios】get/post请求params/data传参总结

axios中get/post请求方式1. 前言最近突然发现post请求可以使用params方式传值,然后想总结一下其中的用法。2.1 分类![image.png](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9jZG4ubmxhcmsuY29tL3l1cXVlLzAvMjAyMC9wbmcvMTA5MTEzNS8xNTkyOTkyNDk4NzM4LTAwMjEzNzEyLTQ2MDAtNGVlMC1hZWM0LThjMWNkMzhhMGVjZi5wbmc?x-os

2020-06-24 19:51:59 28597 8

原创 【easycode】使用说明 & 示例

语法## 是模板的注释,不会生成# 全局的一些设置$ 使用库函数或者调用全局定义的内容常用方法数据库表信息 ${tableInfo}comment 表备注name 表名fullColumn 所有列comment 列备注name 列名称type 列类型pkColumn 主键列otherColumn 其他列常用功能循环#foreach($column in $tableInfo.fullColumn)#e

2020-06-09 16:38:53 1425

原创 Python HomeWork - 1

填空题1.画出半径分别为10、20、40、80像素的4个同切圆。注意答案写在一行中,中间用一个西文空格分隔。#填写的内容中间用一个西文空格分开import _(1)_turtle.circle(_2_)_3_.circle(20)turtle._4_(40)_5_turtle.done()完整代码import turtleturtle.circle(10)tu...

2018-09-14 13:59:59 776

原创 Codeforces Round \#479 (Div. 3)(题解)

##  Codeforces Round \#479 (Div. 3)---### A. Wrong Subtraction**题意:给出一个数字n,然后进行k次操作,每次在n的个位上减1,如果个位是0的话,去掉这一位,继续操作,输出最后结果**  **思路:模拟减1操作,直接用个位数字与k比较,如果n大,那么输出n-k,否则需要判断是否能把个位去掉**```#include<iostrea...

2018-05-25 11:29:15 265

原创 第九届山东省ACM省赛总结

 省赛这次省赛一共有7支队伍,两支大一的,一支大三,剩下的是大二的,在大三组的我瑟瑟发抖。作为一个大二的巨蒟蒻的队员,比赛前一个月拿起大一刷的题开始试水,越做越感到自己菜,光模板题都没刷完,更不用说更牛的算法了。介绍一下我的队友leishen和shenge两个身经百战的dalao,带着我这个弱鸡去比赛,比赛前作为翻译的我,只看了下数据结构,然而leishen什么模板都会,数据结构简直无懈可击,sh...

2018-05-10 21:30:06 323

原创 第15届浙江省acm省赛题解(部分)

A Peak题意:给出一串数字,然后判断是不是先增后减思路:两个变量交替,flag判断开始是否是上升,如果不是,那么就不成立,up=1代表现在是上升区段,反之,递减区段,ans记录段数#include <iostream>#include<algorithm>using namespace std;int main() { ...

2018-04-30 18:45:47 1438

原创 HDU - 1241 Oil Deposits (简单搜索)

题意:*代表土,@代表油,问一共有几块油田,8个方向连接就算是一块思路:8个方向搜索,每次搜索记录个数,搜索里面记得标记,更改地图;#include<iostream>#include<algorithm>#include<queue>#include<cstring>using namespace std;const in...

2018-04-27 20:36:48 238

原创 第六届浙江省赛题解(部分)

第六届浙江省赛题解A. Second-price Auction题目链接题目大意有n个投标者,投标最高的获得物品,需要支付第二投标者的价格.解题思路使用结构体,保存投标的价格和一开始的排序. 然后根据投标价格排序,使用sort就可以了AC代码#include<cstdio>#include<cstring>#incl...

2018-04-23 07:15:53 232

原创 第四届福建省大学生程序设计竞赛(部分)

第四届福建省大学生程序设计竞赛A.Forever 0.5FZU 2140 题意: 给你一个数n,让你找出n个点,满足一下关系: 任意两点的距离不大于1.0 所有点到原点的距离不大于1.0 恰好有N对点的距离为1.0 由这些点构成的n边形的面积不小于0.5 由这些点构成的n边形的面积不大于0.75 思路:由于所有点到原点距离为1,那么首先想到的是圆。 假设输入的点为...

2018-04-15 18:13:10 716

原创 2015年浙江acm省赛题解(部分)

2015年浙江acm省赛题解A.Ace of Aces题意:输入一堆数,选择出出现最多的数字,如果像2、2、3、3,次数一样的情况输出Nobody思路:利用桶排序,排序,ok#include<cstdio>#include<iostream>#include<algorithm>using namespace std;const ...

2018-04-14 20:54:41 826

原创 简单题目练习一,题解(C++版)

题目链接https://vjudge.net/contest/213410#overview题解https://github.com/somliy/code/tree/master坑不存在的题解hdu-2011 多项式求和题意很明确,公式已经给出了 注意: - 正负交替,这里使用flag *= -1;的方法 - 在进行运算的时候...

2018-02-26 20:07:30 1123

原创 python读取日志,存入mysql

1、从 http://www.almhuette-raith.at/apache-log/access.log 下载 1万条日志记录,保存为一个文件,读取文件并解析日志,从日志中提取ip, time_local, http_method, url, http_status, body_bytes_sent , http_referer, ua字段,以制表符分割。 在mysql中创建表,将刚才解...

2018-02-10 12:18:05 4655 6

原创 Windows与linux虚拟机共享文件夹教程(Ubuntu17.10虚拟机 + Win10 + VMware)(图文教程)

1.打开虚拟机界面,并启动linux2.选中上方功能栏中的虚拟机,选中设置3.点击CD/DVD(SATA),看到右边有一个使用IOS镜像文件4.路径填写安装这个虚拟机用的镜像文件路径然后在选项里选择共享文件夹,右边选择总是启用,添加文件夹路径,确定5.点击虚拟机的里重新安装VMware Tools(k),桌面上就显示出一个DVD的logo,双

2018-01-29 23:51:14 2157 3

原创 liunx安装JDK(Ubuntu17.10上安装JDK1.8.0)(VM虚拟机)

参考网站:http://blog.csdn.net/pucao_cug/article/details/689486391、首先从官网下载JDKhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html2、共享文件夹详情请见另一篇博客 http://blog.c

2018-01-29 21:26:29 1279

原创 Linux虚拟机上安装Hadoop集群(初学)

测试已成功完成安装的版本hbase-1.2.6-bin.tar.gz hadoop-2.7.5.tar.gz ubuntu-16.04.3-server-amd64.ios jdk-8u161-linux-x64.tar.gz zookeeper-3.4.8.tar.gzps:如有需要请留言写在前面的话关于这篇博客 本教程并不是自己总结而写的,都是网站上的大牛们,...

2018-01-25 22:45:22 17832 1

转载 C语言 数独计算

蒜头君今天突然开始还念童年了,想回忆回忆童年。他记得自己小时候,有一个很火的游戏叫做数独。便开始来了一局紧张而又刺激的高阶数独。蒜头君做完发现没有正解,不知道对不对? 不知道聪明的你能否给出一个标准答案?标准数独是由一个给与了提示数字的 9 \times 99×9 网格组成,我们只需将其空格填上数字,使得每一行,每一列以及每一个 3 \times 33×3 宫都没有重复的数字出现。#include

2018-01-22 14:13:10 6762 1

空空如也

空空如也

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

TA关注的人

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