自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zwrlj527的专栏

技术重在分享交流,没有交流就没有进步,我为技术而生。。。

  • 博客(232)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

原创 契约编程与反射组合

妖不妖术的不知道,反正这样处理确实比正常思路省资源不得不说再绝妙的思路都得基础支持,要是这里没有反射支持,那得多费劲最近又有段时间没有写了,确实是停下来的时间少了,不能静静的思考。就写到这里,希望能启发到大家,uping。

2022-09-25 10:17:08 128

原创 当mybatisPlus与tk.mybatis遇到更新

mybatisPlus如果要更新null,用updateById也是可以实现的,就是在相应字段上加上@TableField(updateStrategy = FieldStrategy.IGNORED)注解,或者全局设置。ignored:“忽略判断”,所有字段都更新和插入。not_null:“非 null 判断”,只更新和插入非null值。not_empty:“非空判断”, 只更新和插入非null值且非空字符串。default: 默认的,一般只用于注解里。

2022-09-04 16:19:08 227

原创 拦截器实现mybatis补充过滤条件

怎么说能,没没这时候不得不夸赞下spring,这里这个拦截器的也是跟spring的生命周期有关。关于数据存库、查询的加密解密也可以用这个思路实现。这里其实也有一定的缺点,比如这里相当于增加了一层子查询,那么就会有性能的损失。其次也会影响数据库优化器的优化,索引的命中。这里除了分享,也是自己备忘。真的有点忙,就不多说,最近写博文都少了,55555。

2022-08-25 14:21:27 135

转载 Jenkins+Docker一键自动化部署Java Spring Boot 应用最简单详细流程

这个没啥好说的,自己按照这个做了,确实可行,也懒得再写一遍,最近比较忙。

2022-08-23 08:10:03 25

原创 多年以后重逢oracle

1、oracle还是那么强大,补充几个命令lsnrctl start、lsnrctl status、lsnrctl stop查看、重启、停止监听的命令(在windows里的服务里也可以去操作)2、sqlplus命令框里连接数据库,后面按照提示输入直到出现sql>...

2022-08-15 08:32:11 48

原创 夜神模拟器+Burp抓包(简直是后端复现调试的福音)

夜里挑灯编码,梦回码神附体。。。。。。

2022-07-28 11:51:33 647

原创 idea配置web容器与war打包

细分工种,各干各事,究竟是对还是错。太卷太累,个人其实不太认同。。。

2022-07-26 08:50:17 111

原创 抓包工具哪家强(暴力窃取前戏)

抓包工具哪家强?还得Burp,干坏事的前戏。。。。。。

2022-07-13 20:39:03 282

原创 夜神模拟器+Fiddler抓包测试App

最近公司要求前端小姐姐开始用uniapp做App了,后端这边接口安全是用的security(历史原因),讲真我不太喜欢用这个,好多年没有用这个了。今天主要是跟大家分享下用模拟器测试app + Fiddler抓包。 我这里选的夜神模拟器 + Fiddler抓包。1.点击Tools-Fiddler Options进入Fiddler Options页面2.点击Connections,将Fiddler listens on port设为8888,勾选Allow remote computers to co

2022-06-30 18:19:49 850

转载 谁再用Redis过期监听实现关闭订单,立马滚蛋!

前言 在电商、支付等领域,往往会有这样的场景,用户下单后放弃支付了,那这笔订单会在指定的时间段后进行关闭操作,细心的你一定发现了像某宝、某东都有这样的逻辑,而且时间很准确,误差在1s内;那他们是怎么实现的呢?一般实现的方法有几种:有一些方案虽然广为流传但存在着致命缺陷,不要用来实现延时任务 在 Redis 官方手册的keyspace-notifications: timing-of-expired-events中明确指出: redis 自动过期的实现方式是:定时任务离线扫描

2022-06-27 14:05:01 117

原创 现场一日游感想

技术人:我自风傲我自狂,犹如鸿鹄傲四方。如果有一天凭情商评绩效,那还有什么天道酬勤。。。。。。

2022-06-15 08:33:47 153 1

原创 Flink流处理引擎系统学习(十七)

