Spring, bytecode, JDK: los 10 mejores informes de JBreak 2018



Habr, hola! Anteriormente, celebramos la conferencia Java JBreak en Novosibirsk. En 2019, decidieron no mantenerlo, pero a partir de esto, los informes de JBreak 2018 no dejan de ser útiles, por lo que tradicionalmente compartimos una selección de los mejores (según la audiencia). Además, muchos oradores de esta colección llegarán pronto a JPoint con nuevos informes en Moscú: simplemente puede "reunirse en ausencia" con ellos y comprender si desea asistir a una conferencia de Moscú.

Como de costumbre, los informes van de "junior" a "senior" en la calificación, pero las diferencias entre los lugares son pequeñas, por lo que es mejor no comparar los lugares meticulosamente, ¡sino observar todo sobre temas de interés!

Bajo la escena, los videos se desglosan con una tabla de contenido de acuerdo con el contenido de la publicación, presentaciones y descripciones cortas.
Y para aquellos que no tienen los mejores 10 informes y necesitan todo, tenemos una lista de reproducción separada.

Uso compartido de datos de clase en la máquina virtual HotSpot


Ponente: Volker Simonis
Ubicación: 10
Valoración: 3.96
Presentación del informe



Nuestra selección comienza con un informe detallado sobre Class Data Sharing, una característica diseñada para mejorar la velocidad de descarga y reducir la cantidad de RAM utilizada. Apareció en Java 5, pero en los últimos años la historia se ha desarrollado, y en OpenJDK 10 hubo una adición en forma de AppCDS. Volker primero presenta brevemente CDS y AppCDS, explicando qué es y por qué, y luego profundizando.

Según la audiencia, este es un ejemplo de una "tarea de trabajo ejemplar": Volker examinó las fuentes de JDK, resolvió cómo lograr el resultado y las dificultades, mostró números específicos sobre el uso y la velocidad de RAM, y pintó todo para que entienda si vale la pena usarlo. Esta tecnología para sus aplicaciones.



Creación de una plataforma de comercio de cifrado con Spring 5 y Reactor 3


Ponente: Oleg Dokuka
Ubicación: 9
Valoración: 4.02
Presentación del informe



No, no habrá mecanismo para el funcionamiento de la cadena de bloques, secretos de enriquecimiento rápido en criptomonedas y similares. Pero habrá lo que se necesita para una mejor comprensión de Spring 5 y Reactor 3: un orador experimentado, discurso y presentación preparados, una demostración de tecnología moderna y un ejemplo práctico (en la forma de la plataforma de criptografía muy simple).

El enfoque del informe es lo más accesible posible: Oleg hace las preguntas básicas: "¿Qué se necesita?", "¿Por qué se necesita esto?", "¿Cómo implementar esto?" Deja de lado cada respuesta. Por ejemplo, explica en detalle y simplemente cómo construir un Sistema Reactivo utilizando el Spring Reactive Stack, por qué la empresa lo necesita, donde el enfoque Reactivo funciona mejor y resuelve de manera óptima problemas complejos.

A lo largo del informe, Oleg comprende cómo Reactor 3 y Reactive Spring 5 ayudan o no ayudan a resolver problemas, lo que es nuevo.

Hacia una tabla hash multiproceso rápida


Ponente: Nikita Koval
Ubicación: 8
Valoración: 4.04
Presentación del informe



Las tablas hash son la estructura de datos más popular y útil sobre el rendimiento del que dependen muchos componentes de la aplicación. Y el rendimiento también depende de subprocesos múltiples. ¿Qué hay en Java con tablas hash que aprovechan al máximo el mundo moderno de múltiples núcleos?

Nikita Koval ( ndkoval ) ve el tema del multihilo tanto desde el lado teórico (enseñándolo en ITMO) como desde el práctico (está involucrado en las rutinas en Kotlin). No es sorprendente que el informe haya resultado completo: tiene aspectos teóricos y enfoques prácticos.



Inyección de efectos secundarios o muletas virtuosas


Ponente: Vladimir Plizga
Ubicación: 7
Valoración: 4.11
Presentación del informe



¿Alguna vez ha tenido casos en los que por casualidad (o no) enviaron un fragmento de código destinado a la prueba a producción? ¿O insertó un archivo temporal si, por ejemplo, con Thread.sleep () o iniciando sesión para la depuración? No está solo: hay muchos ejemplos reales en los que un código de prueba / depuración a menudo sale para la producción, convirtiéndose allí en una bomba de tiempo, aumentando simultáneamente la deuda técnica y aumentando el lugar en el karma del desarrollador.

En el informe, Vladimir desensambla el enfoque de inyección de efectos secundarios, que permitirá introducir casi cualquier comportamiento en la aplicación de prueba: retrasos, trozos, registro, derivación de seguridad, etc., pero al mismo tiempo no ensuciar el repositorio con trucos sucios e incluso no reconstruir la aplicación en sí. No has visto esas muletas :)



Verificación de bytecode de Java: ¿cuándo, cómo y cómo deshabilitar?


Ponente: Nikita Lipsky
Ubicación: 6
Valoración: 4.13
Presentación del informe



Para implementar ciertos trucos que son difíciles de expresar en Java, los desarrolladores usan bibliotecas para generar bytecode en tiempo de ejecución. Pero debe controlar estrictamente la corrección del bytecode, de lo contrario, VerifyError aparecerá al cargar las clases. ¿Y qué hacer en tal situación?

Debe conocer no solo la semántica de las instrucciones de bytecode, sino también cómo funcionan los verificadores y qué bytecode puede considerarse correcto. Nikita comprende qué misión lleva a cabo el verificador de bytecode de JVM, cuándo y cómo funciona, si puede afectar el rendimiento de su aplicación y por qué es peligroso desactivarla.

