编程开发 第3页

javassist instrument()方法实战

3

由于最近在做的分布式爬虫中用到了 XXL-GLUE 来动态执行抓取脚本。由于抓取脚本较多,想着针对一些通用操作比如存库封装了父类CrawlerWorker,并且由 CrawlerWorker 实现了GlueHandler接口。 然后由KaguraScript extends CrawlerWorker然后直接在 KaguraScript 中直接使用父类 CrawlerWorker 中的duplic...

阅读(24286)评论(0)赞 (0)

教育邮箱申请免费jetbrains/IntelliJ IDEA全家桶Educational license

8

提及IntelliJ IDEA不可为不家喻户晓,作为全宇宙最好的Java IDE,也使得jetbrains这家公司人尽皆知,但是当家的IntelliJ IDEA Ultimate首年高达$149售价就决定了我输在了起跑线,虽然有免费的community社区版本提供,但阉割版始终不如旗舰版用的舒服。 虽然有各种不同的破解姿势与方法,但都面临着改hosts或者新版不能使用的情况,最稳定也是最合法的办法...

阅读(4781)评论(0)赞 (2)

Kotlin中更优雅的使用多线程

在上一篇:Kotlin 协程使用自定义线程池中我们简单的使用自定义线程池作为异步协程async的上下文并完成了主线程等待线程池执行完毕的小例子。 但是开发过程中难免会有很多需要这种多线程跑的情况,比如从库里批量更新一批数据,或者是给某接口推一批数据。这种时候显然需要多线程,每次都把这些抄一遍似乎有点……“ 曾经沧海难为水 ”固然没错,不过我们既然用Kotlin,那么“ 当惯...

阅读(4856)评论(0)赞 (0)

Kotlin 协程使用自定义线程池

Kotlin中可以很方便的使用自定义线程池作为协程上下文,并且可以在不使用CountDownLatch跟Callable+Future的情况下更简单的实现主线程等待线程池中任务执行完毕的需求。 首先我们将协程的依赖加入pom.xml 然后新建Test.kt,内容如下: 以上代码中首先创建了一个3个线程的定长线程池,然后经由launch创建一个同步协程作为父协程,接着在父协程内部循环创建了5个使用自...

阅读(6370)评论(0)赞 (0)

使用Docker快速搭建Firefox Send

1

1:安装Docker 2:Docker启动Redis 3:Docker启动Firedox Send 4:配置Nginx反向代理 现在你已经可以访问http://127.0.0.1:1443 来使用Firedox Send了。接着将你的域名解析到你的服务器,再通过Nginx反向代理一下,就完事大吉啦!完整的Nginx反向代理配置如下: 附本站自建的Firedox Send服务:https://sen...

阅读(5097)评论(2)赞 (2)

解决LNMP安装后MySQL / MariaDB无法远程连接的问题

2

重点:简而言之就是LNMP为了安全默认是禁止远程连接的,所以需要手动在iptables 里删除DROP 3306端口的规则 1:赋予root远程登录权限 2:iptables 里删除DROP 3306端口的规则 查看已有的iptables规则,以序号显示:iptables -L -n --line-numbers 删除3306端口对应的DROP规则:iptables -D INPUT 6 3:云服...

阅读(2896)评论(0)赞 (0)

Linux命令之巧用sed进行内容替换

大家都知道在Linux中提供了近乎无数的强大命令,当然对文件的编辑来说VI/VIM想必是大家耳熟能详的最常用的命令了,但是很多情况下我们用他们都只是为了替换一些简单的内容,比如去掉某行前面的#啦,或者把某参数从no改为yes之类的事情,然后还得ESC -> : -> wq保存。 假设我在腾讯云开了个Ubuntu的虚拟主机,他只会给个名为ubuntu的账户。我得通过这个用户sudo pa...

阅读(3851)评论(0)赞 (0)

SpringBoot中获取某个接口的所有实现类

1

如题,在开发过程中经常会有这个需求,例如全国各个城市的社保授权登录爬虫,每次加一个城市都手动去添加if判断也太LOW。那该如何实现呢? 首先我们需要定义一个接口GodFather,然后增加两个接口的实现类implA,implB,并且给实现类加上@Component注解。当然,如果需要多实例的话可以一并加上@Scope("prototype"),然后利用applicationContext.getB...

阅读(6464)评论(0)赞 (0)

Kotlin多协程/多线程下载文件

1

Kotlin版本的多线程下载与Java版本的不同点主要在线程控制方面,Java是通过线程池来控制,而Kotlin版本则利用异步协程创建时传入”Dispatchers.IO“来使用多线程,并利用父协程会等待子协程执行完毕这点来简化协程/线程控制。 建议新建Spring boot项目并选择Kotlin,并将kotlin协程依赖加入,pom.xml主要内容如下: Kotlin多协...

阅读(5076)评论(3)赞 (1)