速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

从 QCon 旧金山 2012 中学到的关键经验和教训

  • 2013-03-03
  • 本文字数:20497 字

    阅读完需:约 67 分钟

今年,一支由团队主管、架构师及项目经理组成的庞大队伍降临在旧金山内河码头 (The Embarcadero in San Francisco),参加一场年度技术朝圣大会: QCon 旧金山 2012 (QCon San Francisco 2012,以下简称 QConSF)。为了能够容纳 950 名参会者(比去年多出 30%),今年的会议被迫迁到了更大的地方。

继承会议传统,选择的演讲“由参会者参与,为参会者服务”,QConSF 提供超过 100 个主题演讲,还有今年第一次开办专业便利的 open space 环节。今年的参会者同样也有机会参加首次举办的 GrapchConnect 大会,这个大会是一个跨地区两日会议,覆盖在 NoSQL 及图形数据库方面的重要主题。

QConSF 中,Facebook、Google 及 Pinterest 的案例研究吸引了大批人,还有大量主题关于持续发布、大数据及 NoSQL、移动跨平台、动态语言等等。本文摘取了 QConSF 2012 中,针对所有演讲、主题及活动的一些关键分享,包括编辑与参会者的博客文章,还有活动期间 twitter 上的反馈。你可以从这里看到 QCon 大量参会者发布的照片

专题

演讲

你所关心的架构

大数据与分析

持续发布

跨平台移动

Web 动态语言

Java 的复兴

松散并发与今日的 CAP 定理

机械交感

NoSQL 的锋芒

可编程网络

实时网络

硅谷的故事 + 在硅谷构建十亿用户 by David Mortenson + 优雅工程:Square 堆栈的秘密 by Bob Lee

驾驭 HTML5 及 JavaScript

敏捷团队实地指南

用户体验 (UX)

解决方案:No SQL

QCon 的观点

后记

结论

专题

敏捷回顾 by Aino Vonge Corry

Twitter 上关于这个主题的反馈包括:

ernando Moribe ‏@fgmatwork : @apaipi 分享的敏捷回顾是#qconsf 上最好的指南之一。

持续发布 by Jez Humble

Twitter 上关于这个主题的反馈包括:

Fernando Moribe ‏@fgmatwork : 在#qconsf 的第一天,@jezhumble 分享的持续发布非常令人敬佩。

Vlad Skvortsov ‏@wadcom : “很多人成为工程师的原因,是这样他们可以避免与其他人交谈” @jezhumble at #qcon

Vlad Skvortsov ‏@wadcom : 定义:遗留代码是一个没有自动化测试的代码。#qcon

PhoneGap 跨平台移动应用 by Christophe Coenraets

Twitter 上关于这个主题的反馈包括:

desbiens ‏@desbiens : 构建与部署我的第一个 phonegap 应用,谢谢 @ccoenraets #qconsf

Lou Sacco ‏@occasl : @ccoenraets #Phonegap 这个主题令人印象深刻的是,为取得良好性能,什么 JS API 有效的。#qconsf

领域驱动概要 by Eric Evans

Twitter 上关于这个主题的反馈包括:

Franklin Amorim ‏@cyberelfo : “现实是一种消遣。一个模型服务于某些使用场景。”Eric Evans #QConSF

Hakeem Mohammed ‏@hakeemsm : 在#ddd 方面有了新的认识,by @ericevans0 at #qconsf ,多年前读过他的书,现在能够听到他本人演讲。

科技服务:系统进化方法研究 by James Lewis

Twitter 上关于这个主题的反馈包括:

Kris Trujillo ‏@kris_trujillo : “技巧 1 - 分治” 微服务 #qconsf

Kris Trujillo ‏@kris_trujillo : “技巧 2 – 使用康威定律来组建团队” – 微服务 #qconsf

Kris Trujillo ‏@kris_trujillo : “技巧 3 – 最后责任时刻……不要在你知道很少的时候做决定” – 微服务 #qconsf

Kris Trujillo ‏@kris_trujillo : “技巧 4 – 成为一个网络,而不是在网络后面” - 微服务 #qconsf

Kris Trujillo ‏@kris_trujillo : “技巧 5 – 如果某件事很重要,让它在你的设计中是一个很明显的部分” – 微服务 #qconsf

Kris Trujillo ‏@kris_trujillo : “技巧 6 – 在业务流程中支持服务编排” – 微服务 #qconsf

Kris Trujillo ‏@kris_trujillo : “技巧 7 – 让做正确的事更简单,做错事更难” – 微服务 #qconsf

Kris Trujillo ‏@kris_trujillo : 跟随微服务方法清除寻找的应用 #qconsf pic.twitter.com/wuedfiN1

Jeff Gothelf ‏@jboogie :.@tsharon 在给工程师介绍ux 研究 #qconsf pic.twitter.com/o61ODM4x

Kris Trujillo ‏@kris_trujillo : “没有银弹” – 微服务 #qconsf

专业 JavaScript 与 CoffeeScript by Peter Bell

Twitter 上关于这个主题的反馈包括:

QCon San Francisco ‏@QConSF : “ @PeterBell : 谢谢大家来参加我在 @QConSF 的 javascript/coffeescript 演讲 – 会有爆料的!” – 我们也已经爆料了! #qconsf

演讲

酷与无用性 by Kevlin Henney

Twitter 上关于这个主题的反馈包括:

Lene Mejlby ‏@Mekkaz : 不要相信编译器,自己输入吧。 @KevlinHenney 谈到代码自动补全。#qconsf

Therese Hansen ‏@qedtherese : Kevlin Henney 在#qconsf 的舞台上展示了这个: http://m.youtube.com/watch?v=cYw2ewoO6c4 … 我一位丹麦朋友做的这个 #CoolAndUseless

avid Whittaker ‏@rundavidrun : @kelvinhenney 给我们介绍了 COBOL on Cogs,与 Ruby on Rails… 当然使用 JS 写的。 http://coboloncogs.org #AtwoodsLaw #qconsf

Fernando Moribe ‏@fgmatwork : kevlinhenney 在#qconsf 的演讲非常有趣。 http://instagr.am/p/RwGddhsDp3/

Geoff Webb ‏@geoffnettaglich : “酷与无用性”演讲中的亮点 #qconsf Cobol on Cogs ( http://www.coboloncogs.org/ ) 与 JS/Linux ( http://bellard.org/jslinux/ )

NoSQL:过去,现在,将来 by Eric Brewer

Twitter 上关于这个主题的反馈包括:

Kris Trujillo ‏@kris_trujillo : “数据比任何特定实现要持久” - Eric Brewer #QConSF

David Whittaker ‏@rundavidrun : @eric_brewer 说:“在 70 年代,我们迁移到更好的层级模型,从汇编到 C,从导航到关系数据库。” #qconsf

Therese Hansen ‏@qedtherese :Eric Brewer 在#qconsf 的舞台上讲NoSQL,以及 SQL 之前“NoSQL”的一些历史 http://instagr.am/p/RxvHfJngOe/

David Whittaker ‏@rundavidrun : 想要一个干净的模型和 ACID 事务?用关系吧。想要优雅的、模块化的、灵活的?用 NoSQL 吧。 @eric_brewer #qconsf

Erik Sowa ‏@eriksowa :Eric Brewer 在#qconsf : “ACID 是神圣的。” CAP 这点!

David Whittaker ‏@rundavidrun : @eric_brewer 利用 CAP 理论来解释为什么他在设计数据共享系统时不得不进行权衡。#qconsf

Martin Thompson ‏@mjpt777 : “当石头在他的浴缸里时,Jim Gary 想出了‘ACID’事务。不要太执着于字母…” - Eric Brewer #qconsf

