期间:二千零一十四

标签

API设bet188足球计·学术界·敏捷的·敏捷采用·分析模式·应用程序体系结构·应用程序集成·坏事·大数据·棋盘游戏·建立脚本·认证·干净代码·协作·计算机历史·会议小组·会议·连续输水·数据库·bet188足球·词典·分布式计算杂志·改道·多样性·文档·领域驱动设计bet188足球·特定于域的语言·国内的·包封·企业架构·估计·事件体系结构·进化设计bet188足球·说明性架构·极限编程·小工具·IEE软件·信息甲板·互联网文化·面谈·语言功能·语言工作台·倾斜·遗产康复·合法的·韵律学·微服务·微软·可移动的·模型视图控制器·NoSQL·对象协同设计bet188足球·分析器生成器·摄影·播客·流行的·演示文稿·隐私·过程理论·生产力·编程平台·项目规划·项目·招聘·188足球比分直播·188足球比分直播重构边界·需求分析·回顾·红宝石·并列争球·安全·软件工艺·谈论视频·团队环境·团队组织·技术债务·技术领导·测试类别·测试·思想作品·工具·旅行·UML·版本控制·网站开发·Web服务·网站·写作

二千零一十九·二千零一十八·二千零一十七·二千零一十六·二千零一十五·二千零一十四·二千零一十三·二千零一十二·二千零一十一·二千零一十·二千零九·二千零八·二千零七·二千零六·二千零五·二千零四·二千零三·二千零二·二千零一·二千·一千九百九十九·一千九百九十八·一千九百九十七·一千九百九十六

所有内容

使用rake构建语言

Rake是一种构建语言,目的类似于做安达。就像make和ant一样,它是一种特定于领域的语言,与thosetwo不同的是,它是用Ruby语言编程的内部DSL。在本文中,我介绍了rake,并描述了我使用rake构建这个网站时遇到的一些有趣的事情:依赖模型、合成任务,自定义生成例程和调试生成脚本。

2014年12月29日

文章


在验证中用通知替换引发的异常

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

2014年12月9日

文章


互联网上的隐私

和埃里克·多恩伯格在一起,Ola Bini还有Tim Bray。

在Goto Aarhus 2014,我自己的主题演讲,埃里克·多恩·伯格,蒂姆·布雷花了不少时间考虑互联网上的隐私问题。后来奥拉·比尼和我们一起讨论这个问题,目前的情况,我们开发人员应该做些什么。

2014年12月5日

视频


索尼A6000,16-70mm镜头

索尼A6000无镜相机与索尼蔡司16-70mm镜头的非正式评论。

2014年11月12日

文章


Ruby Rogues重构播客188足球比分直播

Ruby Rogues是Ruby世界中流行的编程播客。他们邀请我回去讨论红宝石版属于188足球比分直播.我们讨论了重构的定义,188足球比分直播为什么我们发现我们不经常使用调试程序,我们可以做些什么来使这本书现代化,重构工具的作用,188足球比分直播评论是否可以用得上,重构和重写之间的权衡,188足球比分直播模块化和微服务,以及软件行业在过去二十年中的变化。

2014年10月22日

音频


我们战胜大规模监视的责任

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

在Goto 2014的主题演讲中,埃里克和我认为我们作为软件专业人员的职责是应对日益增长的大规模监视浪潮。我们讨论了软件专业人员应如何在决定构建什么软件时发挥更大的作用,这就要求我们对这个领域有更深入的了解,对我们的用户和更大的社会有更大的责任感。我们说为什么隐私很重要,既是人类的需要,也是维护民主社会的需要。我们使用电子邮件的例子来探讨开放式的重要性,关键基础设施的协作开发方法,并且争辩说,我们的自由需要我们所有人更高级别的加密,同时也需要去中心化。最后我们简单地提到了“像素化”,一个项目thoughtworks正在做的是增加加密电子邮件的使用,以及为什么它的挑战更多的是关于用户体验而不是密码的细节。

2014年10月9日

视频


两堆栈CMS

Sunit Parekh和Mart188bet足球充值in Fowler

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

2014年10月6日

信息甲板


