Java, .NET, Scala, Python, C ++, Go, Postgres et #Of bien sûr SameKotlinCette année, dans la section
Backend , nous avons mélangé des rapports très différents: hardcore, entreprise, architecture, bases de données et charges élevées.
De plus, Java revient à CodeFest. Et comment elle le fait! Comme dans le reste du backend, équilibre entre le hardcore sanglant et l'applicabilité pratique. Pas moins de 8 rapports sur Java / JVM sur une variété de sujets des meilleurs orateurs.
Séparément, nous notons que la plupart des rapports sont des premières qui n'ont jamais été entendues auparavant, et vous pouvez les entendre en premier. Dans le monde.
Mais assez de mots généraux, parlons de manière ciblée.
À propos du hardcore

La dernière fois, un reportage de Mikhail Yariichuk
sur GC a rassemblé une salle pleine et a reçu d'excellentes notes, donc cette fois nous avons décidé de continuer le thème du hardcore under. NET et
parler de la façon de déboguer des cas complexes en production à l'aide de «vidages de mémoire», et comment utiliser le débogueur WinDBG.

Pour ceux qui préfèrent linux, nous avons préparé un rapport sur l'évolution et la configuration de la pile réseau TCP / IP sous linux et android,
d'Alexander Tobol . Si vous êtes de ceux qui ont entendu parler à l'institut du modèle OSI à sept niveaux - venez, ce sera intéressant.

Nous sommes tous habitués au fait que si C ++, alors sûrement rapide, mais si Python, alors pas plus rapide que C ++. Mais Anton Kochepasov
dans son rapport montrera que tout n'est pas si simple du tout. Comparez la vitesse de développement et d'exécution de Python vs C ++ et apprenez comment réduire la taille du programme et le rendre beaucoup plus rapide en vitesse d'exécution.
Fonctionnalité

L'une des tendances de l'heure actuelle est l'application d'une approche fonctionnelle en programmation. Vagif Abilov
partagera sa véritable expérience des avantages de cette approche par rapport à la POO, vous permettant de livrer plus en peu de temps sans sacrifier la qualité.

Ivan Fastov
parlera d'une approche fonctionnelle de la conception d'API . Nous couvrirons les sujets de l'application des modèles de programmation fonctionnels dans la pratique, la documentation des API et comment vendre Scala en production.
L'architecture

Un peu de philosophie sur l'architecture logicielle et les architectes sera ajoutée à la section du rapport de Dylan Beatty «
Architecture:« Les choses difficiles à changer » . Si pour vous les questions ne sont pas complètement claires sur qui est l'architecte logiciel, ce qu'il peut donner à l'équipe et comment travailler avec elle, alors le rapport Dylan est ce que le médecin a ordonné.

Dillan complète parfaitement l'histoire de Maxim Arshinov
sur les approches pratiques de l'architecture . Examinons la solution des problèmes typiques, parlons du bon et du mauvais code. Des exemples seront en C #, mais le rapport sera certainement intéressant non seulement. Développeurs NET.
Quoi d'autre?

À propos de ML «prêt à l'emploi» c. NET
dira à Roman Nevolin , si vous voulez commencer en ML - venez, Roman enseignera.

Les métriques, le traçage et autres instruments de code de Go seront révélés
dans un rapport de Maxim Chechel.

Si vous étiez curieux de savoir comment les éditeurs sont organisés pour la dactylographie conjointe, venez
au rapport d' Anton Chaporgin. Il vous dira quels problèmes surgissent et solutions possibles. Le rapport comprendra une fusion de backend + frontend, de certains nœuds et d'algorithmes.

N'oubliez pas la base de données. Ivan Panchenko
expliquera comment prendre en compte correctement et précisément les fonctionnalités de Postgres lors de la conception , du développement et de la mise en œuvre d'applications hautes performances.

En fin de compte, il vaut la peine de parler du
rapport d'Alexei Kirpichnikov sur Postmortem . Nous sommes sûrs que tout le monde avait fakapy sur la prod. Dans son rapport, Alexey parlera du processus de travail sur les bugs et comment organiser une approche systématique pour analyser les fakaps des ventes.
Java Depuis combien de temps je vous attends!
Oh mignon Spring Boot, mettez un mot
Nous irons directement de l'atout, c'est-à-dire à partir de l'un des frameworks Java les plus populaires de nos jours. Bien sûr, nous parlerons du framework Spring et des microservices sur Spring Boot.

