自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

猫舍

一个喜欢云撸猫的菜鸡程序猿

  • 博客(55)
  • 收藏
  • 关注

原创 [paper note]LoRA+: 原理分析

在本文中,我们表明,最初在论文《LoRA: Low-Rank Adaptation of Large Language Models》中引入的低秩适应(LoRA)会导致大宽度(嵌入维度)模型的次优微调。这是因为 LoRA 中的适配器矩阵 A 和 B 以相同的学习率更新。使用大宽度网络的缩放参数,我们证明对 A 和 B 使用相同的学习率并不能实现有效的特征学习。

2024-04-09 16:42:24 965

原创 cudnn版本冲突异常。undefined symbol: _ZN11nvrtcHelper4loadEb, version libcudnn_ops_infer.so.8

最近做大模型集成,在一个容器中集成多个模型,以提供堆外服务。当容器只加载一个模型的时候,正常。当加载多个模型的时候,启动正常,但是在调用模型进行推理计算的时候,就会报异常。查询了众多资料后无果,在准备在容器中启多进程的时候,找到了一个解决方案。注意:命令是一个示例,实际操作时,请修改为实际的。感兴趣的,可以看看GitHub上大家的说法。如果不指定,会默认去系统目录下找。文件没找到,也可以用以下方式尝试解决。调用模型进行推理时,会报以下异常。,初步可以判断是版本冲突了。文件,即上述异常中提到的路径。

2024-01-25 14:51:21 632

原创 python对象class转json异常AttributeError: ‘mappingproxy‘ object has no attribute ‘dict‘

这几天在写python脚本的时候,需要将class对象转化为json字符串,作为参数进行接口调用。的列表中,所有的对象都是同一个,且均为最后更新的那个。并且,class对象是不能被json格式化的,故报了以上的异常。经过一番幸苦查找,终于定位到原因,其实很低级的错误。在嵌套class的时候,我有一个地方声明对象实例时,漏掉了。的写法是创建一个对象实例,和Java的用法一样,这也就比较好理解。的写法,直接访问的是对象,而非对象实例,因此我最终组成的。python中,这两种写法都有,不带。

2023-11-01 10:55:58 351

原创 python官方下载地址(全版本)

python官方安装包下载ftp地址。

2023-08-31 10:37:50 524

原创 idea启动正常,打成jar包时,启动报错

启动命令中,参数不能放在jar包后面,或者说jar包路径要放在命令的最后面,否则命令读到了jar包路径后,后面的内容将会被忽略。其实和报错本身没有关系,被报错误导,检查了半天jar包内容和maven的打包命令,结果是jar包启动命令的问题。因为jar包路径后面的内容会被忽略,从而导致出现其他问题,这边记录一下,希望能帮到其他踩坑的人。因为这个原因,导致我的应用没有读到配置文件,从而一直报驱动不存在。自己写了个小程序,在idea中启动正常,达成jar包发布时,启动报错。将jar包路径放在命令的最后面。

2023-08-24 17:09:56 1535

原创 clickhouse数据库insert select语句报错Code: 44. DB::Exception: Array(Int32) cannot be inside Nullable column

clickhouse数据库中,如何使用insert select语句将Nullable字段写入非null的字段中报错,Code: 44. DB::Exception: Array(Int32) cannot be inside Nullable column.原因是源表中字段为Nullable的,插入到Array(Int32) 中,类型不匹配。Array类型只能接收非Nullable字段。对源字段进行Null判断,并设置默认值。如果你的条件中还包含其他提交,可以包含在。版本的ck,这个版本中,只能使用。

2023-08-03 14:58:04 412

原创 python连接clickhouse数据插入OSError: [Errno 22] Invalid argument异常

python连接clickhouse异常column = [int(x.timestamp()) if x else 0 for x in column]OSError: [Errno 22] Invalid argument

2023-05-31 16:23:14 313 1

原创 Idea连接clickhouse异常驱动类找不到Driver class ‘ru.yandex.clickhouse.ClickHouseDriver‘ not found.

maven仓库:https://mvnrepository.com/search?注意驱动地址,IDEA一个不好就是驱动地址不能自定义。所以下载驱动包时,要和IDEA中的驱动类地址对应。从这个页面可以看到,新版本的驱动包路径已经变更。由于IDEA的驱动类路径没更新,所以还是选择旧版驱动。如果切换驱动版本依旧无法解决,可以下载驱动,然后本地加载驱动。切换到驱动界面,选择其他版本驱动,依旧显示无法找到驱动类。Idea连接clickhouse时,报驱动类找不到。之后就是通过加载本地驱动包的形式,配置驱动。

