Ajout à la
revue avec le résumé de la conférence
JPoint 2019 pour les développeurs Java, tenue les 5 et 6 avril 2019 à Moscou. Plus d'avis, plus de photos, plus d'émotions et d'impressions.

Deux jours du matin au soir (presque littéralement
«de l'aube au crépuscule» ) 1 600 personnes (avec des conférenciers et l'équipe
JUG.ru - tous 1 700) d'âge proche ayant des intérêts professionnels similaires ont passé au Centre des congrès du World Trade Center. En se déplaçant dans le lieu et en se déplaçant d'une pièce à l'autre pendant les pauses, il a été estimé qu'un tel nombre de personnes était proche de la limite dans un lieu de conférence donné. Nous devons rendre hommage à tous ceux qui ont participé à la préparation de l'événement - tout s'est parfaitement déroulé. Si vous êtes entré dans la salle à l'avance, il y avait des endroits; en plus, la vidéo était diffusée dans la petite cinquième salle. Tout le monde a été nourri à l'heure et n'a pas été offensé par le manque de rapports pour tous les goûts (
«pain et cirque» ).

Stands d'entreprise
Parmi les stands des sponsors, une grande attention a été attirée par les entreprises dont les produits logiciels sont soit utilisés par la majorité des participants à la conférence, soit potentiellement intéressants pour une partie importante. Naturellement, c'est tout d'abord le stand de la société
JetBrains (plan moyen). En passant une bonne partie de la journée tous les jours, en utilisant la dernière version d'
IntelliJ IDEA , vous ressentez le plus profond respect et la plus profonde gratitude envers les employés de l'entreprise. Lors de la conférence, des rapports ont été
rédigés par ses employés
Tagir Valeev et
Anton Arkhipov .

Une petite entreprise (son nom officiel est «Program Verification Systems»), dont le produit phare est l'analyseur de code statique
PVS-Studio . Le produit a récemment introduit la prise en charge du
langage Java . L'entreprise est
très active sur Habré . Une part importante des articles a été rédigée par le directeur technique
Andrei Karpov (sur la première photo, il est sur le stand de l'entreprise).

Une autre entreprise intéressante est
BellSoft et leur
Liberica JDK . Une caractéristique distinctive de cette distribution est le support de l'
architecture ARM . Sur la première photo - le directeur général Alexander Belokrylov, qui a réussi à réaliser un mini-reportage sur la
scène de démonstration . En outre, Dmitry Chuiko a également parlé de
Java dans un environnement de conteneur.

Stand jug.msk.ru
La communauté des développeurs Java de Moscou
jug.msk.ru a agi en tant que partenaire d'information. Des réunions communautaires
ont lieu régulièrement , rassemblant invariablement un grand nombre de participants. Le stand était installé au rez-de-chaussée; Andrey Kogun (responsable de
jug.msk.ru , participant à temps partiel au comité du programme de la conférence) était presque toujours présent sur le stand. Au cours des deux jours d'existence du stand, le nombre d'abonnés au
compte Twitter a considérablement augmenté.
Anton Chernousov (
podcast , organisateur de la conférence, juste une bonne personne) et Andrey Kogun (première photo). Andrey et les participants à la conférence qui ont visité le stand (deuxième photo). Conférenciers des réunions passées
jug.msk.ru :
Ivan Ponomarev ,
Nikita Lipsky et
Alexey Stukalov (troisième photo).

Étape de démonstration
Un endroit populaire pour de courtes présentations. Une forme de rapports très attrayante, qui vous permet de rejoindre de nouveaux sujets et d'obtenir des informations d'un domaine qui vous intéresse lorsque vous restez en dehors des salles de rapport principales. Comme déjà indiqué, le seul inconvénient est bruyant, mais ce sont les caractéristiques du site.

Ouverture de la conférence
Andrei Dmitriev ouvre la conférence et présente le comité de programme. Andrei Kogun et Vladimir Sitnikov parlent en détail du programme de la conférence, en se concentrant sur les types de rapports possibles.

Rapports du premier jour
Anton Keks dans son rapport
Le monde a besoin d'artisans à part entière pour promouvoir l'idée de la plus grande polyvalence possible de chaque membre de l'équipe. Sur l'exemple de son entreprise,
Codeborne a expliqué pourquoi cela est important: la compacité de l'équipe en raison des nombreuses connaissances et compétences de chacun, la réduction des risques du projet (le camion notoire, sous les roues duquel, outre l'employé, le produit peut mourir en raison de la perte de connaissances), il est juste intéressant d'en obtenir plus connaissances dans différents domaines (il est difficile d'être en désaccord). Le rapport a inspiré non seulement le public, mais aussi le conférencier - Bruno Borges a inclus dans sa présentation une diapositive avec une citation d'Anton: «L'artisan peut être 5 fois plus efficace en sachant quoi ne pas faire».
Vladislav Senin avec le rapport
Logs: plus c'est mieux - mais comment vivre avec? fait dans une cinquième salle confortable. Vlad est un participant actif dans la communauté Java de Moscou, c'est ses débuts en tant que conférencier aux conférences
JUG.ru. L'évolution de l'utilisation des outils de stockage et de recherche de journaux a été montrée. Les sources de journaux sont
des applications Java et
Python . Pour la recherche,
Elasticsearch sert de
base . Après le rapport, d'autres détails fascinants ont été entendus (y compris une histoire de détective recherchant la cause de la perte d'un personnage dans
JSON ), qui n'ont pas été révélés en raison de contraintes de temps, nous pouvons donc nous attendre à une histoire plus détaillée de Vlad sur ce sujet dans un proche avenir.
La fée Proxy et la magie du printemps de Victor Rentea ont parlé de la magie du modèle de conception
Proxy couramment utilisé dans le
framework Spring . Dans l'annonce du rapport, il y avait une promesse d'introduire six façons d'intercepter les appels de méthode, deux façons d'utiliser le modèle
Decorator avec
Spring, et bien plus encore lors d'une session de codage en direct. Une performance très vivante, l'inspirant après lui pour expérimenter
Spring et se plonger dans le code des exemples montrés (ils sont
ici sur
GitHub ). Si vous aimez
Spring , les modèles de conception et le codage en direct - c'est certainement votre rapport, vous devriez regarder.