Martin Thompson ‏@mjpt777 : “超时是让你在一致性和可用性之间做出选择的一个点。” - Eric Brewer #qconsf

David Whittaker ‏@rundavidrun : @eric_brewer 声明:“对大多数业务而言,可用性比临时的不一致性更重要,即使是银行,例如 ATMs。” #qconsf

Dan Cundiff ‏@pmotch :Eric Brewer, CAP 创造者说:“在现实世界系统里,可用性大于一致性,因为可用性与收入挂钩。” #qconsf

竞争条件、分布、交互——测试硬东西与保持理智 by John Hughes

Twitter 上关于这个主题的反馈包括:

Geoff Webb ‏@geoffnettaglich :John Hughes (mr haskell) 说“不要写测试,生成它们” #qconsf

Ismail Elshareef ‏@ielshareef : 不要写测试;生成它们。使用 QuickCheck。来自 @rjmh 的演讲, 完全点燃了激情。 #qconsf #tdd #qa

David Whittaker ‏@rundavidrun : @rjmh 用 C 实现循环缓冲队列,这显然是正确的,用 Erlang 来测试预期行为模型。酷!#qconsf #tdd #qa

Therese Hansen ‏@qedtherese :John Hughes 在#qconsf 的舞台上谈竞赛条件及其他令人讨厌的事物的测试。 http://instagr.am/p/R0UXNjHgAD/

David Whittaker ‏@rundavidrun : @rjmh 模型竞争条件,通过售票机隐喻然后模糊测试,试图将交错作为顺序检查。#quickcheck #qconsf

iliketoprogram ‏@iliketoprogram : 亲爱的 #Quickcheck - 我需要研究你,你看起来棒极了! #qconsf

真实的软件工程 by Glenn Vanderburg

Twitter 上关于这个主题的反馈包括:

Kris Trujillo ‏@kris_trujillo : “当‘软件’和‘工程师’一起使用时,它开始出错” - Glenn Vanderbug #qconsf

Kris Trujillo ‏@kris_trujillo : “作为一门学科,软件工程‘过早成熟’” - Glenn Vanderburg #qconsf

Kris Trujillo ‏@kris_trujillo : “在工程方面。。。人们通过文档进行设计”这种想法杀死了我们的软件工程师 / 架构师 #qconsf

Kris Trujillo ‏@kris_trujillo : “飞机的机翼在工程师预期的准确点停止”。。。如果软件也能这样。。。#qconsf

Kris Trujillo ‏@kris_trujillo : “不同的工程学科是不同的” #qconsf

Therese Hansen ‏@qedtherese : 软件工程是一项科学与艺术 #qconsf http://instagr.am/p/RvNlfOngJm/

Kris Trujillo ‏@kris_trujillo : “软件工程师与其他工程师不同” - Glenn Vanderburg 在真实软件工程中的演讲 #qconsf

Kris Trujillo ‏@kris_trujillo : “在软件中构建原型基本上是瞬时并免费的”。。。原型强于文档 #qconsf

Kris Trujillo ‏@kris_trujillo : “在软件工程领域,代码就是文档” #qconsf

Johannes Carlén ‏@johannescarlen : “在软件工程中代码就是模型” - Glenn Vanderburg #qconsf

adrian cockcroft ‏@adrianco :#qconsf 软件工程主题采用了漫画的形式展现软件工程与其他工程的不同 #strawman #fail

Kris Trujillo ‏@kris_trujillo : “什么运转得最好?敏捷开发的一些变种” - Glenn Vanderburg #qconsf

David Whittaker ‏@rundavidrun : @glv #qconsf 问,“如果你能够很快并且免费建立原型,为什么要花更多的时间在正式的方法上呢?”

你所关心的架构

Google 云计算 by Randy Shoup

Twitter 上关于这个主题的反馈包括:

Jim Constantine ‏@jgc94131 : google 的扳手 – 通过全球同步时钟进行全球的数据存储 #QConSF

Hiroaki ONO ‏@hihihiroro :KVM- 用 Ubuntu 或 CentOS 来管理虚拟机 @Google #QConSF

Pinterest 的可扩展性 by Yashwanth Nelapati & Marty Weiner

Twitter 上关于这个主题的反馈包括:

rama roberts ‏@ramarob :Pinterest 有 80 cc2.8XL MySQL 服务器。真让人惊讶。 #QconSF CyberPunkie ‏@CyberPunkie :#QConSF 100 Redis 实例 + 80 Memcache … #Pinterest

大数据与分析

100% 大数据,0% Hadoop,0% Java by Pavlo Baron

Twitter 上关于这个主题的反馈包括:

Alex Popescu ‏@al3xandru : 多年以前:有很多“免费”数据,工具却很少。现在:很多工具,很多数据,但是它们都在墙里。 @pavlobaron #qcon #qconsf

Appwatch – 一个 Ebay 大数据应用监控系统 by Bhaven Avalani & Yuri Finklestein

Matt O’Keefe 进行了分享:

这是一个将监控作为内容的大数据讨论。问题域包括经营管理(性能,错误,异常检测),根源(根本原因解析),业务监控(客户行为,点击流分析)。客户监测包括开发,运维,信息安全,管理,研究,和业务团队。多少数据?在 2009 年,它每天有几十 TB,现在超过 500 TB / 天。这个数据的驱动器是业务的增长,SOA(许多小块记录了更多数据),业务洞察力和运维自动化。

第二个方面是数据质量。为了减少熵值,有日志、度量和事件。日志是自由的形式,而事件是通过定义。真实性增强。日志可能不准确。

数据中心有数千台服务器生成日志、度量和事件,这些数据反馈到数据分布系统。这些数据被分配到 OLAP,Hadoop 和 HBase 存储。一些数据进行实时处理,而例如 OLAP 为公制提取的其他活动则不是。 … 分布大量数据中最难的部分是故障处理。可以暂时缓冲数据,并处理峰值,这是很必要的。他们的解决方案类似于 Scribe Flume ,除了工作单元的日志之外增加多条线路。这些线路必须以正确的顺序处理。故障域管理器将数据复制到下游领域。它采用了队列系统来处理暂时不可用目标域,例如 Hadoop 或消息队列。队列可以显示出由几十十万发布商客户在生产系统中的压力。队列由循环缓冲区实现,这样档压力过大时它们能够丢弃数据。这有不同的策略,例如是丢弃头还是丢弃尾,依赖于域的要求。 …

见解

  • 熵是要重点观察的;要尽可能早的删除
  • 数据分布要有灵活性和弹性
  • 存储要为访问模式进行优化

通过 Looking Glass – 应用分析于开发中 by Michael Feathers

Twitter 上关于这个主题的反馈包括:

ames Morgan ‏@jmrgn : Feather 在分享为许多提交分析文件代码复杂度。很酷的事情。非常好的方式来确定重构的机会。 #qconsf

David Whittaker ‏@rundavidrun : @mfeathers 警告,“在软件方面有一种偏见,某些文件有很好的变化率。保持这些文件的低复杂度吧。” #qconsf

Erik Sowa ‏@eriksowa : 分析代码行发人深省的例子 - @mfeathers #qconsf – 例如客户流失情况 vs. 复杂度。

Lene Mejlby ‏@Mekkaz : 做为一个团队,合作要求读心。 @jeffpatton #qconsf

持续发布

持续交付 by Jez Humble

Twitter 上关于这个主题的反馈包括:

Johannes Carlén ‏@johannescarlen : “精益不是为了减少成本,精益是在价值流中减少浪费” - Jez Humble #qconsf

