Amber项目:Java的未沐鸣测速登录地址来暴露

关注Var/Val,枚举和Lambda

Amber项目是去年1月首次引入的,当时Java语言架构师Brian Goetz提议创建一个项目,以探索和孵化更小的、面向生产力的Java语言特性。沐鸣测速登录地址

作为这个项目一部分的特性的主要前提是:它们已经被作为候选JEPs接受,也被称为JDK增强提案。在这个过程中,Oracle收集增强Java开发工具包和OpenJDK的建议。经过批准的建议将继续成为Java中的实际特性

Goetz指出,这个项目不是用来思考或讨论改进Java的新想法的地方,“互联网的其余部分仍然可用”。

3月16日,Goetz将Amber项目引入了Java社区,同时也引入了之前采纳的三个Java增强建议:

扩展类型推断到局部变量的初始化声明

-增强枚举(JEP 301) -特性和能力,将使枚举更好

  • Lambda剩余物(JEP 302) -提高Lambda的可用性沐鸣网址

为什么这三个项目会得到如此特别的关注?让我们找出答案。

满足项目的新功能

局部变量类型推断

大多数开发人员使用Java的一个主要问题是它太冗长。当阅读并试图理解其他开发人员在编写函数时的想法时,这可能是一件好事,但在实际编写这些函数时,这可能会变得乏味。

如果您想了解这个特性的更多信息,以及社区对它的看法,请参阅我们对新的Java本地变量类型推断语言特性的动手概览。

增强的枚举

这个特性的目标是增强Java语言中enum结构的表现力。正如提案中所述,Java枚举是一种功能强大且常用的构造。它们允许对常量进行分组,其中每个常量都是一个单例对象。当变量必须等于为其预定义的值之一时,它允许变量是一组预定义的常量。例如,每周的天数。

增强将允许枚举中的类型变量(泛型支持),这可以扩展枚举。它还将为枚举常量提供更精确的类型检查,以验证和强制枚举的约束。

支持泛型的枚举将允许我们指示具有关联类型的键集,并且我们将能够向单个项添加方法。这两个特性将协同工作,使enum常量能够携带特定于常量的类型信息以及特定于常量的状态和行为。增强枚举将允许我们用泛型类型定义枚举。可以显示此特性的一些值的一个例子是在表示数学常量时:

在这个示例中,我们可以添加对其他方法的支持,同时仍然享受每个方法的类型安全性。当underlyingObject不必是Object类型时,沐鸣开户向enum的构造函数传递不同类型的能力展示了该特性可以为表带来的优雅

增强枚举的另一个有用应用是减少在不同数据类型之间转换的样板代码。例如,jdbc类型转换为Java类型。它可以帮助增强代码自文档化的能力,并避免代码闻起来像“instanceOf”检查。

λ的剩饭剩菜

项目Lambda是在2014年随Java 8一起发布的,但总有改进的空间。这里的想法是通过增强方法上下文中函数表达式的消歧性来提高lambda表达式和方法引用的可用性。

该特性还关注于完成下划线字符的恢复,以指示未使用的lambda参数,并允许lambda参数在封闭范围中隐藏变量。

使用下划线作为未命名lambda参数符号的概念在其他语言中已经存在,我们的目标是使它也成为Java的一部分。使用非常简单,看起来是这样的:

沐鸣下载Apache Spark中的容错。

Apache Spark中的容错介绍

在开始学习Spark中的容错功能之前,沐鸣下载让我们先为初学者修改一下Apache Spark的概念。

现在让我们了解什么是故障以及Spark如何处理容错。

故障是指故障,因此容错能力就是要

操作并在故障发生后恢复损失。如果我们想

系统要有容错能力,就应该是冗余的,因为我们需要

冗余组件来获取丢失的数据。错误的数据是

由冗余数据恢复。

火花RDD容错

首先让我们看看如何在Spark中创建RDDs。

Spark在HDFS或S3等容错文件系统中对数据进行操作。

因此,所有由容错数据生成的RDDs都是容错的。沐鸣代理:

但是对于流/实时数据(数据通过

网络)。因此,对火花容错的关键需求就是这种类型

的数据。Spark的基本容错语义是:

从Apache Spark RDD开始

是一个不可变的数据集,每个星火RDD记得沿袭

对容错输入数据集使用的确定性操作

创建它。

如果由于工作节点故障导致RDD的任何分区丢失,

