Recall Everything: Java JET Conference. April 25, 2016. Report No. 2

    Hello! Not so long ago, we finished uploading a video last spring of the conference, so it's time to share the next report. This time, in addition to the already tested format of 6 hour sessions and 3 streams, the site allowed adding one more. And we decided to devote this whole stream to the new and at that time already stronger Kotlin language. It turned out a lot of performances, everything is worth a look, but in the narration I will dwell in detail on only a few.

    Opening


    As always, thanks to those who helped us - friends and companies. Friends for continuing to come and support us. And companies for trusting the minds of their developers, not afraid to get an unexpectedly big commit story the next day. And, of course, parting words for the coming day. The main message of which was that the conference, of course, is work, a big investment, but we must not forget about the pleasure of new meetings, new ideas and new goals!




    A place


    We continue to like movie theaters as conference venues. The previous cinema was too big for us to be able to rent it in its entirety. Previous reviews showed that it would be great to limit the site from unauthorized persons completely, so this time we chose a slightly smaller option. Meet the Silver Screen Cinema in Arena City!



    Keynote


    Choosing a speaker for keynote is not an easy task. Not only should it be a vibrant, active personality, a trusted opinion, but also open to a new audience. The idea came almost immediately, and did not have to go far. Based on the results of last year's conference, where the struggle for the best performance was so dramatic, we realized that inviting Baruch would be a great solution!

    Is software easy to write? And if this software is the basic tool in the user's work? But what if users are us developers? In general, Modular software and dependency managers: Welcome to hell !



    Activities


    There were not so many activities this time. Affected by the very small presence of sponsors. But those that were did a great job. Consoles, quizzes, lotteries and the most important entertainment - this is your own game.



    Reports


    » No container: a Modern Java Stack with Bootique

    How many of you really write programs? Yes, it’s the program, and not the big leafy plug-in that is then launched by your container? Bootique, like Spring Boot and Dropwizard, is trying to solve the same problem - we prepare the project quickly and launch our “peaceful” jar. But Bootique gives you the ability to control the "stuffing" of the program initially due to the fact that it uses Google Guice as a mechanism for breaking into modules and controlling dependencies. You can use existing modules or write your own. And the automatic loader will help to collect all the necessary dependencies among the already announced Bootique-modules.

    » An Immutable Object Oriented Web Framework

    This presentation also appeals to how we build programs. Analyzing the concepts of OOP, Yegor is completely dissatisfied with what ideas the developers put in when they are engaged in composing their application. The object should be perceived as an entity responsible for its behavior, which prohibits any interference with this behavior during execution. Of course, creating the application as a plug-in for the container, we thereby remove all responsibility from ourselves for the execution of the written. Therefore, Takes offers to write web applications just like programs.



    » MyBatis, Thanks God not JPA

    Here is everything you can know about MyBatis- only harsh facts and a sober view of the world. An insanely simple solution that allows you to get advantages over bare JDBC, but not suffer from the overload of the JPA approach. Indeed, when JPA promises to save us from SQL, it adds new abstractions, but it does not help to get away from understanding SQL at all, of course, with the exception of simple CRUD systems. Therefore, MyBatis is for all lovers of transparency and simplicity. But as in any decision, it cannot do without pitfalls and dark corners, which are not so much good and they are well illuminated in this speech.

    » Apache Cayenne: Java ORM Alternative

    From the name we can conclude that Apache Cayennewas created contrary to existing solutions. But this is not at all true. His story began in 2001. And it continues successfully within the Apache community. Based on the concept of Database First, Cayenne operates on the concepts of models and classes. The model is created on the basis of the existing scheme in the database. We can subsequently edit it by adding, for example, new relationships between objects that are not at the table level. The next step is to generate classes. We get them of two types. There are basic classes to which we can add new behavior, and which remain unchanged for the generator. And there are superclasses that contain behavior for managing properties of objects and creating queries. And the intuitive API of the same requests may provide an additional reason to think about refusing the conditional compatibility offered by JPA.



    "Testing RESTful services: The What, The How and The Automated

    What needs to be tested in the RESTful API? At what stage of development should you think about future testing? But what if you completely forgot about the isolation layer with other services? What tools to help with testing then exist? And what are the options for working with the database during testing? Now it's time to launch our RESTful service. What tools help us here? Of course, they will be different depending on the type of archive of our application. Launched, now we are going to test our final resources. We begin testing by checking whether the resource is reachable, whether it returns the expected result. And we end up checking for the absence of any errors and the fact that the necessary logic was really executed on the server. A full test scenario for our resources will depend on the specific type of CRUD operations,

    » Advanced Testing Tools

    And this presentation will tell you a little bit about parameterized unit testing. The most popular frameworks, such as TestNG and JUnit 4, are considered here. Extensions are added to the review, which bring a more friendly API for JUnit 4. As part of the parameterized testing, the presentation highlights the approaches proposed by the new JUnit 5. Also Tomasz managed to share in which In cases we should resort to system testing or, to rephrase, non-functional tests. And he suggested some interesting libraries for classpath monitoring, for different types of load testing and usability testing of the functional parts of the program.



    A party


    This time the party was held in a small and cozy pub. We really did not want everyone to sit separately with their companies at the tables. Their small presence simply forced people to walk and communicate. Of course, not without dissatisfied. Next time we’ll try to organize a bigger place, and we’ll remove the low tables altogether. And it actually worked, and it turned out really fun and lively communication.



    Video


    And here is the long-awaited top 5 conference reports. Quite a bit and all 5 places would go to reports about Kotlin.
    1. Dmitry Jemerov - Caught in the Act: Kotlin Bytecode Generation and Runtime Performance


    2. Anton Keks - Kotlin in real projects: Pragmatic opinion on pragmatic language


    3. Nicolas Frankel - Improve your tests quality with Mutation Testing


    4. Jaroslaw Palka - Social networks and recommendation engines, here comes Neo4j


    5. Dmitry Jemerov - Kotlin: Making JVM Development Fun Again


    Also popular now: