company_banner

IT-фестиваль TechTrain 2019: как JUG.ru, JUGNsk и JUG.MSK участвовали в нём

    24-25 августа 2019 года в Санкт-Петербурге прошёл IT-фестиваль TechTrain 2019, в котором приняли участие представители Java-сообществ JUG.ru (Санкт-Петербург), JUGNsk (Новосибирск) и JUG.MSK (Москва). Как прошел фестиваль, что было на совместном стенде JUG — обо всём этом рассказывается дальше.



    Привычное место в Питере конференций, проводимых JUG Ru Group, — конгрессно-выставочный центр «Экспофорум». Для подготовки мероприятий на стенде удобнее приехать в предыдущий день, перед днями проведения конференции.



    Ночной и утренний вид «Экспофорума» перед фестивалем. Вход на TechTrain непосредственно перед началом, утром первого дня.

    Стенды компаний и сообществ


    В первый день существует некоторый временной промежуток, в который участники выставки (на стендах компаний и сообществ) уже могут попасть на территорию, а обычные участники — ещё нет. Воспользовавшись этой возможностью, мне удалось быстро обойти стенды для первоначального ознакомления.



    Слева от входа — стенды компаний, справа — стенды сообществ. Стенд компании КРОК, на территории которой традиционно проходят встречи московского Java-сообщества. Информационный стенд организаторов фестиваля.



    Неожиданная встреча и разговор с Евгением Трифоновым phillennium, неизменно интересные статьи которого читатели Хабра регулярно имеют возможность читать. Стенд сообществ DotNet.Ru.



    Стенды сообществ языков программирования C++, JavaScript и Go.

    Активности на стенде JUG


    В этом году стенд российских Java User Group (JUG) объединил представителей трёх сообществ: Глеб Смирнов и Владимир Ситников (JUG.ru), Иван Углянский (JUGNsk), Андрей Когунь, Иван Пономарёв, Владислав Сенин и автор статьи (JUG.MSK).

    Предварительно совместно были подготовлена развлекательно-просветительская программа для участников фестиваля и выбраны призы для поощрения победителей конкурсов.

    Организаторы фестиваля договорились с представителями стендов компаний и сообществ о принятии участия в общем квесте. При посещении каждого стенда, участвующего в квесте, для получения заветного штампика на программку нужно было как-то проявить себя.



    Мы подготовили вопросы, связанные с языком программирования Java. За 3 правильных ответа ставился штампик, за 5 — дарился блокнот на выбор, за 10 — деревянный паззл. Суперпризом были 4 билета на предстоящую Java-конференцию Joker (2 оффлайн-билета и 2 онлайн). Об условиях получения суперприза рассказано далее.

    В первый день вопросов было 30, мы разбили их на 6 наборов по 5, предлагая из 5-ти правильно ответить хотя бы на 3. Предусмотрительно распечатанные листочки с вопросами быстро были либо разобраны, либо исписаны отвечающими. В качестве временного решения узкие полоски с вопросами были вырезаны из листов и перемешаны на столе.

    Перед вторым днём мы пересмотрели вопросы, выкинув часть и дополнив другими, вопросов стало 34. При составлении вопросов учитывали, что мероприятие не является Java-конференцией. Старались быть максимально доброжелательными, разрешая пользоваться интернетом и подробно объясняя ответы на вопросы. Главное же не получение штампика, а приобретение каких-то новых знаний.



    Второй попыткой были заранее нарезанные билеты по 1/5 листа формата A4. Дополнительно к ним было 4 экземпляра листов с простым пронумерованным списком вопросов, данный вариант и оказался самым удобным. Разрешалось из общего списка выбрать любые вопросы.

    При печати подготовленных файлов в формате PDF удалось почувствовать себя участников квеста — компьютер в отеле представлял из себя урезанный вариант операционной системы с отсутствующей возможностью обзора дисков. В меню присутствовали ярлыки на portable-версии Word, Excel и PowerPoint, но отсутствовала возможность запустить какую-либо программу для открытия PDF. Дополнительной сложностью явилось то, что интерфейс и клавиатура были переключены на китайский язык постояльцами отеля-носителями данного языка. Открытие PDF в Word, увы, не спасло — вёрстка сильно искажалась. При повторном перетыкании флешки удалось поймать момент с возможностью открытия контекстного меню для выбора папки с файлом.

    Окончательный список вопросов
    1. Какой инструкции не существует в байт-коде Java: а) lookupswitch б) goto в) throw г) return?
    2. C2, G1, C4, CMS — что лишнее?
    3. Panama, Valhalla, Amber, Loom — что объединяет эти слова?
    4. Под какой лицензией выпускается OpenJDK?
    5. Что такое C2-компилятор?
    6. Что такое JUG?
    7. Что такое GraalVM?
    8. Что такое 0xCAFEBABE?
    9. Что такое sun.misc.Unsafe?
    10. Что такое JPoint, Joker, JBreak?
    11. Сколько на данный момент есть русских Java Champions (и перечислите их)?
    12. Перечислите три наиболее популярные среды для Java-разработки (IDE) в порядке убывания популярности.
    13. Существует традиция при наименовании JVM-языков программирования, фреймворков и библиотек использовать названия островов, например, каких?
    14. Дистрибутивы JRE и JDK (соответственно, для выполнения и разработки приложений на Java) собираются на основе кода OpenJDK. Назовите хотя бы один существующий дистрибутив, кроме Oracle JDK.
    15. Назовите известные вам JVM-языки программирования (запускающиеся на Java virtual
      machine, компилируемые в Java-байткод или JIT-компилируемые при выполнении).
    16. Назовите хотя бы один свободный (open source) и один коммерческий сервер приложений (application server, AS) для Java.
    17. Сколько лет языку Java? (считать от релиза версии 1.0)
    18. Что такое JIT и АОТ?
    19. Расшифровать и объяснить, что такое JEP?
    20. Расшифровать и объяснить, что такое JMX?
    21. Расшифровать и объяснить, что такое JNDI?
    22. Расшифровать и объяснить, что такое JSP?
    23. Расшифровать и объяснить, что такое JSR?
    24. Расшифровать и объяснить, что такое JPA?
    25. Расшифровать и объяснить, что такое TCK?
    26. Есть ли в Java ручное управление памятью?
    27. Что такое -Xmx? Что такое -Xss?
    28. OOM, NPE, IOOBE — что это за аббревиатуры?
    29. Программы на языке Java интерпретируются, JIT-компилируются или AOT-компилируются?
    30. Есть ли в языке Java оператор goto или какой-нибудь его аналог?
    31. Что такое Epsilon GC? Чем он отличается от других GC?
    32. Что такое слабая ссылка в Java? Какие бывают разновидности слабых ссылок?
    33. Чем отличается ClassNotFoundException от NoClassDefFoundError?
    34. Найдите 2 ошибки: class Hello { void main() { System.out.println(“Hello, world”); } }


    За время стояния на стенде удалось пообщаться, по крайней мере, с десятками участников фестиваля, очень часто начиная разговор первым. Посещение стенда не всегда сводилось к ответам для получения призов, многие отвечали на вопросы просто так и задавали интересные вопросы. Например, мне лично были заданы такие вопросы:
    • «Знаю ли я ответы на все задаваемые вопросы?» (ответил утвердительно, сказав, что принимал участие в их составлении)
    • «Есть ли будущее у Java?» (имелось ввиду, стоит ли учить Java при возрастании популярности языка Kotlin, — пришли к мнению, что даже в этом случае хорошее знание Java является обязательным)
    • «Какую первую книгу почитать при изучении Java?» (порекомендовал 4-ю редакцию «Thinking in Java» Брюса Эккеля: или сразу английский вариант, или сначала русский, а потом английский с оставшимися непереведёнными в русском переводе главами)

    Игра «Угадай спикера»


    Специально для фестиваля TechTrain было написано веб-приложение «Угадай спикера». Код находится в репозитории GitHub: бекенд написан на Java (используется Spring Boot), фронтенд — на TypeScript/JavaScript (используется Angular). Игра всё ещё доступна на сервере jugspeakers.online (в случае недоступности сайта оставлена возможность скачать с GitHub уже собранный дистрибутив для запуска или скомпилировать самостоятельно, см. описание). Приложение было запущено на ноутбуке и транслировалось на плазму. Также участникам квеста и посетителям посетителям стенда предлагалось самостоятельно сыграть в него на своих смартфонах и ноутбуках.

    Программа содержит фото докладчиков всех конференций, проведённых JUG Ru Group за все годы, и всех митапов JUG.ru, JUGNsk и JUG.MSK. Игроку предлагается выбрать один или несколько наборов, каждый из которых представляет из себя конференцию. После выбора ниже отображается количество спикеров в выбранных наборах. При объединении разных наборов дубликаты (одни и те же люди могут быть докладчиками разных видов конференций) исключаются. Если выбрать все наборы, общее количество спикеров составит 954.



    Первый вид экрана показывает ситуацию, когда выбрана только одна первая конференция. Второй вид экрана — предлагаемые 6 наборов для игры для завоевания призов (3 Java-конференции и 3 вида Java-митапов). Таким образом, максимально возможное количество очков было 285. Возможно два типа игры — угадать имя и фамилию по фото (см. третий скриншот)…



    … и, наоборот, — угадать фото по имени и фамилии (см. четвёртый скриншот). В конце игры показываются результаты: количество правильно, ошибочно отвеченных и пропущенных (если игра была прервана) вопросов. Дополнительно предоставляется возможность посмотреть, в каких вопросах были допущены ошибки (см. пятый скриншот). Игра может быть прервана в любой момент выбором ссылки «Cancel» (см. шестой скриншот).

    Награждение победителей


    Итоги конкурса были подведены в 16:00 второго дня. Шесть человек, набравшие наибольшее количество очков из возможных 285, получили возможность сами выбрать желаемые призы.



    Андрей Когунь и Алексей Стукалов (спикеры конференций, присутствующие в наборе фотографий в игре) у плазмы на стенде. Доска с текущими результатами. Андрей начинает подводить итоги, объявляя победителей.



    Победитель и занявшие второе и третье места с выбранными призами.



    Занявший четвёртое место с зонтом с символикой конференции Joker.



    Пятое и шестое место. Иван Углянский, Андрей Когунь и Глеб Смирнов — усталые, но достойно выдержавшие два дня фестиваля.

    Интересные люди на стенде


    Алексей Стукалов (Haulmont), Антон Архипов и Юрий Артамонов (JetBrains), Александр Белокрылов (BellSoft), Никита Сальников-Тарновский (Plumbr), Евгений Трифонов, Олег Чирухин и Алексей Фёдоров (JUG Ru Group), Олег Докука (Netifi) — все эти достойные и интересные люди, имеющие прямое отношение к Java, заглянули на стенд и с ними можно было пообщаться.

    Доклады


    Удалось посмотреть два доклада в первый день (Григорий Бакунов «AI vs. AI», Роман Гордеев «На пути к распределенной системе»)…



    … и два доклада во второй (Сергей Абдульманов «Почему не надо идти в малый бизнес», Richard Stallman «Free software and your freedom»).



    Обязательно посмотрю в записи, по крайней мере, ещё три доклада: John Romero «Quake Postmortem», Евгений Борисов «Spring Patterns», Кирилл Толкачёв и Максим Гореликов «Getting sh!t done in devops style: разрабатываем так, чтобы коллегам не хотелось вас прищучить».

    Нетехнические активности


    Кроме докладов и технических викторин было множество и нетехнических событий. Одним из них была возможность поиграть в DOOM c Джоном Ромеро, одним из создателей игры. В первый день в том же холле он раздавал автографы. К сожалению, не догадался сфотографировать очень длинную очередь из желающих автографа.



    Спеша на обед, чтобы как можно быстрее вернуться на стенд, невольно остановился, чтобы понаблюдать за игрой. В это время как раз на место справа сел новый соперник Джона.



    Было очень интересно посмотреть противостояние — на экране слева отображалось видимое одним игроком, на экране справа — вторым. На самом правом фото приведен cacodemon из DOOM со стенда компьютерных игр.

    Игровые автоматы и компьютерные игры




    Времени, свободного от стояния на стенде и посещения докладов, осталось только на последние полчаса перед закрытием фестиваля. Удалось за это время поиграть во все игровые автоматы, в том числе исполнить детскую мечту — впервые пострелять в «Снайпер» (оказалось, что играть достаточно легко).



    Кроме автоматов имелись ящички (левый снимок), по надписям на которых нужно было догадаться, что внутри. Предположив ответ, в круглую шторку можно было сунуть руки для осязания, в окошки сверху — посмотреть, нажав кнопку подсветки. В прозрачных кубах (второй снимок) находились разные пахучие раритетные объекты, запах которых можно было почувствовать, приблизив нос к отверстиям. В деревянных кубах (фото справа) находилось что-то, что нужно было угадать по звуку, прижав к уху наушник.



    Уголок компьютерных игр, именно здесь находился монстр из DOOM, приводившийся выше с фото Джона Ромеро.

    Координаты JUG, участвовавших в фестивале


    JUG.ru:

    • TimePad — подписка на оповещение по почте о встречах
    • Хабр — анонсы встреч со ссылкой на регистрацию
    • YouTube — видео докладов
    • Twitter — анонсы встреч

    JUGNsk:

    • Meetup — анонсы встреч и регистрация на них, подписка на оповещение по почте о встречах
    • YouTube — видео докладов
    • Speaker Deck — презентации докладов
    • VK — анонсы встреч, фотоотчёты, ссылки на материалы прошедших встреч
    • Twitter: учётная запись (анонсы встреч, фотоотчётов, видео) и хэштег (твиты с комментариями о встречах)
    • Telegram — анонсы встреч, фотоотчёты, ссылки на материалы прошедших встреч, общение

    JUG.MSK:

    • TimePad — анонсы встреч и регистрация на них, подписка на оповещение по почте о встречах
    • YouTube — видео докладов
    • Speaker Deck — презентации докладов
    • VK — анонсы встреч, фотоотчёты, ссылки на материалы прошедших встреч
    • Twitter: учётная запись (анонсы встреч, фотоотчётов, видео) и хэштег (твиты с комментариями о встречах)
    • Хабр — обзоры встреч, найти все обзоры можно по тегу
    JUG Ru Group
    340,47
    Конференции для программистов и сочувствующих. 18+
    Поделиться публикацией

    Комментарии 13

      +1
      Спасибо за «Угадай спикера», мне как представителю JUG Ru Group (пересекающемуся со многими спикерами по работе) было особенно увлекательно в неё играть. С удивлением обнаружил, насколько многих спикеров наших конференций я не знаю)
        0
        Пожалуйста, было очень приятно лично пообщаться на конференции. Что интересно, лучший результат — из 285 возможных победитель у себя на смартфоне или ноутбуке угадал 284 (это можно увидеть на доске на среднем фото).
          +1
          Это не так сложно сделать если «читерить». Нужно всего лишь взять с собой одного двух человек которые будут вводить фамилии в поисковик. А можно и самому.
            0
            Надеюсь, что получили удовольствие от игры и общения, выиграв ещё и билеты на конференцию.
          +1
          Да вот не секрет, что некоторые посетители конференций JUG Ru Group ворчат на то, что состав спикеров из года в год «один и тот же». Действительно, «верхушка айсберга» из состава спикеров всем известна и у всех на виду, но то же время «Угадай спикера» явственно демонстрирует, какое огромное количество народу уже успело выступить на джуговских конференциях, и какая есть огромная «подводная часть айсберга» из спикеров, которые менее заметны широкой публике, но чьи доклады не менее ценны.

          Думаю, было бы интересно к следующему разу дополнить эту викторину информацией о докладах, с которыми тот или иной спикер выступал, чтобы викторина превратилась в познавательную программу для раскапывания докладов, которые можно было бы из архивов посмотреть.
          +2
          Найдите 2 ошибки: class Hello { void main() { System.out.println(“Hello, world”); } }

          Простая задачка. Первая ошибка — это ссылка на необъявленный символ “Hello, а вторая — ссылка на необъявленный символ world”. Других ошибок нет. Вот и компилятор со мной согласен:


          Hello.java:1: error: cannot find symbol
          class Hello { void main() { System.out.println(“Hello, world”); } }
                                                         ^
            symbol:   variable “Hello
            location: class Hello
          Hello.java:1: error: cannot find symbol
          class Hello { void main() { System.out.println(“Hello, world”); } }
                                                                   ^
            symbol:   variable world”
            location: class Hello
          2 errors
            +2
            Тагир, нужно было присоединяться к Ване Углянскому для представления JUGNsk. У нас был явный перекос по количеству в сторону JUG.MSK.
              +4

              Некогда по конфам разъезжать, надо баги фиксить, вон их сколько!

                +3
                За время, проведённое на конференции, не будет внесено новых багов!
            +3
            Эта конференция была поистинне интересной и очень доступной. Спасибо вам за неё.
            Вот что особенно понравилось на конференции:
            • Самое большое число стендов, которое я видел на конференциях. В перервывах можно было просто гулять между стендами, и было интересно все два дня.
            • Очень доступная цена. Пожалуй, это самая доступная конференция от JUG.ru из всех, что я знаю.
            • Отличные докладчики. С самыми известными (Richard Stallman, John Romero) было очень много интерактива. Остальных, менее знаменитых, но не менее инетесных можно было встретить на просторах выставки и пообщаться с ними просто так.


            Жаль лишь одно: подобная отличная, но очень доступная конференция проводится JUG.ru всего раз в год.
              0
              Спасибо большое за добрые слова! Думаю, что это будет очень приятно прочитать всем организаторам.

              Приходите через 2 месяца туда же на ближайшую профильную Java-конференцию Joker. Все стоявшие на стенде там тоже будут.
              +1
               12. Перечислите три наиболее популярные среды для Java-разработки (IDE) в порядке убывания популярности.

              IntelliJ IDEA, VIM, Emacs?


               23. Расшифровать и объяснить, что такое JSR?

              Очень простой вопрос!
              Это инструкция байткода, использовавшаяся в начале времён для реализации finally-блоков, но принесённая в жертву во имя более простой и быстрой валидации class-файлов.
              JSR нет с нами уже много лет, зато теперь можно раздуть из мухи слона.

            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

            Самое читаемое