Matt Barcomb ‏@mattbarcomb : 持续发布:你的软件需要常常部署…不是可悲 cc @jezhumble #qconsf

改变文化,成为令人敬畏的力量 by Jesse Robbins

Twitter 上关于这个主题的反馈包括:

David Whittaker ‏@rundavidrun : 在大系统中,最终所有事情能够正确且和谐地运转,持续部署是典范。 @jesserobbins https://twitter.com/search?q=%23qconsf&src=hash

lane halley ‏@thinknow : 小改变,大影响。“没人负责” “每个人都负责” @jesserobbins 黑客文化改变 https://twitter.com/search?q=%23qconsf&src=hash

Lou Sacco ‏@occasl : @jesserobbins 的演讲非常好,如何做一个持续部署过程中的好管家。 https://twitter.com/search?q=%23qconsf&src=hash

Matt O’Keefe 也参与了这个主题的讨论:

进行持续部署的团队更幸福。看着你的代码活生生的运行是非常可喜的。你有经历新事物的自由,因为你不用处理大的发布以及让所有事物在一次运行中正常的挑战。…

仅仅工具是不够的(即使真的伟大的工具如 Chef!)。为了取得成功,你需要说服你信任的和你想一起工作的人。原因是显而易见的,例如参看肯威定律。团队需要持续在一起工作,而不仅仅只是部署的时候。

选择:组织稳定利益的变化,或像日常需要一样允许变化。问一下哪个选择更好而不仅仅是一份声明。…

文化改变花费很长时间。这是最困难的事。杰西规则:不要愚蠢地打架,做些更惊人的事情吧!选择你的战争,做下面的 5 件事情:

  • 从小事情做起,建立信任与安全。如果你想彻底改变,机械化会阻止你。
  • 创造冠军。首先攻击有争议的事情。
  • 使用度量建立信心。创造你可以指出来让大家兴奋的事情。时间价值非常好。
  • 庆祝成功。让人兴奋起来,即使是微不足道的成绩。这件事可以让你创造一个回顾点,当你往回看时能看到进度。
  • 利用引人注目的事件。当某些事情打破了,就有机会让某些东西不同。“货币使之改变”是有效的,正如 John Allspaw 所说的那样。

云端大规模持续测试 by John Penix

Twitter 上关于这个主题的反馈包括:

desbiens ‏@desbiens : Google 每天运行超过 5000 万的用户测试, @johnpenix, #continuousdelivery #qconsf

desbiens ‏@desbiens : 3 个角色与用例:缔约者,发布工程师,开发者, @johnpenix, #continuousdelivery #qconsf

Dan Cundiff ‏@pmotch :Google 的 John Penix CI 统计:代码库中 200k 测试套件,每天运行 10m 测试套件,每天大于 60m 测试套件,每天大于 4k CI 构建。#qconsf

Jez Humble ‏@jezhumble : @LindroosKE :“人们不是在分支上工作。好,许多团队是这样的,并且他们不开心” << 来自 Google 的 @johnpenix #qconsf

stuartblair ‏@stuartblair : @johnpenix : “阻止人们检查断码,公开羞辱通常是够的” #qconsf

Jez Humble ‏@jezhumble : Google 的 CI 及自动化测试 @johnpenix #qconsf pic.twitter.com/yQLYO4JA

产品开发的连续实验 by Frank Harris & Nell Thomas

Twitter 上关于这个主题的反馈包括:

lane halley ‏@thinknow : 太酷了。 @Etsy 一次点击部署,非常自动化“VCs,狗和 PMs 部署。” #qconsf

Ivan Linhares ‏@ivanlinhares :Etsy 在 #qconsf ,一天做 20 次部署,且自动进行 AB 测试。

Dan Cundiff ‏@pmotch :Etsy 产品部署每天 20+ 次,涉及 200+ 开发人员。一年 10000 次部署。#qconsf

Hans Thunberg ‏@hthunberg : 小且频繁的发布能够摆脱可怕的发布。 #etsy @ #qconsf

lane halley ‏@thinknow : 很兴奋听到 @Etsy 介绍通过假设和持续部署更快速且自信。 #qconsf @jboogie

Facebook 的发布工程师 by Chuck Rossi

Twitter 上关于这个主题的反馈包括:

Therese Hansen ‏@qedtherese :Facebook 开发者安全沙箱加载时间。~ David Mortenson #qconsf http://instagr.am/p/RyN-ymHgII/

Fernando Moribe ‏@fgmatwork : “Facebook 只有工程师,没有 QA 部门”。测试自动化,工程师自己写测试 #qconsf

Kris Trujillo ‏@kris_trujillo : 与 Facebook 工程师 David Mortenson 所描述的生活一样…. 听起来像是一个很伟大的文化 #qconsf

Dante Briones ‏@dantebriones :.@chuckr 打破错误的观点, #continuousdelivery 意味着产品的 #testing #qconsf

Pete Hodgson ‏@ph1 : Facebook 的错误报告包含堆栈跟踪… 每个功能都是用 SVN,这样他们知道谁在发出叫喊。 #qconsf

Pete Hodgson ‏@ph1 :Facebook 开发的 khama 仅仅对开发人员、发布团队还有开发经理可见 :-/ #qconsf

Fernando Moribe ‏@fgmatwork : “单独的工具救不了你。你需要正确的文化(公司)”Facebook 关于发布过程 #qconsf

Matt O’Keefe 参与了这个主题的讨论:

你需要常常测试。很多人常说但是并不懂是什么意思,但是 Facebook 认真对待这件事。雇员从来不直接到真是的 facebook.com 去,因为他们被重定向到 www.lastest.facebook.com 。这是 Facebook 加所有挂起改变的产品,这样全公司可以看到什么将发布。嗅觉很重要。如果有严重的错误,你会被重定向到错误提交页面。

文件错误你可以复制。让内部用户报告问题更简单。Facebook 内部包含一些额外的 chrome 按钮来捕获进程状态,然后将错误报告发给合适的人。

当 Chuck 进行一个推送时,还有另外一个步骤,开发人员的修改没有合并除非你证明了这点。你需要回复消息确认你在线,并且准备好进行推送。所以实际的发布是 www.inyour.facebook.com 比 latest 有少一些的修改。

Facebook.com 是不能用于沙箱的。开发人员必须坚持抗拒测试产品。如果你有十亿用户,不要在产品之外搞清楚问题。Facebook 有独立完整和强大的沙箱系统。

待机工作是很严重的。他们要确保有工程师作为整个系统节点的联系人。Facebook 有一个工具允许快速找到待机工作的人。没有工程师能够摆脱这个。

Facebook 所有事情都用 IRC。它扩展到了一个通道容纳 1000 人。简单的问题由 bot 回答。有一个简单的命令来查看任何 rev 的状态。它们也有浏览器快捷键。Bots 是你的朋友,他们向条狗一样跟着你。一个 bot 会向开发人员确认他们想要发布一个变化。…

当 Chuck 进行最终合并时,他立即触发了一个系统测试。大约有 3500 单元测试套件,他可以每个机器运行一个。他可以每个精选后再运行测试。…

Chuck 的工作是管理风险。当他看着精密仪表盘时,仪表盘上显示了变化的大小,以及争议工具的讨论数量(争议的是如何改变)。如果都很高,他要更加密切关注。他也能看到推送因果率每个请求达到五颗星。他有一个不喜欢按钮来降低你的因果率。如果你见到了两颗星,Chuck 将停止你的修改。你需要去找他恢复跟踪。…

主要一点是,你不能用你的方式使用工具。来到这的人都被洗脑了,所以他们能够融入这部分文化。你需要一个正确的公司来支持从顶部滑下来。

