Jarek Ratajski - Java Developer since 1999
I love programming since my first line of code I did on the C64 in Basic. Somewhere in 90ties I've switched from C++ to java and spent then 16 Years developing JavaEE software working for various companies and projects. Now I work for Swiss banks and insurances being Java developer during the days and Scala/ScalaJS hacker at nights.
Symptoms: - tedious code containing only getters and setter, - useless tests that only test mocks and NOT the business of the system, - fear of refactoring - yes, you have tests – but you do small change and suddenly injections do not work anymore :-),
I know the problem. It is not Java that is bad! The cancer is called @Annotations. Something that was introduced to liberate Java developers from XML programming hell. But after few years it became even a bigger mess.
It is time to replace annotations with better functional constructs. Let me show how, and why it is better.
Have you ever heard of non blocking web servers? Have you tried it in Java? You should – it can totally change the way you code backend.
Let me present you how to write simple HTTP Rest Server using Ratpack library. Yes library - because it is not another vast framework. Just a small tool for big things! I will describe how non blocking architecture works - and YES one thread can handle thousands of simultaneous HTTP connections in Java! We will see why using more threads on server is not the best option every time - and we will try to find the sweet spot for performance. We will deal with topics such as: REST, WebSockets, persistence (with and without SQL databases), asynchronous IO, blocking IO, RxJava 2.0, JavaSlangVavr, immutability and more.
And yes - there will be mondas, a lot of them, you are going to love them. They are terrific.
All of that on a working example of a simple web based multiplayer game.