Mitap JavaJam. Débat Javista, rafting, expériences et microservices

Les développeurs Java sont géniaux.

Les appels d'offres les félicitent et adoptent des outils utiles , les concepteurs apportent des mises en page avec un amour particulier et les testeurs se réjouissent parce que tout est automatisé et que la vie est sucrée (mais nous n'en avons pas encore parlé).

Parfois, nous leur tenons des java-mitaps - nous rassemblons des experts et leur demandons de dire quelque chose d'amusant. Cette fois-ci, des collègues de Sberbank, Odnoklassniki, Yandex et Yandex.Money sont venus à JavaJam et ont immédiatement publié un tas de détails sur leur travail.

image

Sous la coupe:

- L'essentiel de la journalisation des applications Java en utilisant des exemples de Yandex;
- Développement d'un outil sur Low-code pour UFS de Sberbank;
- Automatisation d'expériences à Odnoklassniki avec Kotlin DSL;
- Comme dans Yandex.Money, ils ont créé une plate-forme pour les microservices au lieu de sept.

Et il y a aussi un sondage sur l'opportunité d'appeler les javists des développeurs Java.



Quand le jeu de mots atteint un nouveau niveau

À propos des codes temporels
Dans les descriptions de toutes les vidéos sur YouTube, juste au cas où, des timecodes avec des points intéressants sont également intégrés, si vous avez l'habitude de regarder la vidéo là-bas.

Guide du rafting sur les billes (Vladimir Krasilshchik, Yandex)


Concepts importants et pièges de la journalisation des applications Java à l'aide des exemples du développeur Yandex. Nous parlerons des principaux concepts de la journalisation des applications Java, sans lesquels aucun développeur ne peut survivre.

Je vais donner des exemples de comportement inattendu d'applications en raison des subtilités de la journalisation de ma propre pratique, et vous apprendrez à rendre la vie avec les journaux plus facile et plus amusante - autant que possible. Le but de la présentation est de partager des pratiques qui vous permettront d'oublier la journalisation et de faire des choses vraiment intéressantes.

Internes et timecodes
1:20 - Pourquoi ne puis-je pas voir les journaux?
7:04 - À propos de Logger, Appender et leur connexion
13:40 - Diagramme architectural logiciel universel (UPAD)
15:14 - Mots à la mode du monde moderne de la journalisation Java
20:13 - Trouble 1 - Liaison multiple
21:46 - Trouble 2 - log4j ou JUL sans adaptateur
25:09 - Ajout d'un fichier de journalisation «suisse»
29:57 - Trouble 3 - GWT
31:16 - Trouble 4 - Hibernate 4.X.X +
34:06 - Trouble 5 - Non-déterminisme temporaire
37:07 - Développement d'API
40:50 - Connexion aux microservices et à un cluster
44:13 - Comment cela se fait-il dans Yandex.Market
50:36 - À propos de la sécurité dans la journalisation
55:08 - Comment oublier les journaux et commencer à vivre?



DevOps piloté par les modèles (Denis Vasin, Sberbank)


Vous connaissez probablement la culture DevOps, qui regroupe des spécialistes des services de développement et des technologies de l'information (développement et opérations). Mais peu ont entendu parler de la plate-forme Low-code - elle transforme les participants à des projets connexes en développeurs citoyens.

Dans le rapport, je parlerai du développement de l'outil Low-code pour UFS (Unified Front System) de Sberbank. Et je répondrai aux questions qui se posent généralement aux responsables MDE. Par exemple, comment gérer les versions de modèle, séparer le code généré et manuscrit, ou intégrer votre propre outil dans l'infrastructure DevOps standard.

Internes et timecodes
01:05 - Durée de vie d'un produit financier avant et maintenant
04:24 - Sberbank a inventé son Low-Code dans le "système frontal unique"
12:16 - Blessure à la naissance Low-code
15:53 ​​- Collaboration dans l'infrastructure d'entreprise
25:34 - Comment connecter un code manuel?
28:28 - Architecture de déploiement d'entreprise
30:19 - Fonctionnalité de contrôle qualité
33:45 - Intégration dans Pipeline
36:13 - Migration de DevOps vers DevOps piloté par modèle



Automatisation des expériences utilisant Kotlin DSL (Alexander Tarasov, camarades de classe)


Dans un grand projet, vous ne pouvez pas simplement prendre et rendre la fonctionnalité disponible pour tous les clients. Pour un démarrage en douceur, nous menons des expériences qui nécessitent des modifications manuelles - et cela entraîne souvent des coûts de temps et des erreurs. Pour nous en débarrasser, nous avons décidé d'automatiser la préparation et le lancement des expériences.

Dans le rapport, je vais expliquer pourquoi nous avons écrit une DSL personnalisée et comment Kotlin a contribué à la rendre compacte et pratique. Et aussi sur les problèmes à résoudre pour que tout fonctionne comme prévu.

Internes et timecodes
01:47 - Qu'est-ce qu'une expérience?
04:23 - Vous ne pouvez pas simplement prendre et déployer une fonctionnalité
05:23 - Des expériences sont nécessaires parce que ...
07:38 - Problèmes avec les expériences
09h00 - Schéma du début de l'expérience
10:39 - Concept de solution
11:25 - Démo
15:04 - Quoi écrire DSL
16:46 - Où est Kotlin et quoi d'autre pour écrire DSL?
21:22 - DSL "Guts"
23:46 - Comment assurer la sécurité
24:38 - Optimisation DSL
29:31 - Kotlin Script
31:31 - Et ses problèmes
34:45 - Conclusions + une autre démo
38:29 - Résultats et quoi lire sur le sujet



Plateforme de microservices unifiée Yandex.Money (Vasily Sozykin, Yandex.Money)


Chez Yandex.Money, nous construisons une architecture de microservices depuis six ans - nous avons divisé les monolithes en petits services et implémenté de nouvelles fonctionnalités sous la forme de composants séparés.

Il y a trois ans, nous avions sept plateformes propriétaires - quatre pour Java et trois pour la pile JavaScript. Accompagner tout cela était cher et difficile, mais il n'était pas nécessaire de parler d'automatisation. Nous sommes fatigués de cette vie et avons créé une plate-forme unique pour les services Java basée sur la pile Spring Boot.

Aujourd'hui, nous n'avons que deux plates-formes, et pour eux, les forces de développement ont écrit tellement d'outils d'automatisation que le processus de test des versions et de leur mise en production est complètement automatisé. Il n'y a presque plus d'holivars dans les quêtes de tir maintenant, vous pouvez donc commencer rapidement le développement de l'un des plus de 60 composants.

Dans le rapport, je vous dirai comment nous avons amélioré le processus de test, couvert la plupart des composants avec des tests d'au moins 80% et comment nous avons réussi à réaliser tout cela.

Internes et timecodes
00:12 - Comment ne pas chasser un tas de langues et de plateformes
01:02 - Ce qui a changé dans Yandex.Money sur trois ans
03:51 - Au début, il y avait deux plates-formes
05:29 - +1 plateforme et 10 services (tout a empiré)
08:32 - Modèles de maintenance des systèmes de microservices
08:44 - Instruments de construction unifiée
12:11 - CI / CD comme code
15:06 - Bibliothèques communes sans busines
18:37 - Test des composants
22:56 - Limites de couverture du test de version
25:13 - Plateforme de microservices unifiée
28:40 - 20 minutes de la fusion à la production



Et ici, nous avons discuté avec les gars du front-end si les développeurs Java sont offensés, si vous les appelez javistes. Les gars disent que c'est normal, mais je doute, même si je ne suis pas javiste moi-même.

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


All Articles