Free Joker 2017 YouTube Broadcast: Java 9, Concurrency, GC, Spring and, of course, puzzlers
The circle is closed. Exactly a year ago, we held an open broadcast of Joker 2016 for all those who did not have the opportunity to register. Since then, we have conducted more than a dozen broadcasts from conferences on .NET, JavaScript, DevOps, mobile technologies, testing, and Java, of course.
What got better in a year? We tested the technology, fixed a couple of vulnerabilities, started broadcasting via YouTube (and not through the custom interface), learned to ask questions from the broadcast participants, banned a good hundred trolls, learned to conduct interviews in breaks without delays and delays, started broadcasting in 1440r ... probably there is something else.
Actually, very soon you will be able to see what happened - on November 3 at 9:30 a.m. we will begin a two-day free broadcast of the main track of Joker 2017. The broadcast will go with one break "to sleep." And it will also be in a resolution of 1440p, so for once you will need your cool monitors.
The program included reports by Cay Horstmann, Alexei Shipilev, Baruch jbaruch Sadogursky, Tagir lany Valeev, Nikolai xpinjection Alimenkov, Evgeny Evgeny Borisov Borisov, Sergey Milfgard Abdulmanov and some others.
Interesting? Let's go under the cat.
Please note that the links to different broadcast days are different, so save both or add this post to your favorites so as not to lose.
Day one, November 3
Java 9: the good parts (not modules)
Cay Horstmann, San Jose State University
The opening keynote will be dedicated to what we have been waiting for so long - Java 9. It is already with us, we all felt it, that's just the question, is it all Have you tried the goodies? The report is devoted to an overview of all the good that is in the new Java (I did not translate the list, because in English, it seems to me that everything looks much clearer): collection literals (almost), an Elvis operator, new sightings of streams and completable futures, the interactive shell, improvements in input, regex, processes, optionals, and streams, and the long-awaited BigInteger.TWO.
In general, must see if you want to use the nine to the fullest.
Java Puzzlers NG S03 - Where are you all climbing from ?!
Tagir Valeev, JetBrains; Baruch Sadogursky, JFrog
The title of this report speaks for itself: a new portion of puzzlers! Everything as you like: Tagir and Baruch, hellish puzzles from Java 8 and even Java 9, funny gifs, as well as T-shirts from JFrog flying to the hall! Pleasant with useful again with you!
If you don’t know how it looks, look at past versions: here is a great example .
Java 9 modules. Why not OSGi?
Nikita pjBooms Lipsky, Excelsior LLC
One of the best reports from Novosibirsk JBreak 2017, supplemented and improved, about what will not be in keynote: about modules. Someone doesn’t care much, someone scares, someone sincerely wonders: why, after all, for more than 15 years we have had OSGi that solves exactly the same problems?
In this report, we will try to figure out what problems OSGi is trying to solve, how it does it and whether it really does. Then we'll figure out what problems OSGi is trying to solve, Jigsaw does not solve at all, and why, and what problems it solves and how. Well, in the end, let's talk about what problems Jigsaw brings to the Java ecosystem and what to do about it.
Concurrency For Humans
Cay Horstmann, San Jose State University
At our Java conferences, there are exactly two topics, 100% gathering full rooms: competition and performance (forgive me my "French"). So this report will be about the first.
The problem is that all of our favorite Java books tell us that concurrency is threads, synchronized methods, wait and notify. It’s only when you write concordance code that it’s better to think in terms of tasks rather than threads: think about thread-safe data structures, parallel threads and use them correctly. It would also be nice to master asynchronous data processing. In general, in this report, Kay will show all the tools of the standard Java library for implementing the main parallelization patterns without locks and conditions.
Shenandoah: the garbage collector that could (part 2)
Alexei Shipilev, Red Hat
Attention! To fully understand everything that Alexey will talk about in the report, we strongly recommend that you watch the first part of “Shenandoah: the garbage collector that could . ”
Continuation of the history of the garbage collector from Red Hat. This report dives into the rabbit hole of the problems that a low-speed GC such as Shenandoah is forced to face, reflects on what can be done with these problems at the JVM level, and what prudent developers of low-speed Java systems can do when they are aware of this rake.
Java 8: Good, Bad, Evil
Nikolai xpinjection Alimenkov, XP Injection
In the morning we started the day with news about Java 9, but the question is, have we mastered Java 8 features well enough? She has been with us for several years, and during this time most of the projects switched to the use of the eight, including starting to use the new features of the language.
Actively participating in the code review, over the past few years Nikolai has seen enough of fairly general anti-patterns in the application of Java 8 innovations. In this report, incorrect and ineffective techniques for working with Optional, Stream and lambdas, as well as the correct ways to solve the initial problems, will be demonstrated on practical examples. .
After this report, all participants and speakers of Joker 2017 will go to a party (if you also want, you can still have time to register ) to grind “for life” with a glass of foam (or red, if you want) with residents and guests of Debriefing, speakers conferences and colleagues.
Day 2, November 4
Boot yourself, Spring is coming
Kirill tolkkv Tolkachev, Alpha Laboratory; Evgeny Borisov, Naya Technologies
They say magicians do not reveal their secrets. It’s good that not magicians work in Pivotal! Therefore, when the magic “box” of Spring Boot does not start, you can always understand what's what. You can google it, look at the solution options on StackOverflow (you just need to find the right topic among the 26,919 requests made by spring-boot), or you can take care of your time in advance and see how Cyril and Eugene gutted the Spring Boot in public for two hours.
You will understand the basic principles and conventions for typical Spring Boot applications. The report is designed in such a way that all the magic from the cylinder has turned for the audience into a much more transparent process. Then you can not only have fun when everything works, but also understand the essence of the problems that arise, solving them without first aid.
Learning from Google’s experience in building microservices with gRPC
Alexander Borisov, Google
Microservice architecture is not free, it significantly increases the number of remote calls. This leads to new challenges and problems in networking, so choosing the right framework for remote procedure call (RPC) becomes critical.
gRPC is Google’s next-generation RPC framework designed to improve performance and solve the complexities of networking when writing distributed systems.
Alexander will show how gRPC helps build a reactive microservice architecture, discusses some of the difficulties that can be encountered when writing distributed systems, and shows how gRPC helps to solve them.
TestContainers - integration testing with Docker
Sergey Egorov, Uvita
Unit tests are good. That's just the majority of modern microservices that work with external I / O (databases, MQ, other services). How to be, how to test?
“H2” - you say proudly! Well, good, but in production, for example, PostgreSQL with JSONB. How is it with JSONB in H2?
The report will talk about the TestContainers library, which allows you to quickly and cross-platformly launch Docker containers from your JUnit (and not only) tests with popular databases, Selenium browsers, and in general everything that can run in Docker. With the ability to run both locally during development, and on CI-servers without changes.
Amber project: lead from the fields
Tagir Valeev, JetBrains
On the first day of Joker 2017, we will talk about Java 8 and Java 9, but on the second - already about what awaits us in the future. The Amber project brings together various experimental innovations that may be introduced in Java 10 or future versions. This includes outputting types of local variables, pattern matching, and more. In the report, we will see what has already been implemented at the moment, what problems the authors are faced with, how we can play with this ourselves and offer our brilliant ideas.
Knowing with what kind of love Tagir prepares his reports, I personally recommend everyone to devote an hour to this report, even if you do not plan to watch the entire broadcast.
How we expanded the bottleneck of the development
Sergey Abdulmanov, Mosigra
Report from the legend of Habr, a man with four-digit karma, the experience of creating his own IT company and managing one of the country's largest federal network of board game stores.
History: did 10 projects of board games a year, it became possible to load production and do an order of magnitude more. The problem was in the development process: it was necessary to expand the kernel team no more than twice. As a result, about 80 projects were completed. About what rake the guys from Mosigra stepped on, how they sorted out this rake and what came of it - in Sergey’s report.
By the way, just recently we discussed with Sergey the nuances of developing desktops in Habrainterview .
Intermission Broadcast
The problem with many online broadcasts is empty breaks and coffee breaks. While participants at the conference drink coffee and communicate with speakers, viewers of the broadcast are forced to look at the stubs and wait for the next report to begin.
We solved this problem in our own way - during the breaks, interviews with speakers and conference sponsors will be broadcast. The interview will be olegchir (you probably read his articles about Java or DevOps) along with phillennium - you won’t be bored.
I would like to draw attention to the fact that through the interview you will be able to get acquainted with those speakers and guests who will not be in the broadcast program: Anton antonarhipov Arkhipov, Nitsan Wakart, Andrey apanginPangin or Leonid Igolnik - this, of course, is not a complete list, get connected, as they say!
Questions, both during the interview and during the reports, can be asked through the Telegram chat of the conference .
Limitations
- Broadcasting is provided on the basis of as is : we are sure that everything will be fine, but if suddenly something - do not blame me!
- There will be no videos. That is, they, of course, will be, but only for conference participants who left feedback. And for everyone else, we will traditionally post them in 3-4 months.
- You will not be able to see what is happening in other rooms. And there will be many interesting things . Next time buy a ticket and see everything without restrictions.