跨平台移动

为所有移动平台构建社交应用 by James Pearce

Twitter 上关于这个主题的反馈包括:

alex-and-r ‏@alex_and_r :“@firt: 目前 Facebook 统计 HTML5/web 与 原生流量 Via @jamespearce at #qconsf pic.twitter.com/Bfr1VLoe” О_О

Maximiliano Firtman ‏@firt : 在 Facebook 将 HTML5 迁移到原生之后,用户消费了 2 倍的内容。Via @jamespearce at #qconsf

David Whittaker ‏@rundavidrun :@jamespearce #qconsf 说:“不要一开始就要求所有的权限,随着时间的推移与你的用户建立信任,在需要的时候申请权限。”

David Whittaker ‏@rundavidrun :@jamespearce #qconsf 讲到,创建虚拟 APP 的关键因素是,通过社交故事讲述,给用户一种方式来分享他们的经历。

David Whittaker ‏@rundavidrun :@jamespearce #qconsf 说:“手机是一个最终社交连接设备,允许亲自改变经验。”

Maximiliano Firtman ‏@firt : Facebook 在 HTML5 方面:“我们的挑战不是每个人的挑战” @jamespearce #qconsf

Maximiliano Firtman ‏@firt : 在移动终端,性能是非常重要的。对于 Facebook 来说,两倍的速度,意味着两倍的内容被消费,以及 3 周内从 1.5 星到 4 星。 #qconsf

Chris Ferdinandi 也参与了这个话题的讨论:

Facebook 每天能从 7000 设备的移动端网页获得流量,对比看起来像第三方的 iOS 和 Android 本地应用。Facebook APP 现在是苹果 App 商店排名前 50 最多下载的应用,在社交网络中排名第四。而他们从移动 HTML5 网站上获得的浏览比 Android 和 iOS 应用之和还要多。

本地应用非常好。就我个人来说,相比访问他们在移动 Safari 上的网站,我更喜欢使用 Facebook 的 APP。但是人们还是会去网站,甚至在移动设备上是他们经常访问的网站。

移动Web 开发者的工具带 by Pete LePage

Twitter 上关于这个主题的反馈包括:

David Whittaker ‏@rundavidrun : 谢谢 @petele 向我们展示了这么多优秀的 web 开发工具! #qconsf f -HammerJS, CodeKit, LawnChair, FastClick, JSConsole, 等。

desbiens ‏@desbiens : 远程调试 w/ firefox,或 chrome 远程调试 android 或 ios w/ safari,移动工具带 #qconsf

David Whittaker ‏@rundavidrun : @petele “你现在有机会‘制造惊奇。’推动网络,让事情发生吧!” http://m.chromeexperiment.com #qconsf

Loutilities 也参与了这个话题的讨论:

Pete LePage(@petele) 给了我们很好的概览,了解了不同的工具,当开始移动应用开发时你需要考虑。 Sublime,Codekit

移动开发良好设计模式的非常好的网站:

  • www.mobile-patterns.com 展示了应用截屏以获取创意
  • pttrns.com 也非常棒

从 SenchaTouch、bootstrap,或者 jqueryMobile 开始制作吧。

Gitbub.com/ftlabs/fastclick 提升按钮点击性能(通常延迟 300ms 来缩放、播放等)

要调试的话,jsconsole.com 可以用来在其他设备上进行远程调试,能够在网站上显示…

Hammer.js 很酷,手势事件的监听。

Brian.io/lawnchair 可用于存储一些临时数据,通过抽象 IndexDB、WebSQL 或 LocalStorage。

@media,高密度分辨率很酷,或使用 CSS-webkit-image-set 为 hi-rez 图标设置为 1x 和 2x 图像密度

CharlesProxy 很好,在 Mac 上测试网络延迟或网络链接调节器

Chrome 开发工具有很酷的功能,覆盖地理定位、用户代理和设备方向

Web 动态语言

Grail 2 的多语网络开发 by Jeff Brown

Twitter 上关于这个主题的反馈包括:

Gareth Rushgrove ‏@garethr :OH: “在动态语言中,编译器能够让你调用不存在的东西很重要” 很赞的观点来自 @jeffscottbrown #qconsf

使用Node.js 探索整个网络应用程序性能 by Tom Hughes-Croucher

Twitter 上关于这个主题的反馈包括:

Ismail Elshareef ‏@ielshareef : “延迟是如何影响我们服务的?” @sh1mmer 的提问。Node.js 可以非常好的定位移动设备的延迟。非常好的演讲。 #qconsf

desbiens ‏@desbiens : 事件驱动编程,nodejs 能够非常好的适应移动架构 @sh1mmer #dynamiclanguage #qconsf

desbiens ‏@desbiens : 探索移动应用架构与桌面 web 的很多不同点 @sh1mmer #dynamiclanguage #qconsf

stuartblair ‏@stuartblair : 荣誉归于 @sh1mmer ,他提供了我见过的最令人信服的 node.js 案例。 #qconsf

Java 的复兴

Android 应用解析 by Eric Burke

Twitter 上关于这个主题的反馈包括:

David Whittaker ‏@rundavidrun : 在 #Android 中,推送到服务器,捆绑到任务队列,检查网络,如果有的话从队列中删除,重复直到为空。 @burke_eric #qconsf

David Whittaker ‏@rundavidrun : @burke_eric 演示了一些 @square 的最好开源#Android 库:Tape (FIFO), Otto (bus), and Dagger (CDI) http://square.github.com #qconsf

松散并发与今日的 CAP 定理

探索 CAP 中的漏洞 by Michael T.Nygard

Twitter 上关于这个主题的反馈包括:

rama roberts ‏@ramarob : 节点差异。组可以使用 GPS 时间解决 CAP 局限性来重构线性历史。参见 Google Spanner。 - @mtnygard #QConSF

adrian cockcroft ‏@adrianco :#QConSF @mtnygard 正在讲关于 ACELC by @daniel_abadi 分区意味着库存 / 一致性的权衡,或延迟 / 一致性的权衡。

不再恐惧:拥抱最终一致性 by Sean Cribbs

Twitter 上关于这个主题的反馈包括:

Alex Popescu ‏@al3xandru : “任何足够大的系统是恒定在一个部分失败的状态” @justinsheehy via @seancribbs #QConSF

CAP 的平衡:构建可信赖的数据存储 by Jeremy Edberg

Alex Handy SD Times 的报道:

Netflix 的云业务与可靠性工程经理 Jeremy Edberg 说,当他作为新闻网站 Reddit 的一名工程师时,他学会了如何为快速访问存储数据。

关于 Reddit 的堆栈,他说,“有 Cassandra、Postgres 和 memcached。Reddit 使用最多的方式是通过 Postgres 的分片。Reddit 分别写在四个主数据库,他们有不同类型的东西。每个在其他区域中至少有一个副本。投票链接只有一个副本,而评论有 17 个副本分布在不同的区域。 Reddit 使用 Postgres 像 NoSQL 那样存储。只有两个表:一个事物表和一个数据表。”

Edberg 说成功的关键之一是在 memcached 中使用一致的密钥散列。“这非常重要。如果你使用每个 memcached 库都默认使用的散列算法,[你可能遇到性能问题],”他说。“如果你增加了一台服务器,需要将 3/4 的数据迁移到不同的服务器,这样你的缓存有 3/4 是无效的。一致的密钥散列则相反:1/4 的数据在错的位置。这样档你增加新节点时,你的数据库就不用承受巨大负载。专业建议:使用一致密钥散列。如果你使用 memcached,如果你不手动设置的话,你可能要使用一个很天真的散列算法。”