然后,该分区可以重新计算从原来的容错

使用沿袭操作的数据集。

假设所有的RDD转换都是确定的,那么最终转换的RDD中的数据总是相同的,而不考虑Spark集群中的故障。

为了实现对所有生成的RDDs的容错,实现了

方法中的工作节点中的多个Spark执行器之间复制数据

集群。这导致需要恢复两种类型的数据

失败时:1)数据接收并复制。2)数据已接收,但已缓冲以便复制。

接收和复制的数据:在这种情况下,将在其他节点上复制数据,因此当出现故障时可以检索数据。

已接收但已缓冲以便复制的数据:数据未被复制,因此恢复错误的唯一方法是再次从源检索它。

工作节点和驱动节点也会发生故障。

工作节点故障:在Spark集群上运行应用程序代码的节点

是火花工作人员节点。这些是从属节点。任何一个工人

运行executor的节点可能失败,从而导致内存丢失

任何接收器都运行在失败的节点上,那么它们的缓冲区数据将会

是输了。沐鸣平台注册登录

驱动节点失败:如果有一个失败

运行Spark流应用程序的驱动程序节点

SparkContent丢失,所有执行器及其内存中的数据丢失

丢失。

沐鸣测速登录地址这个12因素应用程序是为傻瓜开发的云本地应用

Yegor Bugayenko前几天写了一篇有趣的博客,标题为“SOLID是面向傻瓜的OOP”。好吧,如果SOLID是面向对象编程的假人,我想知道他是否同意我的断言,即12因素应用的咒语是假人等同于云本地开发?沐鸣测速登录地址

我喜欢Bugayenko的文章,尽管他似乎在评论中受到了不少抨击。但我完全同意他的前提。对我来说,告诉软件开发人员他们的应用程序应该遵循坚实的原则,就像告诉马拉松运动员最好的前进策略是循环地移动一条腿到另一条腿。当然,这句话是对的,但是从本质上来说不言自明的东西真的可以算作建议吗?

再次回顾SOLID原则

很快,坚实的原则如下:

·职责单一

·面向对象(O)

·使用多态性,或Liskov替换原则(L)

·利用接口(I)

·使用依赖倒置原则(D)对代码进行抽象

所以我将看到Bugayenko固体的五个原则的批评,让他一个类似的批评世界12-factor原生云应用。(顺便说一下,如果你不熟悉所有的最新的口头禅,肯•欧文斯的定义提供了一个很好的进行本文将敏捷,DevOps, 12-factor应用和原生云计算在一起)

重新访问12因应用程序

对于外行来说,以下是云本地计算这款12要素应用的12条原则:

  1. 代码库:一个代码库在修订控制中被跟踪,许多代码库被部署
  2. 依赖关系:显式地声明和隔离依赖关系

3.配置:在环境中存储配置

  1. 支持服务:将支持服务视为附加资源
  2. 构建、发布、运行:严格分离构建和运行阶段
  3. 进程:作为一个或多个无状态进程执行应用程序
  4. 端口绑定:通过端口绑定导出服务
  5. 并发性:通过流程模型向外扩展
  6. 一次性:快速启动和优雅关机,最大限度地增强健壮性
  7. 开发/产品等值:使开发、阶段和生产尽可能相似
  8. 日志:将日志视为事件流
  9. 管理进程:作为一次性进程运行管理/管理任务

不证自明的真理

严肃地说,我们真的需要告诉软件开发人员保持生产、开发和登台环境尽可能的相似吗?坦白地说,我不记得有哪个项目团队会说‘嘿,让我们让DEV和PROD完全不同吧’。比如,让我们在开发中使用MongoDB,在生产中使用DB2。”
打破了牢不可破的

老实说,有些原则我甚至不知道如何去违背。应用因素四表示支持服务应该被视为附加资源。我甚至不知道如何编写一个不将支持服务作为附加资源的云本地应用程序。这句话是不是太重复了,因为它是一个后端资源,而不是附加到你的云本地应用程序?

也许是因为我在过去的20年里一直在Spring和Java EE平台上进行开发,所以这些观点似乎是多余的。应用程序因素三指示本地云开发人员将配置细节存储在环境中,而不是作为一组常量或if-then-else语句,散布在整个代码库的各种不同类中。坦率地说,我看不到有经验的专业人士会添加这样的Java代码:在每个类中加入条件语句,根据当前承载代码的环境改变运行时行为。此外,将配置存储在应用程序之外并抽象出依赖关系一直是Spring和Java EE的基本原则。这正是资源引用和JNDI绑定存在的原因。

