Java-Entwickler sind großartig.
Front-End-Ausschreibungen loben sie und setzen
nützliche Tools ein , Designer bringen Layouts mit besonderer Liebe mit, und Tester freuen sich, weil alles automatisiert ist und das Leben Zucker ist (aber darüber haben wir noch nicht gesprochen).
Manchmal halten wir Java-Mitaps für sie bereit - wir sammeln Experten und bitten sie, etwas zu erzählen, das Spaß macht. Diesmal kamen Kollegen von Sberbank, Odnoklassniki, Yandex und Yandex.Money zu JavaJam und veröffentlichten sofort eine Reihe von Details zu ihrer Arbeit.

Unter dem Schnitt:
- Die Hauptsache beim Protokollieren von Java-Anwendungen anhand von Beispielen von Yandex;
- Entwicklung eines Low-Code-Tools für UFS der Sberbank;
- Automatisierung von Experimenten in Odnoklassniki mit Kotlin DSL;
- Wie bei Yandex.Money haben sie eine Plattform für Microservices anstelle von sieben erstellt.
Und es gibt auch eine Umfrage darüber, ob es angemessen ist, Java-Entwickler als Javisten zu bezeichnen.
Wenn das Wortspiel ein neues Level erreichtÜber TimecodesIn den Beschreibungen aller Videos auf YouTube sind für alle Fälle auch Timecodes mit interessanten Punkten integriert, wenn Sie es gewohnt sind, das Video genau dort anzusehen.
Leitfaden zum Rafting auf Baumstämmen (Vladimir Krasilshchik, Yandex)
Wichtige Konzepte und Fallstricke beim Protokollieren von Java-Anwendungen anhand der Beispiele des Yandex-Entwicklers. Wir werden über die Hauptkonzepte bei der Protokollierung von Java-Anwendungen sprechen, ohne die kein Entwickler überleben kann.
Ich werde Beispiele für unerwartetes Verhalten von Anwendungen aufgrund der Komplexität der Protokollierung aus meiner eigenen Praxis geben, und Sie werden lernen, wie Sie das Leben mit Protokollen einfacher und unterhaltsamer gestalten können - so viel wie möglich. Der Zweck der Präsentation besteht darin, Praktiken auszutauschen, mit denen Sie die Protokollierung vergessen und wirklich interessante Dinge tun können.
Interna und Timecodes1:20 - Warum kann ich die Protokolle nicht sehen?
7:04 - Über Logger, Appender und ihre Verbindung
13:40 - Universelles Software-Architekturdiagramm (UPAD)
15:14 - Schlagworte aus der modernen Welt der Java-Protokollierung
20:13 - Problem 1 - Mehrfachbindung
21:46 - Problem 2 - log4j oder JUL ohne Adapter
25:09 - "Swiss" Logback-Datei-Appender
29:57 - Problem 3 - GWT
31:16 - Problem 4 - Ruhezustand 4.X.X +
34:06 - Problem 5 - Vorübergehender Nichtdeterminismus
37:07 - API-Entwicklung
40:50 - Anmelden von Microservices und einem Cluster
44:13 - Wie geht das in Yandex.Market?
50:36 - Informationen zur Sicherheit bei der Protokollierung
55:08 - Wie kann man die Protokolle vergessen und anfangen zu leben?
Modellgetriebene DevOps (Denis Vasin, Sberbank)
Sie kennen wahrscheinlich die DevOps-Kultur, die Spezialisten für Entwicklungs- und Informationstechnologiedienstleistungen (Entwicklung und Betrieb) zusammenbringt. Aber nur wenige haben von der Low-Code-Plattform gehört - sie macht Teilnehmer an verwandten Projekten zu Citizen Developers.
In dem Bericht werde ich über die Entwicklung des Low-Code-Tools für UFS (Unified Front System) der Sberbank sprechen. Und ich werde die Fragen beantworten, die normalerweise bei MDE-Managern auftreten. Zum Beispiel, wie Sie Modellversionen verwalten, den generierten und handgeschriebenen Code trennen oder Ihr eigenes Tool in die Standard-DevOps-Infrastruktur integrieren.
Interna und Timecodes01:05 - Lebensdauer eines Finanzprodukts vor und jetzt
04:24 - Die Sberbank hat ihren Low-Code im "Single-Frontal-System" erfunden.
12:16 - Geburtsverletzung Low-Code
15:53 - Zusammenarbeit in der Unternehmensinfrastruktur
25:34 - Wie verbinde ich einen manuellen Code?
28:28 - Enterprise Deployment-Architektur
30:19 - Qualitätskontrollfunktionalität
33:45 - Integration in die Pipeline
36:13 - Migration von DevOps zu modellgetriebenen DevOps
Automatisierung von Experimenten mit Kotlin DSL (Alexander Tarasov, Klassenkameraden)
In einem großen Projekt können Sie die Funktion nicht einfach allen Kunden zur Verfügung stellen. Für einen reibungslosen Start führen wir Experimente durch, die manuelle Änderungen erfordern - und dies führt häufig zu Zeitkosten und Fehlern. Um sie loszuwerden, haben wir beschlossen, die Vorbereitung und den Start von Experimenten zu automatisieren.
In dem Bericht werde ich erklären, warum wir ein benutzerdefiniertes DSL geschrieben haben und wie Kotlin dazu beigetragen hat, es kompakt und bequem zu gestalten. Und auch darüber, welche Probleme gelöst werden müssen, damit alles so funktioniert, wie Sie es beabsichtigt haben.
Interna und Timecodes01:47 - Was ist ein Experiment?
04:23 - Sie können eine Funktion nicht einfach übernehmen und ausrollen
05:23 - Experimente sind erforderlich, weil ...
07:38 - Probleme mit Experimenten
09:00 - Schema des Versuchsbeginns
10:39 - Lösungskonzept
11:25 - Demo
15:04 - Was DSL schreiben
16:46 - Wo ist Kotlin und worüber kann man noch DSL schreiben?
21:22 - "Guts" DSL
23:46 - So stellen Sie die Sicherheit sicher
24:38 - DSL-Optimierung
29:31 - Kotlin-Schrift
31:31 - Und seine Probleme
34:45 - Schlussfolgerungen + eine weitere Demo
38:29 - Ergebnisse und was zum Thema zu lesen
Einheitliche Microservice-Plattform Yandex.Money (Vasily Sozykin, Yandex.Money)
In Yandex.Money bauen wir seit sechs Jahren eine Microservice-Architektur auf - wir teilen Monolithen in kleine Services auf und implementieren neue Funktionen in Form separater Komponenten.
Vor drei Jahren hatten wir sieben proprietäre Plattformen - vier für Java und drei für den JavaScript-Stack. All dies zu begleiten war teuer und schwierig, aber es bestand keine Notwendigkeit, über Automatisierung zu sprechen. Wir haben dieses Leben satt und eine einzige Plattform für Java-Dienste geschaffen, die auf dem Spring Boot-Stack basiert.
Heute haben wir nur zwei Plattformen, und für sie haben die Entwicklungskräfte so viele Automatisierungstools geschrieben, dass der Prozess des Testens von Releases und ihrer Inbetriebnahme vollständig automatisiert ist. Es gibt derzeit fast keine Holivars für Pull-Quests, sodass Sie schnell mit der Entwicklung einer der mehr als 60 Komponenten beginnen können.
In dem Bericht werde ich Ihnen erzählen, wie wir den Testprozess verbessert haben, die meisten Komponenten mit Tests um mindestens 80% abgedeckt haben und wie wir all dies erreicht haben.
Interna und Timecodes00:12 - Wie man nicht eine Reihe von Sprachen und Plattformen verfolgt
01:02 - Was hat sich in Yandex geändert? Geld über drei Jahre
03:51 - Zuerst gab es zwei Plattformen
05:29 - +1 Plattform und 10 Dienste (alles wurde schlimmer)
08:32 - Wartungsmuster von Microservice-Systemen
08:44 - Unified Build Instruments
12:11 - CI / CD als Code
15:06 - Busines-freie gemeinsame Bibliotheken
18:37 - Komponententest
22:56 - Versionsgrenzen für die Versionierungstests
25:13 - Einheitliche Microservice-Plattform
28:40 - 20 Minuten von der Zusammenführung bis zur Produktion
Und hier haben wir mit den Jungs vom Frontend darüber gestritten, ob Java-Entwickler beleidigt sind, wenn man sie Javisten nennt. Die Jungs sagen, dass es normal ist, aber ich bezweifle, dass ich selbst kein Javist bin.