Além da
revisão com o resumo da conferência
JPoint 2019 para desenvolvedores de Java, realizada de 5 a 6 de abril de 2019 em Moscou. Mais críticas, mais fotos, mais emoções e impressões.

Dois dias da manhã à noite (quase literalmente
“do amanhecer ao anoitecer” ), 1.600 pessoas (com palestrantes e a equipe
JUG.ru - todas as 1.700) em idade próxima, com interesses profissionais semelhantes gastos no Centro de Congressos do World Trade Center. Ao se deslocar pelo local e passar de uma sala para outra durante os intervalos, considerou-se que um número tão grande de pessoas estava próximo do limite em um determinado local da conferência. Devemos prestar homenagem a todos os envolvidos na preparação do evento - tudo correu quase perfeitamente. Se você entrava no salão com antecedência, havia lugares; além disso, o vídeo era transmitido no pequeno quinto salão. Todos foram alimentados com pontualidade e não se ofenderam com a falta de relatórios para todos os gostos (
“pão e circo” ).

Stands da empresa
Dos estandes patrocinadores, muita atenção foi atraída por empresas cujos produtos de software são usados pela maioria dos participantes da conferência ou potencialmente podem interessar uma parte significativa deles. Naturalmente, em primeiro lugar, este é o estande da empresa
JetBrains (tiro médio). Passando boa parte do dia todos os dias, usando a versão mais recente do
IntelliJ IDEA , você sente o mais profundo respeito e gratidão aos funcionários da empresa. Na conferência, os relatórios foram feitos por seus funcionários
Tagir Valeev e
Anton Arkhipov .

Uma pequena empresa (cujo nome oficial é “Program Verification Systems”), cujo principal produto é o analisador de código estático
PVS-Studio . O produto introduziu recentemente o suporte para a
linguagem Java . A empresa é
muito ativa em Habré . Uma proporção significativa dos artigos foi escrita pelo diretor técnico
Andrei Karpov (na primeira foto, ele está no estande da empresa).

Outra empresa interessante é a
BellSoft e seu
Liberica JDK . Uma característica distintiva dessa distribuição é o suporte da
arquitetura ARM . Na primeira foto - o diretor geral Alexander Belokrylov, que conseguiu fazer um mini-relatório no
estágio Demo . Além disso, Dmitry Chuiko falou adicionalmente sobre
Java em um ambiente de contêiner.

Stand jug.msk.ru
A comunidade de desenvolvedores de Java de Moscou
jug.msk.ru atuou como um parceiro de informações. As reuniões da comunidade
são realizadas regularmente , reunindo invariavelmente um grande número de participantes. O estande foi instalado no térreo; Andrey Kogun (líder do
jug.msk.ru , participante de meio período do comitê do programa da conferência) estava quase sempre presente no estande. Nos dois dias de existência do estande, o número de assinantes da
conta no Twitter aumentou significativamente.
Anton Chernousov (
podcast , organizador de conferências, apenas uma boa pessoa) e Andrey Kogun (primeira foto). Andrey e participantes da conferência que visitaram o estande (segunda foto). Oradores de reuniões anteriores
jug.msk.ru :
Ivan Ponomarev ,
Nikita Lipsky e
Alexey Stukalov (terceira foto).

Etapa de demonstração
Um local popular para apresentações curtas. Uma forma muito atraente de relatórios, que permite ingressar em novos tópicos e obter informações de uma área de seu interesse quando você fica fora das principais salas de relatórios. Como já observado, a única desvantagem é barulhenta, mas esses são os recursos do site.

Abertura da conferência
Andrei Dmitriev abre a conferência, apresentando o comitê do programa. Andrei Kogun e Vladimir Sitnikov conversam em detalhes sobre o programa da conferência, concentrando-se em possíveis tipos de relatórios.

Relatórios do primeiro dia
Anton Keks em seu relatório
O mundo precisa de artesãos de pilha completa promovidos a idéia da maior versatilidade possível de cada membro da equipe. No exemplo de sua empresa,
Codeborne argumentou por que isso é importante: a compactação da equipe devido a muitos conhecimentos e habilidades de todos, a redução dos riscos do projeto (o caminhão notório, sob cujas rodas, além do funcionário, o produto pode morrer devido à perda de conhecimento), é apenas interessante obter mais conhecimento em diferentes áreas (é difícil discordar). O relatório inspirou não apenas o público, mas também o palestrante - Bruno Borges incluiu em sua apresentação um slide com uma citação de Anton: “O artesão pode ser 5x ainda mais eficiente sabendo o que não fazer”.
Vladislav Senin com o relatório
Logs: quanto mais, melhor - mas como viver com isso? feito em um aconchegante quinto salão. Vlad é um participante ativo da comunidade Java de Moscou; esta é sua estréia como palestrante nas conferências
JUG.ru. A evolução do uso de ferramentas para armazenar e pesquisar logs foi mostrada. As fontes de log são
aplicativos Java e
Python . Para a pesquisa, o
Elasticsearch serve como
base . Após o relatório, detalhes fascinantes adicionais foram ouvidos (incluindo uma história de detetive que procurava os motivos do desaparecimento do personagem no
JSON ), que não foram contados devido a restrições de tempo, para que possamos esperar uma história mais detalhada de Vlad sobre esse tópico no futuro próximo.
A fada Proxy, de Victor Rentea, e a magia do Spring falaram sobre a magia do padrão de design do
Proxy comumente usado no
Spring Framework . No anúncio do relatório, havia uma promessa de introduzir seis maneiras de interceptar chamadas de método, duas maneiras de usar o modelo
Decorator com o
Spring e muito mais durante uma sessão de codificação ao vivo. Uma performance muito animada, inspirando-o a experimentar o
Spring e a se aprofundar no código dos exemplos mostrados (eles estão
aqui no
GitHub ). Se você gosta do
Spring , padrões de design e codificação ao vivo - este é definitivamente o seu relatório, você deve assistir.

