中:2017年
机器理由
我记得在我十几岁的时候,有人告诉我人工智能(AI)在接下来的几年里会做很多美妙的事情。现在,一些几十年后来,其中一些似乎正在发生。最近的胜利是计算机互相教导的电脑互相竞争,迅速变得越来越精通,而不是任何人,策略人类专家几乎无法理解。很自然地想知道未来几年会发生什么,电脑很快就会比人类更容易智力吗?(考虑到一些最近的选举结果,可能不会太硬的酒吧交叉。)
但当我听到这些时,我想起了巴勃罗•毕加索(Pablo Picasso)几十年前对电脑的评论:“电脑没用。”他们只能给你答案。”像机器学习这样的技术可以产生令人印象深刻的结果,这对我们作为软件的用户和开发者是有用的。但答案虽然有用,但并不总是全貌。我在上学的早期就学到了这一点——仅仅提供一道数学题的答案只能让我得到几分,要得到满分我必须出示如何我知道了。到答案的推理比结果本身更有价值。这是自学的局限性之一。虽然他们可以获胜,但他们无法解释他们的策略。
争夺银河和圣胡安
圣胡安和银河种族是优秀的,快速和周到的纸牌游戏。种族更深入,其图标使某些人变得不那么平近。
功能切换(AKA功能标志)
功能切换(通常也称为特征标志)是一种强大的技术,允许团队在不更改代码的情况下修改系统行为。它们分为各种用法类别,在实施和管理切换时考虑到帐户中的分类是很重要的。切换介绍复杂性。通过使用智能切换实现实践和适当的工具来管理我们的拨动配置,可以保留复杂性,但我们还应该旨在限制系统中的切换次数。
前言建立进化建筑188比分直播网 坚持原创
最近,我的同事:Neal Ford, Rebecca Parsons和Pat Kua写了一本书,名为《构建进化架构》。188比分直播网 坚持原创他们请我写前言,我感到很荣幸。
罗伊卖了思考作业金宝搏亚洲体育博彩
金宝搏亚洲体育博彩Apax资金获得的思考方式。目前的管理团队将继续像以前一样运营公司。
试验影响分析的兴起
测试影响分析(TIA)是一种加快构建的测试自动化阶段的现代方法。它的工作原理是分析源代码的调用图,以确定在更改生产代码后应该运行哪些测试。微软已经在这种方法上做了大量的工作,但是开发团队也可以以相当低的成本实现一些有用的东西。
建筑师电梯 - 参观楼层
许多大型组织看到他们的IT发动机由行政专家阁楼的许多楼层分开,这也将业务和数字战略分开从搬运的重要工作中。架构师的主要作用是骑在顶层房间和发动机室之间的电梯,无论需要支持这些数字努力所需的地方:自动化软件制造,最大限度地减少前期决策,并影响组织与技术演变。
珀斯卡与丽贝卡Wirfs-Brock上的敏捷和架构188比分直播网 坚持原创
Ryan Lockard (Agile Uprising)邀请我加入Rebecca Wirfs-Brock在敏捷项目上的架构播客对话。188比分直播网 坚持原创丽贝卡开发了责任驱动的设计,当我开始职业生涯时对我来说是一个很大的影响力。我们讨论了我们如何定义架构,测试对架构的影响,域模型的角色,188比分直播网 坚持原创准备哪种文档以及需要做多少架构。
葡萄栽培和艺术家
《Viticulture》和《The Gallerist》都是一款出色的欧洲游戏,它们都以生产为中心。
精益初始化
成立是一个在项目开始时完成的活动,以聚集涉及的人们,并为正在进行的工作设定共同的方向和工作方式。贫认是一种聚焦的成立形式,可以在一周内完成。在此期间,我们了解产品的主要功能和客户,并建立画布以制定最低可行产品的特性。
QA在生产中
传统上,QA专注于在释放到生产之前测试软件,以查看它是否已准备好此类版本。但越来越多的现代QA组织也将注意力关注在生产中运行的软件。通过分析日志和其他监控工具,他们发现对开发组织突出显示的质量问题。这种方法特别适用于使用持续交付的组织,将新版本的软件迅速和可靠地投入生产。
一行代码妥协您的服务器
会话秘密是用于加密cookie的密钥。应用程序开发人员通常在开发期间将其设置为弱键,并在生产过程中不固定。本文介绍了如何破解这种弱键,以及如何使用破解密钥来获取托管应用程序的服务器的控制。我们可以通过使用强密钥和仔细的关键管理来防止这一点。图书馆作者应该鼓励这一点与工具和文件。
自我封装
数据封装是面向对象风格的中心原则。这意味着一个对象的字段不应该公开,相反,所有来自对象外部的访问应该通过访问方法(getter和setter)。有些语言允许公开访问字段,但我们通常告诫程序员不要这样做。自我封装进一步走动,表明所有人内部的访问数据字段也应通过访问器方法进行。只有访问者方法才能触摸数据值本身。如果数据字段未暴露在外部,这将意味着添加其他私有访问器。
函数作为对象
在编程中,对象的基本概念是数据和行为的捆绑。这在编写一组相关函数时提供公共数据上下文。它还提供了一种用于操纵允许对象控制对该数据的访问的数据的界面,使得易于支持导出的数据并防止数据的无效修改。许多语言提供明确的语法来定义类,这充当对象的定义。但是如果您有一个具有一流函数和封闭的语言,则可以使用这些构造使用作为对象模式的功能来创建对象(最初由Eugene Wallingford描述)。
Agile Uprising的Agile Manifesto作者访谈
这敏捷起义播客一直在做一系列与敏捷宣言的作者采访。这是我在采访席上的回合。我不记得雪鸟车间本身,但我能够描述一些关于宣言的上下文。
你是什么意思“活动驱动”?
在去年年底,我参加了一个与我的同事们参加了一个讲习班,以讨论“事件驱动”应用程序的性质。金宝搏亚洲体育博彩在过去的几年里,我们一直在建立大量的系统,这是大量使用事件,而且他们经常被称赞,经常该死。我们的北美办公室组织了一个峰会,思考世界各地的高级开发商出现了分享思想。金宝搏亚洲体育博彩
首脑会议的最大结果是认识到,当人们谈论“事件”时,他们实际上意味着一些完全不同的事情。所以我们花了很多时间试图挑剔一些有用的模式可能是什么。本说明是我们识别的主要摘要。
合成监测
合成监测(也称为语义监测)根据定期运行应用程序自动化测试的子集。结果被推入监控服务,在发生故障时触发警报。该技术将自动化测试与监控相结合,以便检测在生产中失败的业务需求。
持续整合认证
连续集成是软件开发中的流行技术。188比分直播完整手机版在会议上,许多开发人员谈论他们如何使用它,并且在大多数开发组织中常见的持续集成工具很常见。但我们都知道任何体面的技术都需要认证计划 - 幸运的是,一个人存在。由最重要的专家之一在连续交付和DEVOPS中开发,众所周知,由于其结果非常迅速,但对其结果非常有洞察力。虽然它是非常成熟的,但它不应该是应该的,所以作为这种技术的粉丝,我认为与我的读者分享这个认证计划很重要。您是否准备好认证持续整合?你将如何应对考试的令人震惊的真理?
Web应用程序安全基础
现代Web发展有许多挑战,而这些安全性既非常重要,经常被强调。虽然这种技术作为威胁分析越来越被认为是对任何严肃的发展至关重要的,但也有一些基本实践,每个开发人员都可以,应该是理所当然的。