自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

HelloQ的博客

我希望你开心,又希望你不开心。

  • 博客(108)
  • 资源 (1)
  • 收藏
  • 关注

原创 ElasticSearch在项目中使用场景以及本地demo实现

公司在使用ElasticSearch,放置一些数据,所以打算整理一下基础知识以及本地实现一下一个demo一、windows安装ElasticSearch和kibana(这里用作es数据可视化)安装ElasticSearch安装jdk1.8+版本下载ElasticSearch由于官网版本实在是太慢,所以ElasticSearch 7.6的百度云链接:ElasticSearch 7....

2020-05-07 15:44:13 1778

原创 JDK1.8---函数式编程(lambda、方法引用、Stream)

什么是函数式编程?一切都是数学函数。函数式编程语言里也可以有对象,但通常这些对象都是恒定不变的 —— 要么是函数参数,要什么是函数返回值。函数式编程语言里没有 for/next 循环,因为这些逻辑意味着有状态的改变。相替代的是,这种循环逻辑在函数式编程语言里是通过递归、把函数当成参数传递的方式实现的。一、lambda表达式组成:参数列表、箭头符号(->)和函数体具体展现形式:表达...

2020-04-14 18:04:40 1030

原创 kafka

Kafka-topic.sh —bootstrap-server Kafka节点 —create —topic 主题名称 —partition 数量 —replication 数量。Zookeeper:帮助记录和选举broker,负责记录和分发topic,分区,副本信息,和节点服务信息。拦截器,序列化,分区器,缓冲区(可设置时间和缓冲区大小,满足分发),发送线程。Producer:数据推送方,Java或 flume。Consumer:数据消费方。

2024-03-27 20:19:43 1185

原创 代码优化之工厂

【代码】代码优化之工厂。

2024-03-27 15:03:37 148

原创 数据库生成java实体

【代码】数据库生成java实体。

2024-03-27 14:46:59 150

原创 Doris

数据清洗的结果存储,保证报表查询

2024-03-08 14:57:28 1030

原创 解决Swagger Authorization token带空格转义问题

swagger解决token空格转义问题

2022-10-27 15:46:46 931 1

原创 拦截器打印入参

拦截器打印入参

2022-09-09 11:19:03 883

原创 Java:获取微信小程序码

预览小程序页面需求需要在后台配置小程序页面(装修页面),然后在后台预览小程序展示效果官方文档获取小程序accessToken获取小程序码步骤如下获取小程序得accessToken根据accessToken获取小程序码注意点根据accessToken注意事项设置缓存,避免重复获取或失效导致获取小程序码失败access_token 的存储与更新 access_token 的存储至少要保留 512 个字符空间; access_token的有效期目前为 2 个小时,需定时刷新,重复获取

2022-05-27 14:53:28 1233

原创 SpringBoot:用腾讯企业微信邮箱发送邮件

需求商户审核状态需要异步发送短信、站内通知和发送邮件通知商户,且发送账户限定为腾讯企业微信邮箱准备准备发送邮箱的账户和密码写入配置文件引入发送邮箱jar包写异步线程发送固定html格式的邮件实现代码配置文件mail: transport: protocol: ssl smtp: host: smtp.exmail.qq.com # 企业微信的host port: 465 auth: true ssl: enable : true

2022-04-25 16:59:01 7689 2

原创 Redis:Gson反序列化时间戳过长导致报错

问题描述今天在用Gson进行反序列化json为Java Bean时,报Invalid time zone indicatorcom.google.gson.JsonSyntaxException: 1631599981000 at com.google.gson.internal.bind.DateTypeAdapter.deserializeToDate(DateTypeAdapter.java:87) ~[gson-2.8.6.jar:na] at com.google.gson.interna

2021-10-21 14:03:56 939

原创 Nginx(一):配置HTTP和HTTPS并生成对应日志文件

