中:2014

使用Rake构建语言

Rake是一种构建语言,有目的是制造和蚂蚁。像制作和蚂蚁一样,它是一个特定于域的语言,与那些在Ruby语言中编程的内部DSL不同。在本文中,我介绍了耙子,并描述了我使用rake来构建这个网站的一些有趣的事情:依赖模型,合成任务,自定义构建例程和调试构建脚本。

由马丁188bet足球充值

2014年12月29日

阅读更多…

文章

持续交付ruby构建脚本

api不应该具有版权保护

api不应该是可版权保护的,这样程序员就可以重新实现接口来支持测试、互操作性和鼓励竞争。

由马丁188bet足球充值

2014年12月16日

阅读更多…

文章

API设bet188足球计法律

在验证中使用通知替换抛出异常

如果正在验证某些数据,通常不应该使用异常来表示验证失败。在这里,我将描述如何将此类代码重构为使用通知模式。

由马丁188bet足球充值

2014年12月9日

阅读更多…

文章

188足球比分直播

Garmin Oregon 600 -一个简短的回顾

我能在一个专用的手持GPS设备中找到任何价值吗?

由马丁188bet足球充值

2014年12月8日

阅读更多…

文章

小工具

互联网上的隐私

2014年在goto奥尔胡斯,主题演讲,埃里克做̈rnenburg,和蒂姆·布雷花了很多时间在互联网上考虑到隐私问题。之后,Ola Bini与我们一起讨论了这个问题,当前的事态,以及我们开发者应该做些什么。

与Erikdörnenburg,奥拉比尼和蒂姆布雷。

2014年12月5日

更多的…

视频

隐私

在微服务体系结构中测试策略

在过去的几年中,基于服务的架构已经向更小、更集中的“微”服务转变。这种方法有很多好处,比如独立部署、扩展和维护每个组件的能力,以及跨多个团队并行开发的能力。但是,一旦引入了这些额外的网络分区,就需要重新考虑应用于单片进程应用程序的测试策略。在这里,我们计划讨论一些方法,用于管理多个独立可部署组件的额外测试复杂性,以及在多个团队各自充当不同服务的监护人的情况下,如何让测试和应用程序保持正确。

由托比·克莱姆森

2014年11月18日

阅读更多…

infodeck

流行测试infodecksmicroservices

索尼A6000带16-70mm镜头

非正式评论的索尼a6000无反光镜相机搭配索尼蔡司16-70mm镜头。

由马丁188bet足球充值

2014年11月12日

阅读更多…

文章

小工具摄影

莫里森的OrderPad的架构

Morrisons OrderPad是一款平板电脑网络应用程序,可帮助超市的员工在商店散步时为新股票下订单。由此产生的申请表明了旁白架构用于由轻量级java服务器应用程序支持的平板电脑web应用程序。我们强调了客户机上应用程序控制和DOM交互的分离,在服务器上使用小型的、有重点的框架、广泛的堆栈测试环境,以及使用试验项目来了解需要哪些特性。

罗布·迈尔斯和马丁·福勒著188bet足球充值

2014年10月27日

阅读更多…

infodeck

旁白的架构

关于重构的Ruby流氓播客188足球比分直播

Ruby Rogues是一个受欢迎的Ruby World编程播客。他们邀请我回来讨论Ruby Edition.188足球比分直播。我们谈到了重构的定义,为什么我们发现我们不使用调试器,可能做些什么来188足球比分直播现代化书籍,重构工具的作用,是否可以用于良好的评论,重构和重写之间的权衡,模块化和微服务以及软件行业在过去二十年中的发生变化。

由马丁188bet足球充值

2014年10月22日

阅读更多…

音频

188足球比分直播ruby播客

祭祀建筑

您坐在一个会议上,思考您的团队在过去几年里一直在开发的代码。您已经决定,现在可以做的最好的事情是扔掉所有代码,并在一个全新的架构上重新构建。这让你对那些注定要失败的代码有什么感觉,对你花在它上面的时间有什么感觉,对你很久以前做出的决定有什么感觉?