在苹果的Notes应用程序中恢复已删除的备忘

我最近在我的苹果笔记本电脑的Notes应用程序上删除了一条留言。作为一个偏执的备份管理员,通常把我所有的工作提交给一个像Git这样的存储库,我不太担心意外删除。但是苹果的Notes应用程序没有任何形式的版本控制,不小心删除了一些东西太容易了。我每天都有一个rsync备份和运行时机器,但是谷歌无法找到一个简单的方法来取回便条。所以如果有人需要这样做,我就是这么做的。

2014年8月31日

文章


成熟度模型

成熟度模型是一种工具,它帮助人们评估一个人或一个团队的当前有效性,并支持他们确定下一步需要获得哪些能力来提高他们的绩效。在许多领域,成熟度模型已经声名狼藉,但是尽管它们很容易被误用,在适当的人手中,他们会有所帮助。

2014年8月26日

比利克


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

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

2014年8月13日

文章


六角形结构和轨道

Badri Janakiraman和Mart188bet足球充值in Fowler

我和我的同事Badri之间关于六边形架构及其在Rails应用程序中的作用的一段对话视频。在第一个视频中,我们讨论了六边形架构的含义,以及如何在持久性框架的活动记录和数据映射模式之间进行选择。在第二部分中,我们将更广泛地介绍Rails在应用程序中应该扮演的架构角色——如果您将其视为平台,或一套组件。

2014年6月5日

视频


平行变换

Danilo Sato

对影响所有用户的界面进行更改需要两种思维模式:实现更改本身,然后更新它的所有用法。当你同时尝试两者时,这可能会很困难,尤其是当改变发布的界面有多个或外部客户机。

平行变化,亦称为扩展和收缩,是以安全的方式实现对接口的向后不兼容更改的模式,通过将变化分为三个不同的阶段:扩展,迁移,和合同。

2014年5月13日

比利克


单元测试

在软件开发中经常提到单元测试,这是我在写作过程中一直熟悉的一个术语。像大多数软件开发术语一样,然而,它的定义很不明确,我看到,当人们认为它的定义比实际情况更为严格时,混乱常常会发生。

2014年5月5日

比利克


我在YouTube上演讲的播放列表

我的许多谈话都可以在YouTube上找到。这是我在YouTube上的演讲列表,我会尽我最大的努力跟上时代的步伐。

2014年4月22日

视频


118金宝博 网页

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

在过去的几年中,“微服务体系结构”一词已经出现,用来描述将软件应用程序设计为独立可部署服务套件的一种特殊方式。bet188足球虽然没有对这种建筑风格的精确定义,围绕业务能力的组织有一些共同的特征,自动部署,终点的情报,以及对语言和数据的分散控制。

2014年3月25日

文章


断路器

软件系统通常对运行在不同进程中的软件进行远程调用,可能在网络上的不同机器上。内存调用和远程调用之间的一大区别是远程调用可能会失败,或者挂起而不响应,直到达到某个超时限制。更糟糕的是,如果一个没有反应的供应商有很多客户,然后,您可以耗尽关键资源,导致跨多个系统的级联故障。在他那本好书里释放它,为了防止这种灾难性的级联,迈克尔·尼加德推广了断路器模式。

断路器的基本原理非常简单。在断路器对象中包装受保护的函数调用,监控故障。一旦故障达到一定的阈值,断路器跳闸,所有对断路器的进一步调用都返回错误,完全没有发出受保护的呼叫。通常,如果断路器跳闸,您还需要某种监视器警报。

2014年3月6日

比利克


不仅仅是编码猴子(oop 2014)

这是我在2014年慕尼黑OOP大会上主题演讲的第二部分,是一个很难描述的话题。通常我喜欢用标题和摘要来描述谈话的内容——但这次谈话是一次旅行,我不想告诉你我要去哪里,而是和我一起探索地面。我要说的是,它从我最大的问题开始,我对大多数敏捷软件开发的采用——用户之间交互的本质,分析家,以及程序员。继续探索这些角色,提出关于程序员与用户关系的问题,我们对他们的责任,最后,我认为程序员需要面对的两大挑战。

