使用selenium实现12306的自动登录
12306有自己的验证规则,比方说一天发送短信有次数的限制,因此不能无限制的尝试。但是在这个过程中,需要输入验证码,因此这里是不能完全实现自动化的。可以研究一下,只登录一次,然后将cookie等信息保存,以在下次使用,以此实现以此登录,做后续的操作。
记录编程路上的点点滴滴
编程语言
12306有自己的验证规则,比方说一天发送短信有次数的限制,因此不能无限制的尝试。但是在这个过程中,需要输入验证码,因此这里是不能完全实现自动化的。可以研究一下,只登录一次,然后将cookie等信息保存,以在下次使用,以此实现以此登录,做后续的操作。
在使用日志的时候,最近因为项目的缘故,使用的日志框架是log4j2,但是在配置日志的过程中,并没有删除历史日志的配置,因此导致了日志文件特别多,难以查找,因此记录log4j2删除历史日志文件配置信息。
最近在做项目的时候,需要用到spring的定时任务模块做任务的调度。之前看网上的文章说,spring在默认的配置中都是使用的单线程来跑任务,如果某一个任务执行时间比较长,那么将会影响后续的任务执行,因此,大致看了下对应的源码,记录下来。
事情是这样的,在最近开发项目中,由于公司引入了一些内部开发的包,但是包中做了一个切面,切面的目的是拦截所有的service类中的所有的方法,并开启事务管理。这就导致了项目结构中,如果你想控制事务的粒度成了问题,并且在普通查询的时候,是不需要开启事务的。
最近在开发功能的时候,因为涉及到在做一个操作的时候,需要将之前已经有的数据做状态变更,但是由于单批次操作比较复杂,需要操作很多次数据库,因此在接口响应时间上超过了10s的时间,因此,将这部分耗时操作通过异步的方式来处理,这样的话,即可以保证数据的正确性,同时也可以在接口响应上缩短时间。
最近在做项目的时候,发现数据统计请求接口很慢,因此考虑将多个任务并行跑,这里主要采用的ForkJoinPool来实现,这是因为这个线程池可以配合parallelStream()方法来做自定义线程池,做任务线程的隔离。