De 24 a 25 de agosto de 2019, o
TechTrain 2019 IT festival foi realizado em São Petersburgo, no qual participaram representantes das comunidades Java
JUG.ru (São Petersburgo),
JUGNsk (Novosibirsk) e
JUG.MSK (Moscou). Como foi o festival, o que estava no estande conjunto do
JUG - tudo isso é descrito mais adiante.

Um local familiar em São Petersburgo para conferências do
Grupo JUG Ru é o Centro de Convenções e Exposições ExpoForum. Para preparar eventos no estande, é mais conveniente chegar no dia anterior, antes dos dias da conferência.

Vista noturna e matinal do Expoforum antes do festival. Entrada no
TechTrain logo antes do início, na manhã do primeiro dia.
Stands de empresas e comunidades
No primeiro dia, há um certo período em que os participantes da exposição (nas bancas de empresas e comunidades) já podem entrar no território, enquanto os participantes comuns ainda não podem. Usando essa oportunidade, pude dar uma olhada rápida nos estandes para o conhecimento inicial.

À esquerda da entrada estão os estandes da empresa, à direita estão os estandes da comunidade. Estande
CROC , em cujo território são tradicionalmente realizadas reuniões da comunidade Java de Moscou. Stand de informações dos organizadores do festival.

Um encontro inesperado e uma conversa com o Evgeny Trifonov
phillennium , que invariavelmente artigos interessantes que os leitores de Habr regularmente têm a oportunidade de ler. Suporte comunitário
DotNet.Ru .

Suportes das comunidades de linguagem de programação
C ++ ,
JavaScript e
Go .
Atividades no estande da JUG
Este ano, o estande do Russian
Java User Group (
JUG ) reuniu representantes de três comunidades: Gleb Smirnov e Vladimir Sitnikov (
JUG.ru ), Ivan
Uglyansky (
JUGNsk ), Andrey Kogun, Ivan Ponomarev, Vladislav Senin e autor do artigo (
JUG.MSK ).
Anteriormente, um programa divertido e educacional para os participantes do festival foi preparado e os prêmios foram selecionados para incentivar os vencedores das competições.
Os organizadores do festival concordaram com os representantes dos estandes de empresas e comunidades para participar da busca geral. Ao visitar cada estande participando da missão, para obter o cobiçado selo do programa, era necessário provar de alguma forma.

Preparamos perguntas relacionadas à
linguagem de programação
Java . Para 3 respostas corretas, um carimbo foi colocado, para 5 - um caderno foi escolhido, para 10 - um
quebra-cabeça de madeira . Um super prêmio foi de 4 ingressos para a próxima conferência
Joker Java (2 ingressos offline e 2 online). As condições para obter um super prêmio estão descritas abaixo.
No primeiro dia, havia 30 perguntas, as dividimos em 6 séries de 5, sugerindo que das 5 respondessem corretamente pelo menos 3. Os folhetos impressos com prudência eram rapidamente desmontados ou rabiscados com respostas. Como solução temporária, tiras estreitas com perguntas foram cortadas de folhas e misturadas sobre a mesa.
Antes do segundo dia, revisamos as perguntas, jogando uma parte e adicionando outras, havia 34. Ao compilar as perguntas, levamos em conta que o evento não é uma conferência Java. Tentamos ser o mais amigáveis possível, permitindo que você use a Internet e explicando as respostas às perguntas em detalhes. O principal não é obter um selo, mas adquirir novos conhecimentos.

