Además de la
revisión con el resumen de la conferencia
JPoint 2019 para desarrolladores de Java, celebrada del 5 al 6 de abril de 2019 en Moscú. Más reseñas, más fotos, más emociones e impresiones.

Dos días desde la mañana hasta la tarde (casi literalmente
"desde el amanecer hasta el anochecer" ) 1.600 personas (con oradores y el equipo de
JUG.ru , todos 1.700) de edad cercana con intereses profesionales similares pasaron en el Centro de Congresos del World Trade Center. Al moverse por el lugar y moverse de una habitación a otra durante los descansos, se sintió que tal cantidad de personas estaba cerca del límite en un lugar de conferencia dado. Debemos rendir homenaje a todos los involucrados en la preparación del evento: todo salió casi a la perfección. Si entrabas en la sala de antemano, había lugares; además, el video se transmitía en la pequeña quinta sala. Todos se alimentaron a tiempo y no se ofendieron por la falta de informes para todos los gustos (
"pan y circo" ).

Stands de la empresa
De los stands de los patrocinadores, las compañías cuyos productos de software son utilizados por la mayoría de los participantes de la conferencia o potencialmente pueden ser de interés para una parte importante de ellos. Naturalmente, en primer lugar, este es el stand de la compañía
JetBrains (plano medio). Al pasar una buena parte del día todos los días, utilizando la última versión de
IntelliJ IDEA , siente el más profundo respeto y gratitud hacia los empleados de la compañía. En la conferencia, sus empleados
Tagir Valeev y
Anton Arkhipov hicieron informes.

Una pequeña empresa (su nombre oficial es "Sistemas de verificación de programas"), cuyo producto estrella es el analizador de código estático
PVS-Studio . El producto introdujo recientemente soporte para el
lenguaje Java . La compañía es
muy activa en Habré . Una proporción significativa de los artículos fueron escritos por el director técnico
Andrei Karpov (en la primera foto está en el stand de la compañía).

Otra compañía interesante es
BellSoft y su
Liberica JDK . Una característica distintiva de esta distribución es el soporte de la
arquitectura ARM . En la primera foto, el Director General Alexander Belokrylov, quien logró hacer un mini informe en la
Etapa de demostración . Además, Dmitry Chuiko habló adicionalmente sobre
Java en un entorno contenedor.

Stand jug.msk.ru
La comunidad de desarrolladores de Java de Moscú,
jug.msk.ru, actuó como un socio de información. Las reuniones comunitarias se
llevan a cabo regularmente , invariablemente reuniendo una gran cantidad de participantes. El stand se instaló en la planta baja; Andrey Kogun (líder de
jug.msk.ru , participante a tiempo parcial en el comité del programa de la conferencia) estuvo casi siempre presente en el stand. Durante los dos días de existencia del stand, el número de suscriptores de
cuentas de
Twitter ha crecido significativamente.
Anton Chernousov (
podcast , organizador de la conferencia, solo una buena persona) y Andrey Kogun (primera foto). Andrey y los participantes de la conferencia que visitaron el stand (segunda foto). Ponentes de reuniones pasadas
jug.msk.ru :
Ivan Ponomarev ,
Nikita Lipsky y
Alexey Stukalov (tercera foto).

Etapa de demostración
Un lugar popular para presentaciones cortas. Una forma muy atractiva de informes, que le permite unirse a algunos temas nuevos y obtener información de un área de interés para usted cuando se encuentre fuera de las salas de informes principales. Como ya se señaló, el único inconveniente es ruidoso, pero estas son las características del sitio.

Apertura de la conferencia
Andrei Dmitriev abre la conferencia, presentando el comité del programa. Andrei Kogun y Vladimir Sitnikov hablan en detalle sobre el programa de la conferencia, centrándose en posibles tipos de informes.

Primer día de informes
Anton Keks en su informe
El mundo necesita que los artesanos apilados promuevan la idea de la mayor versatilidad posible de cada miembro del equipo. En el ejemplo de su compañía,
Codeborne argumentó por qué esto es importante: la compacidad del equipo debido a muchos conocimientos y habilidades de todos, la reducción de los riesgos del proyecto (el camión notorio, bajo cuyas ruedas, además del empleado, el producto puede morir debido a la pérdida de conocimiento), es interesante obtener más conocimiento en diferentes campos (es difícil estar en desacuerdo). El informe inspiró no solo al público, sino también al orador: Bruno Borges incluyó en su presentación una diapositiva con una cita de Anton: "Craftsman puede ser 5 veces más eficiente al saber qué no hacer".
Vladislav Senin con el informe
Registros: cuanto más mejor, pero ¿cómo vivir con él? Hecho en un acogedor quinto salón. Vlad es un participante activo en la comunidad Java de Moscú, este es su debut como orador en
las conferencias de
JUG.ru. Se mostró la evolución del uso de herramientas para almacenar y buscar registros. Las fuentes de registro son
aplicaciones Java y
Python . Para la búsqueda,
Elasticsearch sirve como
base . Después del informe, se escucharon detalles fascinantes adicionales (incluida una historia de detectives que buscaba la causa de la pérdida de un personaje en
JSON ), que no se contaron debido a limitaciones de tiempo, por lo que podemos esperar una historia más detallada de Vlad sobre este tema en el futuro cercano.
El hada proxy de Victor Rentea y la magia de Spring hablaron sobre la magia del patrón de diseño de
proxy comúnmente utilizado en
Spring Framework . En el anuncio del informe, había una promesa de introducir seis formas de interceptar llamadas a métodos, dos formas de usar la plantilla
Decorator con
Spring y mucho más durante una sesión de codificación en vivo. Una actuación muy animada, que lo inspiró a experimentar con
Spring y a profundizar en el código de los ejemplos mostrados (están
aquí en
GitHub ). Si le gusta la
primavera , los patrones de diseño y la codificación en vivo, definitivamente este es su informe, debe mirar.