Rapport absolument pratique des
applications Bulletproof Java Enterprise pour la durée de
vie de la
production de
Sebastian Daschner sur l'importance de la stabilité et de la résilience pour les applications d'entreprise, et comment y parvenir. Pendant le rapport, j'ai trouvé et ouvert le projet
Microprofile Fault Tolerance sur
GitHub , le conférencier a activement démontré l'utilisation d'annotations à partir desquelles (je me
souviens le plus de @CircuitBreaker ). Le seul inconvénient de la présentation du rapport est les titres difficiles à lire (la première photo en donne une idée, vous pouvez cliquer sur l'image pour l'agrandir).

Rapport
Spring Boot américain, et nous nous renforçons: la légèreté insupportable de la compilation AOT des applications Spring de
Nikita Lipsky était une sorte de réponse à la question sur le support
Spring Boot dans
GraalVM , qui a été posée par Oleg Shelaev la
veille lors de la réunion (à
GraalVM il y a toujours des problèmes de support comme
Spring Boot , et le système d'exploitation Windows, qui a déclaré Oleg). Dans le produit
Excelsior JET , qui représente Nikita, avec le soutien de divers systèmes d'exploitation, tout va bien. En outre, la prise en charge de la
compilation AOT de Spring Boot a été officiellement annoncée récemment, ce qui a été signalé. Un intérêt supplémentaire pour la compilation AOT statique des applications Java est désormais lié au fait que les applications (microservices) sont particulièrement importantes pour un démarrage rapide. Le plus souvent, les applications sont construites sur la base de
Spring Boot . Un rapport intéressant, habilement équilibré au bord d'une présentation hardcore et compréhensible.

Les reportages conjoints de
Kirill Tolkachev et
Evgeny Borisov sont traditionnellement très populaires auprès des auditeurs,
réactifs ou non réactifs, c'est que la question n'a pas fait exception - dans la première photo, vous pouvez voir la salle entière. L'idée du rapport était de montrer la mise en œuvre habituelle d'une tâche (l'interaction des trois systèmes dans ce cas), afin qu'elle puisse ensuite être refaite dans un style réactif. Inspirés en regardant le rapport d'Oleg Dokuki sur le protocole
RSocket le même jour, les intervenants ont même réussi à affiner les
exemples . Tout s'est avéré assez réussi et passionnant.

Séances Bof
Le format
BOF a déjà été testé plusieurs fois lors de plusieurs conférences récentes et est devenu populaire. L'écoute des rapports est déjà difficile, mais il y a toujours la force et le désir de communication informelle - la conclusion naturelle du premier jour. Ci-dessous, une photo de la session BOF de
Microservices, cloud et où tout cela se passe , qui se déroule dans la zone de discussion.

Rapports du deuxième jour
Particularité , le «temps fort» des conférences techniques
JUG.ru est la présence au programme d'un rapport non technique. Cette fois, le rapport était le
jeu de Dieu. La science a-t-elle traversé la frontière avec
Alexander Panchin ? De tels rapports élargissent vos horizons et vous permettent de vous connecter pour la journée (cette fois, le rapport était le deuxième jour d'ouverture). Enfin, ils sont mutuellement intéressants à la fois pour le locuteur (public non standard) et les auditeurs (sujet inhabituel). Naturellement, le rapport était une science populaire, mais très intéressant. Changer le code génétique et corriger les défauts génétiques, les succès et les approches modernes dans la lutte contre le VIH et le cancer. Dénombrement des personnalités des scientifiques impliqués dans des problèmes similaires et de leurs réalisations.

Rapport léger (dans le bon sens du terme - facile à lire et à comprendre)
Inférence de type variable locale: ami ou ennemi? a été présenté par
Simon Ritter . Le sujet du rapport est l'
inférence des types de variables locales lors de l'utilisation de
var (une fonctionnalité introduite dans
Java 10 ). Après un examen plus approfondi, il s'est avéré que, dans un tel simple, à première vue, la question, il existe de nombreuses nuances auxquelles vous devez prêter attention. Il est estimé que le conférencier a une grande expérience de conférence (dans les antécédents, il y a du travail dans
Sun Microsystems ,
Oracle ,
Azul et le titre de J
ava Rockstar ,
Java Champion ). L'histoire était très facile à écouter et était bien illustrée par des diapositives. Un exemple de rapports avec une orientation pratique claire.

La
supercompilation des performances
, l'évaluation partielle, les projections Futamura et la façon dont GraalVM sauvera le monde interprété par
Oleg Shelaev était une continuation du thème
GraalVM , dont il a commencé l'histoire le 4 avril lors de
la réunion jug.msk.ru. Il était très utile d'écouter d'abord une histoire d'introduction détaillée de trois heures immédiatement avant la conférence, puis de passer le premier jour à une présentation de Nikita Lipsky (sur la prise en charge de
Spring Boot avec
AOT ), puis de revenir à
GraalVM à nouveau . La conversation a
porté sur les fondements théoriques du compilateur
Graal et des
projections GraalVM -
Futamura . Le deuxième sujet était une démonstration de l'utilisation de
Truffle , un framework pour créer des langages de programmation basés sur
GraalVM . Oleg a également recommandé d'écouter une conférence de Thomas Wuerthinger la veille de la conférence.

Un concept intéressant de changements atomiques lors de la refactorisation de code a été introduit par
Tagir Valeev dans son rapport
Atomic Refactoring dans IntelliJ IDEA: nous plions l'IDE pour nous-mêmes . L'idée des changements atomiques à chaque petite étape de la modification des lignes de code a été montrée dans l'environnement de développement
IntelliJ IDEA - Tagir représente
JetBrains , participant personnellement à son développement. De plus, la grande majorité de ceux qui sont assis dans la salle (dont moi) utilisent
IntelliJ IDEA tous les jours, donc l'histoire racontée et montrée est tombée sur un terrain fertile. Franchement, je n'ai jamais pensé à savoir si ma plus petite étape de changement était atomique, mais maintenant je vais essayer d'y prêter attention, peut-être en révisant le rapport vidéo.

Un autre exemple de rapport, dont les informations après écoute peuvent être mises en pratique, est le
ralentissement Java: édition CodeCache de
Vladimir Sitnikov . Il s'agissait de
CodeCache - la zone dans laquelle la
JVM stocke le bytecode compilé en code
natif (code
natif exécutable de la plate-forme cible). Le cas décrit dans le rapport s'est produit lors de l'utilisation de
WebLogic Server , mais le type spécifique de serveur d'applications n'a pas vraiment d'importance. Une séquence intéressante d'étapes qui doivent être effectuées avec des erreurs de ce type, et la connaissance des valeurs par défaut pour la taille
CodeCache dans différentes versions de
Java (ou du moins le fait qu'elles sont différentes, et vous devrez peut-être spécifier manuellement une taille plus grande).

Dans une certaine mesure,
Comment démêler une boule de fil: analyse et débogage des applications dans IntelliJ IDEA , un rapport d'
Anton Arkhipov , a fait écho à la première partie de son
discours de trois heures en novembre de l'année dernière. Les informations obtenues lors du discours susmentionné et dans ce rapport spécifique se sont avérées utiles. Des techniques de recherche de code ont été montrées en utilisant l'exemple
Spring Initializr . Beaucoup de gens connaissent la recherche structurelle dans
IntelliJ IDEA , mais l'utilisent. Peut-être qu'une démonstration de cette fonctionnalité par Anton encouragera quelqu'un à l'utiliser tous les jours.
Bruno Borges clôturant la conférence,
Donner un sens à l'informatique sans serveur, a commencé la conférence avec des rapports selon lesquels, malgré son travail chez
Microsoft , il n'a jamais utilisé le système d'exploitation Windows (la présentation était du
MacBook ), ayant une riche expérience de développement Java et ayant déjà travaillé dans Société
Oracle . Il est maintenant un
défenseur des développeurs chez
Microsoft et fait la promotion de l'utilisation du cloud. Les principales caractéristiques de l'utilisation «sans serveur» ont été examinées en détail: gestion
événementielle , flexibilité de la
micro-facturation , pas besoin d'installer quoi que ce soit et de prendre en charge (
pas de configuration ou de maintenance du serveur ) et
auto-évolutif infrastructure. Un lien de connexion particulier au début de la conférence était, comme déjà indiqué, l'utilisation de citations de la présentation d'Anton Keks.

Clôture
Remarques de clôture par Andrei Dmitriev demandant une réponse à la lettre avec commentaires. Photographies traditionnelles des membres du comité de programme, de l'équipe
JUG.ru et des conférenciers.

Résumé
La conférence a augmenté de façon inattendue le nombre de participants. Ayant déménagé il y a quelque temps de l'hôtel Radisson Slavyanskaya au centre des congrès du World Trade Center, je me sens maintenant contraint sur le site actuel. Probablement, tout en maintenant une tendance croissante, vous pouvez attendre dans un proche avenir pour remplacer le site par un site encore plus spacieux.
Les pensées exprimées par Baruch Sadogursky dans
une interview avec Egor Bugaenko au Joker 2018 sur le manque de sexe équitable dans les
TI ont été entendues - il y avait sensiblement plus de filles à la conférence que lors des précédentes.
Des superpositions organisationnelles et techniques mineures étaient plus susceptibles d'être associées à un grand nombre de participants, et même celles-ci ont été rapidement corrigées. Des rapports vidéo pour les participants à la conférence sont déjà disponibles sur
YouTube , ainsi que des fichiers de présentation sur
le site Web de la conférence .
Du 25 au 26 octobre 2019, une conférence pour les développeurs Java de Joker 2019 se tiendra à Saint-Pétersbourg , les demandes de rapports sont ouvertes et les billets peuvent déjà être achetés (au prix le plus bas jusqu'au 1er mai).