A segunda tentativa foi a pré-corte de ingressos para 1/5 da folha A4. Além deles, havia 4 cópias de folhas com uma lista numerada simples de perguntas, essa opção acabou sendo a mais conveniente. Foi permitido selecionar quaisquer perguntas da lista geral.
Ao imprimir arquivos preparados em formato
PDF , consegui me sentir participante da missão - o computador do hotel era uma versão simplificada do sistema operacional, sem capacidade de navegar em discos. Havia atalhos nas versões portáteis do
Word ,
Excel e
PowerPoint no menu, mas não havia como executar nenhum programa para abrir o
PDF . Uma complicação adicional foi que a interface e o teclado foram trocados para o chinês pelos hóspedes dos falantes nativos desse idioma no hotel. A descoberta de
PDF no
Word , infelizmente, não salvou - o layout foi bastante distorcido. Ao recolocar uma unidade flash, foi possível capturar um momento com a capacidade de abrir um menu de contexto para selecionar uma pasta com um arquivo.
A lista final de perguntas- Que instrução não existe no bytecode Java: a) lookupswitch b) goto c) throw d) return?
- C2, G1, C4, CMS - o que é supérfluo?
- Panamá, Valhalla, Âmbar, Tear - o que une essas palavras?
- Para qual licença o OpenJDK está licenciado?
- O que é um compilador C2?
- O que é um JUG?
- O que é o GraalVM?
- O que é 0xCAFEBABE?
- O que é sun.misc.Unsafe?
- O que é JPoint, Joker, JBreak?
- Quantos russos Java Champions existem no momento (e os liste)?
- Liste os três IDEs (Java Development Environment) mais populares em ordem decrescente de popularidade.
- Há uma tradição ao usar os nomes de linguagens de programação, estruturas e bibliotecas da JVM para usar os nomes de ilhas, por exemplo, quais?
- As distribuições JRE e JDK (respectivamente, para executar e desenvolver aplicativos Java) são construídas com base no código OpenJDK. Nomeie pelo menos uma distribuição existente que não seja o Oracle JDK.
- Quais são as linguagens de programação JVM que você conhece (executando em Java virtual
compilada no bytecode Java ou compilada por JIT em tempo de execução). - Nomeie pelo menos um servidor de aplicativos comercial (AS) gratuito (código aberto) e um comercial (AS) para Java.
- Qual a idade da linguagem Java? (leia a versão 1.0)
- O que são JIT e AOT?
- Descriptografar e explicar o que é o JEP?
- Descriptografar e explicar o que é JMX?
- Descriptografar e explicar o que é JNDI?
- Descriptografar e explicar o que é JSP?
- Descriptografar e explicar o que é JSR?
- Descriptografar e explicar o que é JPA?
- Descriptografar e explicar o que é TCK?
- Java possui gerenciamento manual de memória?
- O que é -Xmx? O que é -Xss?
- OOM, NPE, IOOBE - quais são essas abreviações?
- Os programas Java são interpretados, compilados por JIT ou AOT?
- Existe um operador goto ou algum equivalente em Java?
- O que é o Epsilon GC? Como é diferente de outros GCs?
- O que é um elo fraco em Java? Que tipos de links fracos existem?
- Qual é a diferença entre um ClassNotFoundException e um NoClassDefFoundError?
- Encontre 2 erros: classe Olá {void main () {System.out.println ("Olá, mundo"); }}
Durante o estande, eles conseguiram se comunicar com pelo menos dezenas de participantes do festival, muitas vezes iniciando a conversa primeiro. Visitar o estande nem sempre se resumia às respostas para o recebimento de prêmios, muitas respondiam a perguntas como essas e faziam perguntas interessantes. Por exemplo, eu pessoalmente fiz as seguintes perguntas:
- "Eu sei as respostas para todas as perguntas feitas?" (responde afirmativamente, dizendo que participou da redação)
- "Existe um futuro para Java ?" (Quero dizer, vale a pena aprender Java com a crescente popularidade da linguagem Kotlin - eles chegaram à conclusão de que, mesmo nesse caso, um bom conhecimento de Java é obrigatório)
- "Qual é o primeiro livro a ler enquanto aprende Java?" (recomendou a 4ª edição do Thinking in Java de Bruce Eckel: imediatamente a versão em inglês ou primeiro russo e depois o inglês com os capítulos restantes sem tradução na tradução para o russo)
Adivinha o jogo Speaker
Especialmente para o festival
TechTrain , o aplicativo da web Guess the Speaker foi escrito. O código está no
repositório do GitHub : o back-end é escrito em
Java (usando o
Spring Boot ), o front-end em
TypeScript / JavaScript (usando o
Angular ). O jogo ainda está disponível no servidor
jugspeakers.online (se o site não estiver disponível, resta a opção de baixar o kit de distribuição já construído no
GitHub para executar ou compilar você mesmo, consulte a
descrição ). O aplicativo foi lançado em um laptop e transmitido em plasma. Além disso, os participantes da missão e os visitantes do estande foram convidados a jogar eles mesmos em seus smartphones e laptops.
O programa contém fotos dos palestrantes de todas as conferências realizadas pelo
JUG Ru Group por todos os anos e de todas as reuniões de
JUG.ru ,
JUGNsk e
JUG.MSK . O jogador é convidado a selecionar um ou mais conjuntos, cada um dos quais é uma conferência. Após a seleção, o número de alto-falantes nos conjuntos selecionados é exibido abaixo. Ao combinar diferentes conjuntos de duplicatas (as mesmas pessoas podem ser oradoras de diferentes tipos de conferências) são excluídas. Se você selecionar todos os aparelhos, o número total de alto-falantes será 954.

A primeira visualização da tela mostra a situação quando apenas uma primeira conferência é selecionada. O segundo tipo de tela são os 6 conjuntos propostos para o jogo ganhar prêmios (3 conferências Java e 3 tipos de mitaps Java). Assim, o número máximo possível de pontos foi 285. Talvez dois tipos de jogos - adivinhe o nome e o sobrenome da foto (veja a terceira captura de tela) ...

... e vice-versa - adivinhe a foto pelo nome e pelo sobrenome (veja a quarta captura de tela). No final do jogo, os resultados são mostrados: o número de perguntas corretamente respondidas erroneamente e perdidas (se o jogo foi interrompido). Além disso, você tem a oportunidade de ver quais erros foram cometidos (veja a quinta captura de tela). O jogo pode ser interrompido a qualquer momento, selecionando o link "Cancelar" (veja a sexta captura de tela).
Premiação dos vencedores
Os resultados da competição foram anunciados às 16:00 do segundo dia. As seis pessoas que marcaram o maior número de pontos possíveis entre 285 tiveram a oportunidade de escolher seus próprios prêmios.