Informe absolutamente práctico de las
aplicaciones Java Enterprise Bulletproof para la dura vida de producción de
Sebastian Daschner sobre la importancia de la estabilidad y la resistencia para las aplicaciones empresariales, y cómo lograrlo. Durante el informe, encontré y abrí el proyecto
Microprofile Fault Tolerance en
GitHub , el orador demostró activamente el uso de anotaciones de las cuales (recuerdo más a
@CircuitBreaker ). El único inconveniente de la presentación del informe son los encabezados difíciles de leer (la primera foto da una idea de esto, puede hacer clic en la imagen para ampliarla).
Us Spring Boot informa
, y nos estamos fortaleciendo: la insoportable facilidad de la compilación AOT de aplicaciones Spring de
Nikita Lipsky fue una especie de respuesta a la pregunta sobre
el soporte de
Spring Boot en
GraalVM , que fue formulada por Oleg Shelaev el
día anterior en la reunión (en
GraalVM todavía hay problemas con el soporte como
Spring Boot y el sistema operativo Windows, que Oleg dijo). En el producto
Excelsior JET , que representa a Nikita, con el soporte de varios sistemas operativos, todo está bien. Además, el soporte para la
compilación AOT de Spring Boot se anunció oficialmente recientemente, lo que se informó. Un interés adicional en la compilación AOT estática de aplicaciones Java ahora está relacionado con el hecho de que las aplicaciones (microservicios) son especialmente importantes para un inicio rápido. Con mayor frecuencia, las aplicaciones se crean sobre la base de
Spring Boot . Un informe interesante, equilibrado hábilmente al borde de la presentación hardcore y comprensible.

Los informes conjuntos de
Kirill Tolkachev y
Evgeny Borisov son tradicionalmente muy populares entre los oyentes,
reactivos o no reactivos, esa es la pregunta no
fue la excepción: en la primera foto se puede ver la sala completa. La idea del informe era mostrar la implementación habitual de una tarea (la interacción de los tres sistemas en este caso), para que luego se pudiera rehacer en un estilo reactivo. Inspirados al ver el informe de Oleg Dokuki sobre el protocolo
RSocket el mismo día, los oradores incluso lograron refinar los
ejemplos . Todo resultó bastante exitoso y emocionante.

Bof sesiones
El formato
BOF ya se ha probado varias veces en varias conferencias recientes y se ha vuelto popular. Escuchar informes ya es difícil, pero aún existe la fuerza y el deseo de comunicación informal, la conclusión natural del primer día. A continuación se muestra una foto de la sesión BOF de
Microservicios, nube y hacia dónde va todo esto , que tiene lugar en la zona de discusión.

Informes del segundo día
Una característica distintiva, el "punto culminante" de las conferencias técnicas de
JUG.ru es la presencia en el programa de un informe no técnico. Esta vez el informe fue el
Juego de Dios. ¿La ciencia cruzó la frontera de
Alexander Panchin ? Dichos informes amplían sus horizontes y le permiten sintonizar el día (esta vez el informe fue el segundo día de apertura). Finalmente, son mutuamente interesantes tanto para el orador (audiencia no estándar) como para los oyentes (área temática inusual). Naturalmente, el informe era una ciencia popular, pero muy interesante. Cambiar el código genético y corregir defectos genéticos, éxitos y enfoques modernos en la lucha contra el VIH y el cáncer. Enumeración de las personalidades de los científicos involucrados en problemas similares y sus logros.

Informe ligero (en el buen sentido de la palabra, fácil de leer y comprender)
Inferencia de tipo variable local: ¿Amigo o enemigo? fue presentado por
Simon Ritter . El tema del informe es la
inferencia de tipos de variables locales cuando se usa
var (una característica introducida en
Java 10 ). Tras un examen más detallado, resultó que, de una manera tan simple, a primera vista, el tema tiene muchos matices a los que debe prestar atención. Se cree que el orador tiene una gran experiencia en la conferencia (en el historial hay trabajo en
Sun Microsystems ,
Oracle ,
Azul y el título de J
ava Rockstar ,
Java Champion ). La historia era muy fácil de escuchar y estaba bien ilustrada con diapositivas. Un ejemplo de informes con un claro enfoque práctico.

