首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Effective-java-读书笔记之对于所有对象都通用的方法

(代表活动实体的类如Thread.)不关心类是否提供了逻辑相等的测试功能.超类已经覆盖了equals, 从超类继承过来的行为对于子类也是合适的....(其他两个特性通常会自动满足.)注意覆写方法加上@Override, equals方法的参数类型是Object, 不要弄错.第11条 覆盖equals时总要覆盖hashCode在每个覆盖了equals方法的类中..., 覆写以后就不用声明了.如果一个类只是为了继承而设计的, 那么它不应该实现Cloneable....(浮点值没有遵守compareTo的通用约定.)从Java 7开始, 所有的基本类型的装箱类型都提供了静态的compare方法, 所以不再建议使用.如果一个类有多个关键域, 必须从最关键的域开始,...逐步进行到所有的重要域, 如果某个关键域产生了非零的结果, 则整个比较结束, 并返回该结果, 否则则进一步比较下一个域.Java 8提供了一些comparator构造的方法, 比如comparingInt

46800

现代 CI 系统太复杂,方向跑偏了

我甚至认为 GitHub Actions 是一个 CI 产品,而不是一个平台。下面我来解释一下为什么。 在我看来,在一个理想的 CI 平台上,我能够要求执行一组特别的任务。...GitLab Pipelines 支持父子管道(不同管道之间的依赖关系)、多项目管道(不同项目 / 代码库之间的依赖关系)和动态子管道(在定义新管道的管道作业中生成 YAML 文件)等特性。...Taskcluster 所提供的特性远远超过了 GitHub、GitLab 等产品。 Taskcluster 提供了 IAM(身份识别与访问管理)风格的作用域特性来实现访问控制。...它们甚至是可扩展的,你可以开发自己的插件来改变构建系统的核心功能 (当然是在不同的程度上)。Taskcluster 和 GitLab Pipelines 支持任务的 DAG 调度。...尽管这对一些公司来说很重要,但我的直觉是,他们只代表了整个潜在市场的一小部分,对于 GitHub 或 GitLab 这样的现有 CI 产品来说,这块蛋糕太小了,目前还不足以引起他们的注意。

