Kubrnete Kubrnete
3年前
动态规划之马拉车算法
问题描述:给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。如"abc"有三个回文子串‘a','b','c'.示例1:输入:"abc"输出:3解释:三个回文子串:"a","b","c"示例2:输入:"aaa"输出
Wesley13 Wesley13
3年前
Java对比两个list并找出其中不同的值(list里面的具体类单独抽出不同字段)
   今天凯哥交给我一个任务,在报警模版中对比新旧两个数据,找出其中不同的部分,之前是把不同的数据转string做了对比,并没有对list中的对象做判断,修改完之后记录一下。   list做对比,如果list里面的数据是乱序的,需要对list排序。使用Collections.sort()就可以了。但是list里面的对象不继承于comparable接
Wesley13 Wesley13
3年前
Java多线程之Callable、Future和FutureTask
我们学习java基础的时候,知道创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。而自从Java1.5开始,就提供了Callable和Future,通
Stella981 Stella981
3年前
82天突破1000star,项目团队梳理出软件开源必须注意的8个方面
近期,我们在GitHub上开源了微服务任务调度框架SIATASK,82天,收获了1000个star!由于这是SIA团队第一次开源项目,开源的相关工作,团队之前并没有太多的经验,因此我们特别整理了本次开源的各种记录事项,希望给今后开源的项目做参考。关键步骤1.开发2.协议3.安全扫描4.文档5.版本号6.
Stella981 Stella981
3年前
Jenkins 流水线配置历史插件介绍
!(https://oscimg.oschina.net/oscnet/94365391d06fd04ee86ae7fc4903c26fc5a.jpg)流水线是在Jenkins中创建任务的有效的和现代的方式。为了快速、简单地识别流水线变更,我们开发了流水线配置历史插件。这个插件检测流水线的变更,并为用户提供一个选项,以明显地、可追溯地查看流水线配
Stella981 Stella981
3年前
Python 命令行之旅:深入 click 之参数篇
👆“Python猫”,一个值得加星标的公众号花下猫语:处理命令行任务时,click应该是最优雅的实现方法。今天继续分享这个系列的第二篇。另外还值得关注一点,这个库把装饰器用得炉火纯青,学习装饰器的话,这是一个很好的参考对象。!(https://oscimg.oschina.net/oscnet/6e4a013b458fcf705f
Wesley13 Wesley13
3年前
Visual Studio 中的 .sln 和 .suo 文件
解决方案文件VisualStudio采用两种文件类型.sln&.suo来存储特定于解决方案的设置。这些文件总称为解决方案文件,为解决方案资源管理器提供显示管理文件的图形接口所需的信息,从而使您每次继续开发任务时,都能够全身心地投入到项目和最终目标中,不会因开发环境而分散精力。.sln(Solution)
Stella981 Stella981
3年前
Python实现守护进程
概念守护进程(Daemon)也称为精灵进程是一种生存期较长的一种进程。它们独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件。他们常常在系统引导装入时启动,在系统关闭时终止。unix系统有很多守护进程,大多数服务器都是用守护进程实现的,例如inetd守护进程。需要了解的相关概念进程(process)
Stella981 Stella981
3年前
Kubernetes受欢迎的由头
Google开发的这个容器管理系统很快成为开源历史上最成功的案例之一。Kubernetes是一个在过去几年中快速蹿升起来的开源的容器管理系统。它被众多行业中最大的企业用于关键任务,已成为开源方面最成功的案例之一。这是怎么发生的?该如何解释Kubernetes的广泛应用呢?Kubernetes的背景:起源于Google的Borg系
Wesley13 Wesley13
3年前
Java并发编程:Callable、Future和FutureTask
在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。  这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。  如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。  而自从Java1.5开始,就提供了Callable和Future