一直在分享flink的基础核心概念、demo,却很少提到flink的配置文件,今天就来分享下配置文件。 现在很多现代框架都是用门面模式进行日志输出,例如使用Slf4j中的接口输出日志,具体实现类需要由log4j,log4j2,logback等日志框架进行实现。 Flink 中的日志记录就是使用slf4j日志接口实现的。Slf4j简要说明 slf4j全名Simple Logging Facade for Java,为java提供的简单日志Facade。Facade门面说白了就

2022-06-13 15:34:43 171

原创 Flink流处理引擎系统学习(十六)

前言今天还是分享一个刚出炉的FlinkTask,没有什么复杂的计算,只是process处理的时候出来的数据源有点意思,主要感受Flink的强大。一、场景就是门禁系统的通行记录进行同步与统计,然后大门与1楼数据一致,而统计记录里需要插入2条数据。二、设计思路1.表设计表sql我就不贴了,看看字段设计:关键是统计大门通行记录的时候,要把1楼的记录统计一条存库,例如:2.flink处理思路我的想法挺简单,就是在大门统计记录哪里复制一条放回DataStream,后面的sink该怎么处理就还怎

2022-05-25 19:05:48 155

原创 Flink流处理引擎系统学习(十五)

前言上次哪个稍微有点复杂,可能一下就搞2个sink不好理解,这次来个简单的,仅仅做下source源数据做拆解转换,入库存储,模拟设备、设备上报信息同步。一、场景同步设备信息模拟设备采集数据(源是最新数据,没有采集时间点概念)分类存储转换(设备不能重复存储、设备上报记录有主,采集详情键值对)二、设计思路1.表结构设计我的思路挺简单,同步数据库拆解表设计:设备信息表:记录设备信息设备上报主记录:记录设备上报同步时间点信息设备上报属性详情信息:记录设备上报属性值详情2.flin

2022-05-24 09:06:16 190

原创 Flink流处理引擎系统学习(十四)

前言       最近都没有时间循序渐进的撸Flink的基础知识了跟大家分享了,今天就直接跟大家分享最近写的FlinkTask吧,我们在实践中强大。不废话,我最近也没有时间跟大家废话。一、使用场景       场景其实挺简单,就是同步别人系统的数据,存储记录并做统计计算存储统计结果。我这里是同步客户系统的访客信息存储、并统计,统计结果存库。二、方案选型1.

2022-05-19 20:51:14 373

原创 SpringBoot多数据源集成

前言今天分享下SpringBoot多数据源集成,我怕麻烦,这里我觉得我的集成也应该是最简单的,清晰明了。一、多数据源使用场景与弊端1.场景业务系统跨数据库数据转存(这个现在太low了,应该高级点都不用)系统集成2.弊端跨库业务事务问题service、dao不能重复注入数据源二、使用步骤1.引入库<!-- 多数据源支持 --> <dependency> <groupId>com.baomidou</groupId&

2022-05-18 19:47:18 500

原创 SpringBoot集成Flink部署与打包

前言      昨天折腾了下SpringBoot与Flink集成,实际上集成特简单,主要是部署打包的问题折腾了不少时间。想打出的包直接可以java -jar运行,同时也可以flink run运行,或者在flink的dashboard上上传点击启动。结果是不行,但是使用不同的插件打包还是可以的。一、SpringBoot集成Flink      其实没什么特别的,就把Flink依赖的包

2022-05-13 15:20:08 1317

原创 Flink流处理引擎系统学习(十三)

