El último mes de invierno llega a su fin, y se despierta un deseo saludable de ir a una gran conferencia de Java. Afortunadamente, solo quedaba un mes hasta JPoint 2019, la conferencia internacional de Java, que se celebrará a principios de abril en Moscú. El programa casi se ha estabilizado, y es hora de revelar todas las cartas.
El nuevo programa de JPoint es enorme: dos días, veinte informes cada día. ¿Para cuáles ir? Puede simplificar su tarea dividiendo los informes en varias categorías:
- VM & Runtime - 8 informes hardcore de líderes de la industria: Oracle, BellSoft, IBM, Azul, Excelsior, Classmates y GridGain;
- Enterprise : 5 informes de empresas rusas e internacionales: Spring, JavaEE, Liferay, Vaadin, Kafka, Netflix OSS vs Kubernetes, arquitectura de sistemas grandes;
- Reactivo : 10 informes sobre el terrible y mágico mundo del jet: Spring Web Reactive Framework, Spring Project Reactor, RSocket, Reactive Streams, arquitectura reactiva;
- Idiomas : informes de 7 idiomas: Java 9-12 (CTO adjunto Azul), Kotlin y Kotlin / Native (JetBrains), Scala, programación funcional;
- Herramientas : 5 informes sobre el ajuste: el creador Jenkins (CEO CloudBees), los desarrolladores Gradle e IntelliJ IDEA;
- Varios informes fuera de categorías.
El volumen de habrastaty no permitirá considerar todos los informes al mismo tiempo, por lo que en cada una de las categorías elegí algunos de los más interesantes para mí personalmente. Todo lo demás se puede encontrar en el sitio , pero ahora puede sumergirse bajo el corte y ver qué nos prepara el próximo año.