最后,Edberg 说到,从一开始的可扩展设计是关键,但最初的服务器也是重要决定。“从二台到三台是很困难的,”他说。“当你有一台服务器,从一台到两台操作起来也很困难,这是为什么我建议开始就设计为三台。从三台到六台的扩展要比一台到两台或两台到三台要容易很多。”

机械交感

JVM 力学:引擎下的峰值 by Gil Tene

Twitter 上关于这个主题的反馈包括:

Pavlo Baron ‏@pavlobaron :Gil Tene 在 #qconsf : “大部分人测量东西是没有问题的”…“99.9% 的时间,你的心脏都是保持跳动的”

Pavlo Baron ‏@pavlobaron :Gil Tene 在 #qconsf : “反压不会让我们感知到不好的事情 – 他们只是没有获得报告”—这家伙真令人惊奇!

Pavlo Baron ‏@pavlobaron :Gil Tene 在 #qconsf : “百分位数都不错,但是总是测量最大值”

通过 HHVM 金属质感的PHP by Keith Adams

Twitter 上关于这个主题的反馈包括:

Martin Thompson ‏@mjpt777 : “memcpy 会大约填入 i-cache 的 1/3,因为它是 11KB 的代码。” - Keith Adams #qconsf

与魔鬼同行:机械交感神经网络 by Todd Montgomery

Twitter 上关于这个主题的反馈包括:

Martin Thompson ‏@mjpt777 : “批处理是促使应用性能更好的关键技术…” - @toddlmontgomery #qconsf

Martin Thompson ‏@mjpt777 : 应用“Application Level Framing”能够极大地简化你的网络设计。 @toddlmontgomery #qconsf

NoSQL 的锋芒

架构模式的高可用性 by Adrian Cockcroft

Twitter 上关于这个主题的反馈包括:

John Martin ‏@tekBuddha : “在 Netflix 我们不做的事情:容量计划。” - @adrianco #QConSF

Dan Cundiff ‏@pmotch : 听 Netflix @adrianco 关于 HA 模式的演讲。我知道 Chaos Monkey,但不是 Latency Monkey 和 Chaos Gorilla. #QConSF

Dan Cundiff ‏@pmotch : 在 #QConSF ,我观察到几个大品牌都迁移到了 @ubuntu 。Netflix 就是一个例子。对我来说很有意义。

Pavlo Baron ‏@pavlobaron : Netflix 推动开发人员开源所有他们写的代码。这对质量产生了自然压力。所以我盗用了这个想法… #QConSF

CyberPunkie ‏@CyberPunkie :#QConSF Netflix 与大量扩展:500 个 Cassandra 实例!

MongoDB 大规模数据中心的架构 by Kenny Gorman

Twitter 上关于这个主题的反馈包括:

Jim Constantine ‏@jgc94131 :mongoDB 的宝石:你的指标必须符合内存 / 一次写锁定 /ops 的噩梦 / 插入的返回代码,还有很多没有告诉你 #QConSF

Loutilities 也参与了这个话题的讨论:

Kenny Gorman 提出了 MongoDB 的陷阱,以及如何适当地扩展。

使其正常化知道它能够在实际的规模下正常运行;垂直分割然后水平化

MongoDB 是 OPS 的噩梦

MongoDB 的挑战:

  • 锁的范围;2.2 有 DB 级锁的范围;2.0 是全局的
  • 可见性
  • 模式 – 仍需要商业化的事物
  • 当坏的事情发生…它迅速下降

扩展设计:

使差异正常化。DB 的 调整你的工作负载 NoORM;转储 早期碎片(提前想想你的碎片关键) 复制(如何获得可用性) 前产品负载测试

可编程网络

缓存超媒体接口 by Tim Stokes

Twitter 上关于这个主题的反馈包括:

Kris Trujillo ‏@kris_trujillo :WS-* 超媒体的黑暗时代 – 很好的方式来描述它!可编程网络 #qconsf

Kris Trujillo ‏@kris_trujillo : 用身体传输状态而不是 URI – 缓存超媒体 #qconsf

Kris Trujillo ‏@kris_trujillo : 学到了一个新的伎俩,Content-Location 伪装成 POST 响应缓存 – 真棒!-- 缓存超媒体 #qconsf

Kris Trujillo ‏@kris_trujillo : 当缓存超媒体时记住关键点 #qconsf http://t.co/60igzTtV

Kris Trujillo ‏@kris_trujillo : 设计超媒体缓存的最佳方法 #qconsf pic.twitter.com/EtnoVyXp

构建超媒体接口的真实生活故事 by Mike Amundsen

Twitter 上关于这个主题的反馈包括:

Kris Trujillo ‏@kris_trujillo : Bash 脚本作为超媒体 API 的一个客户端 – 非常酷! @mamund #qconsf

Kris Trujillo ‏@kris_trujillo : 媒体类型是预定义的超媒体元素的集合 – 可编程网络 #qconsf

Kris Trujillo ‏@kris_trujillo : 消息设计,不是对象设计 – 可编程网络 #qconsf

Kris Trujillo ‏@kris_trujillo : 使用线性对象的人在使用超媒体时会有一段很困难的时期 – 可编程网络 #qconsf

Kris Trujillo ‏@kris_trujillo :APIs 要可用 – 可编程网络 #qconsf

Kris Trujillo ‏@kris_trujillo : 当应用启示到超媒体时有四个很重要方面要考虑:安全 (safety),操作一致性 (idempotent),可变性 (mutability),独立片段 (transclusion) #qconsf

Kris Trujillo ‏@kris_trujillo : 如果你使用了正确的设计,你的用户可能做到你从未想象过的事情 – 可编程网络 #qconsf

Alex Handy SD Times 的报道:

7 级 API 架构师 Mike Amundsen 表示,企业非常关注 APIs 的管理和政策执行。但是他也表示,这些对 SLAs 和产品 APIs 新的关注也导致了大企业中如何处理 APIs 的一些有趣变化。

“现在很多时候,我看到销售会议中的人会说‘我不是领导架构,我是领导产品,’”他说。“他们使用那个词。即使在 IT 领域,有时这些产品领导者很内向。”

简单来说,APIs 正趋向于常规软件产品接受的那样关心与培养。这甚至延伸到企业如何设计 API 。“在房间里的其他人是用户体验设计人员,” Amundsen 说。“我看到人们使用故事和任务来进行 API 设计。以用户为中心的设计对他们对我们的客户来说是很大的事情。”

Amundsen 说,与现在的很多 API 管理主题不同,7 级不是简单的推荐 REST 。实际上,作为最佳实践之一的他的公司建议,允许 API 进行松散耦合在一起使用。

“你已经获得了组成层,那是你的商业部分,”他说。“我们告诉人们,实际考虑 API 作为很薄的木皮 – 像 UI – 和一个表示层。你的组件给你数据,你将那些组合到有趣的事物中,然后代理它给客户端,或作为 SOAP 消息,或 JSON 有效负载,或作为 REST 。”

实时网络

经典MVC 架构的实时集成 by Daniel Erickson

Loutilities 也参与了这个主题的讨论:

MVC 仍然会存在因为…

  • 它为项目提供了结构
  • 允许人们简单跳转到一个项目,以及多人同时操作
  • 容易上手

实时很赞,因为:

  • 从你的用户及时获取反馈
  • 在移动终端上运行良好(Voxer)
  • Web Sockets 通过长 / 短轮询

MVC 与 实时 如何混搭?