2014年2月10日

视频


种族隔离

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

2014年1月16日

比利克


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

188足球比分直播重构已经成为一种众所周知的技术,而且,大多数软件开发团队至少声称他们定期进行重构。188足球比分直播很多球队,然而,不要欣赏重构可用于的不同工作流,188足球比分直播因此错过了将重构有效地融入到开发活动中的机会。188足球比分直播在这个平台中,我探索各种不同的工作流。我希望它能鼓励团队更深入地将重构整合到他们的工作中,188足球比分直播从而产生一个设计得更好的代码库,使添加新功能bet188足球变得更快、更容易。

2014年1月8日

信息甲板


使用XML

XML已经存在一段时间了,而且它使用的次数比它应该使用的次数要多得多。像大多数工具一样,XML对某些事物是好的,而对其他事物则不是好的。

2014年1月3日

比利克

API不应具有版权

API不应该具有版权,这样程序员就可以重新实现接口来支持测试,互操作性,鼓励竞争。

2014年12月16日

文章


Garmin Oregon 600-简要回顾

不久前,徒步旅行时随身携带的GPS装置(我更喜欢英国单词“卫星导航”),是小器具怪胎的怪胎。这些天,大多数相当富裕的人都带着一部具有这种功能的智能手机,并认为这是理所当然的,如此之多以至于有理由怀疑专用手持卫星导航是否还有价值。我还是很喜欢吃,我在徒步旅行时也会用到它,或者骑自行车时骑在我的车把上。我更喜欢它,因为它在恶劣的天气下更坚固,而且使用GPS也不会耗尽我的手机电池。在过去的几年里,我一直使用Garmin 60CSX。这是个不错的单位,但是我的设备在启动时冻结了,它的故障越来越严重。

所以我想得到一些新的东西,我住在俄勒冈州的加敏600号。到目前为止,我还没有机会在自行车上使用它,冬天意味着我再过几个月就没有这样的机会了。但我确实在瑞士徒步旅行了几天,我想和大家分享我的经历。

2014年12月8日

文章


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

Toby Clemson

在过去的几年中,基于服务的体系结构已经向更小的转变,更加注重“微型”服务。这种方法有许多好处,例如独立部署的能力,扩展和维护每个组件,并跨多个团队并行开发。然而,一旦引入了这些额外的网络分区,应用于单片制程应用的测试策略需要重新考虑。在这里,我们计划讨论一些方法来管理多个独立可部署组件的额外测试复杂性,以及如何让测试和应用程序保持正确,尽管有多个团队,每个团队都充当不同服务的守护者。

2014年11月18日

信息甲板


莫里森订单板的结构

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

Morrison OrderPad是一款平板电脑Web应用程序,它帮助超市员工在逛商店时下单购买新库存。产生的应用程序说明性建筑对于由轻量级Java服务器应用程序支持的平板Web应用程序。我们强调应用程序控制和客户机上的DOM交互的分离,使用小的,关注服务器上的框架,广泛的测试环境,以及使用一个试点项目来了解需要什么特性。

2014年10月27日

信息甲板


牺牲体系结构

你在开会,思考您的团队过去几年一直在研究的代码。你已经决定,你现在能做的最好的事情就是扔掉所有的代码,在一个全新的建筑上重建。这让你对注定要失败的代码有什么感觉?关于你花在这上面的时间,关于你以前做的决定?

2014年10月20日

比利克


我们战胜大规模监视的责任

和埃里克·多·恩伯格在一起

软件专业人士应该对我们的软件如何影响社会负起责任。目前最主要的问题之一是隐私,这正受到大规模监视的破坏。电子邮件目前存在问题,因为将电子邮件移动到服务已导致电子邮件提供的集中化,使其更易于监控。我们需要通过扩大电子邮件加密的使用来改善隐私,因此,大规模监视的成本变得令人望而却步。这方面的挑战主要是用户体验和软件打包方面的挑战,不需要对密码学有很好的理解。

2014年10月8日

视频


用vagrant建立一个Ruby开发虚拟机,厨师,里本夫