94310
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    10分钟看懂Docker和K8S

    也有的软件,是混不下去,创造者又不想放弃,所以选择开源。自己养不活,就吃“百家饭”嘛。...虚拟机,就是在你的操作系统里面,装一个软件,然后通过这个软件,再模拟一台甚至多台“子电脑”出来。 ? 虚拟机,类似于“子电脑” 在“子电脑”里,你可以和正常电脑一样运行程序,例如开QQ。...也就是说,每次变出房子,房子是一样的,但生活用品之类的,都是不管的。谁住谁负责添置。 每一个镜像可以变出一种房子。那么,我可以有多个镜像呀! 也就是说,我盖了一个欧式别墅,生成了镜像。...另一个哥们可能盖了一个中国四合院,也生成了镜像。还有哥们,盖了一个非洲茅草屋,也生成了镜像。。。 这么一来,我们可以交换镜像,你用我的,我用你的,岂不是很爽? ? 于是乎,就变成了一个大的公共仓库。...接下来的部分,是写给核心网工程师甚至所有通信工程师看的。 从几十年前的1G,到现在的4G,再到将来的5G,移动通信发生了翻天覆地的变化,核心网亦是如此。

    1K30

    10分钟看懂Docker和K8S

    也有的软件,是混不下去,创造者又不想放弃,所以选择开源。自己养不活,就吃“百家饭”嘛。...虚拟机,就是在你的操作系统里面,装一个软件,然后通过这个软件,再模拟一台甚至多台“子电脑”出来。 ? 虚拟机,类似于“子电脑” 在“子电脑”里,你可以和正常电脑一样运行程序,例如开QQ。...也就是说,每次变出房子,房子是一样的,但生活用品之类的,都是不管的。谁住谁负责添置。 每一个镜像可以变出一种房子。那么,我可以有多个镜像呀! 也就是说,我盖了一个欧式别墅,生成了镜像。...另一个哥们可能盖了一个中国四合院,也生成了镜像。还有哥们,盖了一个非洲茅草屋,也生成了镜像。。。 这么一来,我们可以交换镜像,你用我的,我用你的,岂不是很爽? ? 于是乎,就变成了一个大的公共仓库。...接下来的部分,是写给核心网工程师甚至所有通信工程师看的。 从几十年前的1G,到现在的4G,再到将来的5G,移动通信发生了翻天覆地的变化,核心网亦是如此。

    1.8K21

    Windows AD域详解

    域控制器包含了整个域中的账号、密码以及域成员的资料信息。当计算机接入网络时,要鉴别是否为域中成员,账户密码是否在域中存在,这样在一定程度上保护了网络资源。...活动目录集中管理网络资源,类似于一本书的目录,涵盖了域中组织架构和信息,便于管理各种资源。2)便捷的访问。用户登录网络后可以访问拥有权限的所有资源,且不需要知道资源位置便可快速、方便的查询。...名字空间是类似于windows文件名的树状层次结构,如一个域树中父域名称为a,他的子域即为aa . a,以此类推之后的子域为xxx.aa.a。5.域林域林是指由没有形成连续名字空间的域树组成。...父子信任:现有的域树中增加子域时,子域和父域建立信任关系,并继承父域信任关系。域间信任:现有的域林中建立第二个域树时,将自动创建与第一个域树的信任关系。其他信任是指非自动建立信任关系,需要手动创建。...我正在参与2024腾讯技术创作特训营第五期有奖征文,快来和我瓜分大奖!

    1K10

    Docker 与 K8S 的区别与介绍

    也有的软件,是混不下去,创造者又不想放弃,所以选择开源。自己养不活,就吃“百家饭”嘛。...虚拟机,就是在你的操作系统里面,装一个软件,然后通过这个软件,再模拟一台甚至多台“子电脑”出来。 虚拟机,类似于“子电脑” 在“子电脑”里,你可以和正常电脑一样运行程序,例如开 QQ。...也就是说,每次变出房子,房子是一样的,但生活用品之类的,都是不管的。谁住谁负责添置。 每一个镜像可以变出一种房子。那么,我可以有多个镜像呀! 也就是说,我盖了一个欧式别墅,生成了镜像。...另一个哥们可能盖了一个中国四合院,也生成了镜像。还有哥们,盖了一个非洲茅草屋,也生成了镜像。。。 这么一来,我们可以交换镜像,你用我的,我用你的,岂不是很爽? 于是乎,就变成了一个大的公共仓库。...接下来的部分,是写给核心网工程师甚至所有通信工程师看的。 从几十年前的 1G,到现在的 4G,再到将来的 5G,移动通信发生了翻天覆地的变化,核心网亦是如此。

    1.9K41

    微进程:微服务中后台作业的一种新架构设计模式

    在 CreditorWatch,我们目前实现了几个微服务,每个微服务负责一个数据(域)。...请注意,我甚至没有提到有两个不同的代码库负责计算信用评分,一个代码库用于后台进程,另一个代码库用于微服务,所以还得考虑那些不能出现代码复制的禁区。...为了避免混淆监控,并避免微进程可能对实时流量产生的影响(它会消耗实时流量所需的资源,例如内存、每个容器的最大进程等),我们在另一个子域下构建了一个克隆基础架构(相同的 docker 容器映像)。...先前的进程涵盖了我们大进程中的所有小部分,但是如何将它们粘合在一起呢?...对话极狐(GitLab)公司CEO陈冉:从GitLab落地中国透视国产开源大势 ---- InfoQ 写作平台欢迎所有热爱技术、热爱创作、热爱分享的内容创作者入驻!

    85120

    如何一步一步用DDD设计一个电商网站(一)—— 先理解核心概念

    限界上下文所包含的领域模型概念应该恰如其分,不多也不少。     ...领域:从大了看,领域代表整个公司的运作一切。从小了看,是每个组织运作中的一切。所以领域的概念必然与公司的组织架构所承担的职责有一定的关系。     子域:一个领域内可以包含1个或者多个子域。...通用子域:某个支撑子域的运用范围是整个系统,那么这个子域便是通用子域。     上下文映射图:由多个界限上下文和子域组成的表示当前单个领域或者多个领域之间的集成关系图。...防腐层通过已有的接口与其他系统交互,而其他系统只需要做很小的修改,甚至无需修改。在防腐层内部,它在你自己的模型和他方模型之间进行翻译转换。...【图2,点击图片查看大图】     我思考了一下,整个销售过程中,订单只是一个结果,一旦到达这个环节,其实销售的工作已经结束了,那么订单的相关业务其实不应该属于销售的子域内,所以把它拿出去,变为图3这个样子

    1.5K30

    8个你可能不知道的Docker知识

    在过去的一年内,Docker 技术已经逐渐走向成熟,并且推动了大型初创公司例如 Twitter 和 Airbnb 的发展,甚至在银行、连锁超市、甚至 NASA 的数据中心都赢得了一席之地。...当我几年前第一次直到 Docker 的时候,我还对 Docker 的未来持怀疑的态度,我认为他们是把以前的 Linux 容器的概念拿出来包装了一番推向市场。...如果你和我一样,没有时间去把他们全部都测试一遍,甚至没有时间去亲自测试 Docker,那么你可以看一下我的这篇文章:我将会用我们在 Docker 中总结的经验来告诉你什么是 Docker、为什么Docker...虽然客户已经对这种事情习以为常,甚至认为这是引入新成员、让成员适应环境、让自己的员工适应我们的软件所必须的成本,但是相比较起来,我们宁愿把更多的时间花在为客户构建可以增进业务的功能上面。...再例如 Gitlab,手工搭建 Gitlab 非常困难,译者不建议普通用户去手工搭建,而如果使用 Docker Gitlab,这个镜像则会五秒内便搭建完成。

    97950

    Android6.0源码分析之View(一)

    view时调用的一些标准方法,不需要覆写所有的,事实上,可以覆写onDraw,如下表所示 Category Methods Description Creation Constructors(构造器方法...) 当view在代码中被创建时会调用该方法,填充xml文件时也会调用该方法 onFinishInflate() 当view以及他所有的子view都被填充时会调用该方法 Layout onMeasure...xml中使用自定义的view,必须覆写该构造方法。...example,如下图,在xml中添加了我自定义的button,但是因为在自定义button时我的构造方法中传入的为null,则导致button的xml中定义的属性没有被解析) ?...Chapter Twelve,Drawing Drawing用来遍历整个view树并且渲染无效区域的view,因为drawing是沿着view进行遍历的,这也就意味着父view优先于子view的绘制,同一级的

    94280

    前端部署演化史

    node 版本,前端嚷嚷着测试环境没问题 这个时候运维需要费很多心力放在部署上,甚至测试环境的部署上,前端也要操心放在运维如何部署上。...此时缓存由前端写脚本控制 跨域,跨域仍由运维在 nginx 中配置 CI/CD 与 gitlab 此时前端成就感爆棚,运维呢?...,它可以用来 lint,test,package 安全检查,甚至多特性多环境部署,我将会在我以后的文章将这部分事情 我的一个服务器渲染项目 shfshanyue/shici 以前在我的服务器中就是以 docker...需要一个私有的镜像仓库,这是运维的事情,harbor 很快就被运维搭建好了,但是对于前端部署来说,复杂性又提高了 先来看看以前的流程: 前端配置 dockerfile 与 docker-compose...,所以需要一个私有的镜像仓库,一个能够访问 k8s 集群的持续集成服务器 流程改进之后结合 k8s 的流程如下 前端配置 dockerfile,构建镜像,推到镜像仓库 运维为前端应用配置 k8s 的资源配置文件

    1.4K10

    Web Hacking 101 中文版 九、应用逻辑漏洞(三)

    重要结论 在渗透的时候,考虑公司的整个设施,除非他们告诉你这超出范围了。虽然这个报告没有得到一分钱的奖金,我知道 Patrik 使用了相似的技巧来寻找一些重要的漏洞来获得奖金。...带有丰富的奖金,这对于多数黑客来说意思是所有 Pronhub 的子域都是一样的。...根据他的 WriteUp,Andy 稍微切换了一些另见,并使用 Nmap 工具来深入挖掘stage.pornhub.com子域。...当我问他原因时,它解释道,以他的经验,stage和开发服务器比起生产服务器更可能拥有错误配置的安全权限。所以,一开始,它使用了nslookup命令,得到了子域的 IP。...总要结论 子域和更宽泛的网络配置代表了用于渗透的极大潜能。如果你注意到程序在域中包含*.SITE.com,尝试找到可能存在漏洞的子域,而不要去追求主站上的低悬的果实,因为人人都能搜索到它们。

    45020

    8 个你可能不知道的 Docker 知识

    在过去的一年内,Docker 技术已经逐渐走向成熟,并且推动了大型初创公司例如 Twitter 和 Airbnb 的发展,甚至在银行、连锁超市、甚至 NASA 的数据中心都赢得了一席之地。...当我几年前第一次直到 Docker 的时候,我还对 Docker 的未来持怀疑的态度,我认为他们是把以前的 Linux 容器的概念拿出来包装了一番推向市场。...如果你和我一样,没有时间去把他们全部都测试一遍,甚至没有时间去亲自测试 Docker,那么你可以看一下我的这篇文章:我将会用我们在 Docker 中总结的经验来告诉你什么是 Docker、为什么 Docker...虽然客户已经对这种事情习以为常,甚至认为这是引入新成员、让成员适应环境、让自己的员工适应我们的软件所必须的成本,但是相比较起来,我们宁愿把更多的时间花在为客户构建可以增进业务的功能上面。...再例如 Gitlab,手工搭建 Gitlab 非常困难,译者不建议普通用户去手工搭建,而如果使用 Docker Gitlab,这个镜像则会五秒内便搭建完成。

    1.1K30

    聊聊 GitLab 的CI CD 功能发展历程

    再随后,在 2016 年3月末,官方推出了支持自动扩容的 GitLab Runner v1.1 版本,一年之后,在 2017 年 3月,带来了支持子分组和具备更直观的项目部署面板的 GitLab v9.0...基于 GitLab 管理的项目甚至可以直接部署至 ECS 中。 未来?...但是对于小到几个人,大到几万研发的公司来说,GitLab 都是一个不错的选择。甚至有一些我们都听过的,基于 GitLab 修改而成的开放代码托管平台,也证明了这款软件的底子足够优秀。...显然是有的,下一篇内容,我将展开聊聊,如何“科学的”使用老版本的 GitLab 以及它的优秀竞争对手 Gitea + Drone 。...最后 如果你对 GitLab 的使用感兴趣,可以关注我之前写过的一些文章,里面包含了如何升级、维护,以及各种使用小细节。

    1.2K30

    Cell重磅综述:关于人类转录因子,你想知道的都在这

    一文教会你查找基因的启动子、UTR、TSS等区域以及预测转录因子结合位点 接下来通常通过实验确定的结合位点和与motif匹配的序列之间仅存在部分重叠,甚至实验确定的结合位点是相对较差的预测因子。...最新的人类转录因子库发表于2009年,总共涵盖了535个人的转录因子,并描述了所推测的DBD。近年来,该文库迅速扩展。本综述对人类转录因子集进行了一定程度的修订。...早期时整个多样性的TF家族的复制与脊椎动物中整个基因组发生两轮复制的假说一致。该事件与细胞类型的多元化发展是大致符合的,并且复制的TF可能有助于调控新细胞类型。...一些多基因疾病的全基因组关联研究(GWAS)信号也富集了基因座编码的转录因子(图4C)。这些疾病中的很多都具有强烈的免疫依赖性,表明许多免疫反应相关的转录因子所具有的突出作用。...例如,在驱动MYC 表达的增强子中弱化TCF7L2(TCF-4)结合位点可降低结肠中肿瘤发生的风险。 转录因子作为一类独特的基因,它们的结合位点会受所调节的DNA的变异或突变影响。

    12.3K75

    聊聊 GitLab 的CI CD 功能发展历程

    再随后,在 2016 年3月末,官方推出了支持自动扩容的 GitLab Runner v1.1 版本,一年之后,在 2017 年 3月,带来了支持子分组和具备更直观的项目部署面板的 GitLab v9.0...基于 GitLab 管理的项目甚至可以直接部署至 ECS 中。 未来?...但是对于小到几个人,大到几万研发的公司来说,GitLab 都是一个不错的选择。甚至有一些我们都听过的,基于 GitLab 修改而成的开放代码托管平台,也证明了这款软件的底子足够优秀。...显然是有的,下一篇内容,我将展开聊聊,如何“科学的”使用老版本的 GitLab 以及它的优秀竞争对手 Gitea + Drone 。...最后 如果你对 GitLab 的使用感兴趣,可以关注我之前写过的一些文章,里面包含了如何升级、维护,以及各种使用小细节。

    86220

    攻防|记一次攻防案例总结

    ,某目标子域的Apisix,正好就存在Dashboard的未授权访问直接去Github扒了一个脚本,发现能检测出漏洞,但是RCE利用不成功,把reponse打印出来后,果然...被阿里云的WAF给拦了随后把创建恶意路由的请求包中...config,并提取出host键,确定可写入恶意路由的子域范围import jsondef read_config(): with open("data.json", 'r') as json_file...']),'r')local output=file:read('*all')file:close()ngx.say(string.reverse(output))由于该apisix集群部署管理了28个子域的服务...成功拿到权限案例四、某国企-从一个任意文件读取到SSO沦陷某国企子域的资产,发现使用了kkfileview开源项目翻了一下历史issue,存在全回显的ssrf,在目标上验证成功同时很幸运,这个点支持file...Gitlab项目权限误配导致公有云接管防守单位中某单位的Gitlab开放到了公网,但是爆破了一顿,并不存在弱口令和其他Nday漏洞但是经过对Gitlab的测试,找到了Gitlab中仓库权限的配置问题/api

    70520

    DevOps平台

    ,并将需要的东西进行存库,没有想到码代码的时候,一堆的坑,比如: 1.连续点击立即构建,jenkins是不按顺序返回的,(分布式锁解决) 2.跨域调用,csrf,这个还好,不过容易把jenkins搞的无法登录...GitLab-CICD Gitlab中自带了cicd的工具,需要配置一下runner,然后配置一下.gitlab-ci.yml写一下程序的cicd过程即可,构建镜像的时候我们使用的是kaniko,整个gitlab...阿里云的是简单的集成了一下而已,对于我们来说,底层使用了sonar来接入,所有的代码扫描结果都接入了sonar。 ?...它会产生两种不同形式的测试结果报告。我这里就简单的过一下,使用"mvn test"命令来代替。 ?...当然,在容器最初推行的时候,对于用户来说,一下子需要接受docker、kubernetes、helm等概念是十分困难的,不能一个一个帮他们写deployment这些yaml文件,只能用helm创建一个通用的

    1.3K00

    基础设施即代码在 CICD 中必须具备的功能

    “ Pulumi 是你喜欢的语言中的 IaC - 对于熟悉 IaC 的人来说,可能有使用其他使用特定领域语言甚至标记语言(如 YAML 或 JSON )的工具的经验,通常这对于入门来说是可以接受的,”...Duffy 说:“如果你已经在 GitHub Actions 上进行 CI/CD 或在 GitLab Pipelines 上进行 CI/CD ,你只需利用现有的流程进行改变,将其从应用程序交付变为基础设施交付...Starburst 的基础设施需求非常复杂而广泛,覆盖了 20 个不同的云区域,并通过不同的云提供商进行部署。...Kao 展示了如何以简单的英语输入请求,例如“我想要一个 S3 存储桶、一个 API 网关和一个 Lambda 函数。我想构建一个动态的无服务器网站。...Pulumi 的首席技术官 Luke Hoban 在会议小组讨论“人工智能与云开发的未来”中表示:“这些系统与我们过去所习惯的软件构建方式不同,我们构建和测试的方法也非常不同。”

    9410
    领券