2023-03-29 15:07:15 5233

原创 IDEA连接TiDB报字符集不匹配问题COLLATION ‘utf8_general_ci‘ is not valid for CHARACTER SET ‘utf8mb4‘.

TiDB连接异常,COLLATION 'utf8_general_ci' is not valid for CHARACTER SET 'utf8mb4'.

2023-03-23 11:02:29 4387 3

原创 springbatch设置throttle-limit参数不生效

调整throttle-limit为10时,处理线程只有8,再次增大throttle-limit值为20,处理线程依旧为8,并未生效。即没有对线程池进行配置的情况下,一个任务到顶,撑死只能拿到8个线程。控制的是单个任务能够从线程池中获取的线程数的最大值,从这个值的注释说明可以看到,实际任务能够拿到的线程数量,不仅受。中配置可以看到,任务处理的线程池通过properties配置实体进行线程数设置。值为20,启动任务,可以看到并行处理的线程数达到了20个。的值的时候,就必须先把线程池的线程数配置调大。

2023-02-21 10:47:41 1095

原创 Linux主机下连接远程postgresql数据库、容器版postgresql数据库

命令,提示异常,但没有报出命令不存在,则说明安装成果,恭喜你,可以使用psql命令连接远程postgresql数据库了。其实这个解决方案,实在官网上找到的,在寻找源码安装部署的时候,发现安装包被拆分成了不同的小包,以应对不同的使用场合。这个是红帽子Linux,CentOS-7的安装地址,其他操作系统,请回退上级目录选择。以上两个方案,供大家参考,如果下面的方案不可行,以上两个方案希望可以提供一些借鉴。介绍,可以知道,libs是通用包,所有程序都需要安装。中查看介绍,可以知道,我们的想法是正确的。

2023-01-31 15:37:10 5119

原创 jasper ireporter 子数据集(sub dataset)与主数据(main dataset)集之间的参数传递

在使用ireporter写报表的时候,经常会用到新建一个子数据集,然后基于该数据集来创建图表。但是有一个问题,数据集之间的参数是基于数据集隔离的。也就是,在子数据集中,无法直接使用主数据集里面的参数。但是,只有主数据集的参数,才会暴露在对外接口中。或者当我们需要子数据集中的where条件,带上主数据集中查询到的参数,这个岂不是玩不转了?先吐槽,在某度上查了一下午,全是抄来抄去的答案,每一个管用的。我们在新建子数据集时,和新建主数据集一样,设置好sql查询语句需要的参数。下面把解决方案说一下,供大家参考。

2022-12-19 18:01:07 545

原创 Springboot 整合 ireporter 实践

使用ireporter的一个缺点是,模板文件需要提前准备,虽然可以通过提供上传页面来支持,但是导致的结果是需要在两个页面之间切换。如果只是少数几个人使用,可以保持这种模式没问题。如果使用的人数较多,可以考虑对ireporter进行二次开发,提供在线模式,并将生成的模板放到云服务器上。这样其他应用可以直接读取云服务上的模板文件,而免去在应用之间的跳转。

2022-12-16 17:25:50 1217

原创 grafana 使用指南 —— geomap 地图组件

总结说明一些关于grafana地图组件的使用心得,帮助新手用户快速上手。

2022-10-27 10:49:00 6264

原创 敏捷研发规范

本文为作者阅读《敏捷实践指南》一书的摘抄笔记,没有整理,比较乱。仅供参考。

2022-07-29 11:02:47 358

原创 XStream 与 JAXB 的使用对比

XStream 与 JAXB 的入门级使用示例及差异对比,包含别名使用的常见问题等。

2022-06-28 17:28:24 837

原创 grafana 时间函数

简单记录一下 grafana 的时间函数说明:- $__time(column) -> UNIX_TIMESTAMP(column) as time_sec- $__timeEpoch(column) -> UNIX_TIMESTAMP(column) as time_sec- $__timeFilter(column) -> column BETWEEN FROM_UNIXTIME(1492750877) AND FROM_UNIXTIME(1492750877)- $__uni

2022-03-17 16:04:53 5705

