blog techniczny_jdd

JDD 2015

data: 15 października, 2015
czas czytania: 5 min
autor: Adam Kulawik

The 10th edition of Java Developers Day is over now. As before, it took place in mid-October in Galaxy Hotel in Kraków.
This year organizers and board decided to refresh event formula. As a result four blocks of almost two-hour-long sessions with live coding were introduced, two per day. Let’s take a look at some of them.

„Functional programing and Event Sourcing – a pair made in heaven – extended, 2 hours long brainwash” by Paweł Szulc

Paweł Szulc started his talk with theoretical introduction to the topic. At first, he explained the concept of Functional Programming and discussed its features, strengths and weaknesses. He also talked about subjects such as monads and language related topics e.g. for-comprehension in Scala. Next, fundamentals of Event Sourcing were presented. In the live-coding part Paweł showed a simple object-oriented social application based on Event Sourcing and demonstrated how it can be redesigned into an application written in a functional way.

The scope of the talk was very extensive as it covered two broad concepts and also contained a nice practical example. Despite the scary title, it was a great pleasure to participate in the session. I, personally, learned about Functional Programming and Event Sourcing basic ideas, as well as Scala-related concepts, e.g. for-comprehension.

The code used during the presentation is available on github.

„Sharding with Akka Cluster: From Theory to Production” by Michał Płachta and Krzysztof Otrębski

The session started with a brief introduction to Scala, Actor model and Akka. After this Michał began live-development of a simple Akka-based application simulating a part of production line. Then, he scaled it up by creating more actors, and out, by starting the second JVM, measuring how performance of the system improved. Later, Krzysztof presented a simple game which was implemented using distributed actor system, running on cluster composed from 3 RaspberryPi based nodes. Finally, Krzysztof and Michał demonstrated how failover and rebalancing works by switching cluster nodes on and off . They also included some special effects such as cutting a network cable by means of metal shears.

It was really an excellent session. Broad content was delivered in an interesting, straightforward, as well as funny way. For me it was opportunity to see how to scale up and out Akka-based application in practice.

The code used during the presentation is available on github:

„Reactive database mapping with Scala and Slick” by Jacek Kunicki

The introduction to Slick – Functional Relational Mapping (FRM) for Scala began with some theoretical draft showing the idea of the solution. Then, Jacek presented how to use Slick in application which might serve as a backend for a conference voting system. Live coding began with preparing mapping of DB tables to Scala classes; then, data access objects were implemented. Audience could also learn about using plain SQL queries with Slick.

An interesting, practical, useful and very comprehensive presentation. I could learn how to work with database in Scala application with Slick at once.

The code used during the presentation is available on github.

Besides live coding

As usual, one could also participate in traditional 45-minute long lectures. Most of them were valuable and interesting, but the most notable for me was the talk „Twenty-one years of 'Design Patterns'” delivered by Ralph Johnson – member of famous „Gang of Four”. In his talk Ralph discussed the good and bad parts of „Design Patterns”, considering how 2nd edition of the book would look like. The audience could learn that classification of patterns could have changed as well as some new patterns (e.g. Value Object, Null Object and Dependency Injection) could have been introduced. Ralph also pointed that he considers that Mediator and Singleton patterns might be dangerous as they might tempt developers into following bad practices while he feels that Visitor is abused as many developers want to use it just because it’s cool. Ralph summed up his talk stating that „We could have done better, but we did pretty well”.

A chance to listen such self-review and retrospection from the author of one of the most influential IT-books ever written was a unique experience. Unfortunately, it is unlikely that mentioned 2nd edition of the Design Patterns book will emerge.

Aside from coding and lectures, participants could – as every year – visit exhibition stands. Besides job offers and competitions they could learn about new application server called JLupin Next Server directly from its creator. Will it occur on technology radars of our companies? Time will tell.

Final thoughts

In general, participation in 10th JDD was a positive experience for me. Even if some presentations seemed to be a little sub-standard, most of them were interesting and at a high level. The most serious drawback was that the venue seemed to be little overcrowded.

As far as themes are concerned, it seems that more and more sessions and talks are Scala-related. Maybe Java Developers Day will turn into Scala Developers Day in the near future?

More information about the conference can be found on JDD’s official website.

Newsletter IT leaks

Dzielimy się inspiracjami i nowinkami z branży IT. Szanujemy Twój czas - obiecujemy nie spamować i wysyłać wiadomości raz na dwa miesiące.

Subscribe to our newsletter

Administratorem Twoich danych osobowych jest Future Processing S.A. z siedzibą w Gliwicach. Twoje dane będziemy przetwarzać w celu przesyłania cyklicznego newslettera dot. branży IT. W każdej chwili możesz się wypisać lub edytować swoje dane. Więcej informacji znajdziesz w naszej polityce prywatności.

Subscribe to our newsletter

Administratorem Twoich danych osobowych jest Future Processing S.A. z siedzibą w Gliwicach. Twoje dane będziemy przetwarzać w celu przesyłania cyklicznego newslettera dot. branży IT. W każdej chwili możesz się wypisać lub edytować swoje dane. Więcej informacji znajdziesz w naszej polityce prywatności.