- 博客(58)
- 问答 (1)
- 收藏
- 关注

原创 Python如何按下指定按键后执行特定的操作
库:pynput安装:pip install pynput话不多说直接上代码:from pynput.keyboard import Listenerimport timedef on_press(key): passdef on_release(key): all_key.append(str(key)) print(all_key) if "...
2019-07-31 11:49:35
24491
原创 flink interval join为什么配置的是前后2分钟 ,但是每次都是左流到了4分钟,匹配不上才下发,和预期的不一样
看到这个问题,立马能想到需要通过源码查找原因,flink join本质是对窗口的操作,窗口在flink底层是基于Timer定时器来实现的,只需在ctx.timerService().registerProcessingTimeTimer()方法处打断点进行debug,即可知道是从哪里进行注册,从而定位到上述的源码类:org.apache.flink.table.runtime.operators.join.interval.TimeIntervalJoin。就这样,不到5分钟排查出了问题得到原因。
2024-09-19 16:40:39
497
原创 三小时使用鸿蒙OS模仿羊了个羊,附源码
结合羊了个羊的开发思路,准备好相应的卡片素材后进行开发。遇到了需要arkTS进行解决的问题,再去查看相应的文档。学习鸿蒙arkTS语言,决定直接通过实践的方式上手,而不是一点点进行观看视频再来实现。
2024-04-02 14:12:31
1238
原创 在Rust中创建并使用静态的HashMap
Cargo.toml中添加依赖[dependencies]lazy_static = "1.4.0"use std::collections::HashMap;use lazy_static::lazy_static;use std::sync::Mutex;lazy_static! { static ref MAP: Mutex<HashMap<String, String>> = { let map:HashMap<String, Str
2022-05-18 16:21:12
1606
1
原创 类上加@Component报错No qualifying bean of type ‘XXX‘ available另一种解决方案
开发了一个构建类, 里面基本都是静态方法, 先需要注入service层进来, 查询数据库, 然而类上加@Componen后, 启动报错org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'buildCepCodePattern' defined in file [XXX\BuildCepCodePattern.class]: Unsatisfied dependenc
2022-04-25 23:30:35
2227
原创 为短路运算符布尔表达式添加括号
由于需要做表达式的可视化流程,在开始时,使用的是从左到右的解析方式,如下,可以看到有弊端,即A || B && C应该是先计算B && C再与A||,但从左到右就变为了先A || B 再 && C,导致结果不正确。可以进行测试:true|| false && false;从左到右是false,但实际上结果是true;故需要对其进行解析,解析为A || (B && C)这样前端才能够正确解析;Java版代码/** * @a
2022-04-18 20:05:40
528
原创 使用String接收前端传递的JSON对象,导致顺序不一致的问题
场景:springBoot程序中,定义一个DTO来接收前端的数据,其中json的参数使用了一个String类型来接收,这样子就直接得到了JOSN字符串对象。一般情况下我们会将JSON字符串转化为对应的pojo然后进行处理,这样没有什么问题。巧合的是其中一个场景需要存储json字符串进行返回,从而前端展示,可是发现定义的使用是id,name,age 后端接收的时候就变成了name,age,id了。一看前端穿过来的json对象顺序是对的,后端接收的字符串确实乱序的了。所以可以确定是序列化和反序列化导致的问题
2022-04-15 17:17:07
4291
1
原创 解决replace遍历循环调用,导致后续的replace替换掉前面replace的数据的问题
我们经常有循环对每个字符串进行replace的操作,如public static void main(String[] args) { String str= "方法1 && 方法2 && 方法3"; String fun1 = "\"1\".equals(a)"; String fun2 = "\"2\".equals(b)"; String fun3 = "\"3\".equals(c)"; // 进行替换 str = str.replace("方法1
2022-04-15 16:03:38
2313
3
原创 判断资源是否被引用,判断资源是否被循环引用
在系统中,总是会遇到需要判断引用的场景,如自定义方法模块,方法A里面调用了方法B,方法B里调用了方法A,这样自己就会造成循环引用。甚至于方法A里面调用了方法B,方法B里调用了方法C,方法C里面调用了方法A。这样的乃至更深层次的循环调用,那该怎么办呢,我这里设计了一个数据结构,来解决这个问题。/** * @author LaiYongBin * @date 创建于 2022/4/14 20:54 * @apiNote flink cep pattern引用关系数据结构 */public class
2022-04-15 11:19:17
782
原创 write javaBean error, fastjson version 1.2.76, class org.apache.flink.table.data.binary
在使用静态变量Map作为返回时,抛出了异常com.alibaba.fastjson.JSONException: write javaBean error, fastjson version 1.2.76, class org.apache.flink.table.data.binary.BinaryStringData, fieldName : id, Memory segment does not represent off heap memory其余代码不变,只返回一个空的新Map,结果正常,
2022-02-08 15:27:11
3850
原创 反射执行FlinkSql代码时找不到UDF的class报ClassNotFound
通过组件的方式配置flinkSql的流程,其中有测试环节,就是将生成的源代码通过反射执行一遍。其余组件都正常,就是使用UDF的时候报错ClassNotFound。udf的注册代码如下:TableEnvironment tbEnv;......tbEnv.createTemporarySystemFunction("udf名字", 全类名.class);经过排查,它会在如下scala代码中进行实例化。但它实例化的过程中呢是先拿到一个二进制的文件、然后再从Thread.currentThread(
2021-12-21 11:29:42
2167
原创 centOS安装MiniKube
不想多说什么,昨天看了许多博客关于安装MiniKube都是失败高知,早上看了看官网,一下子就安装成功了,所以说还是需要多看看官网,毕竟是人家做出来的东西。curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64sudo install minikube-linux-amd64 /usr/local/bin/minikubeyum install conntrackcurl -LO
2021-11-23 12:26:02
876
原创 zookeeper可视化工具
周末在家无聊,花了两天的时间,基于Python使用pyqt5写了一个zookeeper的可视化界面,由于时间有限,会有一些不完善的地方,如: 无法动态扩展横向滚动条 点击节点后横向滚动条会自动回到最左边 一些操作没有进行异常的捕获 以及其它还未发现的问题所以将其进行开源,有时间、有兴趣、有能力的朋友们可以对其进行改善改善。gitee地址:GITEE直接下载使用链接:https://pan.baidu.com/s/1p9hiemml9MFlCPN91FNK2w 提取码:0000
2021-11-15 19:55:06
1353
原创 基本的几个排序算法Java实现
import java.util.Arrays;/** * @author lyb * @Date: 创建于 17:53 2021/11/2 * @说明: 排序算法 */public class SortUtil { /** * 选择排序: O(n的平方) 最简单 最没用 不稳定 */ public static void selectSort(int[] nums) { //每次选择剩下的当中最小的 int n = nums.l
2021-11-04 11:14:58
109
原创 Java源代码动态编译,直接拿去用
测试代码public class Test { public static void main(String[] args) throws Exception { String source = "package com;\n" + "\n" + "import java.time.Duration;\n" + "import java.util.HashMap;\n" +
2021-10-27 14:03:11
3270
原创 此网站无法提供安全连接 使用了不受支持的协议
公司Https改造,各个系统都改造完毕,发现了问题,有一个组件仅仅加了SSL的配置,访问却出现了这个问题。网上搜索一堆都是说CDN的事儿,遗憾的是我的这个场景和这没关系。更加令人惊奇的是,有时候换一个证书又可以了!!!再仔细观摩这个SSL的配置server: port: 7103 ssl: enabled: false key-store: server.jks key-alias: localhost key-store-password: 123456
2021-10-26 11:55:19
30160
3
原创 使用redis实现分布式锁原理代码浅析
实现原理获取锁时,判断该锁是否存在,存在的话证明已被使用,所以采用setnx命令来操作,及不存在则插入,返回0证明已存在,返回1证明不存在且写入成功,我们规定,返回1则获取锁成功为什么要设置超时时间若是不设置超时时间,在unlock执行之前锁的系统挂掉,则此锁一直处于占用状态若是业务处理时间大于设置的超时时间怎么办?所以需要使用子线程来更新超时时间代码理解import redis.clients.jedis.Jedis;/** * @author lyb * @Date: 创建于 .
2021-09-29 15:29:57
145
原创 使用zk实现分布式锁原理代码浅析
主要原理:创建一个带序号的临时node,并获取它,这里命名为nowNode获取整个父node的所有子node若是nowNode是子node的第一个,则认为它成功获取到锁若不是第一个,证明在它前面有着别的线程注册了锁,所以开启监听它的上一个node问:如何知道nowNode是第几个带序号的字符串也是可以排序的,通过将获取到的子列表进行排序,即可知道是第几个以下是实现的代码,主要用于帮助理解思想,课程在b站尚硅谷import org.apache.zookeeper.*;import.
2021-09-29 14:39:36
198
原创 使用WebClient和RestTemplate访问HTTPS
公司一个SpringBoot系统需要HTTPS改造,要求HHTP、HTTPS单向、HTTPS双向都是可配置的,它们是由四个系统构成的,相互之间通过WebClient和RestTemplate进行请求。所以首先我们可以明确配置文件的内容:server: port: 8080 ##Https改造, 若不是https则将enabled置为false, 若是则上传对应的证书,完善正确的配置 ssl: # 是否开启SSL enabled: true key-store: serv
2021-09-18 10:06:07
2163
原创 使用docker安装和使用Python3
服务器重置后懒得重新安装py了,使用docker容器来执行它// /pyFile :外部的目录,可以改为你自己喜欢的目录 /usr/src/python:容器内部的目录// py文件上传到外部目录即可docker run -d -p 8000:8000 -i -t -v /pyFile:/usr/src/python python:3.8 /bin/bash//进入容器 docker ps查看容器的iddocker attach 容器的id//进入定义的容器内部的目录cd /usr/s
2021-09-01 11:14:28
1400
1
原创 BatchUpdateException在MySQL和Oracle的区别
一般而言,BatchUpdateException是在批量执行的时候出错,想要知道具体是哪一些数据出错了,这时候就会用到batchUpdateException.getUpdateCounts()方法,根据返回的int型数组来判断。不过MySQL和Oracle有所区别:MySQL会将所有的语句全部执行完,然后数组中成功的返回1,失败的返回其它值,比如-3。Oracle则是一直执行,当遇到第一个失败的语句就会返回,所以会返回均为1的数组。例子:批量插入10条数据,第3、6条数据失败MySQL的ba
2021-07-25 22:40:33
2388
原创 Linux下docker安装及常用镜像安装
安装docker1. 安装软件包yum install -y yum-utils2. 设置仓库镜像yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo3.更新包索引yum makecache4.安装docker ceyum install docker-ce docker-ce-cli containerd.io5.启动dockersystemct
2021-07-21 20:55:26
373
原创 springBoot中RealmConfig无法注入service
以下原因:1.realmConfig方法未加@Bean, 可以在ShiroConfig类每个方法都加上@Bean@Bean(name = "realmConfig")public RealmConfig realmConfig() { return new RealmConfig();}2.ShiroConfig中使用到RealmConfig类对象的方法, 必须使用(@Qualifier(“realmConfig”) RealmConfig realmConfig作为方法的参数
2021-07-21 13:21:44
316
原创 4只鸭子在同一个圆圈内游泳,问:4只鸭子出现在同一个半圆内的概率是多少?Python解答
看到这个问题有些晚了,不过也挺感兴趣,索性花了5分钟写了个Python的。发现已经有许多其它博主使用了编程来进行解答,我看了个Java的,思路也是大同小异。问题:既然是概率问题,那么就该严谨化,so,我们可以遵守“游泳池”是一个很大很大的圆,而“鸭子”则是完全随机的没有大小的质点,而不是某些大聪明说的鸭子喜欢成群结队吃东西这个大前提。思路:什么样的情况下才算是在同一半圆,我们可以这样理解,四只鸭子中,只要有任意一只鸭子与圆心的直线,能够包含其它三只鸭子,那么就是在同一个半圆。so,结果的概率与鸭
2021-07-15 18:24:32
10608
原创 鸿蒙OS开发初览
鸿蒙OS的IDE开发工具下载鸿蒙社区博主分享的开发者资料其它博主分享的环境搭建两种UI框架一、Hml式 即JS UIJS UI提供了相对高层的UI描述,使应用开发更加简单。1. 目录结构 前端和后端是一体的JS UI的组件 可以对比传统Html标签组件类型主要组件基础组件text、image、progress、rating、span、marquee、image-animator、divider、search、menu、chart容器组件div、list、l.
2021-05-08 11:20:34
353
1
原创 实现和(女)朋友一起看电影 Java websocket
被异地(女)朋友缠着要一起看电影, 翻遍许多资源并没有发现比较好的, 索性自己写一个,思路一起看电影要的效果是: 1. 同时间俩人看到的画面相同 2. 一方点暂停(播放), 一方也暂停(播放) 3. 一方能进行同步操作(将自己的画面转为最新)所以不需要实时地传输视频流对象,只需同步控制video组件即可代码的问题1. 同步操作操纵的是video.currentTime, 那么同时会触发video.onseeked事件, 所以无法分清楚触发onseeked事件的是同步操作还是用户主动滑
2021-04-06 15:27:06
2913
1
原创 ReferenceError: rgba is not defined
obj.style.background = rgba(0,64,156,.8);更改为obj.style.background = "rgba(0,64,156,.8)";
2021-03-29 18:18:21
1862
原创 如何卸载NyanProgressBar插件
问题:看了其它博主的好用的IDEA插件,下载了NyanProgressBar,启动后播放超级玛丽,无法关掉,在已安装的目录里搜索NyanProgressBar无法搜索到,无法卸载解决它的名字由NyanProgressBar变成了Mario Driven Development ,找到它卸载即可实际上真正的Nyan Progress Bar是有空格的,它是一个仿制品,搜索的时候可以搜索"Nyan "带上空格,再进行安装...
2021-03-23 15:01:25
1351
1
原创 layui对key和value键值对表格的新增和编辑功能前端代码
前言:此代码最初来源于博客园FrontGril提供的思路复制代码前你需要做的1.将代码里的layui的路径改为你本地的路径,或者是在线的有效的路径代码<!DOCTYPE html><html id="header"><head> <meta charset="utf-8"> <title>Layui</title> <meta name="renderer" content="webkit"&
2021-03-16 11:06:13
1053
原创 Job for docker.service failed because the control process exited with error code. See “systemctl sta
问题原因: 配置docker的镜像源时, 输的信息或者格式有错误正确的格式:sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-'EOF'{ "registry-mirrors":["https://qiyb9988.mirror.aliyuncs.com"]}EOFsudo systemctl daemon-reloadsudo systemctl restart docker解决办法:重新
2021-03-14 00:17:57
140
转载 手写假HashMap1
记录的视频地址:blblMap1.javapublic interface Map1<K,V> { //map的put和get和size方法 V put(K k,V v); //put方法 V get(K k); //get方法 int Size(); //map的长度 //每个键值对都是一个Entry对象 interface Entry<K,V> { K getKey(); //获取Entry的key
2020-10-06 20:02:20
323
原创 关于工具类了使用了@Autowired,测试时空指针异常
问题:工具类:@Componentpublic class RabbitMqUtil { @Autowired private RabbitTemplate rabbitTemplate; //注意,若是没有创建该队列,并且没有消费者对其消费,则会创建失败的 public void helloProvider(String routingKey, String o) { rabbitTemplate.convertAndSend(routingKe
2020-08-13 09:43:16
610
原创 为什么前端对数据进行了验证,后端还要再验证?
比如说:前端点击查询用户信息,验证用户名是否符合(要求全为数字),符合要求了请求一个链接:http://xxx/xxx?username=123456这时候用户直接访问http://xxx/xxx?username=abcdef 你怎么办?所以前端验证是为了减少对服务器的不必要的请求(你知道一定不符合了还发过去,岂不是找骂?),而不是成为正确参数的唯一保证,因为你不能保证用户的请求方式...
2020-08-03 15:25:36
2683
原创 mysql的分页查询比较
以下查询适用于id有规律的表,如自增,等差 等1.普通limit查询[SQL] SELECT * from tests limit 1000000,100受影响的行: 0时间: 0.301ms2.limit配合子查询[SQL] SELECT * from tests WHERE id>((SELECT MAX(id) from tests)-200) LIMIT 100受影响的行: 0时间: 0.036ms3.limit已知偏移量[SQL] SELECT * from te
2020-07-31 19:11:37
223
1
原创 两则故事理解 三次握手四次挥手
三次握手A -->客户端 B -->服务端第一次握手:A对b: 兄弟我要给你发消息了(A尝试发消息)第二次握手:B对A: 兄弟我知道了,你可以发 (确定B能够收消息)第三次握手:A对B:(A收到消息,确定自己能够收发消息) 好嘞兄弟,我马上就来 (B收到消息,确定自己能发消息)原文链接:https://blog.youkuaiyun.com/qq_41621362/article/details/89167178四次挥手A -->客户端/(服务端) B -->
2020-07-19 18:54:38
185
原创 Java实习生/校招的面试建议(一面) 自己的经历和理解
1.自我介绍自我介绍: 以下是有工作经验的人说的,可以效仿着来 1.我是谁, 毕业于哪里 2.为什么走java方向(展现出对技术的热爱),为什么选择我们公司(可劲儿夸) 3.工作经历 4.项目经历 主要做了什么 ?一个项目到另一个项目 转型的原因是什么(技术更新方面)2.项目经历1.整体技术栈 数据库+框架 如springBoot+ mysql+ MyBatis2.你主要做了什么 如: 全栈 只是后端 或者 只是部分3.功能细分 -->引申出技术栈 如: 搜索模
2020-07-04 13:56:27
11679
3
原创 SpringBoot集成Redis,序列化及比较全的RedisUtil
导入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> <version>2.3.1.RELEASE</version> </dependency>
2020-06-20 00:01:25
346
原创 windows下elasticsearch7.6.2ELK全家桶安装及ik分词器插件
ElasticSearch:7.6.2下载地址:https://mirrors.huaweicloud.com/elasticsearch/7.6.2/elasticsearch-7.6.2-windows-x86_64.zip其它版本或系统下载地址:https://mirrors.huaweicloud.com/elasticsearch/?C=N&O=Dlogstash7.6.2下载地址:https://mirrors.huaweicloud.com/logstash/7.6.
2020-05-14 15:41:32
1142
2
空空如也
MySQL如何获取指定主键之后的100条数据?
2022-11-09
Java自定义类加载器反射得到的类如何强转
2022-09-07
Java如何将mp4视频通过websocket进行传输
2021-04-02
TA创建的收藏夹 TA关注的收藏夹
TA关注的人