Community Over Code (欧洲) 2024

作者: Paul King
发布时间: 2024-06-17 05:00PM


今年的 ASF 会议欧洲版,Community Over Code EU,在斯洛伐克布拉迪斯拉瓦举办了为期三天的现场会议(6 月 3 日至 5 日),包括最后一天的 Groovy 轨道。

注意
演示文稿幻灯片和音频/视频(如果有)仍在添加到会议网站。 如果有更多材料可用,本帖子将更新为包含指向附加内容的链接。

这篇文章简要介绍了会议的行程报告,主要侧重于 Groovy 轨道。

会议、场地和主办城市

会议在斯洛伐克布拉迪斯拉瓦的 Radisson Blu Carlton 酒店举行。 设施很棒,这座城市非常适合参观。

images bratislava1 20240605134031 d3953d86 xx 20240610202025 1ac29b1e xx 20240605081228 926eecf0 xx coceu2024 tac dinner stickers

感谢所有参与者使此次活动富有成效且有意义!

Groovy BoF 和 Groovy 轨道的亮点

我们与 Groovy 编程语言的各种用户举办了一个非常吸引人的 Birds-of-a-Feather (BoF) 会议,其中包括来自 Apache OFBiz 项目的大量成员。 我们还讨论了为什么 Groovy 在 2024 年仍然是一个引人注目的语言选择的一些原因。

为什么在 2024 年使用 Groovy?

本次演讲介绍了在当今使用 Groovy 的一些令人信服的原因。

一些亮点

  • Groovy 的 80 多个 AST 变换允许您编写简洁的声明式风格代码。 例如,这是一个具有为比较器(排序)、自定义序列化和反序列化以及一些特殊 JavaBean 索引处理代码生成的附加代码的深度不可变 Book 类的示例

    AST transform example

  • Groovy 的 2000 多个扩展方法为 Java 类库添加了额外的功能。 例如,原始数组扩展加快了某些操作,否则您可能会使用流进行操作

    performance of primitive int array extension methods

  • Groovy 的运算符重载和可扩展工具极大地简化了 Java 程序员熟悉的库和 API 的使用。 这是一个使用 Apache Commons Math 的示例

    matrix example

  • Groovy 具有出色的脚本和领域特定语言 (DSL) 支持。 例如,您可以在大约 10 行代码中编写用于处理罗马数字的静态类型 DSL。 定义 DSL 后,您可以在脚本中使用它,例如

    assert [LVII + LVII, V * III, V ** II, IV..(V+I), [X, V, I].sort()]
        == [       cxiv,      xv,     xxv,    iv..vi, [i, v, x]       ]

    无效的罗马数字在编译时被检测到

    error

查看 幻灯片组 以获取更多信息。

使用 Groovy、深度学习和 GraalVM 对鸢尾花进行分类

本次演讲介绍了使用经典的鸢尾花数据集进行分类的机器语言问题。

亮点

  • 分类使用在给定已知类别的测量特征上训练的模型来预测事物的类别

    classifiation

  • 案例研究使用了一个众所周知的鸢尾花数据集。 测量的特征是萼片宽度和长度,以及花瓣宽度和长度

    classifiation

  • 首先,检查了用于进行分类的一些经典算法,包括朴素贝叶斯算法,这里使用 Weka 数据科学库

    classifiation

  • 然后解释了神经网络。 这里显示了案例研究的潜在网络

    classifiation

  • 每个节点都像人脑中的神经元一样: 分类

  • 讨论了几个深度学习库,包括 Deep Netts

    classifiation

  • 使用 Groovy 编译器和 --compile-static 开关编译脚本,然后使用 GraalVM 构建原生映像,使速度提高了 10 倍以上

    classifiation

查看 幻灯片组 以获取更多信息。

Micronaut 框架入门

Sergio del Amo 做了一个关于 Micronaut 框架入门 的演讲,特别是它在构建微服务时对使用 Groovy 的支持。 幻灯片组的第一张幻灯片

亮点

  • Micronaut 应用程序的速度来自于它的提前(AOT)方法

    Using Micronaut Launch

  • Micronaut 支持一系列运行时

    Using Micronaut Launch

  • Micronaut 支持一系列消息传递技术

    Using Micronaut Launch

  • Micronaut 支持一系列持久化技术

    Using Micronaut Launch

  • Micronaut 支持一系列视图技术

    Using Micronaut Launch

  • 您可以使用 Micronaut 启动创建微服务应用程序

    Using Micronaut Launch

查看 幻灯片组 以获取更多信息。

本次演讲介绍了使用著名的威士忌风味特征数据集进行聚类的机器语言问题。

亮点

  • 案例研究着眼于如何根据 12 种风味类别的排名对 86 种单一麦芽苏格兰威士忌进行聚类

    Whiskey flavour profiles

  • 有不同的算法可用于进行聚类。 K-Means 聚类是涵盖的关键算法

    The k-means algorithm

  • 演讲介绍了使用普通数据科学库(包括 Apache Commons Math)来解决这个问题,然后介绍了如何使用一系列 Apache 技术来扩展问题。 第一个考虑的技术是 Apache Ignite。 首先,我们读取数据

    Whiskey flavour profiles

  • 然后,我们使用 Ignite 的分布式聚类库来查找质心

    Whiskey flavour profiles

  • 检查了调整算法的各种选项以及可视化结果的各种方法

    Whiskey flavour profiles with Ignite

  • 也使用 Spark 完成了相同的案例研究

    Whiskey flavour profiles with Spark

  • 也使用 Wayang 完成了相同的案例研究

    Whiskey flavour profiles with Wayang

  • 也使用 Beam 完成了相同的案例研究(这里显示了 Python 风格版本)

    Whiskey flavour profiles with Beam

  • 也使用 Flink 完成了相同的案例研究

    Whiskey flavour profiles with Flink

演讲者:演讲者

海报

Community over Code EU 还为海报展示区提供了一个专门区域。 走廊对话是任何 ASF 会议的关键部分。 海报为触发对话提供了补充方式,也为学习各种主题提供了机会,即使那些可能对这些主题了如指掌的人与你不在同一个时间段出现在走廊里。

Posters Why use Groovy in 2024? Poster

查看 Groovy 海报

其他信息

另见

  • 更多照片(可能会随着时间的推移而增加)。

  • 官方程序 包括所有轨道,并将包含指向演讲幻灯片的链接(如果/何时可用)。

其他行程报告

即将到来的 Community Over Code 会议