由马丁188bet足球充值

2014年10月20日

阅读更多…

bliki

过程理论进化型设计bet188足球应用程序体系结构

我们有责任击败大规模监视

在2014年goto的主题演讲中,Erik和我认为我们作为软件专业人员的责任是应对日益增长的大规模监控浪潮。我们讨论了软件专业人员在决定构建什么软件时应该扮演更重要的角色,这要求我们对领域有更深入的了解,并对用户和社会负有更大的责任。我们说为什么隐私是重要的,既是人类的需要,也是维护民主社会的需要。我们使用电子邮件的例子来探讨开放、协作开发关键基础设施的重要性,并论证我们的自由需要对我们所有人进行更高级别的加密,以及move to decentralized。最后我们简要提到了“Pixelated”,这是ThoughtWorks正在做的一个项目,目的是增加加密电子邮件的使用,以及为什么它的挑战更多的是关于用户体验,而不是加密的细节。

埃里克·多嫩伯格和马丁·福勒188bet足球充值

2014年10月9日

更多的…

视频

演讲视频互联网文化

我们有责任击败大规模监视

软件专业人员应该为我们的软件如何影响社会承担责任。目前最主要的担忧之一是隐私问题,这一问题正被大规模监控所破坏。电子邮件目前是有问题的,因为电子邮件向服务的转移导致了电子邮件供应的集中,使其更容易监控。我们需要通过努力扩大电子邮件加密的使用,来改善隐私,这样大规模监控的成本就会变得令人望而却步。这方面的挑战主要是用户体验和软件打包方面的挑战,而不需要对密码学有很好的理解。

埃里克做̈rnenburg

2014年10月8日

更多的…

视频

隐私

两个栈CMS

我们建立了许多内容丰富的网站,经常使用流行的内容管理系统(CMS)。最近的一个项目涉及一家全球制造商的营销网站,该网站需要具有高可用性和流量需求的复杂交互内容。我们的响应是应用编辑-发布分离模式,并为内容创建和交付构建两个不同的软件堆栈。在这个平台中,您可以看到这个架构的概述,以及我们对栈之间集成问题的响应,提供实时站点的安全预览,以及处理系统的发展和扩展。

Sunit Parekh和Martin 188bet足球充值Fowler著

2014年10月6日

阅读更多…

infodeck

应用程序体系结构前端infodecks

使用Vagrant,Chef和RBenv设置Ruby开发VM

这是我在建立一个虚拟机帮助合作者使用我的网络发布工具链时的一些笔记。我使用Chef提供VM和rbenv来安装和控制正确版本的ruby。

由马丁188bet足球充值

2014年9月4日

阅读更多…

文章

工具

在苹果的笔记应用程序中恢复删除的笔记

最近,我删除了苹果笔记本电脑上的笔记应用程序中的一条笔记。作为一个偏执的备份管理员,我通常将所有工作提交到像git这样的存储库中,我不太担心意外删除。但苹果的notes应用程序没有任何形式的版本控制,而且很容易意外地删除某些内容。我有一个每日rsync备份和运行时间机器,但谷歌无法找到一个简单的方法来取回笔记。如果有人需要这样做,我是这样做的。

由马丁188bet足球充值

2014年8月31日

阅读更多…

文章

工具

Microservice先决条件

当我和人们谈论使用microservices建筑风格我听到很多乐观的声音。开发人员喜欢使用较小的单元,并期望比单一单元更好的模块化。但是,与任何架构决策一样,都存在权衡。特别是对于微服务,这将给操作带来严重的后果,操作人员现在必须处理小型服务的生态系统,而不是一个定义良好的单一整体。因此,如果您没有某些基本能力,就不应该考虑使用微服务样式。

由马丁188bet足球充值

2014年8月28日

阅读更多…

bliki

microservices

成熟度模型

成熟度模型是一种工具,它可以帮助人们评估一个人或一个团队的当前效力,并支持弄清楚他们下一步需要获得什么能力来提高他们的绩效。在许多圈子中,成熟度模型的名声很坏,但是,尽管它们很容易被滥用,但在适当的情况下,它们是有用的。