La
supercompilación de rendimiento
, la evaluación parcial, las proyecciones de Futamura y cómo GraalVM salvará el mundo realizado por
Oleg Shelaev fue una continuación del tema de
GraalVM , cuya historia comenzó el 4 de abril en
la reunión jug.msk.ru. Fue muy útil escuchar primero una historia introductoria detallada de tres horas inmediatamente antes de la conferencia, luego ir el primer día a una presentación de Nikita Lipsky (sobre el apoyo de
Spring Boot con
AOT ), y luego volver a
GraalVM nuevamente . La conversación se refería a los fundamentos teóricos del compilador
Graal y las
proyecciones GraalVM -
Futamura . El segundo tema fue una demostración del uso de
Truffle , un marco para crear lenguajes de programación basados en
GraalVM . Oleg también recomendó escuchar una charla de Thomas Wuerthinger el día anterior de la conferencia.
Tagir Valeev introdujo un concepto interesante de cambios atómicos al realizar la refactorización de código en su informe
Refactorización atómica en IntelliJ IDEA: doblamos el IDE por nosotros mismos . La idea de los cambios atómicos en cada pequeño paso de modificación de líneas de código se mostró en el entorno de desarrollo
IntelliJ IDEA : Tagir representa a
JetBrains , que participa personalmente en su desarrollo. Además, la gran mayoría de los que se sientan en el pasillo (incluido yo) usan
IntelliJ IDEA todos los días, por lo que la historia contada y mostrada cayó en terreno fértil. Francamente, nunca pensé si mi paso más pequeño de cambios fue atómico, pero ahora intentaré prestarle atención, tal vez revisando el informe del video.

Otro ejemplo de un informe, la información después de escuchar que se puede poner en práctica, es
la ralentización de Java: edición CodeCache de
Vladimir Sitnikov . Se trataba de
CodeCache , el área en la que la
JVM almacena el código de
bytes compilado en código
nativo (código
nativo y ejecutable de la plataforma de destino). El caso discutido en el informe ocurrió cuando se usa
WebLogic Server , pero el tipo específico de servidor de aplicaciones realmente no importa. Una secuencia interesante de pasos que se deben realizar con errores de este tipo, y el conocimiento de los valores predeterminados para el tamaño de
CodeCache en diferentes versiones de
Java (o al menos el hecho de que son diferentes, y es posible que deba especificar manualmente un tamaño más grande).

Hasta cierto punto,
Cómo desentrañar una bola de hilo: análisis y depuración de aplicaciones en IntelliJ IDEA , un informe de
Anton Arkhipov , se hizo eco de la primera parte de su
discurso de tres horas en noviembre del año pasado. La información obtenida en el discurso antes mencionado y en este informe específico resultó ser útil. Se han mostrado técnicas de investigación de código utilizando el ejemplo
Spring Initializr . Muchas personas conocen la búsqueda estructural en
IntelliJ IDEA , pero la usan. Quizás una demostración de esta característica por parte de Anton animará a alguien a usarla todos los días.
Bruno Borges, cerrando la conferencia,
dando sentido a la informática sin servidor, comenzó la conferencia con informes de que, a pesar de su trabajo en
Microsoft , nunca usó el sistema operativo Windows (la presentación era de
MacBook ), que tenía una rica experiencia en desarrollo de Java y que había trabajado previamente en Empresa de
Oracle . Ahora es un
defensor de los desarrolladores en
Microsoft y ha estado promoviendo el uso de la nube. Las características clave del uso "sin servidor" se examinaron en detalle: manejo
basado en eventos , flexibilidad de
micro facturación , no es necesario instalar nada y soporte (
sin configuración o mantenimiento del servidor ) y
autoescalado infraestructura Un hilo de conexión peculiar al comienzo de la conferencia fue, como ya se señaló, el uso de citas de la presentación de Anton Keks.

Clausura
Observaciones finales de Andrei Dmitriev solicitando una respuesta a la carta con comentarios. Fotografías tradicionales de los miembros del comité del programa, el equipo de
JUG.ru y los oradores.

Resumen
La conferencia creció inesperadamente en el número de participantes. Después de mudarme hace un tiempo desde el Hotel Radisson Slavyanskaya al Centro de Congresos del World Trade Center, ahora me siento limitado en el lugar actual. Probablemente, mientras mantiene una tendencia creciente de interés, puede esperar en el futuro cercano para reemplazar el sitio por uno aún más espacioso.
Se escucharon los pensamientos expresados por Baruch Sadogursky en
una entrevista con Egor Bugaenko en Joker 2018 sobre la falta de un sexo justo en
TI : hubo notablemente más chicas en la conferencia que en las anteriores.
Las superposiciones organizativas y técnicas menores probablemente se asociaron con un gran número de participantes, e incluso eso se solucionó rápidamente. Los informes en video para los participantes de la conferencia ya están disponibles en
YouTube , así como los archivos de presentación en
el sitio web de la conferencia .
Del 25 al 26 de octubre de 2019, se llevará a cabo una conferencia para desarrolladores de Java de Joker 2019 en San Petersburgo , las solicitudes de informes están abiertas y las entradas ya se pueden comprar (al precio más bajo hasta el 1 de mayo).