不成熟的想法

如果不是Spring或Java EE执行这些最佳实践,那么是应用服务器本身执行这些最佳实践。应用程序因素11指出,日志应该由执行环境捕获,并与云本地应用程序使用的所有其他日志流进行比较。老实说,我不记得WebSphere什么时候没有这样做。也许IBM可以吞并本地云计算行业中的所有小公司,创建一个新的、本地云应用服务器,并向业界展示如何进行日志记录?即使您只是在使用System,这种类型的功能也一直被正确地置于应用服务器运行时中。调用out,而不是像slf4j这样的日志框架。

这款名为12 factor的应用确实提供了一些值得思考的东西,大部分智力上可以吃的东西都来自于一种坚持,即使用一个过程(而不是线程)是衡量规模的最佳方式。尽管我认为这只是一个语义上的论证,而不是基于实践的论证。虽然传统的Java应用程序服务器确实运行一个具有多个线程的进程,但Java微服务往往是单处理的,甚至在微服务中,也会有多个利用线程的功能,因此它并不是一种非此即的事情。如果有的话,作为流程执行应用程序和使用流程模型向外扩展的因素6和8,确实可以归结为这样一个断言:大块是不好的,而将大块分解成更小的块是好的。我想我们最近已经听够了这个咒语了。是的,我们知道了。杏耀注册平台官网

Facebook分享和网络迷因

在我看来,这款12要素应用程序的每一条格言,就像你挂在全国各地办公室里那些恼人而鼓舞人心的海报上的一样。我几乎能想象到一张意大利跑车的海报,上面写着“一次性”,下面写着“快速启动和优雅关机,最大化稳健性”。我们生活在这样一个时代,为了被消费,每条信息都必须以模因的形式传播,或者以Facebook帖子或140个字符的推文的形式传播。也许这个12要素应用的咒语是为新开发人员、社交媒体的千禧一代服务的?

12因子应用和云原生模因

这款12元素的应用已经成为了网络流行语

告诉我少吃多运动来减肥是很没用的建议。告诉我按时缴税,避免利息和罚款也是没用的建议。我的意思是,这些陈述是正确的,但没有什么是我不知道的,这使得陈述这些重复的陈述是浪费时间。你可以把这些陈述框定为建议,但如果它们没有提供新的、没有增加价值、没有特别可执行的东西,那就真的不是建议。我不禁觉得关于创建12元素应用程序的所有讨论都属于同一类别。我不知道耶戈尔·布加连科是否会同意我的观点?沐鸣平台

沐鸣:“AI优先”是2017年谷歌I/O的口号

周三上午,谷歌年度全球开发者大会(谷歌I/O)在加州山景城海岸线礼堂拉开帷幕。有七千人参加了现场直播,还有一些人在85个国家通过400谷歌I/O扩展活动在线观看了这次活动。

今年的口号是“人工智能第一”,将机器学习与谷歌的软件和硬件产品整合在一起。会议的主题是一连串的公告:

一个名为谷歌Lens的新项目将视觉识别与用户帮助集成在一起。将手机摄像头对准一个包含网络密码的标签。谷歌助手自动输入密码并将您连接到网络。将摄像头对准一个电话号码,谷歌助手就会拨那个号码。指向一个音乐会广告。谷歌的助手会播放乐队的音乐样本,并提供预订音乐会门票的服务。

开发人工智能应用程序需要两个阶段——训练阶段和推理阶段。在培训阶段,软件了解问题领域。在推理阶段,该软件将学到的知识应用到新情况中。

训练阶段是计算密集型的。为了解决这个问题,谷歌宣布了新的云TPU,马上就可以在谷歌计算引擎上使用了。云TPU硬件对训练和推理都进行了优化,可以提供高达180万亿次浮点运算的计算能力。开发人员可以访问http://g。co/tpusignup报名。

谷歌宣布了新的谷歌。人工智能主动协调人工智能工作和团队。该计划包括三个部分:研究、工具和应用人工智能。研究部分包括自动机,其中神经网络设计其他神经网络。这个任务在计算上具有挑战性,而云TPU正使之成为可能。

从现在开始,谷歌Assistant将接受输入或点击以及口头的命令。打字是有利的,因为在公共场所,人们可能不想说出命令。输入、点击和与谷歌Assistant交谈都是集成的,因此与Assistant的交互可以使用所有三种交互模式。

