📜 ⬆️ ⬇️

Recall all: Java JET conference. April 25, 2016. Report number 2

Hello! Not so long ago, we finished uploading the video last spring to the conference, so it’s time to share another report. This time, in addition to the already tested format in 6 hour sessions and 3 streams, the site allowed adding one more. And we decided to dedicate this whole stream to a new and at that time already strong Kotlin language. There were a lot of speeches, everything is worth a look, but in the narration I’ll dwell on only a few details.

Opening


As always, thanks to those who helped us - friends and companies. Friends for continuing to come and support us. And for companies that trust the minds of their developers, without fear of getting a surprisingly large story the next day. And, of course, parting words for the day ahead. The main message of which was that the conference, of course, is work, a great investment, but we must not forget about the pleasure of new meetings, new ideas and new goals!


')

A place


We continue to like cinema as a conference venue. The past cinema was too big for us to be able to rent it entirely. Previous reviews have shown 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!



Keynout


Choosing a speaker for keyout is not an easy task. Not only should it be a bright, active person, 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 turned out so dramatic, we realized that inviting Baruch would be a great decision!

Is it easy to write software? And if this software is a basic tool in the user? And what if the users are we - the developers? In general, Modular software and dependency managers: Welcome to hell !



Activities


This time there were not so many activities. A very small presence of sponsors has affected. But those that were, worked for the glory. Prefixes, quizzes, lotteries and the most important entertainment - this is its own game.



Reports


No container: a modern Java Stack with Bootique

How many of you really write programs? Yes, it is the program, and not a big spreading plugin, which is then launched by your container? Bootique, like Spring Boot, and Dropwizard, is trying to solve the same problem - we are preparing a project quickly and launch our “peaceful” jar. But Bootique makes it possible to control the "stuffing" of the program initially due to the fact that it uses Google Guice as a mechanism for dividing 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.

» Immutable Object Oriented Web Framework

This presentation also appeals to how we build programs. Analyzing the concept of OOP, Egor is completely unhappy with what ideas the developers put in when they are working on the composition of 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 an application as a plugin for a container, we thereby remove all responsibility from ourselves for the execution of what has been written. Therefore, Takes suggests writing web applications just like programs.



» MyBatis, Thanks God not JPA

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

» Apache Cayenne: Java ORM Alternative

From the title, we can conclude that Apache Cayenne was created contrary to existing solutions. But this is not at all the case. His story began in 2001. And successfully continues within the Apache community. Based on the concept of “Database First”, Cayenne operates with concepts of models and classes. The model is created based on the existing schema in the database. We can subsequently edit it by adding, for example, new relations between objects that are not at the table level. The next step is to generate the classes. We get them of two types. There are main classes with which we can add new behavior, and which remain unchanged for the generator. And there are superclasses that contain behavior to control the properties of objects and create queries. And the intuitive API of the same requests can give an additional reason to think about the rejection of the conditional compatibility offered by JPA.



» Testing RESTful services: The How, The How and The Automated

What needs to be tested in RESTful API? At what stage of development should you think about future testing? And what if you completely forgot about the isolation layer with other services? What tools to assist in testing then exist? And what are the options for working with the database during testing? Now it's time to start 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 let's test our final resources. We start testing by checking whether a resource is reachable, whether it returns an expected result. And we end up checking for the absence of any errors and the fact that the necessary logic was actually executed on the server. And the full scenario of testing our resources will depend on the specific type of CRUD operations performed by these resources.

» Advanced Testing Tools

And this talk will tell you a little about parameterized unit testing. Here we consider the most popular frameworks such as TestNG and JUnit 4. Extensions have been added to the review, which introduce a more friendly API for JUnit 4. As part of the parameterized testing, the approaches that the new JUnit 5 offers are also consecrated in which In some cases, we should resort to system testing or, if to rephrase, non-functional tests. And he proposed several interesting libraries for classpath monitoring, for different types of load testing and testing usability 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 socialize. Of course, not without disgruntled. Next time we will try to organize a bigger place, and remove the low tables altogether. And it actually worked, and it turned out a really fun and lively communication.



Video


And here is the long-awaited top 5 conference reports. Quite a bit and all 5 places would get 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 recommendations, here comes Neo4j


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

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


All Articles