案例研究

从有趣问题的解决方案中吸取的教训


与 提供的大多数内容不同,案例研究回顾性地审视已经解决的挑战和问题,同时试图总结在这些努力过程中吸取的教训(以便读者不必以艰难的方式自己学习这些教训)。

也就是说,我们不仅要揭示做了什么,还要揭示如何做的以及沿途发现了什么。

为了实现这一点,我们组织工程师之间的对话——由公认的领域专家领导,他们专注于深入探讨是什么让这项努力核心的挑战值得首先开展,这些挑战中哪些方面被证明尤其令人畏惧,哪些权衡难以取舍,以及是什么推理导致人们选择了一条道路而不是其他替代方案。

在可能的情况下,还会考虑这些决定的影响,包括实际实现的结果和可能错失的机会。

查看下载次数最多的案例研究


数据科学

不仅仅是算法

与 Alfred Spector、Peter Norvig、Chris Wiggins、Jeannette Wing、Ben Fried 和 Michael Tingley 的讨论

2023 年 3 月 28 日

安全

网络安全

零信任的到来
这意味着什么?

与 Michael Loftus、Andrew Vezina、Rick Doten 和 Atefeh Mashatan 的讨论

2022 年 9 月 19 日

数据

医疗保健数据

FHIR:减少摩擦
在医疗保健数据交换中

与 James Agnew、Pat Helland 和 Adam Cole 的讨论

2022 年 5 月 17 日

数据, 隐私

开源

这需要一个社区
开源挑战

与 Reynold Xin、Wes McKinney、Alan Gates 和 Chris McCubbin 的讨论

2021 年 11 月 17 日

开源

硬件安全

车辆的量子安全信任
竞赛已经开始

与 Michael Gardiner、Alexander Truskovsky、George Neville-Neil 和 Atefeh Mashatan 的讨论

2021 年 4 月 30 日

数据, 隐私, 安全

数据库

永远在线的时序数据库:在无法追赶的地方保持领先

与 Theo Schlossnagle、Justin Sheehy 和 Chris McCubbin 的讨论

2020 年 12 月 14 日

数据库

隐私

差分隐私:默认追求保护

与 Miguel Guevara、Damien Desfontaines、Jim Waldo 和 Terry Coatta 的讨论

2020 年 11 月 20 日

隐私

调试

捕捉失败:调试的记录和重放方法

与 Robert O'Callahan、Kyle Huey、Devon O'Dell 和 Terry Coatta 的讨论

2020 年 3 月 28 日

调试

区块链

DAML:分布式账本的合约语言

Shaul Kfir 和 Camille Fournier 之间的讨论

2019 年 8 月 19 日

网络

医疗保健记录

访问控制和医疗保健记录:谁拥有数据?

与 David Evans、Richard McDonald 和 Terry Coatta 的讨论

2019 年 6 月 3 日

数据和数据库, 隐私和权利

代码审查

CodeFlow:改进 Microsoft 的代码审查流程

与 Jacek Czerwonka、Michaela Greiler、Christian Bird、Lucas Panjer 和 Terry Coatta 的讨论

2018 年 11 月 13 日

质量保证

微服务

Hootsuite:追求反应式系统

与 Edward Steel、Yanik Berube、Jonas Bonér、Ken Britton 和 Terry Coatta 的讨论

2017 年 8 月 5 日

Web 开发, Web 服务

JavaScript 框架

React:Facebook 在编写 JavaScript 方面的函数式转变

与 Pete Hunt、Paul O'Shannessy、Dave Smith 和 Terry Coatta 的讨论

2016 年 9 月 5 日

编程语言, Web 开发, Web 服务

软件定义网络

一个专门构建的全球网络
Google 转向 SDN

与 Amin Vahdat、David Clark 和 Jennifer Rexford 的讨论

2015 年 12 月 11 日

网络

SDN 之路

可编程网络的思想史

Nick Feamster、Jennifer Rexford 和 Ellen Zegura | 2013 年 12 月 30 日

网络

OpenFlow:网络中的一项激进新理念

一种支持软件定义网络的开放标准

Tom Limoncelli | 2012 年 6 月 20 日

网络

质量保证测试

EA 的自动化 QA 测试
事件驱动

与 Michael Donat、Jafar Husain 和 Terry Coatta 的讨论

2014 年 5 月 19 日

质量保证

测试分布式系统

即使在最佳情况下,测试分布式系统也可能很困难。

Philip Maddox | 2015 年 7 月 1 日

质量保证, 分布式开发, 分布式计算

在质量保证中采用 DevOps 实践

融合软件开发的艺术和科学

James Roche | 2013 年 10 月 30 日

质量保证

服务器端的 JavaScript

LinkedIn 的 Node
追求更薄、更轻、更快

与 Kiran Prasad、Kelly Norton 和 Terry Coatta 的讨论

2014 年 1 月 15 日

Web 服务

JavaScript 和 Netflix 用户界面

条件依赖关系解析

Alex Liu | 2014 年 10 月 14 日

Web 服务

浏览器安全

浏览器安全案例研究
外表可能具有欺骗性

与 Jeremiah Grossman、Ben Livshits、Rebecca Bace 的讨论,
和 George Neville-Neil

2012 年 11 月 20 日

Web 安全