谷歌助手现在可以在iPhone上使用!

谷歌Assistant现在有法语、德语和其他几种语言版本。谷歌Home将在加拿大、澳大利亚、法国、德国和日本推出。

谷歌上的操作处理购买事务,立即生效。通过语音交互和指纹扫描,您可以使用谷歌支付。你不需要输入地址或信用卡号码。

谷歌Home中的一个新特性称为主动帮助。它的工作原理如下:谷歌Home知道您的日历上即将发生的事件,知道事件发生的位置,并根据当前交通状况计算到事件的旅行时间。当你说“What ‘s up?”在谷歌家中,该设备会提醒你该去参加即将到来的活动了。

在接下来的几个月里,谷歌Home将为美国或加拿大境内的任何固定电话提供免费、免提的服务。谷歌Home可以识别6种不同的声音。因此,如果你说“打电话给妈妈”,该设备就会判断哪个家庭成员在发出请求,然后打电话给那个人的母亲。

Spotify将向谷歌家庭提供免费音乐服务。沐鸣:

谷歌家庭将支持蓝牙,所以你可以在任何蓝牙设备上播放音乐。

除了语音应答,谷歌Home还会在你的手机屏幕上显示信息,并通过Chromecast在你的电视上显示信息。

谷歌照片将有三个新功能。通过建议分享,Photos识别出图片中的人,并提供与这些人分享图片。通过共享库,照片可以自动将具有某些特征的图片共享给您选择的人。有了相册,你可以根据你指定的标准购买你最好的图片的硬拷贝。

在接下来的几周,YouTube将在你的安卓电视上提供360度的视频。你会发出语音命令来请求某个视频。你将使用遥控器在视频场景中从一边移动到另一边。Live 360将提供内容。

今年早些时候,YouTube推出了“超级聊天”(Super Chat),用户可以付费在直播流媒体上添加评论。用户现在可以触发物理行为使用超级聊天。在主题演讲中,用户付费用500个水球将两个被称为“慢莫人”的家伙淋得湿透。所有收益都捐给了慈善事业。

TensorFlow是谷歌的机器智能软件库。有了该库新创建的TensorFlow Lite版本,开发人员可以为运行在小型移动设备上的应用程序添加深度学习功能。智能手机将变得更加智能。沐鸣总代理

三星Galaxy S8和S8+将使用谷歌Daydream添加虚拟现实功能。
HTC和联想将在各自的独立VR头盔中使用谷歌Daydream。所有的处理能力都将在耳机中。你不需要连接电缆或智能手机就能体验到虚拟现实。

新的Android Go计划优化了Android系统,使其能在入门级手机上运行。在这种情况下,入门级手机是指内存在0.5 gb到1gb之间的手机。作为该计划的一部分,数据保护程序特性通过压缩发送的数据来节省网络资源的使用。另一部分名为“YouTube离线共享”,它保存视频供网络不可用时观看。

在谷歌探险中,学生们体验到了他们在自己的教室里通常无法体验到的安全和舒适。学生们一边看着平板设备的屏幕,一边在房间里走来走去。平板电脑可以显示任何东西,从遥远陆地的地形到人体内部的景象。

今年晚些时候,科考平台将在其曲目中加入增强现实。平板电脑的显示屏将能够将虚拟图像叠加到房间里的真实物体上。

一个新的Android应用程序目录可以帮助用户发现新的应用程序。用户可以在购买之前试用。

谷歌的即时应用程序API现在对所有Android开发者开放。

许多Firebase sdk将很快成为开源的。沐鸣娱乐业务:

新的playconsole仪表板总结应用诊断,以帮助开发者分析和改进他们的应用。此外,开发者可以用一行代码将Firebase性能监控添加到应用程序中。在

Android O的测试版可用性

我写关于Android开发的书,所以对我来说,最有趣的公告是下一个Android版本的测试版的发布——代号为Android O.在这个版本的Android中,开发者将能够用Kotlin编程语言编写代码。这对开发人员来说是一件大事,因为它背离了Android长期以来仅使用java的传统。

Kotlin与Java完全可互操作,因此现有的Java代码无需修改就可以工作。可以使用Java、Kotlin或使用这两种语言的任何组合来构建新的应用程序。JetBrains(创建Kotlin的公司)将与谷歌一起帮助这门语言发展成为一门移动平台开发语言。最重要的是,Kotlin可以立即在新的Android Studio 3.0中使用。