由马丁188bet足球充值

2014年8月26日

阅读更多…

bliki

认证采用敏捷过程理论

蜀Ha国际扶轮

Shu-Ha-RI是一种思考你如何学习技术的方式。这个名字来自日本武术(特别是Aikido),alistair cockburn.将其作为一种思考软件开发的学习技术和方法的方式。

由马丁188bet足球充值

2014年8月22日

阅读更多…

bliki

采用敏捷字典过程理论

微服务和分布式对象第一定律

在EAA的P中,我说“不要分发你的对象”。这个建议是否与我对微型服务的兴趣相矛盾?

由马丁188bet足球充值

2014年8月13日

阅读更多…

文章

API设bet188足球计microservices

金丝雀释放

金丝雀释放是一种降低在生产中引入新软件版本的风险的技术,方法是在将更改推广到整个基础设施并让每个人都可以使用之前,缓慢地将更改推广到一小部分用户。

佐藤的达尼洛

2014年6月25日

阅读更多…

bliki

持续交付精益

六边形建筑和轨道

以下是我和同事Badri关于六角形架构及其在Rails应用程序中的角色的对话视频。在第一个视频中,我们讨论了什么是六边形架构的意思,以及这如何导致在活动记录和数据映射器模式之间的选择持久性框架。在第二篇文章中,我们更广泛地讨论了Rails在应用程序中应该扮演的架构角色——你应该把它看作一个平台,还是一套组件。

巴德里·贾纳克拉曼和马丁·福勒188bet足球充值

2014年6月5日

更多的…

视频

应用程序体系结构ruby数据库

转到失败,Heartbleed和单位测试文化

2014年初发现了两个计算机安全漏洞:苹果的“goto fail”漏洞和OpenSSL的“Heartbleed”漏洞。两者都有可能造成广泛而严重的安全故障,其严重程度我们可能永远不会知道。考虑到它们的严重性,对于软件开发专业人员来说,反思它们是如何被检测出来的是很重要的,这样我们就可以提高我们在未来防止这类缺陷的能力。本文考虑了单元测试可以扮演的角色,展示了单元测试(更重要的是单元测试文化)如何识别这些特定的bug。接下来,我们将着眼于这种文化的成本和收益,并描述了这种文化是如何在谷歌灌输的。

迈克平坦

6月2014

阅读更多…

文章

测试

平行变化

对影响其所有使用者的接口进行更改需要两种思维模式:实现更改本身,然后更新其所有用法。当你试图同时做这两件事时,这可能是困难的,特别是如果改变是在aPublishedInterface具有多个或外部客户端。

平行变化,也被称为扩张和收缩是一种以安全的方式实现对接口的向后不兼容更改的模式,方法是将更改分解为三个不同的阶段:扩展、迁移和收缩。

TDD死了吗?

Ruby在Rails的Ruby创造者的David Heinemeier Hansson给了一个主题在铁路斯科夫,他宣称TDD已经死了。这在铁路和更广泛的软件开发社区中引起了可预测的大量争议。它也导致了大卫,肯特和我自己之间的一些有趣的对话。我们决定这些谈话有趣,其他人可能想看它们,所以录制了一系列视频环聊,我们讨论了TDD在软件开发中的作用。

肯特·贝克,马丁·福勒188bet足球充值和大卫·海涅迈尔·汉森

2014年5月9日

更多的…

视频

测试ruby

单元测试

单元测试在软件开发中经常被提及,在我编写程序的整个过程中,我对这个术语非常熟悉。然而,就像大多数软件开发术语一样,它的定义非常模糊,而且我看到,当人们认为它的定义比实际更严格时,常常会产生混淆。

由马丁188bet足球充值

2014年5月5日

阅读更多…

bliki

测试类别极限编程

自我测试代码

自我测试代码是我在188足球比分直播请参阅与功能软件一起编写全面自动测试的实践。完成后,这允许您调用执行测试的单个命令 - 并且您有信心这些测试将阐明隐藏在代码中的任何错误。