Vladimir Plizga de CFT
partagera son expérience de traduction de microservices Spring Boot de Java 8 à 11 . Nous avons tous entendu beaucoup de mots sur les nouvelles fonctionnalités de Java 11, mais Vladimir partagera la véritable expérience de combat et les surprises qu'ils ont rencontrées lors du transfert de toute une flotte de microservices de démarrage vers la dernière version de Java.

Vous voulez quelque chose d'un peu plus difficile? Ensuite, venez à Nikita Lipsky d'Excelsior parler des aventures et des défis de la compilation des applications Spring Boot d'AOT. Au cours du rapport, Nikita
triera toutes les subtilités de la structure interne du Boot, et expliquera également comment il est possible (et est-il possible?) De croiser ses propriétés dynamiques avec une compilation statique.
Mais pas la seule botte!

Le champion Java Dmitry Alexandrov de T-Systems
parlera d'un cadre alternatif pour développer des microservices : Microprofile. io. Vous voulez savoir comment créer le microservice le plus compact dans lequel il y aura exactement ce dont vous avez besoin, sans un million de dépendances? Venez au rapport de Dmitry.

Une autre histoire de succès et de douleur
sera racontée par Grigory Koshelev de Kontur. Le rapport sera consacré à leur expérience avec Kafka dans le cadre du projet Est. Vous découvrirez où Kafka est bon, quelles limites il a, et quels pièges et béquilles valent la peine d'attendre.
Des tripes commandées?

Andrey Pangin d'Odnoklassniki vous
expliquera comment écrire votre propre plug-in pour JVM . Nous parlerons de la JVM Tool Interface, l'API standard pour développer toutes sortes d'outils: profileurs, débogueurs et utilitaires de diagnostic pour la JVM. Pourquoi un développeur Java ordinaire devrait-il envahir la JVM interne? Comment le faire et quelles sont les difficultés? Qu'est-ce qui a changé dans Java 9-11? Vous apprendrez tout cela dans le rapport d'Andrey.

Tagir Valeev de JetBrains
révélera la cuisine javac interne , en utilisant l'exemple de la façon dont la traduction de l'instruction switch est passée de Java 1 à Java 12. Aimez-vous manipuler le bytecode ou vous demandez-vous simplement comment fonctionne notre javac préféré? Alors ce rapport est fait pour vous.
PS Pendant la préparation du rapport, Tagir a signalé des paquets de bogues dans javac et d'autres compilateurs, donc des choses intéressantes sont fournies.
Et #Bien sûr le mêmeKotlin
Oui, la section Java, mais vous devez regarder vers l'avenir. Par conséquent, comment pourrions-nous ne pas aborder le sujet de la popularité croissante de la langue Kotlin!

Un lecteur indigné peut s'exclamer: "Hé, Kotlin - c'est pour les téléphones portables!" Mais nous savons que le backend sur Kotlin est une bonne chose à écrire. C’est exactement ce que Pavel Finkelstein de Lamoda racontera à CodeFest dans son rapport "
Kotlin: 2 ans de production et pas un seul écart ", décrivant son expérience, des exemples spécifiques des avantages ou des problèmes de Kotlin dans le backend.

Creuser plus profondément. L'une des fonctionnalités les plus intéressantes de Kotlin est les coroutines, qui se sont stabilisées dans la version 1.3. Vsevolod Tolstopyatov de JetBrains - l'un des développeurs des bibliothèques autour des coroutines - dira
comment les coroutines sont disposées sous le capot .
Comme vous pouvez le voir, nous avons essayé de sélectionner des rapports afin que chacun trouve quelque chose d'intéressant. Vous aimez le hardcore ou l'Enterprise? Êtes-vous fan de SpringBoot ou cherchez-vous des alternatives? Asseyez-vous bien à huit heures ou regardez-vous déjà à 11 heures? CodeFest est ce que le médecin a ordonné.
L'inscription est obligatoire. La participation aussi.
Venez , ce sera génial!