沐鸣注册网站破坏敏捷项目的7种方法

根据Ambysoft 2013年的一项调查,采用敏捷方法的项目成功率约为64%。这比瀑布式开发的令人沮丧的数字(低于50%)要高,但这仍然意味着有大量本应采用敏捷的项目最终只是脆弱不堪。是什么导致了敏捷的失败?以下是七个阻碍成功的障碍,以及来自企业软件开发领域的四位经验丰富的专业人士的建议。沐鸣注册网站

瀑布的其他名字…

性能测试经理Mark Yarbro描述了他认为大多数软件开发团队声称在做敏捷时正在做的事情。“在Scrum中,你有一群人坐在会议上,处理积压的事情,开始进行评估,开发人员只是编造一些东西,QA人员只是复制开发人员的说法。”大概过了一天左右,所有的故事都被指出来了,然后他们都开始编写代码。QA坐在那里,编写一些测试用例,但实际上是在等待代码被交付。在sprint的一两个星期里,代码开始交给QA人员,他们开始测试,开发人员则坐在那里等待。他们正在计划下一个sprint,从日志中取出更多的东西,并弄清楚他们接下来要做什么。你知道那是什么吗?这是瀑布。你要做四个星期的瀑布。这就是RAD(快速应用程序开发)。这就是大多数人称之为敏捷时所做的事情。”

2反馈没有在应该的时候出现

在完美的情况下,最终用户或真正的客户会从第一次会议开始就坐在那里。遗憾的是,这种情况很少发生。这意味着总会有一些假设。Ideliver的创始人和管理负责人Satyapal Chhabra强调了这个问题。“如果你有持续的冲刺,真正的最终客户什么时候开始参与?”也许斯普林特十八或十九岁。参与是敏捷的基本前提。但这并没有发生。马克表示同意,“他们应该从一开始就在那里。”根据他的经验,团队最终使用代理来代替客户,在正确预测客户真正想要什么的能力上,他们的失败是可以预见的。沐鸣注册

企业敏捷教练Jay Packlick指出,如果存在已知的信息缺失,敏捷必须适应,将缺失的知识考虑在内。显然,客户参与得越晚,识别和满足他们的需求所需的时间就越长。这是敏捷中成本和预算超支的常见原因。“这就是问题所在。他们有这样的情况:客户直到sprint 19才有空,但他们没有解决“我该怎么做才能得到反馈?”这是敏捷的核心原则之一的失败,即改变你的方法来解决你的问题。你检查和适应。你必须改变系统,否则他们将持续数月而失败。我不在乎你在做什么。如果它不起作用,你不去改变它,它就会失败。”

3敏捷文档几乎总是很糟糕

Mark在敏捷领域工作了很多年,他说,人们很容易被Scrum的匆忙和喧闹冲散,而不去关注可持续性。“在每日的站立不应该有任何状态更新。不要说“我一直在做……”,只说你已经完成的,你希望完成的,以及完成它的任何障碍。不断完成任务是保持敏捷工作的燃料。否则,这就是一种折磨。但它也被用作不做任何文档的借口。企业需要想得更大。实际的发展只是冰山一角。维护是水下的东西。他描述了一种组织失忆症,当开发人员离开时,没有人会记得代码的细节。更大的问责是必须的。“纯粹的‘玩敏捷’没有考虑到完成的事情不是预期的,沐鸣平台而是被检查过的。”

4敏捷测试通常也很糟糕

不仅在文档中存在严重的不足,而且在项目的整个测试过程中经常受到缺乏关注的困扰。Mark再次评论道:“敏捷需要更好的测试。要使事情顺利进行,您需要QA人员,他们是开发人员,并且是不害怕测试的开发人员。质量管理专家Brian Bernknopf对此表示赞同。“只有敏捷开发才能拥有敏捷的SDLC,让开发者负责故事,QA负责发布。其他传统的QA职责可能会改变,但是您仍然需要治理。在日常构建中,签入时会发生什么类型的测试?你怎么知道这是不是权利测试?”

不幸的是,许多团队在进行敏捷开发时还没有弄清楚如何使事情正常运行,QA经常被边缘化。

4敏捷测试通常也很糟糕