播放我对YouTube的谈判

我的很多演讲都可以在YouTube上找到。这是我在YouTube上的演讲播放列表,我尽我最大的努力去跟上。

由马丁188bet足球充值

2014年4月22日

更多的…

视频

演讲视频

报告数据库

大多数EnterpriseApplications使用数据库存储持久数据。该数据库支持应用程序状态的操作更新,以及用于决策支持和分析的各种报告。然而,操作需求和报告需求通常非常不同——不同的模式和不同的数据访问模式有不同的需求。当发生这种情况时,明智的做法是将报告需求分离到报告数据库中,该数据库获取基本操作数据的副本,但以不同的模式表示。

由马丁188bet足球充值

2014年4月2

阅读更多…

bliki

数据库应用程序体系结构

Microservices

术语“微服务体系结构”在过去几年中兴起,用于描述将软件应用程序设计为独立可部署的服务套件的一种特殊方法。bet188足球虽然没有这种体系结构风格的精确定义,但在组织中有一些围绕业务能力、自动化部署、端点智能以及语言和数据的分散控制的共同特征。

詹姆斯·刘易斯和马丁·福勒著188bet足球充值

2014年3月25日

阅读更多…

文章

流行应用程序体系结构microservices

企业应用程序

在本世纪初,我开始写我的书企业应用程序架构的模式。我在写这本书时遇到的一个问题是如何给它命名,或者更确切地说,我所写的那些软件系统应该怎么称呼。我一直意识到,我的软件开发经验一直集中在一种特定形式的软件上——像医疗记录、外汇交易、工资和租赁会计。它们与打印机内的嵌入式软件、游戏、飞行控制软件或电话开关非常不同。我需要一个名称来描述这些类型的系统,并确定了术语“企业应用程序”。

由马丁188bet足球充值

2014年3月24日

阅读更多…

bliki

应用程序集成应用程序体系结构

断路器

对于软件系统来说,远程调用运行在不同进程中的软件是很常见的,这些进程可能运行在网络上的不同机器上。内存内调用和远程调用之间的一个重大区别是,远程调用可能会失败,或者在达到某个超时限制之前挂起而没有响应。更糟糕的是,如果在一个没有响应的供应商上有许多调用者,那么您可能耗尽关键资源,从而导致跨多个系统的级联故障。在他的优秀著作中释放它, Michael Nygard推广了断路器模式,以防止这种灾难性级联。

断路器背后的基本思想非常简单。在断路器对象中缠绕受保护的函数调用,监视故障。一旦故障达到某个阈值,断路器跳闸,以及对断路器的所有进一步调用都会返回错误,而没有受到保护的呼叫。通常,如果断路器跳闸,您还需要某种显示器警报。

由马丁188bet足球充值

2014年3月6日

阅读更多…

bliki

持续交付应用程序体系结构

疏远的气氛

有许多因素导致麻烦DiversityImbalance这是我们在软件社区中发现的。其中一些问题,比如青少年教育中的问题,阻碍了女孩们的成长STEM学科是我们的职业在定影中无法发挥核心作用的长期问题。但直接向我们下降的一个因素是悬而未决于科技界的疏远气氛。

由马丁188bet足球充值

2014年2月11日

阅读更多…

bliki

多样性互联网文化

不仅仅是代码猴子(OOP 2014)

这是我在慕尼黑OOP 2014的keynote的第二部分,并且是一个棘手的谈话来描述。通常我喜欢一个标题和摘要来描述谈话的谈话 - 但是这个谈话是一个旅程,我不想告诉你我要去哪里,而是探索与我的地面。我会说它从最大的敏捷软件开发开始了我最大的问题 - 用户,分析师和程序员之间的互动性质。它继续探讨这些角色,提出关于程序员对用户的关系的问题,我们对他们的职责,以及我认为程序员需要面对的两个挑战。

由马丁188bet足球充值

2014年2月10

更多的…

视频

