草庐IT

python的列表的remove()方法、判断if xxx in xx条件比较耗时问题

最近在coding的时候,写的代码中只有一层循环,却很耗时,不明觉厉。不知道是哪里出了问题,于是我就在每一行代码中都打印一下耗时,最终发现了这个罪魁祸首。这里我只说明两个我遇到耗时的场景,当然还有很多其他的方法可能也是一样的,这里只是提供问题的思路!说明:这里比较耗时,是我在外层使用了循环,在循环内部调用了列表的remove()方法、使用了ifxxxinxx判断等类似操作!1python列表的remove方法比较耗时原因1、例如,下面的伪代码首先是循环然后通过remove删除字典对应value列表中的一个元素就是在remove删除列表元素的过程,其实是相当对这个value列表进行循环,当循环到

python的列表的remove()方法、判断if xxx in xx条件比较耗时问题

最近在coding的时候,写的代码中只有一层循环,却很耗时,不明觉厉。不知道是哪里出了问题,于是我就在每一行代码中都打印一下耗时,最终发现了这个罪魁祸首。这里我只说明两个我遇到耗时的场景,当然还有很多其他的方法可能也是一样的,这里只是提供问题的思路!说明:这里比较耗时,是我在外层使用了循环,在循环内部调用了列表的remove()方法、使用了ifxxxinxx判断等类似操作!1python列表的remove方法比较耗时原因1、例如,下面的伪代码首先是循环然后通过remove删除字典对应value列表中的一个元素就是在remove删除列表元素的过程,其实是相当对这个value列表进行循环,当循环到

SearchContextMissingException: No search context found for id [xx] 问题排查

背景需要将存放在ES系统中的IMEI信息,将全量的数据分批拉取结果集到另外的系统,处理流程大抵就是先调用ES的查询方法,Scroll查询每批次10000条数据,得到数据集合后,在转换成自己系统需要的信息,最后插入到数据库,然后再通过scrollId进行下一次的查询。但是有的时候会报下面的问题,我观察后发现,都是在处理一些大数据量的时候查询条件时,因为要入库,可能耗时比较多一些,而期初我们的setScroll中的过期时间比较短导致的。DEBUG!!default!![2022-08-2820:11:06,432][DEBUG][action.search.type][][27419]Failed

SearchContextMissingException: No search context found for id [xx] 问题排查

背景需要将存放在ES系统中的IMEI信息,将全量的数据分批拉取结果集到另外的系统,处理流程大抵就是先调用ES的查询方法,Scroll查询每批次10000条数据,得到数据集合后,在转换成自己系统需要的信息,最后插入到数据库,然后再通过scrollId进行下一次的查询。但是有的时候会报下面的问题,我观察后发现,都是在处理一些大数据量的时候查询条件时,因为要入库,可能耗时比较多一些,而期初我们的setScroll中的过期时间比较短导致的。DEBUG!!default!![2022-08-2820:11:06,432][DEBUG][action.search.type][][27419]Failed

解决使用git时候出现的“error pathspec ‘“xx文件“did not match any file(s) known to git”错误

这次分享一个关于我在使用git时候出现的一个错误。错误信息:errorpathspec"xx文件"didnotmatchanyfile(s)knowntogit这个错误是我在提交某个文件时候出现的,错误提示我提交的文件与已知的任何文件都不匹配,意思就是git在我目录下或者暂存区下找不到我要提交的文件~如果大家仔细看,就会发现我提交的文件采用了“”双引号,而不是单引号‘’,所以就会出现git提示我文件不匹配,一般出现提交的文件与自己的提交到暂存区的文件或者根目录下的文件不匹配就会出现这种错误提示,而我这里是因为错误的使用了“”造成文件名不对,从而使其不匹配。所以这里声明一下,提交特定文件时候不能

解决使用git时候出现的“error pathspec ‘“xx文件“did not match any file(s) known to git”错误

这次分享一个关于我在使用git时候出现的一个错误。错误信息:errorpathspec"xx文件"didnotmatchanyfile(s)knowntogit这个错误是我在提交某个文件时候出现的,错误提示我提交的文件与已知的任何文件都不匹配,意思就是git在我目录下或者暂存区下找不到我要提交的文件~如果大家仔细看,就会发现我提交的文件采用了“”双引号,而不是单引号‘’,所以就会出现git提示我文件不匹配,一般出现提交的文件与自己的提交到暂存区的文件或者根目录下的文件不匹配就会出现这种错误提示,而我这里是因为错误的使用了“”造成文件名不对,从而使其不匹配。所以这里声明一下,提交特定文件时候不能

SpringBoot项目启动失败报错Annotation-specified bean name ‘xx‘ for bean class [xxx] conflicts with existing

问题描述SpringBoot项目,更改项目内容和文件结构之后启动报错Annotation-specifiedbeanname‘xx’forbeanclass[xxx]conflictswithexisting,non-compatiblebeandefinitionofsamenameandclass[xxx]问题分析正在做的工作是将之前旧的项目进行功能拆分作为微服务独立出来,其中一个部分在更新目录结构的过程中出现了工程中不同文件夹中复制了多分旧的工程的同一个文件的类,导致这一个工程当中有重名的两个甚至多个bean,在启动时提示以上错误关键字:Bean重复问题解决既然知道了问题原因,那么解决起

SpringBoot项目启动失败报错Annotation-specified bean name ‘xx‘ for bean class [xxx] conflicts with existing

问题描述SpringBoot项目,更改项目内容和文件结构之后启动报错Annotation-specifiedbeanname‘xx’forbeanclass[xxx]conflictswithexisting,non-compatiblebeandefinitionofsamenameandclass[xxx]问题分析正在做的工作是将之前旧的项目进行功能拆分作为微服务独立出来,其中一个部分在更新目录结构的过程中出现了工程中不同文件夹中复制了多分旧的工程的同一个文件的类,导致这一个工程当中有重名的两个甚至多个bean,在启动时提示以上错误关键字:Bean重复问题解决既然知道了问题原因,那么解决起

关于Non-static method xx cannot be referenced from a static context的分析与解决方案

关于staticmethod的解释想要解决上面的报错,我们首先需要了解什么叫做staticmethod(静态方法)。静态方法为类所有,一般情况下我们通过类来使用(而对于不加static的实例方法我们则只能通过对象的来调用)。以下我们通过一些代码的例子来对此进行说明:在同一类里面调用静态方法与实例方法的区别:点击查看代码publicclassMain{ publicstaticviodmain(String[]args){ //Test01();//直接调用Test01会报Non-staticmethodxxcannotbereferencedfromastaticcontext. //用如下方

关于Non-static method xx cannot be referenced from a static context的分析与解决方案

关于staticmethod的解释想要解决上面的报错,我们首先需要了解什么叫做staticmethod(静态方法)。静态方法为类所有,一般情况下我们通过类来使用(而对于不加static的实例方法我们则只能通过对象的来调用)。以下我们通过一些代码的例子来对此进行说明:在同一类里面调用静态方法与实例方法的区别:点击查看代码publicclassMain{ publicstaticviodmain(String[]args){ //Test01();//直接调用Test01会报Non-staticmethodxxcannotbereferencedfromastaticcontext. //用如下方