转载 Docker 容器退出状态码existed

今天在起容器的时候,发现容器出于existed状态,状态码为130,查找后发现,自己启动的时候使用了非后台启动。当手动 ctrl+C 退出命令行的时候,容器也就退出了。开始的时候,不知道状态码含义,纠结了很久,于是把一些状态码的含义搜罗了一下。首先状态码必须在 0-255 之间0 表示正常退出外界中断将程序退出的时候状态码区间在 129-255,(操作系统给程序发送中断信号,比如 kill -9 是 SIGKILL,ctrl+c 是 SIGINT)一般程序自身原因导致的异常退出状态区间在 1-12

2022-01-19 10:51:36 1986

原创 logback容器化部署实践指南

本文主要介绍,logback文件在容器化的部署过程中,如何部署logback.xml配置文件。

2021-12-31 16:53:53 1139

原创 postman触发任务处理,长时间未响应时,自动retry,导致SFTP连接意外中断

背景今天写了一个数据处理任务,用于后端定时触发。并为这个定时任务提供了一个触发接口,用于手动触发。这个任务的处理逻辑,大概是从SFTP上拉取文件,并对文件进行解析。任务写完后,在测试时,数据量较少,并未发现问题。现象今天在正式环境手动触发任务时,由于处理时间较长,大概在30分钟左右。开始时,任务处理正常。处理了一段时间后,任务持续报异常,后台日志持续飘红。跟踪日志发现,SFTP连接被意外中断,导致任务处理失败。即使程序自动重新创建连接,仍然会被意外中断。重试多次,现象可以复现,且均是出现在任务执行

2021-11-20 01:30:27 3245 3

原创 MySQL 查询缓慢Using where; Using join buffer (Block Nested Loop)

今天在写sql时,发现了一个慢sql,在测试环境上没问题,但是在正式环境查询非常缓慢。几张万级数据量的表关联操作,查询时间居然长达两分多钟。查看执行计划,发现同样的语句,在测试环境走了索引,在正式环境上没有走索引,并且在执行计划中提示:Using where; Using join buffer (Block Nested Loop)查看MySQL版本发现,测试环境为5.6版本,正式环境为5.7版本。网上找了一圈,都说是索引没建,但是我的表索引没有问题,都建的好好的。折腾了一上午,终于发现了问题。M

2021-11-15 14:09:30 9927 4

原创 java不解压压缩包的前提下,解析压缩包内容

近期工作过程中,遇到了一个需要解析压缩包的功能开发。对于这个功能,如果频繁的解压压缩包,在性能上多少有些损耗,且解压文件,会产生大量中间文件,不适合后续管理。特别是现在都是基于容器化部署,如果文件操作处理不当,导致删除失败,将很快打满容器磁盘容量,引起容器崩溃重启。综合考虑之后,采用ArchiveInputStream,在不解压文件的前提下,解析压缩包。具体实践如下。整体流程从SFTP获取压缩包读取压缩包文件内容删除本地压缩包文件从SFTP获取压缩包文件添加项目依赖,使用jcraft包来

2021-10-26 16:07:35 901

原创 使用SQLUtils快速解析sql字符串

最近在做项目的时候,遇到需要解析sql文件内容。里面包含了各种格式的注释,空行,换行,嵌套查询等。想要单纯的根据换行或者分号来拆分sql语句不现实。然而又不想花精力去做各种解析,因为这不是工作的主要目的。经过一翻查找之后,发现可以使用druid包里面的SQLUtils工具类,快速解析。代码很简单,只要引入阿里的druid包,其中就包含了SQLUtils工具类。// content为sql文件内容字符串// dbtype为数据库类型。需要注意的是,dbtype枚举为小写,即 mysql,oracle,

2021-10-21 18:24:29 2733

原创 jvm-sandbox-repeater在docker上的部署

repeater在单机上部署,很简单。但是在docker上部署,则有些问题。这里记录下部署过程:制作安装包如果对repeater代码有修改,则使用代码工程里的install-lcoal.sh脚本来生成安装包。如果没修改,本地有代码工程的情况下,也可以使用install-local.sh脚本安装,否则,使用install-repeater.sh来在线安装。安装完成后,用户目录下会生成sandbox和.sandbox-module两个文件夹,将两个文件夹打包成zip包,repeater的安装包就做好了。

2021-03-30 09:34:14 650