我在建立一个流浪的虚拟机以帮助合作者使用我的Web发布工具链方面的一些经验。我使用chef来提供vm和rbenv来安装和控制Ruby的正确版本。

2014年9月4日

文章


微服务先决条件

当我和人们谈论使用微服务架构风格我听到很多乐观的声音。开发人员喜欢使用更小的单元,并且期望模块化比单块更好。但和任何体系结构决策一样,都存在着权衡。特别是对于微服务来说,运营会带来严重后果,他们现在必须处理一个由小型服务而非单一服务组成的生态系统,定义明确的整体。因此,如果您没有某些基准能力,您不应该考虑使用微服务风格。

2014年8月28日

比利克


舒哈里

舒哈里是一种思考如何学习技巧的方式。这个名字来自日本武术(特别是合气道)。和科伯恩介绍了它作为一种思考软件开发的学习技术和方法的方法。

2014年8月22日

比利克


碳释放

Danilo Sato

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

2014年6月25日

比利克


失败,心脏出血,和单元测试文化

Mike Bland

2014年初发现了两个计算机安全缺陷:苹果的“goto fail”错误和OpenSSL的“heartbreed”错误。两者都有可能出现广泛而严重的安全故障,我们可能永远也不知道。考虑到它们的严重性,对于软件开发专业来说,反思它们是如何被检测出来的非常重要,这样我们将来就可以提高我们预防这些缺陷的能力。本文认为单元测试可以发挥作用,显示单元测试的方式,更重要的是,单元测试文化,可以识别出这些特定的错误。接下来,它将研究这种文化的成本和收益,并描述这种文化是如何灌输给谷歌的。

2014年6月3日

文章


TDD死了吗?

肯特·贝克188bet足球充值Martin Fowler大卫·海涅迈耶·汉森

大卫·海涅迈耶·汉森,RubyonRails的创建者,在Railsconf做了一个主题演讲,他宣布TDD已经死了。这在Rails和更广泛的软件开发社区中引起了可以预见的大量争议。这也导致了大卫之间一些有趣的对话,肯特我自己。我们认为这些谈话很有趣,其他人也可能喜欢看,因此,我们录制了一系列视频,讨论了TDD在软件开发中的作用。

2014年5月9日

视频


自检代码

自我测试代码是我在188足球比分直播参考与功能软件一起编写综合自动化测试的实践。如果做得好,这允许您调用一个执行测试的命令——并且您确信这些测试将照亮隐藏在代码中的任何错误。

2014年5月1日

比利克


报告数据库

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

2014年4月2日

比利克


企业应用程序

在本世纪初,我在写书企业应用程序体系结构模式.我写这本书时遇到的一个问题是如何命名它,或者更确切地说,我写的是什么样的软件系统。我一直意识到,我在软件开发方面的经验总是集中在一种特定的软件形式上,例如医疗保健记录,外汇交易,工资表,以及租赁会计。它们与打印机内的嵌入式软件非常不同,游戏,飞行控制软件,或者电话交换机。我需要一个名称来描述这些类型的系统,并确定了术语“企业应用程序”。

2014年3月24日

比利克


疏远大气

导致问题的因素很多多样性失衡我们在软件社区中发现的。其中一些,就像青少年教育中阻碍女孩主干学科是一个长期的问题,我们的职业在解决问题上不能发挥核心作用。但有一个因素直接影响到我们,那就是挂在科技界上空的异化氛围。

2014年2月11日

比利克


重构工作流程(oop 20188足球比分直播14)

在过去的十年左右,188足球比分直播重构已成为一种广泛使用的技术,以保持代码库的高内部质量。然而,大多数团队没有充分利用重构,因为他们不知道您可以在其中使用重构的各种工作流。188足球比分直播在2014年慕尼黑OOP的主题演讲中,我探讨了其中的一些工作流程:例如垃圾收集重构,188足球比分直播理解重构,188足球比分直播以及准备重构。188足球比分直播我还提醒人们,为什么重构的常见理由会破坏您的最佳工作。188足球比分直播(这场谈话也被当作信息甲板

2014年2月10日

视频


有界上下文

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

2014年1月15日

比利克


分支抽象

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

2014年1月7日

比利克