Andrei Kogun e Aleksey Stukalov (palestrantes presentes no conjunto de fotos do jogo) perto do plasma no estande. Um quadro com resultados atuais. Andrew começa a fazer um balanço, anunciando os vencedores.

Vencedor e vice-campeão com prêmios selecionados.

Segundo classificado com um guarda-chuva com o logotipo da
Joker Conference.

Quinto e sexto lugar. Ivan Uglyansky, Andrei Kogun e Gleb Smirnov - cansados, mas dignos de dois dias de festival.
Pessoas interessantes no estande
Alexey Stukalov (
Haulmont ), Anton Arkhipov e Yuri Artamonov (
JetBrains ), Alexander Belokrylov (
BellSoft ), Nikita Salnikov-Tarnovsky (
Plumbr ), Evgeny Trifonov, Oleg Chirukhin e Alexei Fedorov (
JUG Ru Group ), Oleg Dokuka (
Netifi ) - todos essas pessoas dignas e interessantes que estão diretamente relacionadas ao
Java , olharam para o estande e puderam conversar com eles.
Relatórios
Consegui ver dois relatórios no primeiro dia (Grigory Bakunov "IA vs. IA", Roman Gordeev "No caminho para um sistema distribuído") ...

... e dois relatórios no segundo (Sergey Abdulmanov "Por que você não deve entrar em pequenas empresas", Richard Stallman "Software livre e sua liberdade").

Definitivamente, vou procurar pelo menos mais três reportagens na gravação: John Romero “Quake Postmortem”, Evgeny Borisov “Spring Patterns”, Kirill Tolkachev e Maxim Gorelikov “Getting sh! T in style in devops: design para que seus colegas não o desejem beliscar. "
Atividades não técnicas
Além de relatórios e testes técnicos, houve muitos eventos não técnicos. Uma delas foi a oportunidade de jogar
DOOM com
John Romero , um dos criadores do jogo. No primeiro dia no mesmo salão, ele assinou autógrafos. Infelizmente, não imaginei fotografar uma fila muito longa de pessoas que queriam um autógrafo.

Apressando-se para o almoço, para que, o mais rapidamente possível, retorne ao estande, involuntariamente parou para assistir ao jogo. Neste momento, no lugar à direita, estava sentado um novo rival, John.

Foi muito interessante ver o confronto - a tela à esquerda exibia o que era visível por um jogador, na tela à direita - pelo segundo. A foto mais à direita mostra o
cacodemon do
DOOM no suporte de jogos de computador.
Máquinas caça-níqueis e jogos de computador

O tempo livre para ficar no estande e nos relatórios de visitas foi deixado apenas na última meia hora antes do encerramento do festival. Consegui jogar todas as máquinas caça-níqueis durante esse período, incluindo a realização do meu sonho de infância - filmar pela primeira vez no Sniper (acabou sendo fácil jogar).

Além das máquinas, havia gavetas (figura à esquerda), de acordo com as inscrições nas quais era necessário adivinhar o que havia dentro. Supondo uma resposta, alguém poderia colocar as mãos na cortina redonda para tocar e olhar pelas janelas de cima pressionando o botão da luz de fundo. Nos cubos transparentes (segundo tiro), havia vários objetos raros com odor, cujo cheiro podia ser sentido ao aproximar o nariz dos buracos. Nos cubos de madeira (foto à direita), havia algo que precisava ser adivinhado pelo som, pressionando o fone de ouvido no ouvido.

Na esquina dos jogos de computador, foi aqui que o monstro do
DOOM foi localizado , citado acima com uma foto de John Romero.
Coordenadas do JUG que participam do festival
JUG.ru :
JUGNsk :
- Meetup - anúncios de reuniões e inscrição para eles, assinatura de uma notificação por correio sobre reuniões
- YouTube - Relatórios de vídeo
- Speaker Deck - Apresentações
- VK - anúncios de reuniões, reportagens fotográficas, links para materiais de reuniões anteriores
- Twitter : conta (anúncios de reuniões, reportagens fotográficas, vídeos) e hashtag (tweets com comentários sobre reuniões)
- Telegrama - anúncios de reuniões, reportagens fotográficas, links para materiais de reuniões anteriores, comunicação
JUG.MSK :
- TimePad - anúncios de reuniões e inscrição para eles, assinatura de uma notificação por correio sobre reuniões
- YouTube - Relatórios de vídeo
- Speaker Deck - Apresentações
- VK - anúncios de reuniões, reportagens fotográficas, links para materiais de reuniões anteriores
- Twitter : conta (anúncios de reuniões, reportagens fotográficas, vídeos) e hashtag (tweets com comentários sobre reuniões)
- Habr - resenhas de reuniões, você pode encontrar todas as resenhas por etiqueta