來自:唐尤華
譯自: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
這個演講的開場展示了一個場景,單元測試透過但系統功能模組仍然不對。這裡提到的另一個基於模擬資料測試的問題(即針對特定測試用例人為建立的測試資料)。
接下來的演講中,提到了一些框架和開發庫(在簡報中提供了連結):
- 嵌入式 Elasticsearch:一個簡化 Elasticsearch 整合測試構建過程的工具
- Flapdoodle.embed.process:在單元測試中提供一種平臺無關的方式執行行程
- Docker-maven-plugin
- Moby Ryuk:指定時間延時清理 Moby 或 Docker 容器
- 為測試容器進行 Elasticsearch 容器的 Docker 化
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 成員免費。
其中的一些演講,可以從標題和描述中猜出大概內容,其他一些不是那麼明顯。不管怎樣,學習新東西總是一種很好的體驗。
在寫這篇文章時,我發現幾乎所有連結的簡報都是用德語寫的,以前的會議並不是這樣。但是,演講中的程式碼和圖表相信對所有開發者都是容易理解的。
已傳送
朋友將在看一看看到
分享你的想法…
分享想法到看一看