Los desarrolladores de Java son increíbles.
Los encargados de front-end los elogian y
adoptan herramientas útiles , los diseñadores trazan diseños con especial cariño y los evaluadores se alegran porque todo está automatizado y la vida es azúcar (pero aún no hemos hablado de esto).
A veces tenemos java-mitaps para ellos: reunimos expertos y les pedimos que cuenten algo divertido. Esta vez, colegas de Sberbank, Odnoklassniki, Yandex y Yandex.Money vinieron a JavaJam e inmediatamente publicaron un montón de detalles sobre su trabajo.

Debajo del corte:
- Lo principal sobre el registro de aplicaciones Java utilizando ejemplos de Yandex;
- Desarrollo de una herramienta de código bajo para UFS de Sberbank;
- Automatización de experimentos en Odnoklassniki usando Kotlin DSL;
- Como en Yandex.Money, crearon una plataforma para microservicios en lugar de siete.
Y también hay una encuesta sobre si es apropiado llamar a javis-java-developers javists.
Cuando el juego de palabras llega a un nuevo nivelAcerca de los códigos de tiempoEn las descripciones de todos los videos en YouTube, por si acaso, también se incluyen códigos de tiempo con puntos interesantes, si está acostumbrado a ver el video allí mismo.
Guía de rafting en troncos (Vladimir Krasilshchik, Yandex)
Conceptos importantes y dificultades para registrar aplicaciones Java utilizando los ejemplos del desarrollador Yandex. Hablaremos sobre los conceptos principales en el registro de aplicaciones Java, sin las cuales ningún desarrollador puede sobrevivir.
Daré ejemplos de comportamientos inesperados de las aplicaciones debido a las complejidades del registro desde mi propia práctica, y aprenderá cómo hacer que la vida con registros sea más fácil y divertida, tanto como sea posible. El propósito de la presentación es compartir prácticas que le permitirán olvidarse del registro y hacer cosas realmente interesantes.
Internos y códigos de tiempo1:20 - ¿Por qué no puedo ver los registros?
7:04 - Sobre Logger, Appender y su conexión
13:40 - Diagrama arquitectónico del software universal (UPAD)
15:14 - Palabras de moda del mundo moderno del registro de Java
20:13 - Problema 1 - Enlace múltiple
21:46 - Problema 2 - log4j o JUL sin adaptador
25:09 - Apéndice de archivo de registro "suizo"
29:57 - Problema 3 - GWT
31:16 - Problema 4 - Hibernate 4.X.X +
34:06 - Problema 5 - No determinismo temporal
37:07 - Desarrollo API
40:50 - Inicio de sesión en microservicios y un clúster
44:13 - Cómo se hace esto en Yandex.Market
50:36 - Acerca de la seguridad en el registro
55:08 - ¿Cómo olvidarse de los registros y empezar a vivir?
DevOps guiados por modelos (Denis Vasin, Sberbank)
Probablemente esté familiarizado con la cultura DevOps, que reúne a especialistas en servicios de desarrollo y tecnología de la información (Desarrollo y Operaciones). Pero pocos han oído hablar de la plataforma Low-code: convierte a los participantes en proyectos relacionados en Desarrolladores ciudadanos.
En el informe, hablaré sobre el desarrollo de la herramienta de código bajo para UFS (Unified Front System) de Sberbank. Y responderé las preguntas que generalmente surgen con los administradores de MDE. Por ejemplo, cómo administrar versiones de modelos, separar el código generado y escrito a mano o integrar su propia herramienta en la infraestructura estándar de DevOps.
Internos y códigos de tiempo01:05 - Tiempo de vida de un producto financiero antes y ahora
04:24 - Sberbank inventó su Low-Code en el "sistema frontal único"
12:16 - Lesiones de nacimiento de código bajo
15:53 - Colaboración en infraestructura corporativa
25:34 - ¿Cómo conectar un código manual?
28:28 - Arquitectura de implementación empresarial
30:19 - Funcionalidad de control de calidad
33:45 - Integración en Pipeline
36:13 - Migración de DevOps a DevOps dirigido por modelo
Automatización de experimentos usando Kotlin DSL (Alexander Tarasov, Classmates)
En un proyecto grande, no puede simplemente tomar y hacer que la función esté disponible para todos los clientes. Para un comienzo sin problemas, realizamos experimentos que requieren cambios manuales, y a menudo esto lleva a costos de tiempo y errores. Para deshacernos de ellos, decidimos automatizar la preparación y el lanzamiento de los experimentos.
En el informe, explicaré por qué escribimos un DSL personalizado y cómo Kotlin ayudó a hacerlo compacto y conveniente. Y también acerca de qué problemas deben resolverse para que todo funcione como lo esperaba.
Internos y códigos de tiempo01:47 - ¿Qué es un experimento?
04:23 - No puedes simplemente tomar y desplegar una función
05:23 - Se necesitan experimentos porque ...
07:38 - Problemas con experimentos
09:00 - Esquema del inicio del experimento.
10:39 - Concepto de solución
11:25 - Demo
15:04 - Qué escribir DSL
16:46 - ¿Dónde está Kotlin y en qué más escribir DSL?
21:22 - DSL "Tripas"
23:46 - Cómo garantizar la seguridad
24:38 - Optimización DSL
29:31 - Kotlin Script
31:31 - Y sus problemas
34:45 - Conclusiones + otra demo
38:29 - Resultados y qué leer sobre el tema
Plataforma unificada de microservicios Yandex.Money (Vasily Sozykin, Yandex.Money)
En Yandex.Money, hemos estado construyendo una arquitectura de microservicios durante seis años: dividimos los monolitos en pequeños servicios e implementamos nuevas funcionalidades en forma de componentes separados.
Hace tres años, teníamos siete plataformas propietarias: cuatro para Java y tres para la pila de JavaScript. Acompañar a todo esto era costoso y difícil, pero no había necesidad de hablar sobre automatización. Estamos cansados de esta vida y creamos una plataforma única para servicios Java basada en la pila Spring Boot.
Hoy tenemos solo dos plataformas, y para ellos las fuerzas de desarrollo han escrito tantas herramientas de automatización que el proceso de probar lanzamientos y ponerlas en producción está completamente automatizado. Casi no hay holivares en las misiones de extracción ahora, por lo que puede comenzar rápidamente el desarrollo en cualquiera de los más de 60 componentes.
En el informe le diré cómo mejoramos el proceso de prueba, cubrimos la mayoría de los componentes con pruebas en al menos un 80% y cómo logramos todo esto.
Internos y códigos de tiempo00:12 - Cómo no perseguir un montón de idiomas y plataformas
01:02 - Lo que ha cambiado en Yandex.Money durante tres años
03:51 - Al principio había dos plataformas
05:29 - +1 plataforma y 10 servicios (todo empeoró)
08:32 - Patrones de mantenimiento de sistemas de microservicio
08:44 - Instrumentos de construcción unificados
12:11 - CI / CD como código
15:06 - Bibliotecas comunes sin negocios
18:37 - Prueba de componentes
22:56 - Límites de cobertura de prueba de versiones
25:13 - Plataforma de microservicio unificada
28:40 - 20 minutos desde la fusión hasta la producción
Y aquí, con los chicos del front-end, discutimos si los desarrolladores de Java están ofendidos, si los llamas javists. Los muchachos dicen que es normal, pero lo dudo, aunque yo tampoco soy un javista.