前言      今天不分享基础概念知识了,来分享一个马上工作需要的场景,要做数据的抽取,不用kettle,想用flink。实际就是flink的sql、table层级的api。一、CDC      CDC (Change Data Capture) ,在广义的概念上,只要能捕获数据变更的技术,都可以称为 CDC 。但通常我们说的CDC 技术主要面向数据库(包括常见的mysql,Ora

2022-05-11 19:37:18 320

原创 Flink流处理引擎系统学习(十二)

前言这期分享windos的理解,只有这个理解清楚了,才能更好的根据场景选择合适的开窗处理。一、window的基本概念1.window是什么2.window的分类PS:按key分组了用window构建多个window,未分组用windowAll(API后缀都带All)区别示例:3.window的生命周期4.Window Assinger5.Window Assinger分类(window小分类)翻滚窗口翻滚窗口的使用滑动窗口滑动窗口的使用session窗口

2022-05-10 19:44:00 457

原创 Flink流处理引擎系统学习(十一)

前言今天主要分享Time的知识,是基础理论,确实有点枯燥,但是这些不搞明白,后面写代码会搞不清楚场景的。一、DataStream与Time1.DataStream支持的Time2.Time的比较3.业务场景分析选择Time4.设置Time的类型二、时间戳和水位线背后的机制1.水位线是什么2.有序流的水位线3.无序流的水位线4.并行流的水位线二、生成Timestamp和watermark及预定义处理1.生成方式2.source function中生成PS:不

2022-05-07 12:53:40 550

原创 Flink流处理引擎系统学习(十)

前言本来准备5.1节假日写这一篇的,但是天天都是事,基本都是起早床,没有睡一个懒觉。假期基本下午半天都是睡一下午,所以拖到今天写,说到底还是懒。。。。一、操作转换概论1.转换关系图2.一般转换解释coGroup:该操作是将两个数据流/集合按照key进行group,然后将相同key的数据进行处理,它在一个流/数据集中没有找到与另一个匹配的数据还是会输出。join:与我们数据库中常见的inner join类似,它数据的数据侧重与pair,它会按照一定的条件取出两个流或者数据集中匹配的数据返回给下

2022-05-05 11:09:20 240

原创 Flink流处理引擎系统学习(九)

前言今天主要是过下Flink的DataStream API入门,编码基本套路、数据源等等。昨天部门经理把项目的demo权限放开了,看了下,基本的大流程已经实现了。使用的是1.14.3版本(现在1.14.4),代码最后git时间是3.28。不得不说,demo基本把要改造的大流程写好了,还是强啊。所以说还是要保持好学习能力,是不是要走领导岗位就看个人了(不过不得不说当了一定级别的领导菜有更多的时间study up。这个级别不能低也不能高)。一、Flink编码套路运行模型数据源自定义数据源示例

2022-04-28 16:45:34 1497

原创 Flink流处理引擎系统学习(八)

前言这2天项目上有点事情耽搁了up进度,今天来一篇。顺便补2个小测试代码,说明下groupBy与keyBy的区别,然后补充下计数器的使用。一、Flink API通用基础概念1、DataSet与DataStream2、懒性计算3、那些操作需要指定键(key)4、指定key的方式5、转换函数6、Flink支持的数据类型详解:7、类型擦除和类型推理8、累加器和计数器二、如何使用累加器1、使用内置累加器的姿势2、自定义累加器三、2个dem

2022-04-28 11:52:12 1148

原创 Flink流处理引擎系统学习(七)

前言今天开始是要开始就是要开始看看flink的源码了,通过源码、例子来学习理解flink的编码讨论、核心概念等。一、源码下载github搜索flink,复制地址就可以直接下载了。这里要说的是flink的分支版本,我们要学习的是1.14.4最新稳定版本,但是你会发现branches里没有这个分支。实际上在Tags里是可以找到的,如果用idea,实际上这些都不用关心,直接在里面切换就ok。我这里是复制的地址,在idea里下载的,然后切换到这个版本的。可以看到我这里已经开始编译了,但是实际上,

2022-04-25 19:49:38 1253

原创 Flink流处理引擎系统学习(六)

前言      今天也是够坑的,忘记了我的服务器、小舅子的服务器都被我把jdk升级到17了,而flink目前还是只支持jdk8、jdk11,虽然flink1.14.4是3.2号出了的,jdk17是1月18出的.但是目前看来还没有支持。      从上次的example运行在17的jdk失败,跟今天在2台服务器上折腾启动flink不能访问就可以看出来,从发布周期估计,可能下一个版本就可以

2022-04-24 20:18:15 834

原创 设置SSH免密登录(centOS)

前言flink开始找机器资源跑了,公司没有服务器资源给我们开发玩。我这里就准备用我的一台腾讯云centos + 小舅子的阿里云centos。然后这里按照课程里演示的是需要2台做主从,然后还要做ssh免密,所以记录下ssh免密设置。一、安装编译环境这里yum肯定是要安装的,我这里已经装了,就升级下,以及安装其他几个库。yum updateyum install wget tar make gcc perl pcre-devel zlib-devel二、编译安装OpenSSL其实可以先检查下c

2022-04-24 11:46:53 2464

原创 Flink流处理引擎系统学习(五)

前言这次继续分享基础知识,Flink的Runtime知识。也是记录笔记,方便以后自己再回头看。一、Flink运行时架构Akka:Akka基于Actor模型,提供了一个用于构建可扩展的(Scalable)、弹性的(Resilient)、快速响应的(Responsive)应用程序的平台。akka典型的特点:并发模型:基于actor模型,对并发进行高层次的抽象;异步能力:基于actor模型进行通信,天然具有异步非阻塞的特点;高容错性:通过父子actor监督机制进行容错处理,为akka分布式模型

2022-04-23 19:11:15 1903

原创 Flink流处理引擎系统学习(四)

前言想用公司的时间做提升,那肯定是妄想啊。入职这家公司已经3年了,没有公司的培养培训,都是自己捣腾。何况我们还不是什么大厂,早上领导已经发话要切进项目看这么引入flink做改造了。不管咋样,学习是自己的事情,这个必须学出一定高度,博友们监督,哈哈。一、分层架构之前在开篇就有整体介绍,现在进入具体一点的讲解。首先,我说下个人的理解,分层架构我认为是轮子、语法的关系,底层的语法可以造出很多轮子,上层可以不管轮子怎么做出来的。比如一个车企,可以自己生产轮子,也可以直接用通用的轮子。其实底层就更接近源码,这

2022-04-22 12:59:34 2651

原创 Flink流处理引擎系统学习(三)

前言再来一个Flink的stream的example,提前先说下,官网的例子有点坑。一、stream例子拷贝到我的目录(这里顺便说下一个好的工具用起来真香,idea居然可以复制的代码,粘贴自动跟我创建类)你想文什么,我知道,先别问,继续看下面。二、example整理1.依赖引入你拷贝到你的demo项目,在自动引包的时候,会发现很多缺很多对象。首先需要引入flink-connector-files<dependency> <groupId>org.apache

2022-04-21 19:59:08 619

原创 Flink流处理引擎系统学习(二)

前言第一个Flink示例,首先分享下课程李老师关于任何一门新技术的学习方法:1、进官网2、找项目构建3、找example里的demo代码4、拷贝到构建的项目里go一、Flink的项目构建一般官网都会提供项目的构建步骤、或者脚本的。Flink在这里就是提供的脚本,步骤如下:1、打开官网:https://flink.apache.org/2、拷贝建Flink项目的脚本当然,其实是可以在idea里New Project一步步选择Flink的依赖,新建项目的。这里要说的是,这个脚本需要

2022-04-21 16:17:49 659

原创 Flink流处理引擎系统学习(一)

自己有时说带不动别人,在别人眼里,又何尝不是被被人这样认为呢?以后还是要摒除内心的杂念,紧下心,自己创造条件UP。正如课程老师说的,未来没有什么谁强谁弱,而是看谁先在自己的短板有所突破。我们做人、做技术人又何尝不是这样呢?

2022-04-21 12:58:39 881

原创 分布式场景业务操作日志实现(基于redis轻量)

序今天没有空详细写,就说说现在的需求场景,就是希望插入业务操作日志,springCloud环境。然后,基于我实现的结果,还是说一句,设计没有公式,就是基础、特性的串联。一、设计思路经过分析,以及找其他组同事取经,大致的设计思路就分未3类,如下:1、基于切面AOP2、基于事件,EventBus或SpringBus3、基于消息中间件二、取舍历程1.基于切面(舍)因为是springCloud分布式场景,如果用切面,那么就有2个方案:A、每个服务自己切面处理这样处理我想大家都不愿意,这就意味

2022-04-20 10:28:30 476

转载 IDEA Debug过程中如何回退操作?

大家在Debug程序的时候,是否遇到过因为“下一步”按太快,而导致跳过了想要深入分析的那段代码?是不是很想要有“回到上一步”这样的操作呢?在IDEA中就提供了一个帮助你回退代码的机会,但这个方法并不是万能的。好了,下面就来具体说说这个功能的使用!使用Reset Frame回退操作不知道你在Debug的时候,是否有注意过下图标出的按钮Reset Frame,这就是今天要介绍的主角。什么情况不能回退比如:下面这样的顺序结构,是无法会退的:void test() { int a = 1;

2022-04-19 08:21:30 4644

原创 功到深处,道法自然

所有的设计都是基础的串联,设计没有对错,只有优劣。水无常形,山无常势力。功到深处,道法自然。

2022-04-07 21:03:52 451

原创 redis配置项启动报错shutdown问题

项目场景:这次是升级springBoot版本,然后启动的时候有一个服务的redis配置启动报错(其实我觉得应该是每个服务都会有这个问题,因为所有的服务redis的配置类我都是一样的,但是现在其他服务还是正常的,我也没有深究,因为在赶一个功能)问题描述启动的时候报错,redis的配置类报的:从字面意思看应该是redis的客户端lettuce连接的时候的问题,redis在重新创建lettuce客户端链接资源的时候,之前的客户端链接资源没有被回收。原因分析:既然是lettuce客户端连接redi

2022-04-06 12:11:54 2236

原创 欠的债总要有人替你还

日复一日、年复一年。铁打的营盘流水的兵,团队欠的债,最终总会有人需要还。。。。。。

2022-03-29 19:58:30 1333 1

原创 化被动为主动,周期任我控

自动任务+多线程,我为什么放弃了你。。。。。。

2022-03-25 21:14:26 1279

原创 多线程Future模式使用

序上次分享了多线程与自动任务的风花雪月悲惨结局,今天借此继续分享下多线程带返回结果的基本讨论与实现。一、使用场景一个业务方法可能执行时间很长,而我们也不急着摇返回结果,那么就可以用多线程去开启一个子线程执行这个业务方法,同时,子线程可以返回这个业务方法的返回结果,那这是什么模式呢?二、关于Future1.什么是Future模式Future模式是多线程开发中非常常见的一种设计模式。它的核心思想是异步调用。当我们需要调用一个函数方法时。如果这个函数执行很慢,那么我们就要进行等待。但有时候,我们可

2022-03-21 17:11:30 2004

原创 多线程与自动任务的一场悲剧的风花雪月

序今天跟添加分享一个多线程与自动任务谈恋爱的悲惨故事,他们的结合,如果造化弄人,搞不好就是同归于尽。一、相识一次产品设计会上,促使了2个人”多线程“、”自动任务“的结合,本来是计划一起配合用手段调度资源造就稳定、丝滑、流畅的时代。可是造物主要是控制不好,就会是一场所有的所有陪葬的悲剧。二、结合示例1.多线程集成多线程集成是前提,这里就不重复说了,见往期的博文。(下面整体代码示例也有说明)2.自动任务集成这里实现方式很多,也不多说,一般用springBoot的Scheduled就够用了,不需

2022-03-17 20:04:29 842 1

原创 redis实现消息发布订阅(监听器版)

前言最近对接之前集成的支付组件,以前是通过推送websocket信息到前端,前端页面收到信息后回调接口,实现充值结果同步。但是如果用户支付了,关掉了H5页面,那还回调个鬼,数据就不同步了。所以这次堵上这个漏洞,但是又不想上消息中间件,依赖太多了额,以后私有化部署、运维成本太高,而且下周就要上线功能,时间太紧,所以就想到用redis的消息订阅发布来处理。另外我这边是微服务的,现在的场景是支付模块收到微信支付的通知后,推送websocket信息到前端,同时发布redis信息,其他一个模块收到redis信息后

2022-03-11 20:16:35 2952

小米盒子增强版ROOT&WIFI-ADB

小米盒子增强版ROOT&WIFI-ADB 现在百度到的小米盒子增强版的Root方法都不成功,这里绝对是原创ok的 安卓开发,你值得拥有

2017-07-07

mySql实现树形查询的函数存储过程例子

mySql实现树形查询的函数存储过程例子

2017-06-08

apache负载均衡

apache负载均衡

2017-04-01

eclipse luna集成weblogic开发环境以及项目部署

eclipse luna集成weblogic开发环境以及项目部署

2015-09-30

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

TA关注的人

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