当前位置:Java -> Devoxx Belgium 2023 收获
在2023年10月,我参加了Devoxx比利时,这是一个非常棒的活动!我学到了很多知识,并且收到了一些信息,我不想瞒着你。在这篇博客中,你可以找到我从Devoxx比利时2023年活动中得到的收获!
Devoxx比利时是欧洲最大的Java大会。今年已经是第20届。和往常一样,Devoxx在 Kinepolis Antwerp这些出色的剧院举行。去年,门票一抢而空。这可能是由于前两届因COVID-19而取消的原因。不过,今年的门票销售速度更快!第一批门票在几秒钟内就售罄。第二批门票可以预订,通过彩票系统分配门票。
Devoxx的前两天是深度探讨日,你可以享受更深入的讨论(大约2-3小时)和实践工作坊。第三天和第五天是大会日,讨论的时间段最长为50分钟。你将获取大量信息!
介绍够了。接下来的段落中包含我从Devoxx得到的收获。这只是挖掘主题的一部分,但足以让你对主题产生兴趣,希望你会深入了解。
一定要查看一下Devoxx YouTube频道。所有深度探讨日和 大会日的会话都已录制,可以在这里观看。如果你打算观看所有内容,一共有210个...
随着Java 21在九月份的发布,很多讨论都与Java 21的新功能相关。一个很好的起点是 Brian Goetz 的主题演讲,它对Java的新功能进行了很好的总结。从这里开始,你可以选择你想了解更多的主题。其中一些主题包括虚拟线程、ZGC垃圾回收器(不再担心垃圾回收器暂停!)、Panama工程(与本地代码互连,但比JNI更好),等等。此外,Oracle正在开发一个Visual Studio Code扩展,以便更轻松地将VSCode与Java结合使用。还有,宣布了 Java Playground,让你可以在浏览器中轻松实验Java。
Brian还回顾了Java的发布速度。结论是,效果比他们预期的要好。他还呼吁开源维护者遵循同样的发布节奏。这应该让每个人更容易升级到新的Java版本。
Simon Martinelli关于 jOOQ 的这篇 深度探讨 很有启发(还有一篇 大会讨论)。我更喜欢写SQL而不是通过ORM来抽象数据库。 jOOQ采用数据库优先的方法。此外,它为你提供类型安全的SQL语法、类型安全的SQL构造器和SQL方言抽象。jOOQ提供一个免费使用的开源版本。你需要使用正在使用的数据库的最新稳定版本。如果需要使用旧版本数据库或某些特定功能,你需要付费许可证,但相对于提供给你的jOOQ,价格并不昂贵。jOOQ需要运行的数据库来生成源代码。现在可以通过 这个 Maven插件来轻松实现,它使用Testcontainers。
Victor Rentea总是一个令人愉悦的演讲者:富有趣味性的演讲和大量信息。他在Devoxx上做的一个演讲是 测试微服务,确保也看看他的其他演讲。你应该从API集成测试开始,然后补充单元测试。这样一来,你就不需要大量使用模拟对象。使用 Wiremock 和 Testcontainers 可以更容易地进行集成测试。在创建测试时,你需要确保测试可以独立执行。你可以通过在测试中标记 @transactional
来实现。测试执行后,数据库操作将被回滚。还警告不要过度使用 @DirtiesContext
。如果使用这个,Spring需要为每个测试重新启动(大约需要15-20秒)。换句话说,Spring上下文无法在测试之间重用,你的测试会变得更慢。
Donald Raab 和 Rustam Mehmandarov的这篇 有趣的讨论 关于大数据结构如何对性能和可扩展性造成一定限制。他们向你展示了如何使用 Java对象布局(JOL)工具 来分析你的对象布局。他们展示了你可以采取哪些措施来最小化你的数据结构的内存占用。
Greg Kamradt的这个 讲座 为你介绍了LangChain的世界。LangChain允许你创建一个具有上下文意识的推理应用程序。教程可以在 这里 找到。对我来说很有趣的是你可以添加自己的数据源和内容到大型语言模型(LLM)中,并针对此内容提问。这实际上就是聊天机器人是如何运作的。你向LLM提问,它将用人类可读的消息回答。
LangChain是一个Python库,但如果你想将其集成到你的Java应用程序中,可以使用LangChain4j。一定要观看Lize Raes的 这个 讲座。仅几行代码就可以实现惊人的效果。我几乎没有记录笔记,因为我太专心了。
会对开发人员产生影响的一些东西就是AI编码助手。Bouke Nijhuis清晰地给出了一份概述并演示了一些编码助手。他比较了Tabnine(自2013年已存在!)、GitHub Copilot和ChatGPT。ChatGPT没有IDE插件,所以它的用户友好度稍低一些。演示了一些功能,如代码生成、测试生成、解释代码、查找错误和重构代码。此次讲话还讨论了隐私问题。你的代码通过网络发送给编码助手。只有Tabnine提供自托管选项。那么,为什么你应该使用编码助手呢?你将程序与编码助手配对,你可以更快地编写代码。
除了这三个编码助手,JetBrains还在主题演讲中宣布了他们的AI助手。虽然还在预览中,但演示非常令人期待。
如果你想了解更多关于MLOps的内容,可以观看由Bert Gossey演讲的这个内容。MLOps是一个模型开发生命周期,就像我们有软件开发生命周期一样。它包括以下步骤:
这些步骤是由专家执行的:数据工程师、数据科学家、软件工程师和运维人员。这意味着你也将有交接。这就是MLOps挽救的地方。MLOps实际上是将DevOps与机器学习(数据和模型)相结合。支持MLOps工作流程的工具有KubeFlow和MLFlow。
Simon Brown,C4模型的创造者,介绍了Structurizr。这个工具允许你以代码的形式创建你的C4图表。它还将确保你的图表的一致性,并允许你创建差异。Structurizr是一个完整的工具,相当有趣。我一定会更仔细地研究它。
关于授权,有许多讲话,主要是关于OAuth2、OpenID Connect和WebAuthn。WebAuthn可以通过密码(即无密码登录)用作2FA。你可以在webauthn.io上尝试。重要的是要了解这些授权方法是如何工作的。
Spring Authorization Server是一个允许你构建类似Keycloak的框架。它并不打算成为Keycloak的竞争者。适用场景是当你需要高级定制、轻量级授权服务器或开发目的时。
一定要看看主题演讲。开场和闭幕的主题演讲都值得一看。你会学到一些东西,也会笑不少。
Devoxx 2023很棒,我很高兴能够参加这个活动。正如你在这篇博客中所读到的,我学到了很多,也需要更仔细地研究许多话题。至少我不需要再为未来的博客寻找灵感了!
推荐阅读: 程序员有哪些不一样的习惯
本文链接: Devoxx Belgium 2023 收获