进入 Geddy …如果你知道 Rails、NoSQL/SQL ORM 层,以及模版语言,那么 Geddy 是一个自然过程。PostGres,Riak,MongoDB 适配器;EJS 和 Jade TL 的。支持 RT OOTB。

Geddy 给了你一个使用 ORM/MVC 框架的方法,这样你可以很容易的融入到你的 Node.js 应用中使用。

实时网络:HTML5 WebSockets,Engine.IO,Socket.IO,SPDY,HTTP2.0 及其相关内容 by Guillermo Rauch

Twitter 上关于这个主题的反馈包括:

adrian cockcroft ‏@adrianco : #qconsf 关于 web sockets 和实时网络是非常好的介绍,由 Guillermo 带来的演讲,scoket.io 和 engine.io 的作者

硅谷的故事

在硅谷构建十亿用户 by David Mortenson

Twitter 上关于这个主题的反馈包括:

Christian Sanz ‏@csanz : “Facebook 没有 QA,只有工程师,他们负责质量” - David Mortenson, Facebook 工程经理 #QCon #spoton

Alex Handy SD Times 进行了报道:

Mortensen 说,发展到一千工程师,Facebook 建立了一个内部新兵训练营,它会训练新入职的员工加速了解他们会涉及使用的开发工具、环境和实践。他说这些直接的努力,在过去的七年里帮助新入职的工程师缓解了快速成长过程中的痛苦。

最后,所有 Facebook 新兵训练营的努力会直接提升开发者的效率。正如 Mortensen 所说,任何开发者花费超过两分钟的分散项目很可能会成为一个休息时间,因为它用很重要的方式中断了生产力。

为此,Facebook 花了很多时间和精力来简化开发环境。Facebook 的每个开发者在数据中心有他或她自己的开发设备,它包含完整可运行的 Facebook 代码的拷贝。开发人员可以登录并操作代码,然后搜集变化,开发推送集成他们到 Facebook。

Mortensen 说,问题是,开发环境最初非常敏感,因为 Facebook 是用 PHP 写的。这意味着改变需要在开发设备上及时可用,而不需要编译。非常不幸的是,Facebook 的代码越来越复杂,开发沙箱加载时间越来越长。

要解决这个问题,Facebook 创建了 HipHop,一个 PHP-to-C++ 的编译器。一旦经过编译,C++ 代码会运行得更快,但是对于开发者来说,每个改变要求预编译,这会花费 10 分钟。对于 Mortensen 来说,10 分钟等待时间就是致命的生产力。

在开发设备上为编译建立了解释器之后,等待时间降到了约 10 秒,但是对于 Mortensen 和 Facebook 的开发者来说,这仍然太慢。答案是使用一个 JIT 编译器。“我们在今年春天开启了这个,获得了一些惊人的成果,”他说。“当我们使用 JIT 编译器时,迎来了一片欢呼。补充一下,从来没有这样过。网站仍然更加丰富。这是他们程序努力的事情之一。这是一个有趣的传奇。有足够的努力,任何事情都会有效率。你真想让你的工程师更有效率。”

优雅工程:Square 堆栈的秘密 by Bob Lee

Twitter 上关于这个主题的反馈包括:

Kris Trujillo ‏@kris_trujillo : “设计不仅仅与像素有关,而是整体用户体验”“对最终用户的交易从来没有失败”— 好事 @crazybob #qconsf

驾驭 HTML5 及 JavaScript

Javascript 性能模式 by Stoyan Stefanov

Twitter 上关于这个主题的反馈包括:

David Whittaker ‏@rundavidrun : 在 iframe 中加载 JS 以避免页面阻塞,除了使用根文档:这不是你要找的文档!@stoyanstefanov #qconsf

Faruk Ateş ‏@KuraFire : “有谎言,该死的谎言,还有性能建议。”-- @stoyanstefanov 在 #qconsf

David Whittaker ‏@rundavidrun :@stoyanstefanov 演示了如何测量你的 JS 代码的性能 http://jsPerf.com #qconsf

David Whittaker ‏@rundavidrun : 减少访问 DOM 的数量来优化 JS;把它做为跨越高成本的桥梁。@stoyanstefanov #qconsf

SPDY,呃… HTTP 2.0 来了! By Roberto Peon

Twitter 上关于这个主题的反馈包括:

Ismail Elshareef ‏@ielshareef : SPDY 演讲:不要关注在页面加载时间。那对于用户不重要。用户关心的是“页面多久可用。” #qconsf

Ismail Elshareef ‏@ielshareef : SPDY 的服务器推送:服务器知道客户端需要什么资源,然后通过 w/o 显示请求将它发送到客户端。#qconsf #webperf #spdy

Dio Synodinos ‏@synodinos : “这并不是说我们不喜欢代理。我们不喜欢透明、配置不当的代理” #qconsf #spdy #tls

敏捷团队实地指南

从任何级别来构建学习型组织 by Matthew Barcomb

Twitter 上关于这个主题的反馈包括:

David Whittaker ‏@rundavidrun : 学习型组织帮助公司创新、适应、提升质量、提升雇员满意度,及可行性。@mattbarcomb #qconsf

David Whittaker ‏@rundavidrun : 当面对任何挑战性活动时:要有好的态度,承认无知,允许失败。#agile @mattbarcomb #qconsf

itsmemacelle ‏@itsmemacelle : 学习:行动 vs 反思,非正式 vs 正式,输入 vs 输出,动力,选择,创造环境 #qconsf pic.twitter.com/B5kaeYDQ

David Whittaker ‏@rundavidrun : 学习动力 – 你学习的东西越多,学习其他东西也更简单更快。 #KeepLearning @mattbarcomb #qconsf

David Whittaker ‏@rundavidrun : “来上班,做你的工作,来创造神话。”为了保持与你自己有关,你需要不断地学习。@mattbarcomb #qconsf

itsmemacelle ‏@itsmemacelle : 白天有关键时间可以很好的完成未完成的学习目标,除了练习“一起学习”@mattbarcomb #qconsf

用户体验(UX)

精益UX 与设计的思考,造就更好的产品定义 by Jeff Gothelf

Twitter 上关于这个主题的反馈包括:

lane halley ‏@thinknow : 你的要求 / 更有效的表达 / 假设 @jboogie #QConSF 演讲简介

Mike Long ‏@mblongii : 表达你的假设,定义假设,做轻量测试来验证 @jboogie #QConSF

Mike Long ‏@mblongii : 测量结果,而不是输出 :) @jboogie #QConSF

desbiens ‏@desbiens :#qconsf 学习价值超过成长 @jboogie

Lene Mejlby ‏@Mekkaz :#qconsf 设计思考是一种观察 @jboogie

Lene Mejlby ‏@Mekkaz :#QConSF 精益 UX 与设计思考不仅仅是为设计师 @jboogie

desbiens ‏@desbiens : 注重结果… 精益 UX @jboogie #qconsf

esbiens ‏@desbiens : 首先测试价值。 @jboogie #leanux #qconsf

Mathieu Lalonde 也参与了这个主题的讨论:

当 Jeff 澄清要求应该被看作是假设时,我有了一点实际感觉(“哈哈!”)。接着 Jeff 解释如果用最简单的方式来证明或反驳这些假设。在某些情况下使用最少可行产品(MVP),在其他情况下模拟 UPS 或纸上的原型可能会有陷阱!

另一个实际情况是,我们如何用下面的样式编写用户故事:“我们相信,如果我们实现 XYZ,我们的交易会用到它,这样他们每天可以带来更多交易。”

联合制造的伟大产品 by Jeff Patton

Twitter 上关于这个主题的反馈包括:

lane halley ‏@thinknow : 不再是“谁闯了祸”/ 一起解决问题 / 合作产品 @jeffpatton #QConSF 演讲简介

Lene Mejlby ‏@Mekkaz : 设计是一种学习经验,还有共同感觉 @jeffpatton #QConSF

Hans Thunberg ‏@hthunberg :Jeff Patton – “对我们创造的东西我们都有责任。让我们合作吧。” #QConSF

Lene Mejlby ‏@Mekkaz : 设计不是设计师生产一款产品,它是一个设计师推动的过程 @jeffpatton #QConSF

Lene Mejlby ‏@Mekkaz : 我们不是在这儿构建软件,我们是在这里改变世界 @jeffpatton #QConSF

Tomer Sharon ‏@tsharon : 你构建废品越快,你就有更多的废品。 - @jeffpatton #QConSF

Jeff Gothelf ‏@jboogie : 不会仅仅因为写在便签纸上而降低它的有效性。 - @jeffpatton #QConSF #LeanUX

Lene Mejlby ‏@Mekkaz : 你需要离开办公室去学习你不知道的东西 @jeffpatton #QConSF

Lene Mejlby ‏@Mekkaz : 讲述你的产品故事将帮助你定位问题 @jeffpatton #QConSF

工程师的高质量、有效、快速UX 研究 by Tomer Sharon

Twitter 上关于这个主题的反馈包括:

desbiens ‏@desbiens : 不要听用户的,而是观察行为 @tsharon #qconsf

desbiens ‏@desbiens : 态度不是行为的预测 #leanux @tsharon #qconsf

Bhavik Joshi ‏@joshi_bhavik : 不能帮助但是可以平行观察 #custdev #leanlaunchpad & 高质量,有影响力的 & 快速精益 UX 设计 #qconsf @tsharon @thelaunch

Lene Mejlby ‏@Mekkaz : 询问经验而不是预测未来 @tsharon #qconsf

desbiens ‏@desbiens : 用户体验之后再询问意见,或询问有关最近的体验 #leanux @tsharon #qconsf

desbiens ‏@desbiens : 观察,观察,观察 #leanux @tsharon #qconsf

Lene Mejlby ‏@Mekkaz : 眼睛跟踪者不是思想阅读者!他们可以告诉你人们在看什么而不是人们看到什么… @tsharon #qconsf

lane halley ‏@thinknow : “注意力测试”让用户使用页面,然后将他们的视线抓取打印出来,然后用它们重建页面。 @tsharon #QConSF

desbiens ‏@desbiens : 注意力测试 #leanux @tsharon #qconsf 将页面切成片,观察用户装配这个迷宫

Lene Mejlby ‏@Mekkaz : 一个独立的 A/B 测试仅仅会告诉你发生了什么,而不是为什么。用 A/B 使用测试来替代吧。 @tsharon #qconsf

lane halley ‏@thinknow : 用户研究报告很浪费,不要支持团队学习。通常会问的“报告在哪里?” @tsharon 问“你想知道什么?”#QConSF

Mathieu Lalonde 也参与了这个主题的讨论:

这个演讲非常有趣,阐述了一些关于可用性分析与研究的概念。重点之一是:“不要听用户的!观察他们的行为。”在不到 50 分钟的时间内,Tomer 解释了他的指导原则背后的心理,然后讨论了三个可用的技巧:1、高质量的注意力测试;2、充足的 A/B 可用性研究;3、快速、丰富多彩的协作工具。我想这三个技巧是非常使用且有效的。最后,我发现演讲信息传递非常有效,其内容让人大开眼界。做得好 Tomer!

Quora 移动产品:以产品为中心的多平台部署 by Anne K Halsall

Twitter 上关于这个主题的反馈包括:

lane halley ‏@thinknow : “APP 像是访问你移动环境的一个入口,我想了很多关于如何尊重每个观点。” @annekate #QConSF

lane halley ‏@thinknow : “如果你使用移动设备,你可能会损失 20% 你产品的功能也没有人在意。” @annekate #QConSF

Lene Mejlby ‏@Mekkaz : 真正地理解你所工作的平台! @annekate #qconsf

Lene Mejlby ‏@Mekkaz : 针对新的平台定制产品是值得的 @annekate #qconsf

Mike Long ‏@mblongii : 为新平台定制是值得的。不要仅仅移植和仿冒。客户会反抗。 @annekate #QConSF

Mike Long ‏@mblongii : 一次构建,任意部署是个神话。 @annekate #QConSF #mobile

Lene Mejlby ‏@Mekkaz : 为新产品先设计移动终端 @annekate #qconsf

desbiens ‏@desbiens : 移动与众不同的不是位置 @annekate , #ux #qconsf

ene Mejlby ‏@Mekkaz : 确保你有让你的 apps 更好的数据 @annekate #qconsf

用户体验 – 不仅仅是一支漂亮的棒 by Lane Halley

Twitter 上关于这个主题的反馈包括:

Mike Long ‏@mblongii : 关注问题,不是解决方案。问题是从人开始的 :) @thinknow #QConSF

解决方案:No SQL

通用图形数据库使用案例 by Emil Eifrem

Twitter 上关于这个主题的反馈包括:

Peter Yu ‏@ThePeterYu :Twitter 在 JavaVM 上运行了一个图形数据库,堆大学有 177GB。 #yam #QConSF #GraphConnect

Loutilities 也参与了这个主题的讨论:

BigData & NoSQL 的趋势:

  • 数据大小增加
  • 关联数据增加
  • 半结构化数据
  • 架构 – 一个多服务的外观

NoSQL 的分类:

Key/Value 存储 (继承自 Amazon Dynamo) –

  • Riak, Redis, 和 Voldermort 是实现的示例
  • 优势是它很简单,但是也很弱

列存储

  • BigTable – 每行都可能有
  • 示例是 HBase 和 Cassandra,Hyper Table
  • 支持半结构化数据,但是缺点是这是内嵌或连接的

文档数据库

  • 文档集合,JSON 可以被内嵌
  • MongoDB 中 90% 高于 NoSQL 以及 CouchDB
  • 优势是数据库简单,但很难连接到数据

图形数据库

  • 节点与关系
  • 示例有 Neo4j,InfiniteDB,OrientDB 等。
  • 数据连通性和复杂性很好,但是难于扩展规模

可持续软件开发 by Alexander von Zitzewitz

Twitter 上关于这个主题的反馈包括:

David Whittaker ‏@rundavidrun :Alexander Zitzewitz: “大学不会教学生如何提高大型复杂软件系统。”我们可以怎么解决这个问题?#qconsf

David Whittaker ‏@rundavidrun :Alex Zitzewitz: “当软件工作时,软件‘正常’?假设这么建造飞机…当它像飞机你完成它?!?” #qconsf

David Whittaker ‏@rundavidrun :Alex Zitzewitz: “技术品质体现在它的每一行代码。高成本的影响:有一个可持续发展的架构。” #qconsf

David Whittaker ‏@rundavidrun :Alex Zitzewitz: “代码中的循环依赖就像‘代码癌症’。通过创建接口减少耦合。” #qconsf pic.twitter.com/0ucovQWR

David Whittaker ‏@rundavidrun :Alex Zitzewitz 给我们指出了重要软件质量备忘单。免费下载: http://refcardz.dzone.com/refcardz/designing-quality-software … #qconsf

为NoSQL 数据库的SQL 界面设计 by Stephen Buxton & May Holstege

Twitter 上关于这个主题的反馈包括:

Kris Trujillo ‏@kris_trujillo : “为什么是 NoSQL 的 SQL ?因为我们是在企业” - NoSQL #qconsf