敏捷演讲视频技术领导多样性

重构工作流(OOP 201188足球比分直播4)

在过去十年左右的时间里,重构已经成为一种广泛使用的技术,188足球比分直播它可以保持代码库内部的高质量。然而,大多数团队没有充分利用重构,因为他们没有意识到可以在其中使用它的各种工作流。188足球比分直播在2014年在慕尼黑举行的OOP主题演讲中,我探讨了其中的一些工作流:如“垃圾拾取重构”、“理解重构”和“准备重构”。188足球比分直播我还会提醒大家,为什么对重构的常见辩护会破坏您的最大努力。188足球比分直播(这次谈话也有一种对待infodeck。)

由马丁188bet足球充值

2014年2月10

更多的…

视频

敏捷演讲视频188足球比分直播

种族隔离的DOM

单页web应用程序通常会变成jQuery的“汤”,其中应用程序逻辑、DOM操作和服务器访问都混合在一起。关注点的混合使得这些应用程序比它们应该的更难以理解和测试。隔离DOM是一种模块化策略,它将DOM的所有操作分离为专用的JavaScript对象。

由马丁188bet足球充值

2014年1月16日

阅读更多…

bliki

Web开发

限界上下文

有限上下文是领域驱动设计中的中心模式。bet188足球这是DDD战略设计部门的重点,主要是处理大型模型和团队。bet188足球DDD通过将大型模型划分为不同的边界上下文并明确它们的相互关系来处理它们。

工作流程的重构188足球比分直播

188足球比分直播重构已经发展成为一种众所周知的技术,而且大多数软件开发团队至少宣称定期进行重构。然而,许多团队并不重视重构可以用于的不同工作流,因此错过了将重构有效地合并到他们的开发活动中的机会。188足球比分直播在这个甲板上,我探索了各种不同的工作流程。我希望这将鼓励团队更深入地将重构集成到他们的工作中,从而设计出更好的代码库,从而使添加新188足球比分直播特性变得更快更容易。bet188足球

由马丁188bet足球充值

2014年1月8日

阅读更多…

infodeck

敏捷编程风格188足球比分直播infodecks

分支通过抽象

“抽象分支”是一种以渐进的方式对软件系统进行大规模更改的技术,它允许您在更改仍在进行中时定期发布系统。

由马丁188bet足球充值

2014年1月7日

阅读更多…

bliki

持续交付版本控制

使用Xml

XML出现已经有一段时间了,它的使用也非常频繁——实际上已经远远超出了它应该使用的范围。像大多数工具一样,XML对某些事情有好处,而对其他事情没有好处

由马丁188bet足球充值

2014年1月3

阅读更多…

bliki

编程平台领域特定语言写作


所有标签

API设bet188足球计·敏捷·采用敏捷·分析模式·应用程序体系结构·应用程序集成·不好的事情·大数据·棋盘游戏·构建脚本·认证·合作·计算机历史·小组会议·会议·持续交付·新型冠状病毒肺炎·数据库·bet188足球·字典·分布式计算杂志·转移·多样性·文件·域驱动设计bet188足球·领域特定语言·国内·封装·企业架构·估计·事件的架构·进化型设计bet188足球·经验报告·旁白的架构·极限编程·前端·小工具·Ieeesoftware·infodecks·互联网文化·采访·语言功能·语言工作台·精益·传统康复·法律·指标·microservices·移动·NoSQL.·合作对象设计bet188足球·解析器发电机·摄影·播客·流行·演讲技巧·隐私·过程理论·生产力·编程平台·编程风格·项目计划·招聘·188足球比分直播·188足球比分直播重构的边界·需求分析·ruby·安全·演讲视频·团队环境中·团队组织·技术债务·技术领导·测试类别·测试·thoughtworks·工具·旅行·uml·版本控制·Web开发·web服务·网站·写作

2020·2019·2018·2017·2016·2015·2014·2013·2012·2011·2010·2009·2008·2007·2006·2005·2004·2003·2002·2001·2000·1999·1998·1997·1996

所有的内容