Top 10: Best Joker 2017 Reports



We recently opened video recordings of Joker 2017 reports for everyone. And when forty forty Java reports get into public access at once, what could be the problem here? That eyes run up! When so many things, it is not clear what to look for in the first place.

You can focus on the audience ratings: start with the reports that were most liked by the people sitting in the hall. Therefore, we have compiled for you the top ten major videos, providing them with small descriptions.

Usually we in these tops strictly denote places. But this time the top reports went "nostril to nostril", and the difference between them is sometimes symbolic. Therefore, although the videos below are arranged by ascending ratings to the highest, this division is rather conditional: more important is not the order in which they go, but the fact that they all liked the viewers very much.

Profilers are lying hobbitses


Speaker: Nitsan Wakart
Link to the presentation of the report


What would you say if the application “Accounting for mobile traffic consumption” sometimes indicated to you “Here he eats traffic!” Not for the service that really spent all your quota, but on another innocent guilty? You would probably be indignant: the application does not cope with its main task and only misleads you.

With Java profilers, the situation is similar. Under certain conditions, many of them may so intimidate that if you don’t know about it, using them can complicate your life instead of making it easier. But this does not mean that it is necessary to throw them all out and measure the performance "by eye". It would be more constructive to find out what exactly is wrong and how we should live with it. This is what Nitsan Vacart, known to many by the blog "Psychosomatic, Lobotomy, Saw", tells.



Text editor - this is not your highest mathematics, you need to think


Speaker: Alexey Kudryavtsev
Link to the presentation of the report


The title of the report, of course, is provocative, but it appeared not from scratch. The same with the report itself: it lacks both irony and “meat”. Alexey works in JetBrains on IDE (which is also a text editor in a certain sense) - and he is well aware of how to deal with texts of such length that we all in our String never dreamed of. And what kind of specificity arises, when inspections are constantly undergone under this text.

Here, of course, the question of practical applicability arises. Will many of us ever have to work on a text editor? If not, what will this report give us? But he can give at least this: at the same IDE that you see every day, after that you look a little with different eyes.



Event sourcing, event-driven architecture and CQRS


Speaker: Sebastian Daschner