需求:全站HTTPS同时也支持HTTPHTTPS和HTTP流量分布统计(查询条件精确到分且可以将接口名称作为参数)初步解决方案:由于公司用的Nginx服务器,所以HTTPS配置在Nginx里,于是初步方案如下:实现方案一、申请域名和证书因为使用的是腾讯云的个人服务器,所以也就在腾讯云购买的5块钱域名和一年有效免费证书。购买后可以在控制台里查看并下载证书并用WinSCP软件将证书上传到云服务器上二、云服务器上安装NGINX1.先安装gcc-c++编译器yum instal

2021-07-23 15:14:22 1004 1

原创 Linux初体验04:安装Maven

下载Maven根据JDK版本去maven官网下载,地址:http://maven.apache.org/download.cgi使用WinScp传到服务器里,并在shell窗口执行解压 tar xzvf /srv/ftp/apache-maven-3.8.1-bin.tar.gz -C /usr/local/配置环境变量 vim /etc/profile#添加 export M2_HOME=/usr/local/apache-maven-3.8.1 export PATH=$PATH:$M2_H

2021-07-21 11:16:05 114

原创 Docker(一):概念理解、搭建、安装nginx容器

一、Docker是什么?Docker是一个虚拟环境容器,可以类比于一台装好环境得服务器,只需要把项目相关jar包打包到一个容器里,生成镜像可以到处运行。二、Docker的三个概念镜像(Image):类似于虚拟机中的镜像,是一个包含有文件系统的面向Docker引擎的只读模板。任何应用程序运行都需要环境,而镜像就是用来提供这种运行环境的。类似于jar包。容器(Container):类似于一个轻量级的沙盒,可以将其看作一个极简的Linux系统环境(包括root权限、进程空间、用户空间和网络空间等),以及

2021-07-20 16:43:49 267

原创 Windows系统搭建RocketMQ