原创 jvm-sandbox-repeater部署实践

下载源码源码下载Github地址:https://github.com/alibaba/jvm-sandbox-repeater.git源码下载下来后,可以通过源码目录下 /bin中的install-local.sh来生成repeater文件。建议通过cmd命令执行,双击shell脚本执行,看不到报错信息。执行完成后,会在用户根目录生成两个文件夹/sandbox,/.sandbox-module,sandbox中放的是启动脚本和sandbox的默认jar包,repeater生成的jar包和配置文件

2021-03-29 15:30:05 1960 2

原创 sentinel指令扩展实践

如果需要扩展sentinel的指令集,需要从何入手?怎么样扩展才会显得优雅?下面介绍一个我在工作中的实践经验,供大家参考。以重写降级逻辑为例,我们重新定义降级逻辑控制台的增删查改逻辑就不做过多介绍,我们从扩展的降级规则发送到client端开始说起。server端发送规则首先,我们可以仿照sentinel原生的规则发送方法,写一个扩展的规则发送方法private boolean setExtendRules(String app, String ip, int port, String type,

2021-03-16 15:29:27 387

原创 sentinel心跳机制

sentinel心跳sentinel分为客户端client和监控面板dashboard。client端启动后,需要向dashboard上报心跳。基础概念就不做过多介绍,不清楚的,可以网上参考其他资料。整理主要介绍心跳是如何上报的,如何扩展心跳报文内容?心跳过程心跳入口心跳的入口,在HeartbeatSenderInitFunc.java中,这个类会被初始化方法加载,并执行init方法。过程可参照 sentinel框架基于SPI机制的二次开发 这篇文章。// SPI机制中的加载顺序@InitOrd

2021-03-16 13:30:33 1810

原创 sentinel框架基于SPI机制的二次开发

概述sentinel框架是一个优秀的开源流控应用。基于sentinel框架可以实现流控降级等一系列的系统保护机制。sentinel的使用,可以参照网上的一系列教程。今天讲讲,如何基于SPI机制,扩展sentinel的功能。sentinel虽然提供了丰富的降级限流功能,但是有时候,依旧不能满足实际的开发需要,这个时候就需要扩展sentinel框架的功能。前端页面的扩展,此处就不做过多讲解。通过实现sentinel提供的接口,可以实现规则的不同方式的持久化。此处主要讲解server管控端扩展了新的规则后,

2021-03-16 09:33:53 1434

原创 exchange partition中including indexes命令失效

including indexes索引失效今天在使用exchange partition做分区切换时,出现使用了including indexes后缀,索引依然失效的现象。通过反复实验后,总结出以下结论,共大家参考。1,分区表新建索引,并插入数据,索引生效。》使用including indexes后缀,转移分区,转移后目标表索引生效;分区表索引正常。》继续向分区表中插入数据,索引继续生效。》使用including indexes后缀再次转移,数据携带索引数据恢复到分区表,分区表索引生效,目标普通表

2021-01-04 16:30:18 443

原创 LocalDateTime格式化日期年份错误

今天(2020-12-28)在使用之前写的一个日期格式化的时候,发现了一个问题,年份不是2020,而是2021。查看了代码和调用之后,均没找到问题。最后只能看官方的使用说明。最后在DateTimeFormatter的说明里找到了原因。官网链接从上面的说明可以看出,y(小写)表示的是根据时区的来计算的年份,也就是日期的年份。而Y(大写)表示的是根据周来计算的年份。而今天(2020-12-28,周一)正好跨了2020和2021年,所以今天格式化出来的日期变成了2021 。这个问题在这种特殊情况下才会提现出

2020-12-28 14:54:50 1364 3

原创 高并发系统设计总结

设计方法Scale-out(横向扩展):分而治之是一种常见的高并发系统设计方法,采用分布式部署的方式把流量分流开,让每个服务器都承担一部分并发和流量。缓存:使用缓存来提高系统的性能,就好比用“拓宽河道”的方式抵抗高并发大流量的冲击。异步:在某些场景下,未处理完成之前我们可以让请求先返回,在数据准备好之后再通知请求方,这样可以在单位时间内处理更多的请求。如何实现高性能高并发系统设计的三大目标:高性能、高可用、可扩展提高性能提高系统的处理核心数减少单次任务的响应时间高可用评判标准

2020-11-30 16:48:02 210

原创 Java高级面试-面经

//评测题目: 无1,ThreadLocalSpring如果实现一个自定义的注解,比如@Log@Logpublic boolean xxxx(String xxxx){// TODO}@Pointcut(“excution(* com/test/service.*.*(*, *))”)构造器注入setter方法注入@Resouce@Autowiredxml线程池中的几种重要的参数额定线程数最大线程数饱和策略队列属性一致性hash算法1.8以后,HASHMap数据结构

2020-11-30 16:47:44 3947

原创 Java中的HashSet如何实现判重

要理解HashSet如何判重,首先要知道HashSet的数据结构。HashSet其实是用Hash Map实现的,内部维护了一个Hash Map来存放数值。HashSet的元素放在了key中,value则是生成了一个空对象作为占位。由于HashMap的key是可以接收null值的,所以自然而然,HashSet也是可以接收null值的。 // HashSet内部维护了一个 private transient HashMap<E,Object> map; // map中存储的虚拟

2020-11-05 23:01:14 675

原创 通信协议相关知识点

在java面试中频繁出现的高频通信相关问题,吃透以下几个知识点,以不变应万变。http与httpsHTTP协议是一种应用层协议,HTTP是HyperText Transfer Protocol(超文本传输协议)的英文缩写。HTTP可以通过传输层的TCP协议在客户端和服务器之间传输数据。HTTP协议主要用于Web浏览器和 Web服务器之间的数据交换。我们在使用IE或Firefox浏览网页或下载Web资源时,通过在地址栏中输入,开头的4个字母http就相当于通知浏览 器使用HTTP协议来和host所确定的服

2020-11-02 22:01:56 417 2

原创 源码分析ThreadLocal数据结构及原理

开篇摘要最近被问及threadlocal的数据结构,一时不知如何描述。虽然平时也用过threadlocal来做变量的线程隔离,然而却没有实际去研究过threadlocal的数据结构。实在惭愧,今天好好看了一下threadlocal的源码,然后写一点心得。开篇先说明一点,网上很多说法说threadlocal维护的map里面,key用的是线程id,这种说法是不正确的,下面会说明为什么不正确。希望看到帖子的小伙伴也能一起思考下,我的见解是否正确。源码分析先上一个示例代码:public class th

2020-10-20 10:35:39 795

原创 线上系统引入Spring状态机实践

什么是状态机在某个起始状态下,当满足某个条件时,将状态转换到另一个状态的机制。状态机就是实现这一机制的控制元件。状态机的概念也经常出现在电气元件中。而在软件开发中,状态机指的是一种在某个状态下,由某个事件触发,并将状态转移到目标状态的一个模块。为什么要使用状态机状态机解决的痛点在于,当某个业务流程很长,且很复杂时,对于状态的流转的维护成本将膨胀到不可接受的程度。而将状态的流转从业务代码中剥离出来,让开发过程中更加专注于业务处理,就成为了项目急需解决的问题。状态机的引入,让程序开发不再需要关注复杂繁

2020-10-13 10:16:46 1091 3

原创 mysql对B+树插入逻辑的优化

https://bugs.mysql.com/bug.php?id=67718

2020-08-24 19:46:39 1414 2

原创 详细说说业务主键和非业务主键

挖坑待填,先挖个坑,稍后来填。。数据库设计,为什么要有业务主键和非业务主键,各自的应用场景是什么。

2020-08-21 17:50:53 7008 1

原创 二叉树,红黑树,B+树等数据结构原理演示,排序算法演示

分享一个数据结构插入,删除,查找原理演示网站,很直观,帮助理解。包括常用的二叉树,红黑树,B+树等等。⬇️⬇️⬇️⬇️宝藏网站

2020-08-19 14:25:40 269

原创 关于集合注入-@Autowired,@Resource,xml配置等实现

在我们开发工作中,一般是使用@Autowired,@Resource,xml配置等来实现单个实例等依赖注入。然而,当我们需要注入的是一个集合对象的时候,我们要怎么操作呢?实际的使用场景可能是这样的,我需要把某个接口的全部实现都注入到一个工厂实例中,然后根据条件返回对应的实例。那如何实现呢?话不多说,上代码@Autowired方式 @Autowired private Map<String, TestInterface> injectMap; @Autowired

2020-07-29 17:20:51 938

空空如也

空空如也

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

TA关注的人

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