Como en el párrafo anterior sobre otra Nikita (Koval), aquí el orador es muy útil en sus antecedentes. Para comprender el código de bytes , es útil trabajar a un nivel inferior al de los desarrolladores de Java "habituales", y Nikita Lipsky ( pjBooms ) ha estado involucrado en el JET Excelsior "JVM de Siberia" durante muchos años, sobre lo que recientemente lo entrevistamos mucho .




Equilibrio de solicitudes de clientes con Spring Cloud


Ponente: Alexander Tarasov
Ubicación: 5
Valoración: 4.14
Presentación del informe



Un informe muy "en vivo" en el sentido de una demostración en vivo de todo lo que se dice. Alexander repasa la teoría de Spring Cloud, y luego se sumerge en una solución típica al problema, y ​​luego, en lugar de diapositivas saticas, un IDE con un código o un navegador con gráficos de Hystrix son constantemente visibles en la pantalla.
En el curso de la demostración, se considerará la implementación interna del equilibrio de solicitudes de los clientes con ejemplos de bibliotecas oficiales y la propia biblioteca del autor. Aprenderá a equilibrar la carga y, por ejemplo, verá por qué incluso un aumento muy leve de la carga puede tener consecuencias desastrosas y cómo se puede evitar.



Spring boot starter: ¿cómo y por qué?


Ponente: Maxim Gorelikov / Kirill Tolkachev ( tolkkv )
Ubicación: 4
Valoración: 4.16
Presentación del informe



Spring ya no es mágica (gracias a "Spring Ripper" y Yevgeny Borisov), pero Spring Boot a menudo se estigmatiza con artesanías mágicas. ¡Pero a muchas personas les gusta, especialmente para los principiantes!
Un par informa sobre por qué, en general, en el marco de una empresa típica que usa Spring Boot, es posible que necesite sus propios entrantes; qué tan pronto llega la inquisición para los recién llegados si utilizan sin pensar los arrancadores ya preparados y qué tan independiente es Spring Boot y qué significa esto para los desarrolladores.

El informe está diseñado para la práctica de ingenieros de Spring (y preferiblemente Spring Boot) que ya han encontrado varias dificultades para soportar la infraestructura pesada desarrollada usando Spring.



¿Quién es ese tweet sobre #jbreak?


Ponente: Victor Gamov
Ubicación: 3
Valoración: 4.18

Presentación del informe



Quién sabe Victor Gamov gAmUssA (del podcast Parsing Flight o algo más), no sorprende que haya convertido un informe serio sobre sistemas de procesamiento de datos canalizados en un espectáculo interactivo. Victor organizó la codificación en vivo en la conferencia para analizar el flujo de tweets de la conferencia utilizando tecnologías de moda: Apache Kafka, Kafka Connect y KSQL.

Todos conocemos y amamos SQL, ¿verdad? Entonces, KSQL es casi como SQL, solo para Kafka. KSQL le permite crear complejos sistemas de procesamiento de transmisión sin escribir código Java o Scala.



Batido ML con Spark MLlib


Ponente: Alexey Zinoviev
Lugar: 2
Valoración: 4.18
Presentación del informe



Para trabajar en BigData, no solo necesita científicos de datos que ajusten los parámetros de los modelos a partir de paquetes en R o Python, sino también desarrolladores de Java que puedan comprender los modelos construidos e implementarlos en Java / Scala, incluido el uso de Spark MLlib.

Alexei presenta a la audiencia esta biblioteca más poderosa de aprendizaje automático distribuido en las formulaciones más simples posibles, al mismo tiempo que discute las características del uso de algoritmos estándar de aprendizaje automático y estructuras de datos en Spark. Después del informe, BigData se volverá mucho más claro, querrá hacerlo y profundizar en los "bolígrafos" usted mismo, probado en los oyentes.



Keynote: JDK 9, Misión cumplida: ¿Qué sigue para Java?


Ponente: Simon Ritter
Ubicación: 1
Valoración: 4.29
Presentación del informe



Y, sobre todo, al público le gustó la nota clave que abrió la conferencia. Ahora, cuando ya ha pasado mucho tiempo desde JBreak 2018, puede parecer terriblemente anticuado por su nombre: ya hay JDK 11, ¿qué recordar ahora sobre el noveno? Pero si considera que fue con el lanzamiento de The Nine cuando el ciclo de lanzamiento cambió y las nuevas versiones comenzaron a lanzarse con frecuencia, resulta que tiene sentido mirar hacia atrás en esta versión: se convirtió en una importante "cuenca hidrográfica", la última actualización verdaderamente a gran escala.

Y si todavía quiere algo más relevante de Simon, esto será en abril en JPoint: de dos de sus informes, uno estará dedicado a JDK de 10 a 12 (y el otro a la inferencia de tipos).

¿Cuál de estos oradores se puede ver en JPoint en abril? Por el momento, ya se sabe que Oleg Dokuka hablará sobre RSocket, y Nikita Lipsky contará cómo se combina la compilación AOT con las aplicaciones Spring Boot. Nikita Koval también lo estará, pero el tema del informe aún no se ha anunciado.

Además, habrá muchos otros informes, y las descripciones de algunos de ellos ya se pueden leer en el sitio . Si cree que tiene algo que contar, la aceptación de las solicitudes de informes se cierra el 31 de enero, por lo que ahora es la última oportunidad de llegar a tiempo. También vale la pena apresurarse a comprar boletos : esto se puede hacer más tarde, pero a partir del 1 de febrero, el precio aumentará.

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


All Articles