It would seem that on the Internet there is no shortage of texts explaining the concepts of event sourcing and Command Query Responsibility Segregation (“restoring the current state based on the source and past events”, “separating the reading and writing”, that's all). But one and the same can be explained in different ways, and the audience feedback showed: people like the way Sebastian Dashner explains.

Here is an example given in the report: “Imagine that you ordered a burger in a cafe, sit in anticipation, and then the waiter returns with the words“ I'm sorry, they said in the kitchen that the right ingredient is not there now. ” Of course, it is unpleasant. But in order to avoid this, the waiter would have to run to the kitchen right after the words “can I order a burger?” And not return until he is ready: “yes, you can, and here he is.” Obviously, this approach will not work at all. Therefore, a complex system of many elements is wiser to do something that is not absolutely consistent, but eventually consistent. ”

And I want to give Sebastian a separate achivka “the spirit of the old school” because his presentation instead of Powerpoint was made, it seems, in Vim (and the diagrams there are carefully drawn by ASCII-art).



One-cloud DC / OS in Java and for Java


Speaker: Oleg Anastasyev
Link to the presentation of the report


The word "cloud" in recent years has been worn out to impossibility. But if in many cases it can be mentally replaced by “Amazon”, then the situation is quite different.

Initially, at Odnoklassniki, each server was responsible only for one task, which simplified a lot (for example, it is immediately obvious what task eats how much). But as development progressed, it became clear that the most valuable infrastructure resource is not a server, but rack space, and we need to increase utilization of the data center, dividing the resources of each server between different tasks. How to use Docker to correctly divide resources between the tasks of the “important fast response” class and the “important bandwidth” class? What happens when Kubernetes does not fit, but do you have the strength to make your own decision?

According to the description of the report may seem very much "devopsnym" and infrastructure, rather than design. But in fact, he became “very much devopsny” not at Joker, but at our other DevOops conference: for two different events, Oleg prepared different versions of the report.



Java Puzzlers NG S03 - Where are you all climbing something ?!


Speakers: Tagir Valeev and Baruh Sadogursky
Link to the presentation of the report


Puzzlers, of course, want to demonstrate a specific example. Therefore, we will retell the second problem posed by Tagir and Baruch. Suppose we put one ternary operator in another (do not ask why):

System.out.println(isUltimateQuestion ? 42 : isUltimateQuestion ? 42 : null); 

Also assume that isUltimateQuestion is false. Question: what will the code give out and why?

Options:

  1. null
  2. Will not compile
  3. 42
  4. NullPointerException

The correct answer is under the spoiler.

Hidden text
The correct option is the last, NullPointerException. Why? It turns out, according to the specification, if the int and null outcomes are possible in the ternary operator, the expression as a whole will have the type Integer. And if int and Integer, then int. What this all leads to: an attempt will be made to anbox an “internal” ternary operator, and it will come across null.



However, the puzzler reports do the tasks themselves - this is half the battle, the submission is no less important. And here she, as can be expected from these speakers, is also bright: T-shirts are flying into the hall, Baruch is joking on the stage, the wolf is chasing a hare on the screen. At the conference from the next room, they complained that it was even heard there!



Amber project: news from the fields


Speaker: Tagir Valeev
Link to the presentation of the report


And here Tagir is already without Baruch. He decided to figure out how to “what the future is preparing for us,” and studied the information on Project Amber, a compilation of small changes.

Today, the main problem with this report, of course, is that much has changed in the past time. Let's say the report begins with local output of variables - and now we have already received it in Java 10, and there are already a lot of materials “as is”, and not “how it will be”. But the report still remains interesting: and because it puts everything in context (“actually type inference appeared as such in the eighth version”), and because it is interesting to see how everything looked as of the end of 2017.



Shenandoah: a garbage collector that could (part 2)


Speaker: Alexey Shipilyov .


This report is demanding of the viewer for two reasons:

Firstly, it requires a preliminary acquaintance with the previous report of Alexey, made at JPoint 2017 (actually, hence the “part 2” in the title). Now that both of these reports are available to everyone, you can immediately view them as a whole “dilogy about GC”.

And secondly, this is the report of Alexei Shipilev. Not the most insubstantial of all that he has ever told, so you shouldn’t be afraid to be approached - but, nevertheless, certain knowledge from the viewer is required. And here the video format can be an advantage compared to the personal presence on the report. Because you can pause the video and google the incomprehensible!



Java 8: Good, Bad, Angry


Speaker: Nikolay Alimenkov
Link to the presentation of the report


New versions of Java are now replacing each other faster than new iPhones, and the approach is no longer the eleventh. But if we ask “well, but what about production?”, It’s most likely that you will answer the “eighth”. And this means that the report on the peculiarities of its use now still remains relevant.

Undoubtedly, the G8 has given us many wonderful new opportunities - but there is no such great opportunity that could not be spoiled by improper use. And the report is just about this: how to use them incorrectly, and how much it would cost according to the mind. The GitHub repository goes in a couple to the report - if it’s more convenient for you, you can look at specific examples right there.



GraphQL - API in a new way


Speaker: Vladimir Tsukur
Link to the presentation of the report


A survey of the hall at the very beginning of the report shows that very many people heard about GraphQL among the audience, but very few people used it “in battle”. Of course, for the entire Java-community this may be a non-representative sample (it’s not surprising that such people are stinging to such a report), but still there is a feeling that this technology is now in the “time to meet” status. The report offers exactly this - a vigorous and brief acquaintance.

Now questions related to the API can become a zone of tension between the front-end and the back-end. For the frontend, it may look like "my requirements have changed and something needs to be changed in endpoints, but they do not itch there," for the backend, "everyones come here and urgently want something when we have other tasks burning." If front-fighters could simply request the data they need and get exactly their data, no more and no less, would not this be heaven on earth?

In fact, it would not come: GraphQL has its drawbacks. But the audience praised this report partly for the fact that he did not bypass them and did not turn into a beautiful advertising picture. And at the same time, in feedback, many indicated that they now want to test the technology in a working draft. Is this not a success?



Boot yourself, Spring is coming


Speakers: Yevgeny Borisov and Kirill Tolkachev

Part 1:


Part 2:


Finally, the rating is crowned not just a report, but a report. He occupied two time slots and it seems that he could easily continue the same amount. He gathered in the hall and a paid online broadcast of a total of more than a thousand people. Finally, he demanded two people on stage at once, and this is also a challenge: a paired report is a format that is not obtained by everyone.

Perhaps, given the popularity of Spring Boot in the Java-ecosystem, a report of just such a scope was needed. And reviews have shown that everything is not in vain: it turned out not only a swing to the ruble, but also a corresponding blow.

And if you are a fan of serials and immediately saw in the title a reference to “Brace Yourselves, Winter is Coming”, then you are right: Kirill and Eugene all play for two hours “Game of Thrones”.
If the reports from the list interest you, we would like to draw your attention: we have already announced the next Joker , and there you may be equally interested. At the same time, tickets are getting more expensive with time, and the nearest price increase will occur on July 1st. So do not postpone the purchase of a ticket to a new Joker before reviewing all the reports from the previous one!

Source: https://habr.com/ru/post/415701/


All Articles