案例研究
从有趣问题的解决方案中吸取的教训
与 提供的大多数内容不同,案例研究回顾性地审视已经解决的挑战和问题,同时试图总结在这些努力过程中吸取的教训(以便读者不必以艰难的方式自己学习这些教训)。
也就是说,我们不仅要揭示做了什么,还要揭示如何做的以及沿途发现了什么。
为了实现这一点,我们组织工程师之间的对话——由公认的领域专家领导,他们专注于深入探讨是什么让这项努力核心的挑战值得首先开展,这些挑战中哪些方面被证明尤其令人畏惧,哪些权衡难以取舍,以及是什么推理导致人们选择了一条道路而不是其他替代方案。
在可能的情况下,还会考虑这些决定的影响,包括实际实现的结果和可能错失的机会。
数据科学
不仅仅是算法
与 Alfred Spector、Peter Norvig、Chris Wiggins、Jeannette Wing、Ben Fried 和 Michael Tingley 的讨论
网络安全
零信任的到来
这意味着什么?
与 Michael Loftus、Andrew Vezina、Rick Doten 和 Atefeh Mashatan 的讨论
医疗保健数据
FHIR:减少摩擦
在医疗保健数据交换中
与 James Agnew、Pat Helland 和 Adam Cole 的讨论
开源
这需要一个社区
开源挑战
与 Reynold Xin、Wes McKinney、Alan Gates 和 Chris McCubbin 的讨论
硬件安全
车辆的量子安全信任
竞赛已经开始
与 Michael Gardiner、Alexander Truskovsky、George Neville-Neil 和 Atefeh Mashatan 的讨论
数据库
永远在线的时序数据库:在无法追赶的地方保持领先
与 Theo Schlossnagle、Justin Sheehy 和 Chris McCubbin 的讨论
隐私
差分隐私:默认追求保护
与 Miguel Guevara、Damien Desfontaines、Jim Waldo 和 Terry Coatta 的讨论
调试
捕捉失败:调试的记录和重放方法
与 Robert O'Callahan、Kyle Huey、Devon O'Dell 和 Terry Coatta 的讨论
区块链
DAML:分布式账本的合约语言
Shaul Kfir 和 Camille Fournier 之间的讨论
医疗保健记录
访问控制和医疗保健记录:谁拥有数据?
与 David Evans、Richard McDonald 和 Terry Coatta 的讨论
代码审查
CodeFlow:改进 Microsoft 的代码审查流程
与 Jacek Czerwonka、Michaela Greiler、Christian Bird、Lucas Panjer 和 Terry Coatta 的讨论
微服务
Hootsuite:追求反应式系统
与 Edward Steel、Yanik Berube、Jonas Bonér、Ken Britton 和 Terry Coatta 的讨论
JavaScript 框架
React:Facebook 在编写 JavaScript 方面的函数式转变
与 Pete Hunt、Paul O'Shannessy、Dave Smith 和 Terry Coatta 的讨论
软件定义网络
一个专门构建的全球网络
Google 转向 SDN
与 Amin Vahdat、David Clark 和 Jennifer Rexford 的讨论
SDN 之路
可编程网络的思想史
OpenFlow:网络中的一项激进新理念
一种支持软件定义网络的开放标准
质量保证测试
EA 的自动化 QA 测试
事件驱动
与 Michael Donat、Jafar Husain 和 Terry Coatta 的讨论
测试分布式系统
即使在最佳情况下,测试分布式系统也可能很困难。
在质量保证中采用 DevOps 实践
融合软件开发的艺术和科学
服务器端的 JavaScript
LinkedIn 的 Node
追求更薄、更轻、更快
与 Kiran Prasad、Kelly Norton 和 Terry Coatta 的讨论
JavaScript 和 Netflix 用户界面
条件依赖关系解析
浏览器安全
浏览器安全案例研究
外表可能具有欺骗性
与 Jeremiah Grossman、Ben Livshits、Rebecca Bace 的讨论,
和 George Neville-Neil
除非我们打破它,否则 Web 将不会安全可靠
除非您采取了非常特殊的预防措施,否则请假定您访问的每个网站都知道您的身份。
已解决:互联网不是关键基础设施的场所
风险是依赖的必然结果。
弹性测试
弹性工程:学习拥抱失败
与 Jesse Robbins、Kripa Krishnan、John Allspaw 和 Tom Limoncelli 的讨论
生产环境中的故障注入
为弹性测试辩护
经受意外
故障会发生,弹性演练有助于组织为此做好准备。
反脆弱组织
拥抱失败以提高弹性和最大化可用性
网络拥塞管理
BufferBloat:互联网有什么问题?
与 Vint Cerf、Van Jacobson、Nick Weaver 和 Jim Gettys 的讨论
BBR:基于拥塞的拥塞控制
测量瓶颈带宽和往返传播时间
控制队列延迟
现代 AQM 只是解决 bufferbloat 的方案之一。
Bufferbloat:互联网中的黑暗缓冲区
没有有效 AQM 的网络可能再次容易受到拥塞崩溃的影响。
补充材料:Bufferbloat 视频
在常见负载下,由于 bufferbloat,您的实际互联网“速度”很容易下降十分之一。
文件系统和存储
GFS:快速前进的演变
Kirk McKusick 和 Sean Quinlan 之间关于 Google 文件系统的起源和演变的讨论
天文档案如何在大数据海啸中生存?
天文学家正在收集比以往更多的数据。哪些实践可以让他们在数据洪流中保持领先地位?
保持比特安全:有多难?
随着存储系统变得越来越大,保护其数据以进行长期存储变得越来越具有挑战性。
互操作性测试
Microsoft 的协议文档计划:大规模互操作性测试
与 Nico Kicillof、Wolfgang Grieskamp 和 Bob Binder 的讨论
SAGE:用于安全测试的白盒模糊测试
SAGE 在 Microsoft 产生了显著的影响。
重新考虑稳健性原则
寻求中间立场
用户体验设计
用户体验设计和敏捷:天作之合?
来自 SAP 的用户体验设计师和软件工程师讨论了在业务智能查询工具上协作的挑战。
通过自动化测试查找可用性错误
自动化可用性测试可以成为现场测试的宝贵补充。
多核性能
Photoshop 可扩展性:保持简单
Clem Cole 和 Russell Williams 讨论了 Photoshop 在并行性方面的悠久历史,以及他们现在认为的主要挑战。
管理多核处理器上共享资源的争用
缓存、内存控制器和互连的争用可以通过争用感知调度算法来缓解。
RIA 开发
案例研究:迁移到 AJAX
软件即服务提供商从使用 AJAX 框架进行 RIA 开发中学到了什么
评论:没有路线图的旅程
与其仅仅想象您的用户想要或需要什么,不如首先获得他们的意见,这始终是个好主意。
在约束中狂欢
Google Web Toolkit 是一种绕过 Web 开发障碍的最终手段。
在生产环境中调试 AJAX
在缺乏适当的浏览器支持的情况下,我们可以采取哪些步骤来调试生产环境中的 AJAX 代码?