Relatório absolutamente prático dos
aplicativos Bulletproof Java Enterprise sobre a vida útil de produção de
Sebastian Daschner sobre a importância da estabilidade e resiliência dos aplicativos corporativos e como alcançá-lo. Durante o relatório, encontrei e abri o projeto
Tolerância a falhas por microprofiles no
GitHub , o palestrante demonstrou ativamente o uso de anotações das quais (lembro-
me mais do @CircuitBreaker ). A única desvantagem da apresentação do relatório é o difícil de ler os cabeçalhos (a primeira foto dá uma idéia disso, você pode clicar na figura para ampliá-la).

Relatório do
Spring Boot, e estamos cada vez mais fortes: a leveza insuportável da compilação AOT dos aplicativos Spring do
Nikita Lipsky foi uma espécie de resposta à pergunta sobre o suporte ao
Spring Boot no
GraalVM , que foi solicitada por Oleg Shelaev no
dia anterior na reunião (no
GraalVM ainda
existem problemas com suporte como
Spring Boot e o sistema operacional Windows, que Oleg disse). No produto
Excelsior JET , que representa a Nikita, com o suporte de vários sistemas operacionais, está tudo bem. Além disso, o suporte para a
compilação AOT do Spring Boot foi anunciado oficialmente recentemente, o que foi relatado. Um interesse adicional na compilação estática de AOT de aplicativos Java agora está relacionado ao fato de que aplicativos (microsserviços) são especialmente importantes para um início rápido. Na maioria das vezes, os aplicativos são criados com base no
Spring Boot . Um relatório interessante, habilmente equilibrando à beira de uma apresentação hardcore e compreensível.

Os relatórios conjuntos de
Kirill Tolkachev e
Evgeny Borisov são tradicionalmente muito populares entre os ouvintes,
reativos ou não reativos, e essa é a pergunta não
foi exceção - na primeira foto, você pode ver a sala inteira. A idéia do relatório era mostrar a implementação usual de uma tarefa (a interação dos três sistemas neste caso), para que mais tarde pudesse ser refeita de maneira reativa. Inspirados por assistir ao relatório de Oleg Dokuki sobre o protocolo
RSocket no mesmo dia, os palestrantes conseguiram refinar os
exemplos . Tudo acabou com muito sucesso e entusiasmo.

Sessões Bof
O formato
BOF já foi testado várias vezes em várias conferências recentes e se tornou popular. Ouvir relatórios já é difícil, mas ainda há a força e o desejo de comunicação informal - a conclusão natural do primeiro dia. Abaixo está uma foto da sessão do BOF de
microsserviços, nuvem e para onde tudo isso está acontecendo , na zona de discussão.

Relatórios do segundo dia
Uma característica distintiva, o "destaque" das conferências técnicas do
JUG.ru é a presença no programa de um relatório não técnico. Desta vez, o relatório foi o
jogo de Deus. A ciência cruzou a fronteira de
Alexander Panchin ? Esses relatórios ampliam seus horizontes e permitem que você sintonize o dia (desta vez, o relatório foi o segundo dia de abertura). Finalmente, eles são mutuamente interessantes para quem fala (público não padrão) e para os ouvintes (área de assunto incomum). Naturalmente, o relatório era ciência popular, mas muito interessante. Mudar o código genético e corrigir defeitos genéticos, sucessos e abordagens modernas na luta contra o HIV e o câncer. Enumeração das personalidades de cientistas envolvidos em problemas semelhantes e sua conquista.

Relatório leve (no bom sentido da palavra - fácil de ler e entender) - relatório
Inferência de tipo de variável local: Amigo ou inimigo? foi introduzido por
Simon Ritter . O tópico do relatório é a
inferência de tipos de variáveis locais ao usar
var (um recurso introduzido no
Java 10 ). Após uma análise mais aprofundada, verificou-se que, de uma maneira tão simples, à primeira vista, a questão das muitas nuances às quais você precisa prestar atenção. Considera-se que o palestrante tem uma ótima experiência de conferência (no histórico há trabalho na
Sun Microsystems ,
Oracle ,
Azul e o título de J
Rock Rock ,
Java Champion ). A história foi muito fácil de ouvir e foi bem ilustrada com slides. Um exemplo de relatórios com um foco prático claro.
Supercompilação de desempenho
, avaliação parcial, projeções do Futamura e como o GraalVM salvará o mundo apresentado por
Oleg Shelaev foi uma continuação do tema do
GraalVM , cuja história começou em 4 de abril na
reunião jug.msk.ru. Foi muito útil ouvir primeiro uma história introdutória detalhada de três horas imediatamente antes da conferência, depois no primeiro dia ir para um relatório de Nikita Lipsky (sobre o suporte ao
Spring Boot com
AOT ) e depois retornar ao
GraalVM novamente . A conversa foi sobre os fundamentos teóricos do compilador
Graal e
das projeções GraalVM -
Futamura . O segundo tópico foi uma demonstração do uso do
Truffle , uma estrutura para criar linguagens de programação baseadas no
GraalVM . Oleg também recomendou ouvir uma palestra de Thomas Wuerthinger no dia anterior da conferência.