除非我们打破它,否则 Web 将不会安全可靠

除非您采取了非常特殊的预防措施,否则请假定您访问的每个网站都知道您的身份。

Jeremiah Grossman | 2012 年 11 月 6 日

Web 安全

已解决:互联网不是关键基础设施的场所

风险是依赖的必然结果。

2013 年 4 月 2 日

安全

弹性测试

弹性工程:学习拥抱失败

与 Jesse Robbins、Kripa Krishnan、John Allspaw 和 Tom Limoncelli 的讨论

2012 年 9 月 12 日

质量保证

生产环境中的故障注入

为弹性测试辩护

John Allspaw | 2012 年 8 月 24 日

质量保证

经受意外

故障会发生,弹性演练有助于组织为此做好准备。

Kripa Krishnan | 2012 年 9 月 16 日

质量保证

反脆弱组织

拥抱失败以提高弹性和最大化可用性

Ariel Tseitlin, 2013 年 6 月 8 日

质量保证

网络拥塞管理

BufferBloat:互联网有什么问题?

与 Vint Cerf、Van Jacobson、Nick Weaver 和 Jim Gettys 的讨论

2011 年 12 月 7 日

网络

BBR:基于拥塞的拥塞控制

测量瓶颈带宽和往返传播时间

Neal Cardwell、Yuchung Cheng、C. Stephen Gunn、Soheil Hassas Yeganeh 和 Van Jacobson | 2016 年 12 月 1 日

网络

控制队列延迟

现代 AQM 只是解决 bufferbloat 的方案之一。

Kathleen Nichols、Van Jacobson | 2011 年 12 月 7 日

网络

Bufferbloat:互联网中的黑暗缓冲区

没有有效 AQM 的网络可能再次容易受到拥塞崩溃的影响。

Jim Gettys、Kathleen Nichols | 2011 年 11 月 29 日

网络

补充材料:Bufferbloat 视频

在常见负载下,由于 bufferbloat,您的实际互联网“速度”很容易下降十分之一。

Jim Gettys | 2012 年 2 月 5 日

文件系统和存储

GFS:快速前进的演变

Kirk McKusick 和 Sean Quinlan 之间关于 Google 文件系统的起源和演变的讨论

Marshall Kirk McKusick、Sean Quinlan | 2009 年 8 月 7 日

文件系统和存储

天文档案如何在大数据海啸中生存?

天文学家正在收集比以往更多的数据。哪些实践可以让他们在数据洪流中保持领先地位?

G. Bruce Berriman、Steven L. Groom | 2011 年 10 月 18 日

文件系统和存储

保持比特安全:有多难?

随着存储系统变得越来越大,保护其数据以进行长期存储变得越来越具有挑战性。

David S. H. Rosenthal | 2010 年 10 月 1 日

文件系统和存储

互操作性测试

Microsoft 的协议文档计划:大规模互操作性测试

与 Nico Kicillof、Wolfgang Grieskamp 和 Bob Binder 的讨论

2011 年 6 月 8 日

质量保证

SAGE:用于安全测试的白盒模糊测试

SAGE 在 Microsoft 产生了显著的影响。

Patrice Godefroid、Michael Y. Levin、David Molnar | 2012 年 1 月 11 日

安全

重新考虑稳健性原则

寻求中间立场

Eric Allman | 2011 年 6 月 22 日

网络

用户体验设计

用户体验设计和敏捷:天作之合?

来自 SAP 的用户体验设计师和软件工程师讨论了在业务智能查询工具上协作的挑战。

Terry Coatta、Julian Gosper | 2010 年 11 月 29 日

人机交互

通过自动化测试查找可用性错误

自动化可用性测试可以成为现场测试的宝贵补充。

Julian Harty | 2011 年 1 月 12 日

人机交互

多核性能

Photoshop 可扩展性:保持简单

Clem Cole 和 Russell Williams 讨论了 Photoshop 在并行性方面的悠久历史,以及他们现在认为的主要挑战。

Clem Cole、Russell Williams | 2010 年 9 月 9 日

图形

管理多核处理器上共享资源的争用

缓存、内存控制器和互连的争用可以通过争用感知调度算法来缓解。

Alexandra Fedorova、Sergey Blagodurov、Sergey Zhuravlev | 2010 年 1 月 20 日

处理器

RIA 开发

案例研究:迁移到 AJAX

软件即服务提供商从使用 AJAX 框架进行 RIA 开发中学到了什么

Jeff Norwalk | 2009 年 3 月 11 日

Web 开发

评论:没有路线图的旅程

与其仅仅想象您的用户想要或需要什么,不如首先获得他们的意见,这始终是个好主意。

Peter Christy | 2009 年 3 月 11 日

主题:网络

Web 服务

在约束中狂欢

Google Web Toolkit 是一种绕过 Web 开发障碍的最终手段。

Bruce Johnson | 2009 年 7 月 21 日

C 本文发表于 通讯,第 52 卷第 9 期印刷版

Web 开发

在生产环境中调试 AJAX

在缺乏适当的浏览器支持的情况下,我们可以采取哪些步骤来调试生产环境中的 AJAX 代码?

Eric Schrock | 2009 年 3 月 11 日

主题:管理

C 本文发表于 通讯,第 52 卷第 5 期印刷版

Web 开发

© . All rights reserved.