正如之前文章中承诺的那样,我们想与大家分享今年年度 Ruby 会议 Euruko 的体验和观点。也许说“我们”有些夸张,因为我们只派了一名开发者参加。所以准确地说,这些是 Josef Reidinger 对这次会议的体验和观点。
今年的 Euruko 在保加利亚首都索非亚举行。事实证明,这是一个很棒的会议地点。公共交通非常便利,每个人都会说英语,即使使用西里尔字母,几乎所有内容也都有拉丁字母书写。
话虽如此,让我们来谈谈会议内容。幸运的是,所有的演讲都录制下来了,你可以 自行观看。但由于要观看的视频时长会相当长,我们已经为你回顾了一些演讲,包括访问相应视频的链接。
亮点
让我们从 Josef 特别推荐观看的三场演讲开始。
Matz 的主题演讲
他谈论了 Ruby 3 在遥远的未来可能的样子。这里的“遥远的未来”意味着“肯定不是未来两年”。如果你等不及,值得一提的是 Ruby 2.4 将于 12 月发布。
Ruby 3 将使用 guild 会员并发模型。本次演讲最有趣的部分在于深入探讨了类型化语言与非类型化语言的原理,以及 Ruby 在这方面的未来。
规则、定律和温和的指导原则 by Andrew Radev
对常见设计原则、应用时常见的错误以及从不同角度看待它们的一个有趣的观点。同时也解释了如何处理几种设计原则似乎相互矛盾的情况。
Elixir by Jose Valim
对 Elixir 语言的一个有趣的介绍。它是什么,为什么使用它有意义,以及它的优点。Josef 的印象是,Elixir 的理念类似于通过消息进行通信的隔离微服务,具有良好的内省和可扩展性。
但我们还有其他团队成员对 Elixir 有所了解。比如 Imobach,他已经玩了很长时间 Phoenix 和 Elixir。Imobach 非常喜欢 Elixir,所以他想为那些感兴趣的人添加更多信息。
例如,他想强调 Elixir 使用 BEAM,Erlang 虚拟机,因此平台对并发的强大支持。并发基于 Erlang 进程的概念,并且通常将其用于各种任务(从计算到存储状态等)。Imobach 鼓励所有开发者去了解一下 OTP (Open Telecom Platform)。谁还需要微服务呢?
最后但并非最不重要的一点是,请记住 Elixir 是一种函数式语言,因此如果你具有面向对象的心态(就像大多数 Ruby 开发者一样),你需要花一些时间来理解它。
其他演讲
Little Snippets by Xavier Noria
对小代码片段中常见效率低下的总结。虽然这些小事情很重要,但大多数 Ruby 开发者应该已经知道它们了。(视频)
既然提到了这个话题,一些 YaST 团队成员发现 Juanito Fatas 的 这个备忘单 关于 Ruby 优化非常有用。
Rails + Kafka by Terence Lee
Apache Kafka 只是另一个消息传递系统。本次演讲未能说服 Josef 使用它,但也许在某些场景下(如 HPC 或 HA)它是有意义的。(视频)
Graphql on Rails by Marc-Andre Giroux
典型的 REST 设置有时由于过多的端点而无法扩展。Graphql 语言旨在在一个查询中指定从服务器需要哪些资源。结果以 JSON 形式返回,请求规范也类似于 JSON。缓存在客户端完成。对 Web 开发很有趣,并且已经被 Facebook、Shopify 等公司使用。(视频)
Evolution of engineering on call team by Grace Chang
如何维护服务,如何扩展,如何防止倦怠等等。这对我们来说特别有趣,因为与 YaST 的维护有很多相似之处。也许演讲的结尾有些理论化和理想化。(视频)
Sprockets by Rafael Franca
对 Rails 中使用的资源生成的介绍,不是特别有趣。那些正在使用 Rails 进行资源生成的人很可能已经知道所有内容了。(视频)
Contribute to Ruby core by Hiroshi Shibata
关于 Ruby 核心开发基础设施、规则等的演讲。肯定不是最好的演讲。(视频)
Consequences of insightful algorithms by Carina C. Zona
关于算法与真实人类之间的冲突,特别是与数据挖掘相关的有趣的演讲。不幸的是,后半部分变得过于情绪化,对于 Josef 来说不够技术化 :). (视频)
Viewing Ruby Blossom – Hamani by Anton Davydov
介绍另一个 Ruby Web 框架。对我们来说不是特别有趣。(视频)
A Year of Ruby, Together by Andre Arko
介绍 Rubygems 和 Bundler 背后的开源社区基础设施是如何运作的。他们如何获得资金来改进东西,如何维护他们的服务器……对任何开源项目来说都是一个很好的演讲。(视频)
What I Have Learned from Organizing Remote Internship for Ruby Developers by Ivan Nemytchenko
演讲描述了尝试为大量学生扩展实习计划。Josef 在演讲结束后与作者就 Google Summer of Code 进行了一小段交流。他看起来很感兴趣。(视频)
The Illusion of Stable APIs by Nick Sutterer
不是 Josef 的菜。演讲者可能试图一直搞笑,有点用力过猛。演讲的核心是三个需要更改 API 的例子,仅仅因为世界发生了变化。所以整个演讲可以缩短成一句话——你的 API 只有在世界保持静态的情况下才能保持静态。(视频)
结论
以上就是来自索非亚的所有内容。大约一周后,我们将在 28 次 Scrum sprint 报告中再次相见。