里卡多·贡萨尔维斯 ( Ricardo Goncalves)
在继续之前,您应该知道Code Mesh现在是我们新的全球技术会议系列Code Sync的一部分。 了解更多->
今年的Code Mesh见证了会议的不断发展。 如此之多,我无法将整个会议的重点放在一个博客文章中。
因此,这是我在Code Mesh 2017的第一天参加的演讲的看法:
主题演讲:自动可扩展计算— Margo Seltzer
演讲者: Margo Seltzer,(当时)赫尔切尔·史密斯(Herchel Smith)计算机科学教授,哈佛大学约翰·保尔森工程与应用科学学院计算与社会研究中心主任
这是CodeMesh的第一个主题演讲,也是开始的一种方式。 主要的问题基本上是:“程序可以通过实践来更好地运行程序吗?”
这个想法似乎牵强,甚至Margo自己都说,最初,她认为这个想法(来自年轻的学生)有点“天真”,因为这是不可能和/或可行的。
还请记住,她正在谈论将同一程序提供给计算机,并且随着时间的流逝运行得更快,而不是使用一些更高级别的“神经网络/深度学习”中间件。
这个想法可能在最低的级别上起作用,位和字节在CPU内部运行,就像类固醇上的分支预测一样,在该类中,程序执行被划分为较小的部分并进行预先计算(可能在不同的内核中)。 在多次运行中,将为该程序构建试探法,这些试探法使这些预计算有些准确,具体取决于程序本身。
一些基准测试非常惊人,但是要真正做到这一点,下一步,似乎需要CPU提供硬件支持。
除此之外,还有很多其他功能,但是足以说这是CodeMesh的一个很好的开始。
实用的功能关系体系结构:使用Datomic构建系统— David Nolan
演讲者: Cognitect的软件工程师David Nolan
David Nolan用Datomic给了我们关于数据库不变性的很好的演讲。
大部分讨论的动机是为什么我们应该关注一个不变的数据库,这很有意义,因为实际上使用一个数据库(如Datomic)似乎非常简单,因为您无法破坏数据:)
他认为,功能性编程的特性不变性已经在诸如React或ClojureScript(由Nolan创建)之类的技术的前端以及在具有功能性语言(Erlang,Clojure,Haskell等)的后端已经成为一种选择。 )。 这使数据库成为一个奇怪的问题。
Datomic就是从这种感觉诞生的,它为整个堆栈带来了不变性的好处。 Nolan琐碎地查询过去的数据的现场演示也很好(对于审核等似乎很有用)。
有趣的是,由于法律原因,Datomic实际上可以删除数据。
超越最终的一致性(FaunaDB,加尔文)—杰米·艾伦
演讲者:杰米·艾伦,星巴克统一商务项目的工程总监
杰米(Jamie)是星巴克(Starbucks)的工程主管,该公司在全球都有业务,因此您可以想象他们在系统/数据库中的交易规模。
当他到达星巴克时,Cassandra是首选的DB。 但是事实证明,最终的一致性并不是每个用例都理想的,特别是对于星巴克的某些用途(我相信这是客户可以注册的奖励计划)。
因此,由杰米(Jamie)领导的工程团队开始了寻找卡桑德拉(Cassandra)替代产品的旅程,该替代产品提供了比最终一致性更强的保证。
他还认为,CAP定理仍被误解,也许不是解决数据一致性,可用性等问题的最佳方法。
他建议改为使用PACELC定理。 其余的讨论只是对他们为下一个数据库选择的选项进行了小幅回顾:基于内部评估,Amazon Aurora,Microsoft Cosmos,Google Spanner,CockroachDB和FaunaDB似乎是当前的选择。
我们计算的隐喻— Alvaro Videla
演讲者: RabbitMQ的前核心开发人员Alvaro Videla,与人合着了《 RabbitMQ in Action》一书
视频即将推出。 订阅 通知。
阿尔瓦罗(Alvaro)发表了另一番讲话,大多数非技术人员可以看到,跟随和欣赏。
Alvaro从《我们赖以生存的隐喻》一书中汲取了灵感,并为ACM Queue撰写了一篇文章。 演讲是基于该文章。
要点是,我们作为人们一直在使用隐喻(或抽象)来思考和处理事物。 例如,我们可能会通过简单的计数示例开始学习数学,这是对基础数学概念的隐喻/抽象。
多年来,我们使用不同的隐喻将其扩展到抽象的其他层次。 软件开发人员也这样做,对所有类型的问题(例如“谣言散播”或“八卦”)使用不同的隐喻。
最重要的是,我们应该意识到这些隐喻,并为情况选择正确的隐喻。 较少的技术讨论,使诸如CodeMesh之类的技术会议有了全面的感觉。
安全,快速,并行程序的小马— Sophia Drossopoulou
演讲者: Sophia Drossopoulou,伦敦帝国学院编程语言教授。
视频即将推出。 订阅 通知。
索菲娅(Sophia)就一种新兴的叫做Pony的语言发表了有趣的演讲。 它是一种基于Actor的语言,例如Erlang或Elixir,但是可以编译为本机代码。
它还具有相当新颖的字体系统,这是本次演讲的重点。 所有类型及其各自的规则对于初学者来说似乎有些吓人,但是Sophia说您很快就习惯了。 这样做的好处是,这种类型的系统为您提供了很多保证,这些保证是大多数语言都无法找到的,例如:可变和不可变数据的安全混合,无数据争用的高效程序。
与Erlang / Elixir相似,它具有垃圾收集机制,该机制可同时按进程运行,而无需分布式锁。
我发现有趣的是,它还支持(或需要?)参与者之间消息的因果传递,这在语言层面上很少见。
一切都糟透了—弗雷德·赫伯特(Fred Hebert)
演讲者: Fred Hebert,《为伟大的东西学一点Erlang》一书的作者 和“愤怒中的Erlang”,Genetec的系统架构师。
视频即将推出。 订阅 通知。
如果您想笑些并且对软件状态感到有点难过,那么这是观看观看的理想选择。
弗雷德(Fred)经历了我们每个人迟早都会使用的多种抽象软件的旅程。
他强调了六个“可怕的”主题:数据结构,时间,ID,数字,字符串/文本和网络。 显然,与阅读此类简短摘要相比,这是一个更好看的演讲。
但从本质上讲,涉及到的恐怖故事涉及:浮点精度,UUID(缺乏标准化),队列/微服务(异步很困难),JSON(每个解析器都不同),时间和时区,leap秒,Unicode混乱以及软件的安全性。
观看Code Mesh 2017的更多视频,或了解有关Code Sync的更多信息, Code Sync是我们新的全球技术会议系列,现在包括Code Mesh。
最初在 www.erlang-solutions.com上 发布 。
From: https://hackernoon.com/code-mesh-2017-day-1-review-10e626e3e115