
Habr, olá! Anteriormente, realizamos a conferência Java JBreak em Novosibirsk. Em 2019, eles decidiram não mantê-lo, mas a partir disso, os relatórios do JBreak 2018 não deixam de ser úteis, então, tradicionalmente, compartilhamos uma seleção dos melhores (de acordo com o público). Além disso, muitos palestrantes desta coleção em breve chegarão à JPoint com novos relatórios em Moscou - você pode simplesmente “encontrar-se à revelia” com eles e entender se deseja participar de uma conferência em Moscou.
Como de costume, os relatórios variam de "junior" a "senior" na classificação, mas as diferenças entre os lugares são pequenas - portanto, é melhor não comparar meticulosamente os lugares, mas observar tudo sobre os tópicos de interesse!
Na cena, os vídeos são divididos em um índice de acordo com o conteúdo da postagem, apresentações e descrições curtas.
E para aqueles que não têm os 10 melhores relatórios e precisam de tudo, temos uma
lista de reprodução separada.
Compartilhamento de dados de classe na VM do HotSpot
Palestrante:
Volker SimonisLocalização: 10
Classificação: 3.96
Apresentação do relatórioNossa seleção começa com um relatório detalhado sobre o Compartilhamento de dados de classe, um recurso projetado para melhorar a velocidade de download e reduzir a quantidade de RAM usada. Ele apareceu no Java 5, mas nos últimos anos a história se desenvolveu, e no OpenJDK 10 houve uma adição na forma do AppCDS. Volker apresenta brevemente o CDS e o AppCDS, explicando o que é e por que, e depois aprofundando-se.
Segundo a audiência, este é um exemplo de uma “tarefa de trabalho exemplar” - Volker olhou para as fontes do JDK, colocou em uma prateleira o caminho para alcançar o resultado e as armadilhas, mostrou números específicos sobre o uso e velocidade da RAM e pintou tudo para que você entenda se vale a pena usar essa tecnologia para suas aplicações.
Construindo uma plataforma de negociação de criptografia usando o Spring 5 e o Reactor 3
Palestrante:
Oleg DokukaLocalização: 9
Classificação: 4.02
Apresentação do relatórioNão, não haverá mecanismo para a operação da blockchain, segredos de rápido enriquecimento em criptomoedas e similares. Mas haverá o que é necessário para uma melhor compreensão do Spring 5 e do Reactor 3: um palestrante experiente, discurso e apresentação preparados, uma demonstração da tecnologia moderna e um exemplo prático (na forma da plataforma de criptografia muito simples).
A abordagem do relatório é o mais acessível possível: Oleg faz as perguntas básicas: “O que é necessário?”, “Por que isso é necessário?”, “Como implementar isso?” Prateleira cada resposta. Por exemplo, ele explica em detalhes e simplesmente como criar um Sistema Reativo usando o Spring Reactive Stack, por que a empresa precisa dele, onde a abordagem Reativa funciona melhor e resolve problemas complexos de maneira ideal.
Ao longo do relatório, Oleg entende como o Reator 3 e o Spring 5 reativo ajudam ou não a resolver problemas, o que há de novo.
Em direção a uma tabela de hash multithread rápida
Palestrante:
Nikita KovalLocalização: 8
Classificação: 4.04
Apresentação do relatórioAs tabelas de hash são a estrutura de dados mais popular e útil do desempenho da qual muitos componentes de aplicativos dependem. E o desempenho também depende do multithreading. O que há em Java com tabelas de hash que aproveitam ao máximo o mundo moderno com vários núcleos?
Nikita Koval (
ndkoval ) vê o tópico de multithreading tanto do lado teórico (ensinando no ITMO) quanto do prático (ele está envolvido nas corotinas de Kotlin). Não surpreende que o relatório tenha sido abrangente: possui aspectos teóricos e abordagens práticas.
Injeção de efeitos colaterais ou muletas virtuosas
Palestrante:
Vladimir PlizgaLocalização: 7
Classificação: 4.11
Apresentação do relatórioVocê já teve casos em que, por acaso (ou não), eles enviaram um código destinado ao teste para produção? Ou inseriu um temporário se, por exemplo, com Thread.sleep () ou fazer logon para depuração? Você não está sozinho: existem muitos exemplos reais em que um código de teste / depuração geralmente sai para produção, transformando-o em uma bomba-relógio, aumentando simultaneamente a dívida técnica e aumentando o ponto no carma do desenvolvedor.
No relatório, Vladimir desmonta a abordagem de injeção de efeitos colaterais, que permitirá introduzir quase qualquer comportamento no aplicativo de teste: atrasos, stubs, logs, desvio de segurança etc., mas ao mesmo tempo não suja o repositório com hacks sujos e nem mesmo reconstrói o próprio aplicativo. Você não viu essas muletas :)
Verificação de bytecode Java: quando, como e pode desativar?
Palestrante:
Nikita LipskyLocalização: 6
Classificação: 4.13
Apresentação do relatórioPara implementar certos truques difíceis de expressar em Java, os desenvolvedores usam bibliotecas para gerar bytecode em tempo de execução. Mas você precisa monitorar rigorosamente a correção do bytecode, caso contrário, o VerifyError será exibido ao carregar as classes. E o que fazer em tal situação?
Você precisa conhecer não apenas a semântica das instruções do bytecode, mas também como os verificadores funcionam e qual bytecode pode ser considerado correto. A Nikita entende qual missão a JVM carrega o verificador de código de bytes, quando e como funciona, se pode afetar o desempenho do seu aplicativo e por que é perigoso desabilitá-lo.
Como no parágrafo acima, sobre outra Nikita (Koval), aqui o orador é muito útil em seu histórico. Para entender o bytecode, é útil trabalhar em um nível inferior ao dos desenvolvedores Java “habituais”, e Nikita Lipsky (
pjBooms ) está envolvida no Excelsior JET “Siberian JVM” por muitos anos, sobre os quais recentemente o
entrevistamos .
Balanceando solicitações de clientes com o Spring Cloud
Palestrante:
Alexander TarasovLocalização: 5
Classificação: 4.14
Apresentação do relatórioUm relatório muito "ao vivo", no sentido de uma demonstração ao vivo de tudo o que é dito. Alexander analisa a teoria da Spring Cloud e, em seguida, mergulha em uma solução típica para o problema - e, em vez de slides satéticos, um IDE com um código ou um navegador com gráficos da Hystrix são constantemente visíveis na tela.
No decorrer da demonstração, será considerada a implementação interna do balanceamento de solicitações do cliente, com exemplos de bibliotecas oficiais e da própria biblioteca do autor. Você aprenderá como equilibrar a carga e, por exemplo, verá por que mesmo um aumento muito leve na carga pode levar a conseqüências desastrosas e como isso pode ser evitado.
Arranque de arranque com mola - como e porquê?
Orador:
Maxim Gorelikov / Kirill Tolkachev ( tolkkv )Localização: 4
Classificação: 4.16
Apresentação do relatórioA primavera não é mais mágica (graças ao "Spring Ripper" e Yevgeny Borisov), mas a Spring Boot é frequentemente estigmatizada com artesanato mágico. Mas muitas pessoas gostam, especialmente para iniciantes!
Um par relata por que, em geral, na estrutura de uma empresa típica que usa o Spring Boot, você pode precisar de seus próprios iniciantes; com que rapidez a inquisição chega para os iniciantes, se eles usam impensadamente iniciantes prontos e como a Spring Boot é independente e o que isso significa para os desenvolvedores.
O relatório foi desenvolvido para a prática de engenheiros do Spring (e de preferência do Spring Boot) que já encontraram várias dificuldades no suporte à infraestrutura pesada desenvolvida usando o Spring.
Quem é esse tweet sobre #jbreak?
Palestrante:
Victor GamovLocalização: 3
Classificação: 4.18
Apresentação do relatórioQuem conhece Victor Gamov
gAmUssA (do podcast Parsing Flight ou algo mais), não surpreende que ele tenha transformado um relatório sério sobre sistemas de processamento de dados em pipeline em um show interativo. Victor organizou a codificação ao vivo na conferência para analisar o fluxo de tweets da conferência usando tecnologias da moda - Apache Kafka, Kafka Connect e KSQL.
Todos nós conhecemos e amamos SQL, certo? Portanto, o KSQL é quase como o SQL, apenas para o Kafka. O KSQL permite criar sistemas complexos de processamento de streaming sem escrever código Java ou Scala.
Smoothie ML com Spark MLlib
Palestrante:
Alexey ZinovievLocal: 2
Classificação: 4.18
Apresentação do relatórioPara trabalhar no BigData, você precisa não apenas de cientistas de dados que ajustem os parâmetros de modelos de pacotes em R ou Python, mas também de desenvolvedores de Java que possam entender os modelos criados e implementá-los em Java / Scala, incluindo o uso do Spark MLlib.
Alexei apresenta aos alunos essa biblioteca mais poderosa de aprendizado de máquina distribuído nas formulações mais simples possíveis, ao mesmo tempo em que discutem os recursos do uso de algoritmos de aprendizado de máquina e estruturas de dados padrão no Spark. Após o relatório, o BigData se tornará muito mais claro, você desejará fazer isso e cavar as “canetas” você mesmo - testado em ouvintes.
Keynote: JDK 9, Missão Cumprida: O que vem a seguir para Java?
Palestrante:
Simon RitterLocalização: 1
Classificação: 4.29
Apresentação do relatórioE acima de tudo, o público gostou da palestra que abriu a conferência. Agora, quando já passou muito tempo desde o JBreak 2018, pode parecer terrivelmente desatualizado pelo nome: já existe o JDK 11, o que agora devemos lembrar sobre o nono? Mas se você considerar que foi com o lançamento dos Nove que o ciclo de lançamento mudou e novas versões começaram a ser lançadas com frequência, verifica-se que faz sentido olhar para essa versão: tornou-se uma importante “bacia divisória”, a última atualização verdadeiramente em grande escala.
E se você ainda deseja algo mais relevante de Simon, isso será em abril na JPoint: em dois de seus relatórios,
um será dedicado ao JDK de 10 a 12 (e o
outro a digitar inferência).
Qual desses palestrantes pode ser visto no JPoint em abril? No momento, já se sabe que Oleg Dokuka falará sobre RSocket, e Nikita Lipsky dirá como a compilação AOT é combinada com aplicativos Spring Boot. Nikita Koval também será, mas o tópico do relatório ainda não foi anunciado.
Além disso, haverá muitos outros relatórios - e as descrições de alguns deles já podem ser lidas no site . Se você acha que tem algo a dizer, a aceitação de aplicativos para relatórios termina em 31 de janeiro, então agora é a última chance de chegar a tempo. Também vale a pena apressar-se para comprar ingressos : isso pode ser feito mais tarde, mas a partir de 1º de fevereiro, o preço aumentará.