2018 Java Nord 论坛回顾

(给ImportNew加星标,提高Java技能)

来自:唐尤华

译自:https://dzone.com/articles/java-forum-nord-2018-retrospecive

2018年的 Java Nord 论坛,你错过了哪些精彩内容?

本文介绍了2018年9月24日,我在德国汉诺威参加的非商业性 Java 会议,该会议被称为“Java Nord 论坛”。演讲内容是德语,但演示文稿由图表和代码示例组成,便于非德语读者理解。在这里我列出了参加的演讲、PPT链接以及内容关键词。

1. 社交而非浪费:让我们一起聊聊 — Stefanie Reinicke,Jan-Christian Dammann 博士

这个演讲讨论了如何让开发团队变强的三个主题:

经验分享:

编写文档

在博客或论坛上发表专题文章

组织技术会议

如何对合适的解决办法达成一致?

主导有争议性的讨论

组织 Q&A 环节

如何促进经验的分享?

组织每天一次交流

2. 在 Java 中使用函数式编程也是可能的!— Falk Sippach

在这篇演示文稿中,介绍了一个验证信用卡号的 Luhn 算法的函数式编程案例。

函数式编程风格实现的 Luhn 算法具有直观、易于阅读的特点。不仅是函数式编程,演讲者的编程风格也让内容更容易理解,每个函数都被声明为一个单独的变量。

演示的例子使用了下列框架:

Vavr

Immutables

Lombok 项目

演讲中提到的其他框架有:

函数式 Java

RxJava

Vertx

JOOQ

JDeferred

3. 自我管理42.0:充满激情的软件工匠如何优化生活并取得更大成就 — Steven Schwenke

报告分两部分。

第一部分,Steven Schwenke 把自我管理定义为一种与敏捷软件开发方法 SCRUM 类似的东西。他把每周计划定义为组织者模块,随身携带并在自己的日常活动中使用。我发现,自我管理42.0计划方法缺少的是自主性和自由度,因为每个任务都经过深思熟虑,并在组织者的书中进行了描述,这需要投入更多的努力和时间。

第二部分,演讲者介绍了一些书籍,这些书籍为开发自我管理方法的终极状态提供了有用的想法。

4. 微服务和宏体系结构:垂直应用架构中的三个关键设计问题 — Stefan Zörner

在这篇演示文稿中讨论了微服务和宏体系结构。 在建立基于微服务的系统之前,需要解决以下问题:

与下面内容交互:

UI

沟通与融合

I18N

人类工程学

验证

底层部分:

持久化

安全性

事务处理

会话及状态处理

事件和错误处理

多线程

缓存

开发:

敏捷软件方法

版本控制系统

持续交付和集成

生产环境

发布

部署

高可用性

虚拟化

可扩展性

垂直应用架构中的三个设计问题:

UI 问题?提出了两种方法:

一个客户端与所有微服务通信

每个微服务都有自己的 UI

通信的形式应该是怎样的?

同步 vs. 异步

直接通信 vs. 间接通信

通过一个例子进行讨论,组合了之前的一些条件,比如直接同步通信

安全性

集中式认证

去中心化授权

演讲中提到的相关信息:

SCS:内建系统(Self-Contained System)

IPA:独立系统架构

5. Java 注解处理器让编写代码又好又轻松 — Gunnar Hilling

这篇演示文稿关于处理注解的 API。演讲中的注解示例创建一个接口的静态元模型。接着定义了一个验证使用正确性的注解验证器,同时给出了该测试接口实现的测试结果。

术语:

JavaPoet 是一个通过 API 创建 Java 代码的开发库。

不得不承认,这演讲的主题很有意思ーー对我来说很新鲜。老实说,关于使用这种编程方式的动机或好处,我没有任何结论。也许,我只是被标题中“又好又轻松”吸引了。

6. 通过测试容器进行集成测试 — Philipp Krenn

这个演讲的开场展示了一个场景,单元测试通过但系统功能模块仍然不对。这里提到的另一个基于模拟数据测试的问题(即针对特定测试用例人为创建的测试数据)。

接下来的演讲中,提到了一些框架和开发库(在演示文稿中提供了链接):

7. 结对编程与群组编程: 现代敏捷成功的基本要素 — Thomas Much

译注:群组编程(Mob Programming) 是一种软件开发方法。在这种方法中,整个团队在同一时间、同一空间、同一台计算机上处理同一件事情。这类似于结对编程,两个人坐在同一台计算机上,同时合作编写相同的代码。通过群组编程,可以在团队中的每个人之间实现协作,同时仍然使用一台计算机编写代码并将其提交到代码仓库中。

这个演讲关于结对编程和群组编程技术。演讲中解释了为什么结对编程对团队有好处,并介绍结对编程的实现方法。此外还介绍了群组编程,所有的团队成员,包括PO、QA 和 Dev Ops 都参与其中。

8. 闭幕式主旨演讲:持久的软件架构,数十年没有技术债务 — Carola Lilienthal 博士

https://www.youtube.com/watch?v=vp4YQJvafO8

https://www.youtube.com/watch?v=Nfzuy4L9_UM

https://www.youtube.com/watch?v=M6sprMtD6nA

这个演讲讨论了技术债务。我之所以熟悉这个主题,因为两年前在一个叫 JavaLand 2016 的会议上听过相关内容。

软件项目中的技术债务,通过工具来分析软件找出不良架构

接下来通过重构得到更好的软件

良好的架构需要:

良好的模块化

清晰的层级

在技术和功能层面具有良好的一致性

监测不良架构的示例

检测架构错误的工具,包括结构错误、层次错误、依赖关系错误

9. 总结

Java Nord 是一个为期一天的非商业会议,由位于德国北部的几个 Java 用户组(JUG)通过四个渠道组织起来,并且对 JUG 成员免费。

其中的一些演讲,可以从标题和描述中猜出大概内容,其他一些不是那么明显。不管怎样,学习新东西总是一种很好的体验。

在写这篇文章时,我发现几乎所有链接的演示文稿都是用德语写的,以前的会议并不是这样。但是,演讲中的代码和图表相信对所有开发者都是容易理解的。

看完本文有收获?请转发分享给更多人

关注「ImportNew」,提升Java技能

喜欢就点「好看」呗~

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190126B0FZJ800?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励