不仅在文档中存在严重的不足,而且在项目的整个测试过程中经常受到缺乏关注的困扰。Mark再次评论道:“敏捷需要更好的测试。要使事情顺利进行,您需要QA人员,他们是开发人员,并且是不害怕测试的开发人员。质量管理专家Brian Bernknopf对此表示赞同。“只有敏捷开发才能拥有敏捷的SDLC,让开发者负责故事,QA负责发布。其他传统的QA职责可能会改变,但是您仍然需要治理。在日常构建中,签入时会发生什么类型的测试?你怎么知道这是不是权利测试?”

不幸的是,许多团队在进行敏捷开发时还没有弄清楚如何使事情正常运行,QA经常被边缘化。这意味着他们需要在谈判桌上重新获得一席之地,即使是在另一把椅子上。“它的角色在变化。他们需要能够参与到Scrum中,参与并解决问题。以类似的方式,开发人员需要能够帮助编写测试脚本。在敏捷项目中,QA是一个角色,不一定是一个人。你可以让具有QA思维的开发人员担任这个职位。”

随着时间的推移,关键利益相关者的参与越来越少

敏捷并不是对所有人都免费的。它需要纪律。FusePLM的联合创始人兼首席执行官Shreyas Batt经历了一番艰辛才发现了这一点。值得庆幸的是,他的团队最近的项目没有失败,但它确实比计划的时间长,因为他们没有始终如一地遵守规则。在这个特殊的案例中,与一个离岸开发团队一起工作增加了后勤和时区问题。“我们每周开一次会。但随着时间的推移,项目经理或Scrum经理有时是不可用的。然后就只有一群开发者,但没有人去引导他们并让他们站在自己的一边。在我们这方面,我们不了解内部计划。你需要合适的人随时待命。”

6演示变成可选的而不是强制的

未能对敏捷结构进行优先排序,未能确保持续的反馈和沟通,对Batt的团队来说也是一个错误。“我们相信了他们的话。它没有给我们一个很好的画面。我们不想事无巨细地管理,而是想要洞察进展。一开始,我们每周都会有一个演示。后来,我们执行得不够好。他们告诉我们他们在做什么,但直到8周后才交付测试代码。那时我们意识到他们并不理解这些要求。正确地实施敏捷会有很大的帮助。”

实现敏捷的愿望是模糊的

Jay透露,他试图帮助组织解决的第一个问题是弄清楚他们真正需要改变的是什么。大多数时候,和他交谈的人并不确定。这是第一个问题。他们想做些什么,但不清楚自己真正想要的结果。接下来的挑战是弄清楚转变成敏捷方法是否真的能实现。你必须决定谁是控制点,谁是冠军。有时候,组织中没有人是捍卫者,不清楚,或者这个人没有行动起来领导变革。“必须满足正确的改革条件,正确的人必须有适当程度的参与。否则,试图在传统的瀑布式文化中做敏捷项目是行不通的——项目甚至在开始之前就被毁了。

为什么在沐鸣平台首页敏捷与瀑布的争论中,瀑布有时会胜出

敏捷得到了所有的关注,但是瀑布式开发在很长一段时间内被证明是一种相当值得信赖的软件开发方法。它肯定哪儿也去不了。事实上,由于一些非常好的理由,它仍然是许多世界上最大的企业的首选方法,所以不要认为敏捷与瀑布的争论已经结束。沐鸣平台首页

在最近的一次关于敏捷与瀑布的辩论中,这两种方法针锋相对,四位经验丰富的技术专家深入研究了这两种方法。当晚结束时的结论是一致的:必须选择一个有利于本组织和当前局势的进程。有时候,这仍然是瀑布。这里有五种方法来判断在即将到来的项目中是否存在这种情况。
第一条:项目必须在第一时间就正确
尽管有这些缺陷,瀑布式开发仍然是软件开发中最经得起时间考验的方法。它旨在提供最大的控制和减少不确定性。对于有明确需求、法规遵从性因素以及失败可能意味着大量负面新闻的情况,大多数企业会在敏捷与瀑布的辩论中选择瀑布式,只是为了安全起见。一家大型金融机构的业绩测试经理马克•亚布罗(Mark Yarbro)坦率地说。“我们搞砸了,就成了头版新闻。第一次就得是对的。“敏捷可以快速完成任务,但仍然存在错过目标的风险。”“你必须做正确的事情,而不仅仅是更快地做错误的事情。“循环瀑布常用于速度和控制需要平衡的地方。沐鸣登录测速