Um conceito interessante de mudanças atômicas ao executar a refatoração de código foi introduzido por
Tagir Valeev em seu relatório
Atomic Refactoring in IntelliJ IDEA: dobramos o IDE para nós mesmos . A idéia de mudanças atômicas a cada pequeno passo de modificação das linhas de código foi mostrada no ambiente de desenvolvimento do
IntelliJ IDEA - Tagir representa o
JetBrains , participando pessoalmente de seu desenvolvimento. Além disso, a grande maioria dos que estão sentados no corredor (inclusive eu) usa o
IntelliJ IDEA todos os dias; portanto, a história contada e mostrada caiu em terreno fértil. Sinceramente, nunca pensei se meu menor passo de mudança era atômico, mas agora vou tentar prestar atenção, talvez revisando a reportagem em vídeo.

Outro exemplo de relatório, as informações após a escuta que podem ser colocadas em prática, é o
Java fica mais lento: edição do CodeCache por
Vladimir Sitnikov . Era sobre o
CodeCache - a área na qual a
JVM armazena o bytecode compilado no código
nativo (código executável
nativo da plataforma de destino). O caso discutido no relatório ocorreu ao usar o
WebLogic Server , mas o tipo específico de servidor de aplicativos realmente não importa. Uma sequência interessante de etapas que devem ser executadas com erros desse tipo e conhecimento dos valores padrão do tamanho do
CodeCache em diferentes versões do
Java (ou pelo menos o fato de serem diferentes, e você pode precisar especificar manualmente um tamanho maior).

Até certo ponto,
Como desvendar uma discussão: análise e depuração de aplicativos no IntelliJ IDEA , um relatório de
Anton Arkhipov , ecoou a primeira parte de seu
discurso de três horas em novembro do ano passado. As informações obtidas no discurso acima e neste relatório específico foram úteis. As técnicas de pesquisa de código foram mostradas usando o exemplo do
Spring Initializr . Muitas pessoas conhecem a pesquisa estrutural no
IntelliJ IDEA , mas a utilizam. Talvez uma demonstração desse recurso por Anton incentive alguém a usá-lo todos os dias.
Bruno Borges, concluindo a conferência,
dando sentido à computação sem servidor, começou com relatos de que, apesar de seu trabalho na
Microsoft , ele nunca usou o sistema operacional Windows (a apresentação era do
MacBook ), tendo uma rica experiência em desenvolvimento Java e tendo trabalhado anteriormente em Empresa
Oracle . Ele agora é
advogado de desenvolvedores da
Microsoft e promove o uso da nuvem. Os principais recursos do uso “sem servidor” foram examinados em detalhes: manipulação
orientada a eventos , flexibilidade de
micro-faturamento , não é necessário instalar algo e suporte (
sem configuração ou manutenção do servidor ) e
auto-dimensionamento infraestrutura. Um fio de conexão peculiar no início da conferência foi, como já observado, o uso de citações da apresentação de Anton Keks.

Encerramento
Comentários finais de Andrei Dmitriev solicitando uma resposta à carta com feedback. Fotografias tradicionais dos membros do comitê do programa, da equipe do
JUG.ru e dos palestrantes.

Sumário
A conferência aumentou inesperadamente o número de participantes. Tendo me mudado há algum tempo do Radisson Slavyanskaya Hotel para o Centro de Congressos do World Trade Center, agora me sinto constrangido no local atual. Provavelmente, mantendo uma tendência crescente de interesse, você pode esperar no futuro próximo para substituir o site por um ainda mais espaçoso.
Os pensamentos expressos por Baruch Sadogursky em
uma entrevista com Egor Bugaenko no Joker 2018 sobre a falta de um sexo justo em
TI foram ouvidos - havia visivelmente mais meninas na conferência do que nas anteriores.
Sobreposições organizacionais e técnicas menores foram mais provavelmente associadas a um grande número de participantes, e mesmo isso foi prontamente corrigido. Relatórios de vídeo para os participantes da conferência já estão disponíveis no
YouTube , bem como arquivos de apresentação no
site da conferência .
De 25 a 26 de outubro de 2019, uma conferência para desenvolvedores de Java do Joker 2019 será realizada em São Petersburgo , os pedidos de relatórios estão abertos e os ingressos já podem ser comprados (pelo menor preço até 1º de maio).