Kris Trujillo ‏@kris_trujillo : “关注结构化数据片段” – NoSQL 的 SQL #qconsf t.co/wRcwNnLb

对 QCon 的意见

Twitter 上关于这个主题的反馈包括:

Woody Zuill ‏@WoodyZuill :#QConSF 事物:你是最好的!谢谢你们的辛勤劳动以及注意细节!跟你们工作多愉快啊。很棒的会议!

Josh Warner-Burke ‏@hybrididentity : #qconsf 的食物真实在!

Jonathan Schlaepfer ‏@Schlaeps : 这里的食物太让人惊讶了。 #qconsf

Kris Trujillo ‏@kris_trujillo : 非常赞同! "@tsharon: 令人惊喜的 #qconsf 演讲支持率。走出房间去投票吧:绿,黄,红。 pic.twitter.com/Rcpet7qv”

Jeff Gothelf ‏@jboogie : 这多酷啊?在我的 #qconsf 演讲一个小时后就有反馈。喜欢它。 pic.twitter.com/snneCBdW

Jeff Gothelf ‏@jboogie : 这就是 #qconsf 在每个演讲之后收集的反馈。每个人都用他们自己的方式。超级酷。pic.twitter.com/T0gJ4Khk

adrian cockcroft ‏@adrianco :#qconsf 的秘密武器是晚上的环节。首先给大家免费的啤酒,然后将演讲机会给有趣的演讲者。干得好!

drian cockcroft ‏@adrianco : 参加了很多鼓舞人心 #qconsf 演讲的问题是,我现在要重新写周五演讲的幻灯片,但没有时间…

Stoyan Stefanov ‏@stoyanstefanov : 欣喜若狂 #qconsf,人们喜欢我的 js PERF 的演讲。评论:0 红,30 黄,87 绿色,可能是我演讲“生涯”最好的成绩

kennygorman ‏@kennygorman : 在 #qconsf 2012 很赞的时光,看到了许多优秀的人!

iliketoprogram ‏@iliketoprogram : 这么多输入!我的脑子好像要爆炸了!谢谢 #qconsf 以及嘉宾!真是令人惊喜的一周!

Jussi Nieminen ‏@jussinieminen : 谢谢 @QConSF #QConSF 很棒的会议!明年见!过了!

Kalle Lindroos ‏@LindroosKE : 好东西都在最后出现啊。谢谢 @qconsf! #qconsf

后记

Twitter 上关于这个主题的反馈包括:

Burak Yenier ‏@BurakYenier :@tsharon 谈用户体验设计是一流的。这让我仿佛回到了 #QConSF osh Warner-Burke ‏@hybrididentity : 我脑子里充满了新的想法#qconsf

Pavlo Baron ‏@pavlobaron : “我把它发布到 GitHub 了”,作为一个短语明显由于我参加的 #qconsf 演讲

adrian cockcroft ‏@adrianco : 来自 #qconsf 的灵感,将在 Edda 进行一次数据挖掘的新演讲,本周会发布 @NetflixOSS

Jonathan Calvert ‏@orion_quotient : 像 Google 和 Facebook 这样的公司,持续部署是他们竞争力的一部分 – 非常引用自 #qconsf

Jonathan Calvert ‏@orion_quotient : 从 #qconsf 冒险后回到了 #dc – 真正的学习行动要开始了!

结论

每次 QCon 的成功都依赖于这个事实,那就是几乎从零开始创建的专家小团队,即组成的程序委员会。

QConSF 2012 与会人员包括 Jez Humble, Patrick Linskey, Steve Vinoski, Dio Synodinos, Aino Vonge Corry, Floyd Marinescu, and Nitin Bharti。这些参与者确保了新主题反应在企业开发中当前趋势,主题演讲既有教育性也有实践性。InfoQ 在接下来的几个月内,将会对大部分演讲发布视频发布日程可以在QCon SF 的网站上找到。

QCon 是由 Trifork (GOTO and other Conferences) 以及 InfoQ 的母公司 C4Media 主办的. QCon 大会 包括 QCon New York, QCon San Francisco, QCon London, QCon Berlin, QCon Beijing,QCon Hangzhou, QCon Tokyo, and QCon Sao Paulo.

2013-03-03 06:382386

评论

发布
暂无评论
发现更多内容

【c++图论学习】洛谷P1396营救

贤鱼很忙

c++ 算法 10月月更

2022-10-15:给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。 你可以按 任意顺序 返回答案。 要求时间复杂度O(N)。 输入: nums = [1,1,1

福大大架构师每日一题

算法 rust 福大大

读书笔记 | 你最终能走多远,取决于见识

宇宙之一粟

读书笔记 10月月更

【一Go到底】第十六天---跳转控制goto&return

指剑

Go golang 10月月更

PriorityQueue 源码解析(二)

知识浅谈

Priority Queue 10月月更

CorelDRAW 2019 软件应用项目(一)

张立梵

设计师 CorelDRAW 2022 10月月更

Python进阶(二十四)Python中函数的参数定义和可变参数

No Silver Bullet

Python 函数 可变参数 10月月更

Goroutine是什么?进程、线程、协程又是什么?有什么区别和联系?

王中阳Go

Go 线程 进程 协程 10月月更

【LeetCode】用栈操作构建数组Java题解

Albert

算法 LeetCode 10月月更

如何在 SAP BTP Java 应用里使用 SAP HANA 数据库

汪子熙

云原生 Cloud SAP 10月月更 btp

「CSS畅想」当我拥有了一个小夜灯,我的CSS副属性被激活了

叶一一

CSS JavaScript 前端 10月月更

「趣学前端」提到布局,我第一个会想到的是flex

叶一一

CSS 前端 10月月更

跟着卷卷龙一起学Camera--双摄03

卷卷龙

ISP camera 10月月更

【一Go到底】第十六天---函数

指剑

Go golang 10月月更

Linux 中 Grep 命令的常见示例,非常全面!

wljslmz

Linux grep 10月月更

可能的二分法

掘金安东尼

算法 10月月更

python程序能打包吗?看这篇就知道了

芥末拌个饭吧

python 3.5+ pyinstaller 10月月更

我用【c++】写出了会说话的学生考勤系统

贤鱼很忙

c++ 10月月更

长安链源码分析之网络模块net-liquid(1)

【c++图论例题学习】洛谷 P3366最小生成树

贤鱼很忙

10月月更

长安链源码分析之网络模块 net-liquid(2)

Python还不会用日志模块?本文给你答案

芥末拌个饭吧

python 3.5+ logging模块 10月月更

「趣学前端」玩转CSS的2D转换,也许能有个代码纸片人

叶一一

CSS 前端 10月月更

谈谈PHP switch case和其他语言的区别

芥末拌个饭吧

php Go 10月月更

TSDB在高速公路大数据平台的应用

CnosDB

IoT 时序数据库 开源社区 CnosDB infra

「CSS畅想」有一天,我遇到了一个奇特的路灯,眼里一下子有了光

叶一一

CSS JavaScript 前端 10月月更

flask sqlalchemy使用简述

芥末拌个饭吧

sqlalchemy python 3.5+ 10月月更

Docker搭建私有镜像仓库与WordPress

okokabcd

Docker

跟着卷卷龙一起学Camera--双摄04

卷卷龙

ISP camera 10月月更

跟着卷卷龙一起学Camera--双摄05

卷卷龙

ISP camera 10月月更

STM32L0 系列 EEPROM 读写,程序卡死?

矜辰所致

EEPROM STM32L051 10月月更

从 QCon 旧金山 2012中学到的关键经验和教训_QCon_Abel Avram_InfoQ精选文章