时间安排和协调很重要

Mark处理每天同步多个团队的问题。“我们有1200份申请。我们以90天为周期释放其中的许多。它的工作方式是我们把每个人聚集在一起,这样他们就能步调一致地工作。当一个产品与其他产品不一致时,发布它是非常困难的。我们正在对30个不同的应用程序进行性能测试,以让它们同时就绪。“必须同时升级的不仅是应用程序,还有平台和整个生态系统。这不是敏捷擅长做的事情,这也是敏捷难以扩展的原因之一。“如果你不知道自己需要什么,如果客户不清楚,敏捷是一种很好的方法。但要让所有人都排好队,同时发布影片,难度要大得多。”

3完成范围是项目的重点

显然,在一天结束的时候,拥有一个可行的软件是非常理想的,但是敏捷和瀑布在这方面都失败了。瀑布法倾向于更加强调按照计划进行工作的过程。有时候,这只是为了让那些提供软件开发或相关服务的人尽可能地获得项目利润。企业敏捷教练Jay Packlick毫不含糊地解释了为什么在资金雄厚的情况下瀑布是一个诱人的选择。“如果你是一个按小时计酬的政府承包商,答案可能是,我要优化一些东西。你的客户最擅长的是什么?我的问题解决了吗?明确地说,敏捷倾向于交付你需要的东西。它通常是关注价值的。瀑布模式偏向于提供大量可计费的内容。”

Ideliver创始人和管理负责人萨提亚帕尔•查布拉(Satyapal Chhabra)在一定程度上同意这种观点,但他指出,明确界定范围可能是一件好事。“瀑布是关于范围的。不是因为你不想交付价值,而是因为范围是由有资格的人驱动的,他知道需要什么。当涉及到创建整体计划和制定行动方针时,知识和专业知识在瀑布中是非常重要的。相反,“敏捷倾向于认为,‘我们可以做到,因为我们有合适的人。这就是敏捷变得循环往复、永无止境的原因。瀑布至少可以提供一些你可以在最后分发出去的东西。”沐鸣总代平台

当然,臭名昭著的摩托罗拉手机和最初的奥巴马医改市场网站都在辩论中被提到,作为技术上提供范围但没有可用的最终结果的例子。但是在一个运行良好的瀑布式项目中,范围将包含价值,并帮助项目避免偏离轨道去追求其他目标。

高层利益相关者不喜欢风险

对于习惯了瀑布式开发的组织来说,向敏捷的过渡可能是一座难以跨越的桥,这使得敏捷与瀑布式开发之间的争论变得毫无意义。Mark承认敏捷在很多方面都是一种优越的方法,但是它严重依赖于人的因素。“敏捷是丑陋而混乱的。真正的Scrum非常有趣。这是一场盛大的战斗,泥泞而混乱,而你却完成了这么多。但它并不漂亮。

沐鸣平台网站使用Eberhard Wolff了解Java DevOps和持续交付的实用指南

几周前,该网站发布了一篇关于TSS编辑Cameron McKenzie (@cameronmcnz)与Eberhard Wolff (@ewolff)讨论的文章,沐鸣总代不仅是关于他的最新著作,还有他所看到的各种趋势和技术,沐鸣平台网址这些技术正在撼动DevOps、持续交付和企业软件开发的世界。采访的播客和完整的采访记录在这里再次展示。享受。沐鸣平台网站

沐鸣娱乐怎么样?Docker监视:Docker中监视Java应用程序的5种方法

在容器中运行应用程序是一种越来越流行的维护大型分布式堆栈的方式,沐鸣注册平台堆栈会根据需求变化。Java VM的传统使它成为基于容器的基础设施的理想语言。对于许多移动部件和组件,在容器中监视Java应用程序需要计划和选择正确的工具来监视与您有关的方面。沐鸣娱乐怎么样?

监视堆栈有五个组件值得考虑。我将简要介绍前两个问题,并向您指出涉及它们的有用资源,然后我将详细介绍后三个问题。沐鸣开户

沐鸣注册平台不要错过纽约QCon软件架构师大会上的7场讲座

我们已经为QCon纽约准备了好几个月了,沐鸣登录终于快到了!它是软件架构师、开发人员和技术团队了解最新技术的主要专业会议之一。沐鸣注册平台

在为期2天的研讨会之后,将有3天来自行业领袖的密集会议。从众多的演讲中选择最好的可能是压倒性的,所以如果你正在寻找帮助,看看我们特别兴奋强调的这七个演讲。沐鸣登录网站

