技术堆栈摘要3:2017年4月

四月是一个繁忙的月份! 有太多很棒的技术堆栈帖子,以至于我们很难挑选十个。 到4月为止,我们总共有20个热门帖子,其中包括10个隐藏的宝石💎。 来自NetflixFlipboardSlackTwitterYelpDropboxLinkedIn,Shopify等的帖子

令人惊讶的是,四月份的一个主要主题是移动开发 。 LinkedIn,Yelp和Uber都写了关于Android的用法,而Uber则用Swift分解了对应用程序的重写,Shopify则写了关于构建移动CI系统的文章。

查看以前版本的Tech Stack综述

十大技术栈文章:

我们如何构建Twitter Lite(Twitter)

如果您还没有听说过,那么Twitter Lite是一种“快速且响应迅速,使用较少数据,占用较少存储空间,并支持推送通知和在现代浏览器中脱机使用的功能”,旨在成为您在使用Twitter时使用Twitter的最佳方式。连接速度慢,不可靠,受限或昂贵。 基本上,是精简版的Twitter。 Twitter将其构建为客户端JS应用程序,并使用React,Redux,Normalizr,Globalize,Babel,Webpack,Jest,WebdriverIO和Yarn构建。

作者尼古拉斯·加拉格尔(Nicolas Gallagher)

技术堆栈ReactReduxNormalizrGlobalizeBabelWebpackJestWebdriverIOYarn

Slack的TypeScript(Slack)

有人在打字TypeScript 事实证明,您一​​直使用的Slack桌面应用程序非常复杂。 这是一个多线程应用程序,使用JavaScript与Windows,macOS和Linux的本机代码进行交互。 Slack希望能够保证一切都能融合在一起,因此他们转向TypeScript 。 他们引用了最近的SO开发人员调查,以证明静态类型检查正在受到关注。 现在,随着Slack的采用,情况确实如此。

作者费利克斯·里斯伯格

技术栈TypeScriptJavaScriptNode.jsObjective-C

检测可信域(Flipboard)

Flipboard不再手动过滤出域并确定其优先级。 他们开发了一种称为Domain Ranker的机器学习系统,可自动将权威性域名与窃者,垃圾邮件发送者和其他低质量来源区别开来,以确保您在新闻源中仅获得最高质量的链接。

作者迈克·弗拉德·科拉

技术栈 KafkaAmazon S3HBaseAmazon RDSRedis

Yelp如何每天运行数百万次测试(Yelp)

Yelp现在使用他们自己的称为Seagull的本地系统,每天运行超过2000万次测试。 Seagull是一个容错和弹性的分布式系统,我们使用它来并行化测试套件的执行。 Seagull使用以下内容构建:

  • Apache Mesos(管理我们的Seagull集群的资源)
  • AWS EC2(提供构成Seagull和Jenkins集群的实例)
  • AWS DynamoDB(存储调度程序元数据)
  • Docker(为测试所需的服务提供隔离)
  • Elasticsearch(跟踪测试运行时间和集群使用情况数据)
  • Jenkins(构建代码工件并运行Seagull调度程序)
  • Kibana和SignalFx(提供监视和警报)
  • AWS S3(用作测试日志的真实来源)

作者: Chunky Gupta

技术堆栈Apache Mesos Amazon EC2 Amazon DynamoDB Docker Elasticsearch Jenkins Kibana SignalFx Amazon S3

Netflix(Netflix)上容器使用的演变

Netflix是全球最受欢迎的电视和电影流媒体服务,每周刚刚推出100万个容器 containers。 他们构建了一个名为Titus的工具,以帮助他们管理这些Docker容器及其在Amazon EC2上的部署。 Titus帮助他们计划容器执行和EC2上的自动扩展容量。 不要错过深入研究其容器堆栈的过程。

作者Andrew SpykerAndrew Leung, Tim Bozarth

技术堆栈DockerAmazon EC2

服务器端渲染优于客户端渲染的优势(Walmart Labs)

现在,大多数Walmart.com都由服务器端渲染的React提供支持 。 在这篇文章中,他们向世界展示了原因。 沃尔玛以前已经开源了Electrode ,它可以改善SSR的性能。 如果您正在考虑在香草React和SSR之间进行权衡,请不要错过此分析以及完整的Chrome网络标签基准测试。

作者亚历克斯·格里哥良(Alex Grigoryan)

技术栈React Node.js Electrode

GraphQL Initiative在提醒(提醒)

GraphQL开始蒸蒸日上。 不仅GitHub和Yelp发布了GraphQL API,而且诸如Remind之类的公司已开始在生产中为其主要应用程序使用它。 当Remind的Rails整体组件太大时,他们决定转向GraphQL来提高性能。 如果您正在考虑将GraphQL添加到堆栈中,请仔细听。

作者: 胡安

技术栈: GraphQLRailsRuby

Swift和一百名工程师(Uber)

回到2016年旧金山的Swift峰会上,Tuomas Artman解释了Uber如何处理其庞大的Swift代码库。 他们谈到了为什么选择在Swift中重写iOS应用。 他们还概述了从一百名工程师开发Swift代码库中获得的经验教训(提示:您可能需要类似Buck的东西)。

作家Tuomas Artman

技术堆栈斯威夫特 巴克

在Riot Part III(Riot游戏)上运行在线服务

Riot Games又回到了技术堆栈综述。 这次,介绍了他们如何以代码方式接近基础结构以及安全隐患,负载平衡和故障转移测试。 了解他们如何构建其高可用性系统以及有关数据中心网络的详细信息。

作者: 道格·拉多Doug Lardo)大卫 ·普莱斯

技术堆栈: DockerOpenContrail

使用计算机视觉和深度学习创建现代OCR管道(Dropbox)

去年, Dropbox发布了其移动文档扫描仪。 您可以使用手机拍摄照片并“扫描”诸如收据和发票之类的项目,然后业务用户可以提取扫描文档中的所有文本并将其编入索引,以便以后可以搜索它,并创建隐藏的覆盖图。可以从另存为PDF的扫描中复制和粘贴文本。 在这篇文章中,Dropbox解释了他们是如何构建的,该过程是如何从我们的文档扫描图像中提取实际文本的。

作者布拉德·诺伊伯格

技术堆栈Amazon Mechanical Turk 亚马逊EC2 亚马逊S3 OpenCV Git TensorFlow

现在..对于隐藏的宝石。

  • 在LinkedIn (LinkedIn) 创建可访问的Android产品
  • 在Android上持续集成 (Yelp)
  • 迁移到Uber Android应用程序 (Uber)中的不可变集合的迁移中的工程稳定性
  • 构建动态移动CI系统 (Shopify)
  • 使用Jenkins (Thumbtack)进行连续部署
  • Visual Studio代码:提供最大的Microsoft JavaScript应用 (领域)之一
  • Ruby中的记忆(轻松) (Gusto)
  • 我们如何使DNS堆栈快3倍 (CloudFlare)
  • eBay上的Elasticsearch集群生命周期 (eBay)
  • Swat.io在两年内如何从MySQL迁移到PostgreSQL (Die Socialisten Garage)

订阅StackShare Weekly,获得本帖子以及您喜欢的工具的最新更新其中包括最佳手工精选的新开发工具和基础架构服务。

在评论中留下您对以上OP的任何疑问,我们将确保他们能够看到🙂