VM y tiempo de ejecución
Dio la casualidad de que es en JPoint y Joker que tradicionalmente hacen los informes más duros en Rusia sobre la estructura interna de los tiempos de ejecución de Java. Por supuesto, no hay muchos ingenieros de JVM entre los participantes, hay muy pocos de ellos. Dichos informes son principalmente necesarios para sentir "afinidad por el automóvil", como dicen los conductores profesionales de autos de carrera. Puede sentir toda la mecánica oculta, aprender a usar sus funciones y simplemente satisfacer la curiosidad. En esta categoría icónica de informes, el programa de la conferencia no puede ser golpeado en la cara, y resulta claramente. Estos informes son realizados por las personas más famosas de la comunidad, representantes de diferentes tiempos de ejecución y empresas:
- de Azul vendrá su director técnico Simon Ritter;
- Oracle Labs será Thomas Wuerthinger, director de investigación y arquitecto jefe de Graal / Truffle, y Oleg Shelaev shelajev-oleg , el primer evangelista oficial de GraalVM;
- de IBM - Charlie Gracie, arquitecto de recolectores de basura en OpenJ9 y Eclipse OMR;
- de Excelsior , uno de los desarrolladores JET más antiguos, Nikita Lipsky pjBooms ;
- de BellSoft : el famoso ingeniero de rendimiento Dmitry Chuyko, que trabajó anteriormente en Oracle en el equipo de rendimiento de Java SE;
- de la compañía Odnoklassniki : Andrey Pangin apangin , quien trabajó anteriormente en Oracle en el equipo de HotSpot, que una y otra vez rompe todos los registros de asistencia de sus informes;
- Y así sucesivamente.
No hay una lista aquí, ya que no hay tarea de copiar el programa del sitio, sino solo transmitir la esencia de lo que está sucediendo. Veamos solo un par de informes.
¿Recuerdas el informe sobre cómo escribir un GC en 20 minutos (basado en el artículo de Shipilev )? Charlie Gracie nos dirá algo aún más sagrado: cómo escribir su compilador JIT en una hora . Por supuesto, no funcionará sin soluciones probadas como OMR, en las que Charlie está trabajando.
¿Pero a menudo realmente necesita escribir su JIT o GC? Andrey Pangin hablará sobre otra forma importante de trabajar con OpenJDK: trabajar con la interfaz de herramientas JVM, la API estándar para desarrollar todo tipo de herramientas: perfiladores, depuradores y utilidades de diagnóstico. Esto es algo más sustancial, es fácil imaginar dónde se necesitará en el trabajo diario. Mucha gente sabe que es útil para escribir agentes Java, pero también es adecuado para muchas otras cosas. El informe tratará las formas de trabajar con él, los errores, las características y las ideas. Si aún quieres saber sobre los agentes de Java, Rafael Winterhalter te lo contará .
Enterprise
Aquí el crítico exclama: “Sí, y escribo agentes Java, por decirlo suavemente, no todos los días. ¡Nunca escribo! Ah, sí, y por lo tanto, todas las demás categorías de informes enfatizan la aplicabilidad en varias áreas de desarrollo y arquitectura. Comencemos con la categoría más obvia: la empresa sangrienta. En esta sección no solo hay estrellas extranjeras como Sebastian Daschner (gurú JavaEE de IBM) y Milen Dyankov (evangelista Liferay), sino también destacados desarrolladores rusos: Yuri Artamonov de Haulmont (CUBA, ocho años con Vaadin), Grigory Koshelev de Kontur, Vladimir Plizga Toparvion de CFT y así sucesivamente.
En primer lugar, voy al informe de Sebastián . Formalmente, es el principal defensor de desarrolladores de Java en IBM, responsable, entre otras cosas, de los estándares JAX-RS y JSON-P y un montón de proyectos de código abierto. Recientemente hicimos una entrevista con él para Habr, que se publicará en breve. Es bastante obvio que si el tema de JavaEE y JakartaEE es al menos de alguna manera interesante, entonces esta es su persona. El mayor valor puede aportar comunicación en el área de discusión, porque Sebastian está preparado en el mundo JavaEE, y puede abordarlo con preguntas muy específicas, discutir y ponerse de acuerdo sobre cosas específicas. Lo más importante, no olvides que habla inglés. La última vez, escribí todas las preguntas que me interesan en una hoja de papel y leí tediosamente la lista (sin decir que esto debería hacerse, pero funciona) :-)
Probablemente estés acostumbrado a que Tolkachev tolkkv y Borisov EvgenyBorisov cuenten sobre Spring. Esta vez tienen algo ligeramente diferente , y Vladimir Plizga de CFT y Victor Rentea (líder técnico de IBM) revelan el tema obligatorio de Spring. Victor tiene una larga sesión de codificación en vivo, interrumpida por profundos problemas teóricos, y allí se necesitará una teoría, porque este es su tema favorito para escribir todo tipo de proxies en primavera.
Reactivo
Puedes esforzarte y recordar los tiempos en que el reactivismo era una sección de la astronáutica arquitectónica. Ahora este tema está apresurando una máquina de vapor imparable: ¡sucedió que este JPoint informa sobre temas de jet más! Por ejemplo, son el doble que los informes sobre la empresa "limpia". Y ya sabes, todos son algunos nombres familiares. Veamos un par de informes.
Kirill Tolkachev y Evgeny Borisov intentarán descubrir qué tecnología moderna son solo juguetes de moda y qué es algo práctico. Tomarán algún tipo de aplicación e intentarán refactorizarla en un estilo reactivo, revelando las características de cosas como Spring Web Reactive Framework. Suena muy simple y directo, pero como sabemos, sus informes se encuentran entre los mejores en términos de calificaciones, asistencia y elaboración. Recomiendo echar un vistazo a la megadata anterior "Arranque usted mismo, la primavera está llegando" (en dos partes: una , dos ), una de las pocas para las que se reservaron dos ranuras de tiempo seguidas. Hay transcripciones de video y texto en los enlaces, pero le recomiendo encarecidamente que vea el video, porque la forma de presentación es importante.
Ahora hablemos un poco sobre el futuro, transformándose rápidamente en el presente. Existe tal cosa, RSocket es un protocolo binario simétrico sobre transportes de bytes como TCP o sockets web, que finalmente le permite trabajar de forma asíncrona. Todavía no ha actuado completamente, pero no esperó mucho y las perspectivas iniciales son amplias. Y en JPoint, tenemos una persona especial, Oleg Dokuk, con un informe sobre RSocket : el confirmador Reactor 3, el autor del libro "Programación reactiva con Spring 5", y ahora también el confirmador RSocket. Si realmente quiere trabajar en protocolos normales, pero primero necesita comprender el tema y comunicarse estrechamente con los creadores de la tecnología, entonces necesita Oleg.
Idiomas
Volvamos a cosas más sistémicas. Las siguientes dos categorías son idiomas y afinación. He asociado esta dicotomía con "físicos y letristas" con interminables guerras santas en Habré y Reddit sobre el hecho de que es más importante tener un lenguaje inteligente que pueda hacer todo por sí mismo, o un IDE con inteligencia artificial en el interior que ayude a cada paso. Afortunadamente, aquí no tenemos ni a Haskell ni a Common Lisp: en el mundo de Java hay un lenguaje inteligente, excelentes IDE e informes poderosos sobre esto. Desde el lado lingüístico de la barricada, dos empleados de JetBrains nos están esperando, el director técnico de Azul , el programador funcional de gamedev e incluso el podcast Scala en vivo de Skalalaz - Olga Makhasoeva. En general, el destacamento cuenta con poco menos de personal.
Hemos escuchado y leído sobre el futuro de Java más de una vez. Pero aquí hay un caso especial: Simon Ritter de Azul hablará sobre la migración a la nueva Java. Es la persona que tiene todo el derecho a tales discursos. Reinhold, Goetz, Rose ... Ritter. Bueno, entiendes el punto. Simon ahora representa a Azul en el Comité Ejecutivo de JCP y en grupos de expertos en JSR 379 y JSR 383. En el informe, dará una visión general de una amplia gama de problemas de migración: cambios en el idioma, bibliotecas, configuraciones e incluso afecta los efectos de la aceleración sensacional del ciclo de lanzamiento. Otra persona con la que recomiendo hablar en el área de discusión es que quizás sus preguntas influirán en el futuro de Java.
Mi segunda charla sería "Kotlin / Native: ¿por qué hacer un idioma nativo en 2019? ¿Qué hay más allá de la JVM? " Nicholas Igotti de JetBrains. Como saben, todo mejora si está escrito en Kotlin :-) Sin embargo, la necesidad de una versión compilada en código nativo sigue siendo un misterio para muchos. Como mínimo, hay muchos lenguajes compilados, y aquí estamos hablando de un proyecto relativamente joven. No tenga miedo, aquí no tenemos a cualquiera, sino que el gerente tecnológico del proyecto Kotlin / Native, definitivamente responderá a cualquier pregunta.
Las herramientas son una cosa delgada. Por un lado, todos pueden decir algo sobre él, por el otro, por lo general, tales conversaciones, e incluso informes completos, se combinan con el gusto habitual o la falta de comprensión de las complejidades de desarrollar herramientas que no solo utiliza usted personalmente, sino también la mitad del mundo. Dichas competencias generalmente solo están disponibles para los desarrolladores de la afinación correspondiente o los evangelistas que se comunican estrechamente con los usuarios de estas herramientas. Nuestro "Equipo de herramientas" de JPoint está compuesto por el autor Jenkins , uno de los desarrolladores de Gradle, el jefe de Berlin JUG y, como de costumbre, dos empleados de JetBrains.
Kohsuke Kawaguchi, director técnico de CloudBees, es una persona legendaria, hizo a Jenkins con estas mismas manos y, en muchos sentidos, determinó el camino de las tecnologías de CI / CD en Rusia y en el mundo. Y, por supuesto, no hablará sobre la Edad de Piedra y los bichos olvidados. Se trata de cosas completamente nuevas y revolucionarias en Jenkins. El informe se está desarrollando en este momento con el Comité del Programa, y el título y el resumen del informe publicado en el sitio web de JPoint pueden cambiar en el futuro.
Vale la pena mencionar el segundo informe, Tagir Valeev lany , el desarrollador de JetBrains, el inventor de las muchas cosas geniales que todos usamos al lanzar IntelliJ IDEA. Esta vez habrá un informe sobre refactorización atómica , que examina un problema urgente y dolor: ¿no se interrumpirá el programa después de la refactorización automática? Tagir enseñará cómo hacer que IntelliJ IDEA refactorice atómicamente sin romper la semántica, incluso si se resiste.
Fuera de las categorías
Y también tenemos un orador fuera de las categorías: Yegor Bugaenko yegor256 , Director de Zerocracy. Escribió al menos dos libros sobre la OOP correcta ( uno , dos ; no hay otra descripción del patrón Singleton, pero realmente hay algo para leer), copiará un montón de código en código abierto y hará informes provocativos inusuales. Los asistentes regulares a nuestras conferencias saben que alguna vez inventaron especialmente el marcador "Prepárate para quemar" por su bien. Ahora este marcador no está en el informe, y el título "Probar errores de cálculo" y la descripción del informe parecen extremadamente serios y pragmáticos. ¿Puede Yegor hacer informes que no exploten a la audiencia? A ver
Entrenamiento "Patrones de diseño pragmáticos con primavera", anfitrión - Victor Rentea
Como habrás notado, en el programa de la conferencia hay un informe sobre proxies en Spring, que es una sesión de codificación en vivo. Pero eso no es todo.
Un día antes del inicio de JPoint, es decir, el 4 de abril, Víctor llevará a cabo una gran capacitación de 8 horas sobre el diseño de un código limpio y bien diseñado (que incluye cómo refactorizar su legado a dicho estado).
El entrenamiento es sobre lo siguiente:
- Principios arquitectónicos básicos: SRP, DRY, KISS, YAGNI, SOLID, etc.
- Una vida sombría y desagradable con un estado único y global, y lo que se puede hacer aquí;
- Adaptador: nuestra capa anticorrupción;
- Decoradores, representantes y otra magia de primavera;
- Fachadas y enfoque evolutivo de la arquitectura;
- Observadores y componentes impulsados por eventos en primavera;
- Iteradores y corrientes como concepto;
- Estrategia y cadena de responsabilidad, aplicación del principio de responsabilidad única (SRP);
- Comando de patrón, asincronía;
- Método de plantilla y cómo matarlo con ...
- Bloque de paso y programación funcional;
- Antipatrones y qué hacer con ellos;
- Pruebas finales y premios.
El participante en el entrenamiento es mejor familiarizarse con Spring de antemano, si por alguna razón aún no lo ha hecho, y generalmente puede programar en Java.
Para obtener más información sobre la capacitación, debe comunicarse con el sitio web de JPoint .
Preguntas frecuentes: ¿eso es todo, solo informes?
Por supuesto, una conferencia no es solo informes, sino también un mar de comunicación. Aquí es donde la presencia en vivo difiere de la transmisión en línea, que también planeamos hacer.
Eche un vistazo a la lista anterior: con la mayoría de estas personas me gustaría conocer y discutir algo importante. Tenemos esa oportunidad: después del final del informe, todos van al área de discusión y hablan allí durante el tiempo suficiente. Al final del día, se organizan las llamadas sesiones BOF (algo así como una mesa redonda, pero solo todos participan).
Puedes conocer gente interesante de la comunidad que también vino, pero sin un informe. Puede encontrar empresas de interés, aprender algo de sus representantes y participar en concursos. Habrá diferentes actividades paralelas en las que ahora estamos pensando. En resumen, todo lo que se puede imaginar sobre una gran conferencia.
Que sigue
¡Y luego debes venir a JPoint! Se llevará a cabo del 5 al 6 de abril de 2019 en Moscú.
Las entradas se pueden comprar en el sitio web oficial . Allí puede familiarizarse en detalle con la versión actual del programa (puede cambiar un poco, y a menudo escribimos sobre los cambios en Habré).
Una nota importante sobre precios y descuentos . En comparación con el JPoint anterior, el sistema de tickets se ha vuelto más flexible y ahora puede emitir tickets de cuatro tipos: académico, personal, estándar y en línea. Por qué es importante: si compra boletos usted mismo, entonces le costará mucho más barato que un boleto para la compañía. Y si usted es un estudiante, un estudiante graduado o un maestro (y hay un documento apropiado para su confirmación), entonces el descuento es especialmente impresionante. Las condiciones detalladas, por supuesto, deben leerse en el sitio ; todo lo anterior fue solo para referencia.
En previsión de JPoint 2019, puede ver grabaciones de conferencias de años anteriores. Se encuentran perfectamente en nuestro canal de YouTube . Las notas del año pasado se presentan allí antes del comienzo de una nueva conferencia, y de esta manera puede evaluar visualmente la calidad de los informes.
¡Nos vemos en JPoint 2019!
