学习笔记
文章平均质量分 53
米忽悠精神股东
这个作者很懒,什么都没留下…
展开
-
java动态解析excel数据(支持多行嵌套表头)
【代码】java动态解析excel数据(支持多行嵌套表头)原创 2023-02-20 15:02:16 · 1456 阅读 · 0 评论 -
背包问题理解思路(01背包、完全背包、分组背包)
因为三个背包问题实际上解决思路是几乎相同的,所以这里把三个问题放到一起进行记录,首先简单说下三个背包问题的题干1.01背包问题:即有数件物品,每样物品均有不同的价值和重量,先给定一个背包容量大小,求背包能装下的最大价值。2.完全背包问题:在01背包问题的基础上,每样物品有无限个(即可重复装包),求背包能装下的最大价值。3.分组背包问题:在01背包问题的基础上,把数样物品改为数组物品,每组物品中只能选择一件,求背包能装下的最大价值。原创 2023-02-15 11:48:58 · 1026 阅读 · 0 评论 -
Antlr4实现表达式解析
Visitor实现,由于目前只是做一个demo,所以只做了replace方法的实现所以硬编码了replace方法,replace方法只调用了string的replace方法,固不贴代码了,可以根据需要拓展更多方法。表达式:replace(name,replace(name,zs,s),replace(age,8,replace(age,1,22228888)))上下文数据:{"name": "zs","age":18}预期结果:z1222288888。原创 2022-11-08 17:37:13 · 626 阅读 · 0 评论 -
Oracle查询表全部唯一约束(唯一键)
今天需要一个查询Oracle某张表全部唯一约束字段的功能,上网查了一下,找到一段sql,查询的user_constraints表,试了下查询不到我要的表的唯一约束,接着查发现全都是复制粘贴的一样的,后来找了下JDBC的DatabaseMetaData类,发现了一个getIndexInfo方法,是可以查到唯一约束的,但是会有一个null,而且type是0和1,出于好奇翻了下Oracle的JDBC驱动源码,发现Oracle并不是查询的user_constraints表,下面是Oracle驱动中的sql。...原创 2022-07-29 10:09:52 · 3088 阅读 · 0 评论 -
superset-1.5.0二次开发集成权限校验
superset鉴权集成到自己的系统中,使用自己系统的权限校验接口去做校验,并且控制跳转,思路是把superset用到的flask框架中鉴权模块继承出来并修改相关配置文件使用自定义的鉴权类去做鉴权,因为是java开发之前没有接触过python,主要参考,写的很好,但是摸索python实现过程中还是踩了些坑。...原创 2022-07-18 14:35:03 · 2085 阅读 · 10 评论 -
superset汉化
之前只修改了superset中config.py的配置,发现其中只汉化了一小部分,但是其他未汉化部分中有一部分的汉化其实代码里做了,并未生效,于是在网上找了一圈,没有发现特别靠谱的方法,后来折腾了一下解决了。首先superset使用的i18n是flask框架的flask_babel,基本思路是现根据 superset根目录\superset\translations 下的各种json文件以及babel.cfg的配置生成所有语言的pot文件,然后根据pot文件生成各个语言的po文件,再通过编译po文件生成原创 2022-07-12 16:54:16 · 3193 阅读 · 4 评论 -
java依赖隔离
今天遇到一个问题,插件执行框架自定义类加载器对插件间依赖进行了隔离,每个插件对应的依赖都会有一个单独的自定义类加载器实例,但是没有对框架和插件间依赖进行隔离,由于双亲委派机制加载插件时框架依赖包会从上往下加载,框架依赖版本覆盖了插件依赖版本,但插件需要的效果与双亲委派刚好相反,当自定义类加载器能加载到需要的类时不再向上加载,加载不到时才需要走双亲委派加载,最终通过重写自定义类加载器的loadClass方法实现,代码如下:@Override protected Class<?> lo原创 2022-02-23 17:08:56 · 363 阅读 · 0 评论 -
nifi通过site to site(站对站)与flink通讯
nifi作为一个数据管道类开源项目,在处理数据流上拥有非常大的优势,功能强大、性能优秀且有着不错的健壮性,但作为ETL工具使用对于流式数据处理存在一些不足(比如合并流、CEP等),而flink则非常擅长该领域,通过nifi和flink进行对接可以补足这些不足,nifi与flink数据交换最简单的方式是通过中间件(如kafka),但是通过这种方式将需要维护大量的topic或者queue,而且增加一个中间环节也显得不那么直接,徒增了一些不稳定因素,增加了部署和维护的难度,而nifi提供了site to site原创 2020-11-02 14:16:30 · 1536 阅读 · 3 评论 -
erlang安装没有bin文件夹
今天在服务器上部署RabbitMQ,原本在本地两台机器上装了一遍测试之后没有任何问题,然后把安装包丢到服务器上安装后没有bin文件夹,从开始里面找了一下发现快捷方式指向的是对应路径的bin文件夹,但确实没有,考虑到其他文件夹都是全的于是从本地传了个bin文件夹过去,运行时报错缺少msvcr120.dll文件,双击根目录下的install.exe报错相同,补充相应dll到服务器。...原创 2020-09-25 17:23:39 · 2132 阅读 · 0 评论 -
Nginx反向代理NiFi
这几天现场网络出问题,为了连各个分厂的NiFi搭了Nginx,结果发现常规配置NiFi的拖拽删除接口都跑不通,ip被换成了listen里面的ip,后来在网上找到方法故作记录,但不知道其中原因,原帖也只是说查找了文档并没有说是哪里的文档,望知道的大佬告知,不胜感激,配置如下:server { listen host; server_name localhost; location / { proxy_pass http...原创 2020-07-22 10:09:37 · 823 阅读 · 0 评论 -
flink CEP简介及简单示例
一、简介flink CEP是flink中的一个事件处理模块,可以自动在流式数据处理中定义并自动检索事件,从其他帖子中了解到滴滴打车用户行为就是用了flink的这个模块,举个简单的例子,假设需要一分钟内一个账号连续登录三次密码错误既冻结该账户,当成千上万的用户不断地登录时可以把所有的登录请求数据视为一个流式数据,把用户名或用户id设为key,flink就可以自动检索“一分钟内一个账号连续三次登录密码错误”这件事并给出对应的三次信息供后续操作,flink在整体设计上比较像函数式编程,flinkCEP在设计.原创 2020-07-06 18:02:53 · 1450 阅读 · 0 评论 -
flink自定义source、sink及从kafka消费数据到数据库的简单demo
一、简介flink作为一个数据处理框架,其工作流程简单来说可以理解为:从数据源获取数据→处理数据→输出处理后的数据,source和sink则分别代表从数据源获取数据和输出数据,事实上flink本身提供了很多source和sink,但是在特殊使用场景时依然需要自定义source和sink,flink提供了较为统一的拓展方式,本例中从kafka消费数据就是使用flink官方提供的source,sink则为自定义拓展的写入数据到SQL server的sink。二、添加依赖在创建好的模板工程(创建模板工原创 2020-06-30 17:09:52 · 1500 阅读 · 0 评论 -
flink在Windows下单机启动及开发简单demo示例
Flink是一款兼顾批处理和流处理的数据处理框架,具体的介绍网上很多,就不做赘述了,这篇主要讲一下环境启动及一个最简的运行示例,关于flink和sink、slot和parallelism相关内容见后续文章,同时这里只针对Windows系统进行操作,Linux的操作大同小异,不做单独说明。首先在官网下载解压,这一步就不多说了,可自行选择需要的版本,这里使用1.9.2(刚下载完没过一周就出了1.1...原创 2020-03-06 11:34:03 · 2465 阅读 · 0 评论 -
nifi自定义Processor允许用户添加属性
在Processor的类中增加如下方法即可:@Override protected PropertyDescriptor getSupportedDynamicPropertyDescriptor(final String propertyDescriptorName) { return new PropertyDescriptor.Builder() ...原创 2019-11-06 16:21:32 · 763 阅读 · 3 评论 -
如何禁止虚拟机自动获取DHCP分配的ip地址
今天在看Hadoop视频学习的时候跟着视频里面修改ip地址,将虚拟机的ip地址修改为192.168.2.3,结果ifconfig显示ip地址为192.168.2.128,用物理主机去ping这两个ip地址都可以ping得通,而且用SercureCRT连接发现也是同一台虚拟机,后来发现该ip地址与VMware里面DHCP的ip地址区间的起始值相同,但是在设置里面禁用DHCP之后重启网关似乎会报错,后...原创 2018-12-19 09:13:49 · 3611 阅读 · 0 评论 -
wx-tools发送模板消息
最近用wx-tools做模板消息发现w3cschool的文档:https://www.w3cschool.cn/wxtools/ 说的不是特别清楚,按照上面的描述使用并不好用(不知道是不是我用法有误),折腾了好久发现是toJSON方法的问题,所以直接用包里封装的发送模板消息的方法不太好用。因为模板消息中每个DATA是一个对象,有value和color两个属性,要在string中拼接json串,...原创 2019-01-22 15:25:45 · 502 阅读 · 2 评论 -
vuex+jwt实现登录校验
之前根据别人的博客做的,结果忘记收藏现在找不到是哪篇了,自己写一篇防止以后忘记ww下面是实现流程:首先在src下创建这么个文件用来配置vuex,代码如下:import Vue from 'vue'import Vuex from 'vuex'Vue.use(Vuex);const store = new Vuex.Store({ // 初始化的...原创 2019-03-27 17:32:31 · 1451 阅读 · 0 评论 -
springboot使用swagger2及拦截器使用时导致swagger2页面无法访问的解决办法
swagger2是一个接口文档生成工具,通过一些简单的配置不仅可以使用swagger2提供的前端页面进行接口调试,还可以导出接口文档,以及方便的导入到YApi等接口文档管理平台等,废话不多说,直接看代码:首先是依赖:<dependency> <groupId>io.springfox</groupId> <artifactId>spri...原创 2019-07-08 18:09:15 · 7731 阅读 · 0 评论 -
windows编译运行apache nifi(遇到很多坑)
编译了整整一周的时间,中间遇到了十分恶心的坑。http://nifi.apache.org/quickstart.htmlnifi官网文档,首先通过cmd修改配置(虽然我也不知道有啥卵用,但是官方这么说了就改一哈):git config --global core.longpaths true git config --global core.autocrlf false...原创 2019-06-28 17:54:26 · 2566 阅读 · 2 评论 -
windows本地搭建filebeat+ELK日志系统并通过zipkin brave实现日志链路追踪
filebeat+ELK(Elasticsearch+Logstash+Kibana)日志收集系统是一套跟程序几乎没有耦合的基于日志文件的日志收集系统,它通过filebeat扫描日志系统,将更新的日志实时收集到Logstash中进行过滤筛选和格式标准化,然后输出到Elasticsearch上,最后通过Kibana提供的系统和前端页面进行查看筛选等操作;zipkin是基于Spring RestT...原创 2019-07-23 14:48:01 · 1082 阅读 · 1 评论 -
java连接kafka
昨天有一个用java连接kafka发送消息的需求,花了一个多小时才连上,故做记录首先添加依赖:<dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka_2.12</artifactId> <version>2.3.0&...原创 2019-09-03 09:17:44 · 637 阅读 · 0 评论 -
nifi自定义Processor使用Service
刚开始做的时候去翻了好半天nifi的源码,没太搞清自定义Processor怎么使用Service作为属性,后来发现其实nifi对Processor的拓展提供了丰富的API,完全不需要像源码中那样使用,下面是使用方法,关于如何创建自定义Processor工程的文章网上有不少,都还不错,这里主要讲Service的使用,本例子用了数据库访问相关的Service:首先要添加两个依赖:1.相关接口a...原创 2019-09-23 16:30:08 · 1099 阅读 · 0 评论 -
微信公众号通过openid给特定用户推送消息的相关接口
今天在做一个这样的功能,用作数据告警,在网上查了一圈都是相关的代码,后来在微信开发者平台上找到了这些相关接口,在这里整理给大家获取access_token:https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=appid&secret=secret其中appid和sec...原创 2018-12-21 17:31:23 · 4356 阅读 · 0 评论