使用LLVM编译沐鸣注册开户器提高JVM性能

以下是该网站的卡梅隆·w·麦肯齐(Cameron W. McKenzie)和Azul Systems的首席技术官吉尔·特内(Gil Tene)的访谈记录。沐鸣注册开户

卡梅隆·麦肯齐:我一直喜欢和吉尔·特恩谈话,他是Azul系统公司的首席技术官。

在打电话之前,公关代表们通常会给我发一个演示文稿,说明我们应该讨论的内容。但是对于Tene,我总是认为如果我能在他开始做ppt演示之前先问他一个问题,我就能让他回答一些我想要回答的有趣问题。他是一个技术人员,他准备学习Java和JVM的技术。

现在,我们最近讨论的原因是Azul Systems的Zing 17.3发行版,它包括一个基于llvm的、代号为Falcon的即时编译器。显然,它非常快,就像所有Azul系统的jvm一样。

但在我们进入讨论Azul Systems猎鹰即时编译器,我想做一些与吉尔逗熊,告诉他,我很抱歉,在这个新时代的serverless计算和云和容器,实际上,世界上没有人购买硬件了,它必须是困难的鞭打一个高性能的JVM时没有人会在本地需要下载并安装它。不管怎么说,吉尔一点也不喜欢。

吉尔烦躁:所以,我看看它实际上是我们不在乎,因为我们有一群人在亚马逊上运行活力,所以硬件从哪里来,是否这是一个云环境或公共云或私有云,混合云,或一个数据中心,无论你想叫它什么,只要人们运行Java软件,我们有地方我们可以卖JVM。这种情况并没有减少,反而增多了。沐鸣登陆地址

Cameron McKenzie:关于第一个问题,我只是开个玩笑,但这让我们开始讨论在云中使用Java和Zing。实际上,我对此很感兴趣。人们是如何使用他们购买的云中的Java和jvm的?主要是EC2实例,还是人们使用云来利用像Zing这样的高性能jvm的其他独特方式?

Gil Tene:它运行在EC2实例上。实际上,目前在Amazon上运行的大部分内容都是作为运行在公共云上的虚拟实例运行的。它们看起来就像在x86上运行Linux的普通服务器,但它们运行在Amazon上,而且非常高效和灵活,它们在操作上非常动态。无论是亚马逊、Azure还是谷歌云,我们都看到了这一切的发生。

但在很多情况下,这只是一个起点,在Amazon上不需要获得服务器或运行自己的虚拟化环境,而只是一个起点。

下一步通常是你在操作上适应使用这个模型,这样人们就不再需要计划和知道他们在三个月的时间里需要多少硬件,因为他们可以随时打开它。因此,他们可以授权团队在周末打开100台机器,因为他们认为这是必要的,如果他们错了,他们就会关掉。但这不再是什么戏剧性的事情。在公司内部的数据中心?从规划的角度来看,这是非常不同的事情。

但是从我们的角度来看,它们看起来都是一样的,对吧?Zing和祖鲁在那种环境下都很好。不管人们是在Amazon、Azure还是在自己的服务器上使用它们,对我们来说都是一样的。

卡梅隆·麦肯齐:现在,云计算和虚拟化都很酷,但我们要讨论的是性能。所以你现在看到了什么关于裸露的铁质部署或裸露的金属部署或人们实际部署裸露的金属如果是这样,他们什么时候做的?

Gil Tene:我们确实看到了裸露的金属部署。你知道,我们有非常广泛的客户组合,所以我们从电子商务和分析,客户运行自己的东西,显然银行,做很多事情自己。不管是内部的还是外部的云,越来越多的人开始转向虚拟化。所以我想说,我们今天看到的很多东西都是虚拟化的,沐鸣平台注册登录但我们确实在延迟敏感的环境或专用的超级环境中看到了大量的裸金属。例如,很多人会运行专用的机器用于数据库、低延迟交易或消息传递,因为他们不想承受虚拟化基础设施可能对他们造成的影响。

但话虽如此,我们也看到了人们在一致性、延迟和其他方面的一些很好的结果,这些都是在高端亚马逊上运行的。例如,Cassandra是非常适合Zing的工作负载之一我们看到了很多交钥匙部署。如果你想要卡桑德拉,你就打开它,你就会快乐,你不会回头。