准备条件windows系统JDK 8以上下载Binary版本的rocketmq-all-4.4.0-bin-release(下载链接:https://rocketmq.apache.org/)下载RocketMQ的可视化项目rocketmq-console工程(地址:https://github.com/apache/rocketmq-externals)下载RocketMQ以及打开下载Binary版本解压至没有空格的文件夹,例如(D:\application\rocketmq-all-

2021-06-25 14:22:42 647 1

原创 Redis:java程序设置key 但是客户端查询不出来

错误场景java代码中设置了rediskey,但redis客户端查询不到,redis中设置该key,结果java中读取为null问题发现实际存储在redis中key多了一串\xAC\xED\x00\x05t\x00\x011乱码,导致客户端查询不出来。问题原因spring-data-redis的RedisTemplate<K, V>模板类在操作redis时默认使用JdkSerializationRedisSerializer来进行序列化。没有使用StringRedisSerialize

2021-04-15 14:04:50 2393

原创 Netty:基于Nio的学习笔记

netty学习笔记项目地址https://github.com/zz790609619/nettyStudy基本概念channel=数据的通道msg=流动得数据handler=处理数据得工序 可以多个handler处理一条msg 分成inbound(入栈) 和 outbound(出栈)channel 属性有 pipeline=流水线 由多个handler组成pipeline负责发布事件(读写等)传播给每个handler,handler对感兴趣得事件进行处理NioE

2021-04-13 11:20:36 180

原创 dada api

达达平台对接达达官网地址:一小时达注册完获取appkey 和appsecret案例地址平台配送闭环接口案例git地址代码分布

2021-03-09 16:12:01 130

原创 Mybatis:敏感信息加密存入数据库、解密读出

业务场景敏感信息(姓名、身份证)存入数据库时应当需要加密,防止被恶意访问数据库时暴露信息。解决方案由于项目数据库中间件使用的是Mybatis,所以使用Mybatis中的BaseTypeHandler的一个类型处理器,对数据进行AES加密存入数据库具体实现方式import org.apache.commons.lang3.StringUtils;import org.apache.ibatis.type.BaseTypeHandler;import org.apache.ibatis.type

2021-01-07 10:43:15 4072 5

原创 Pycharm:破解后无法打开

问题描述pycharm破解后,双击图标无法响应,怀疑破解的文件路径写入.vmoption文件错误。解决方案然后打开pycharm程序的日志C:\Users\ww\AppData\Local\JetBrains\PyCharm2020.3\log文件内容:可以看出引用了配置文件,根据路径C:\Users\ww\AppData\Roaming\JetBrains\PyCharm2020.3找到pycharm64.exe.vmoptions文件,找到错误路径的破解文件,修改就可以成功开启

2020-12-28 15:35:05 4383

原创 本地程序通过跳转机访问远程数据库(java和python)

本地程序读取线上数据必备一、需求线上数据库提供了密钥,通过navicate可以正常访问,但是拉取复杂逻辑数据时会很麻烦,所以需要通过跳转机接口转发的方式去实现复杂数据的查询与拉去二、实现Java主要用了JSch,可以通过ssh2方式访问跳转机,并做端口转发,实现功能需求/*** 调用方法*/ private static void search() throws Exception { StringBuffer res = new StringBuffer();

2020-12-17 19:26:40 433

原创 Python:Django项目发布到腾讯云以及常见问题解决方案

一、pycharm创建django项目git地址:Django项目地址项目创建项目配置配置路由由于只有djangoProject1中有路由配置,无法直接访问到APP的路由,所以在APP文件下创建路由setting.py(可以直接copy主项目的路由)在djangoProject1中的路由配置里加上我们新增的创建与APP中的路由设置对应的视图层请求获取数据视图层def add(request): #请求路径 http://127.0.0.1/add?name=zz n

2020-12-05 11:27:02 438

原创 Python 进程,线程,多进程,多线程,线程池的使用方式

需求场景:由于业务需求,需要将保存在OSS上的图片数据,以用户的角度去拉取,为了减少代码量所以放弃了java采取了python,由于数据总量在200w张照片,所以需要多线程去拉取节省时间。一、进程与线程的联系和区别线程是该进程的一条执行路径,是程序执行时的最小单位,它是进程的一个执行流,负责CPU调度和分派,一个进程可以由很多个线程组成,线程间共享进程的所有资源,每个线程有自己的堆栈和局部变量。线程由CPU独立调度执行,在多CPU环境下就允许多个线程同时运行。同样多线程也可以实现并发操作,每个请求分配

2020-11-20 10:42:53 135

原创 JDK1.8(二)---Stream串行流和并行流详解

前序JDK1.8—函数式编程(lambda、方法引用、Stream)Stream流串行流一、执行机制基于pipeline(管道)二、流的特性stream不存储数据stream不改变数据源stream不可重复使用stream串行执行上个节点会影响下个节点三、流的节点中间节点(懒加载): filter、distinct结束节点:toArray、foreach并行流API:parallelStream()利用多线程去处理一批数据,各个线程处理完的结果最后...

2020-09-25 15:12:40 1754

原创 云服务器旅程(一):Linux上安装Jenkins

实现腾讯云上CentOS服务器安装Jenkins自动打包一、安装Docker添加yum源(依次在终端执行)yum updateyum install epel-release -yyum clean allyum listyum install docker-io -y #安装dockersystemctl start docker #运行dockerdocker info #查询docker信息出现下列信息则显示安装成功二、安装Jenkins拉取Jenkins镜像dock

2020-09-24 20:13:21 174

原创 分布式事务的原理及实际工作中遇到的解决方案

一、为什么存在分布式事务?因为系统微服务化后,服务拆分,数据库拆分导致一次更新可能在多服务(多JVM实例)下更新多数据源,无法应用单机事务,所以产生了分布式事务。二、 为什么分布式事务无法套用单机事务?由于多数据源,多服务实例导致服务调用需要使用远程调用等网络请求,网络请求会超时,如果套用单机事务会导致如下情况:A服务更新A库请求到达B服务请求返回A服务B服务更新B库最终结果成功成功成功失败a回滚b回滚成功成功失败成功a回滚b不回滚无

2020-09-21 17:59:58 353

原创 消息队列(RocketMQ):事务消息实现以及最终一致性

最近项目中有一个高并发的更新数据库单表单记录的功能,为了避免数据库压力,采取了更新该记录时候发送mq,进行流量消峰。但是该记录的更新要和其他表更新一起,就会有分布式事务的问题。所以就采用了RocketMQ的事务消息来实现分布式事务的一致性。RocketMQ前文中的阿里的rocketMq集成的ons框架配置以及普通、延时、定时消息实现的文章一、事务消息类型RockectMQ事务消息提供了X/Open XA的分布式事务的功能,能实现分布式事务的最终一致性。二、 X/Open XA规范是什么?X/OP

2020-09-18 15:31:01 3960 1

原创 @Transaction:Spring事务生效、失效的条件

事务相关由于公司做的是金融支付相关的业务,所以大量使用了事务,将入职以来遇到的事务相关的经验记录一下。一、Spring事务Spring 事务管理分为编码式和声明式的两种方式。编程式事务指的是通过编码方式实现事务;声明式事务基于 AOP,将具体业务逻辑与事务处理解耦。声明式事务管理使业务代码逻辑不受污染, 因此在实际使用中声明式事务用的比较多。声明式事务有两种方式,一种是在配置文件中做相关的事务规则声明,另一种是基于@Transactional 注解的方式。二、@Transaction注解属性

2020-09-15 14:24:36 1867

原创 NewSQL之TiDB分布式数据库初步实践

sharding nothing例如:TiDB 3.0版本优点无限水平扩展,没有容量上限,对海量数据友好对金融级别的一致性ACID事务支持,业务改动小故障自恢复的高可用sql和单机数据库基本一致缺点没有全部兼容传统数据库语法对于一些场景。秒杀延迟不如单机数据库sharding everything例如:AWS Aurora,阿里云PolarDB基于共有云,存储量基于云盘磁盘大小,主从复制优点易用,100%兼容Mysql,业务兼容性好对一致性要求不高的场景,读可以水平扩展

2020-08-26 10:04:35 596 1

原创 JVM系列(一):初识JVM

一、JVM是什么?JVM即Java Virtual Machine(Java虚拟机),是一个虚构出来的计算机,可以类比linux。可以在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。二、JVM的发展历史?2010年,Oracle收购了sun,获得了hotshot虚拟机,加上本身的JRockit虚拟机占据了绝大多数虚拟机市场2011年,JDK7发

2020-08-18 16:33:54 165 1

原创 HBase初探(二):Shell命令、布隆过滤器

一、Shell命令通用命令help:查询hbase中所有命令得帮助文档 e.g. help ‘status’status: 查询当前hbase得集群状态table_help:引用表得命令命名空间命令list_namespace:查询所有得命名空间(默认有hbase,default)list_namespace_tables:查询命名空间下面的tablescreate_namespace:创建namespacedescribe_namespace:查询命名空间信息alter_nam

2020-07-06 20:06:39 244

原创 HBase初探

HBase一、为什么使用HBase?最近打算用Hbase存储kafka消息队列的消息内容,防止消息丢失,方便后期补偿作用。二、HBase是什么?HBase是Hadoop DataBase的简写,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统/数据引擎,组成如下:基于hadoop的HDFS作为文件存储基于Hadoop MapReduce来处理HBASE中的海量数据基于Zookeeper作为协同服务三、HBase的特点有哪些?存储数据量大面向列稀疏没有固定格式的存储数据多

2020-06-28 18:05:09 168

原创 消息队列(RocketMQ):订阅消息一致性问题解决方案

订阅一致性的可能情况以及处理方案订阅关系一致指的是同一个消费者 Group ID 下所有 Consumer 实例的处理逻辑必须完全一致。一旦订阅关系不一致,消息消费的逻辑就会混乱,甚至导致消息丢失保持订阅关系一致意味着同一个消费者 Group ID 下所有的实例需在以下两方面均保持一致订阅的 Topic 必须一致订阅的 Topic 中的 Tag 必须一致错误情况:同一个 Group ID 下的两个实例订阅的 Topic 不一致同一个 Group ID 下订阅 Topic 的 Tag 不一

2020-05-28 14:04:23 2486

原创 SpringBoot:文件上传至阿里云

正常的项目中通常会有存放文件的需求,例如用户头像,用户简历等,我们需要把它存放在专门存放数据的云服务器上。Spring Boot 项目上传文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ma

2020-05-09 16:17:49 1630 3

原创 后台开发者应该需要了解哪些ElasticSearch的知识?

ElasticSearchElasticsearch 是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎 Apache Lucene™ 基础上的搜索引擎.当然 Elasticsearch 并不仅仅是 Lucene 那么简单。他的功能模块还有:全文检索分布式文件存储,将每个字段都作为索引,可以被搜索可以结合Kinaba做日志分析可以扩展,处理量级大的数据一、使用场景列举...

2020-05-08 15:22:44 423

原创 SpringBoot :API接口拦截器验证(Token验证)并将数据存入Request中供接口调用

一、为什么需要拦截器?在前后端分离的现在,项目中的所有的前端的页面都需要通过调用后台的Api进行获取数据接口的功能点不同,就会有很多种情况,比如说涉及敏感数据(登录,获取个人信息,个人金额修改)相关的接口需要token验证获取不敏感数据则不需要进行校验vue等前端调用后台api,如果没有引入(nginx),则有可能有跨域问题所以说需要一个拦截器去区分哪些路径下需要token校验,那...

2020-04-29 15:41:20 10982 1

原创 @ControllerAdvice:全局异常处理示例

全局异常处理用@ControllerAdvice标记全局异常处理的类@ControllerAdvice这是一个增强的 Controller标签。使用这个 ControllerAdvice,可以实现三个方面的功能:全局异常处理设置全局变量,也就是设置完,每个接口能获取到整个参数数据预处理@ControllerAdvice修饰的类package com.example.demo.c...

2020-04-28 16:07:52 291

原创 消息队列(RocketMQ):springcloud结合ONS实现Tcp/Http通信方式的生产者和消费者实例

RocketMQ新公司的消息队列用的是RocketMQ,但是不是直接使用RocketMq,而是采用了阿里分布式开放消息服务(ONS)一、阿里分布式开放消息服务(ONS)ONS(Open Notification Service)即开放消息服务,是基于阿里开源消息中间件MetaQ(RocketMQ)打造的一款云消息产品。实现生产者与消费者的代码稍微和原生的有点差别二、阿里云中配置Rocket...

2020-04-27 18:00:06 5168 3

原创 分片查询(sharding-jdbc)以及常见问题解决

新公司使用了自动分库分表的插件(sharding-jdbc),由于有多个数据源,所以结合了durid框架,作为数据库链接管理框架。Sharding jdbc​Sharding-JDBC是一个开源的分布式数据库中间件,它无需额外部署和依赖,完全兼容JDBC和各种ORM框架。Sharding-JDBC作为面向开发的微服务云原生基础类库,完整的实现了分库分表、读写分离和分布式主键功能,并初步实现了柔...

2020-04-23 14:52:19 14633

原创 sourcetree跳过注册

安装好后在文件夹路径上输入 %LocalAppData%\Atlassian\SourceTree\,会弹出一个文件夹,该文件夹就是sourcetree的安装目录然后再次文件路径下新建一个名为accounts.json的文件,内容如下:[ { "$id": "1", "$type": "SourceTree.Api.Host.Identity.Model.Ide...

2020-04-20 15:01:26 155

redis的window下的客户端和可视化应用.rar

redis在windows下的客户端和可视化应用,下载玩玩吧吧

2019-08-08

空空如也

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

TA关注的人

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