Главная Java-конференция в России

Санкт-Петербург, 14-15 октября 2016
Экспофорум

Student Edition

Подробнее...

В программе конференции

2 дня
более 40 докладов
Всемирно известные
спикеры
Передовой опыт
от Java-экспертов
Общение с экспертами
со всего мира

О конференции

Мы ориентируемся на начинающих Java-разработчиков и студентов. Мы предоставляем возможность узнать о технологиях, которые используются в ИТ-компаниях, получить информацию о стажировках и программах обучения для студентов, а главное послушать доклады от ведущих Java-разработчиков и пообщаться с компаниями лично.

  • Конференция Joker пройдет в Петербурге уже в четвертый раз.

    Конференция Joker пройдет в Петербурге уже в четвертый раз.

    В прошлом году в конференции участвовали 800 Java-специалистов, а в этом году конференция соберет более 1000 человек.

  • Мы имеем богатый организаторский опыт,

    Мы имеем богатый организаторский опыт,

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

  • Продуманная и гибкая билетная политика

    Продуманная и гибкая билетная политика

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

  • Конференция направлена не просто на обмен опытом,

    Конференция направлена не просто на обмен опытом,

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

  • Тщательный отбор докладов

    Тщательный отбор докладов

    гарантирует высокий уровень конференции. Мы персонально работаем с потенциальными спикерами и выводим их выступления на качественно новый уровень, проводя для них многочисленные тренировки и репетиции.

Программа

Пятница, 14 октября, День #1

09:00
Регистрация + welcome кофе
10:00
Открытие. Приветственное слово организаторов и спонсоров
11:30
Перерыв
11:30
В этом докладе вы увидите некоторые практические задачи, с которыми может столкнуться разработчик, применяющий Stream API, и возможные решения этих задач.
RU
RU
13:00
Обед (Красные ленты)
13:45
Demonstration of new capabilities found in Griffon 2.x, both at buildtime and runtime.
EN

Дискуссионная зона

RU
14:45
Обед (Зелёные ленты)
15:30
Третий сезон Груви паззлеров! Новые загадки, новые шутки, новые призы!
RU

Дискуссионная зона

EN
16:30
Перерыв
17:00
Как можно работать с IDE более эффективно и экономить время и нервы.
RU
11:30
Перерыв
11:30
In this session Volker will demonstrate how the HotSpot virtual machine implements features like null pointer dereferencing, out of bound array accesses and stack overflows and how the JIT compiler magically optimizes away most of the associated overhead. But Volker will also look at corner cases where some of the optimizations may fail.
EN
13:00
Обед (Красные ленты)
13:45
Although Java’s strict type system is a great help for avoiding programming errors, it also takes away some of the flexibility that developers appreciate when using dynamic languages. With runtime code generation, it is possible to bring some of this flexibility back to the Java virtual machine.
EN

Дискуссионная зона

EN
14:45
Обед (Зелёные ленты)
15:30
Доклад посвящен механизмам сбора профайлов кода, деоптимизации, двум компиляторным интерфейсам, а также ReadyNow.
RU

Дискуссионная зона

EN
16:30
Перерыв
17:00
Методы взаимодействия с native кодом и способы работы с off-heap данными.
RU

Дискуссионная зона

RU
11:30
Перерыв
11:30
Gil along with an audience will explore the underlying mechanics that power HTM on current platforms, focusing on things developers need to understand when contemplating the use of HTM in new and existing code.
EN
13:00
Обед (Красные ленты)
13:45
This presentation explains how to optimize a Java application with processing time < 1ms.
EN

Дискуссионная зона

EN
14:45
Обед (Зелёные ленты)
15:30
В этом докладе мы попытаемся разобрать и развенчать часть предубеждений по поводу Java Memory Model: про всемогущие барьеры, про реордеринги, про недосинхронизацию и другое недовелосипедостроение.
RU

Дискуссионная зона

EN
16:30
Перерыв
17:00
Доклад в стадии рассмотрения #RxJava

Спикер
утверждается
RU
11:30
Перерыв
11:30
Берём Java Stream API, пишем обработку коллекции и запускаем ее на кластере, не прилагая особых усилий.
RU
13:00
Обед (Красные ленты)
13:45
Рассказ об истории Apache Cayenne, немного о принципах Apache Foundation. Демо простого приложения, объяснение отличий с Hibernate/JPA.
RU

Дискуссионная зона

RU
14:45
Обед (Зелёные ленты)
15:30

Спикер
утверждается

Дискуссионная зона

RU
16:30
Перерыв
17:00
Доклад в стадии рассмотрения #RxJava

Спикер
утверждается

Спикер
утверждается
11:30
Перерыв
11:30
Как организовать релиз менеджмент артефактов на проекте.
RU
13:00
Обед (Красные ленты)
13:45
An overview of Gradle 3.0 and its new features.
EN
14:45
Обед (Зелёные ленты)
15:30
Доклад о технологии Bootique.io. Андрусь расскажет об основных составляющих Bootique: модули, конфигурации, команды. Также будет представлено демо полного Bootique приложения.
RU

Дискуссионная зона

EN
16:30
Перерыв
17:00
Сравнение Мавена и Грейдла «в бою» — живой кодинг для решения проблем автоматизации проекта.
RU

Дискуссионная зона

RU
11:30
Перерыв
11:30
In this session Martin will provide a practical overview of the integration points between the Spring framework and the RabbitMQ message broker along with demonstrations based on several interesting use cases.
EN
13:00
Обед (Красные ленты)
13:45
Live coding сессия с фокусом на эволюционное усовершенствование HTTP API вплоть до использования гипермедиа. Все ясно и понятно объясняется по ходу дела . Приложение создается с нуля, используются инструменты Spring
RU

Дискуссионная зона

EN
14:45
Обед (Зелёные ленты)
15:30
Доклад о тонкостях реализации и неочевидных граблях шаблона Service Discovery из проекта SpringCloud на примере практического опыта применения и разработки собственного расширения.
RU

Дискуссионная зона

RU
16:30
Перерыв
17:00
В докладе мы увидим, насколько гибко vert.x вкупе с Docker могут быть использованы для разработки и развертывания как реактивных прототипов, так и высокопроизводительного, отказоустойчивого и масштабируемого серверного решения.
RU
18:00
Перерыв
19:30
Закрытие конференции

Суббота, 15 октября, День #2

09:00
Регистрация + welcome кофе
10:00
Открытие. Приветственное слово организаторов и спонсоров
11:30
Перерыв
12:00

Спикер
утверждается
We need to go deeper! This talk will show how you can monitor the JVM's JIT compiler and learn from its output to make better JVM applications and libraries.
EN
13:00
Обед (Красные ленты)
13:45
Этот доклад ответит на ряд вопросов: готов ли G1 GC для production? Что нас ждет в Java 9? Также будет рассказано об анализе улучшений G1 в Java 9 и сравнительном тестировании Java 8 G1 и Java 9 G1 в production-среде highload RTB платформы.
RU

Спикер
утверждается
14:45
Обед (Зелёные ленты)
15:30
Доклад о том, как работают reactive-приложения. На каких принципах основана RxJava, что она дает разработчикам и чего это стоит. И наконец, как сделать свой маленький и шустрый микросервис на Ratpack и RxJava.
RU
16:30
Перерыв
17:00
Технический хардкор на тему портирования OpenJDK на Эльбрус.
RU
11:30
Перерыв
12:00
Discussion of experiences implementing APM / distributed tracing in Java. Talk is part performance, part byte code manipulation.
EN
13:00
Обед (Красные ленты)
13:45
Доклад в стадии рассмотрения (Code generation)

Спикер
утверждается

Дискуссионная зона

EN
14:45
Обед (Зелёные ленты)
15:30

Спикер
утверждается

Спикер
утверждается
16:30
Перерыв
17:00
Доклад в стадии рассмотрения #RxJava

Спикер
утверждается

Спикер
утверждается
11:30
Перерыв
12:00

Спикер
утверждается
13:00
Обед (Красные ленты)
13:45
Вышел Spark 2.0, и его API наконец-то стабилизировался, унифицировался и стримизировался. Как заставить машинное обучение поработать на вас при помощи MLlib? В течение доклада Kafka будет использоваться в качестве поставщика данных для DStream.
RU

Спикер
утверждается
14:45
Обед (Зелёные ленты)
15:30
Рассказ о том, какие проблемы встречаются в проектировании современных систем.
RU

Дискуссионная зона

RU
16:30
Перерыв
17:00
How do you mix SQL and NoSQL worlds without starting a messy revolution?
EN

Дискуссионная зона

RU
11:30
Перерыв
12:00
Асинхронное программирование и сопрограммы в Kotlin.
RU
13:00
Обед (Красные ленты)
13:45
Доклад в стадии рассмотрения (Code generation)

Спикер
утверждается

Дискуссионная зона

RU
14:45
Обед (Зелёные ленты)
15:30

Спикер
утверждается

Спикер
утверждается
16:30
Перерыв
17:00
(Re)Think about what performance actually means in software systems, and look at current and historical trends around what we as software engineers can and should do about it.
EN

Спикер
утверждается
11:30
Перерыв
12:00
Java байткод: как его читать и как с ним работать.
RU
13:00
Обед (Красные ленты)
13:45
Showcase of Java libraries that improve productivity and empower developers to do more with less.
EN

Дискуссионная зона

RU
14:45
Обед (Зелёные ленты)
15:30
Слайды, формулы, картинки и прочие подручные средства (в том числе пальцы), которые помогут людям лучше понять проблемы в распределенных системах.
RU

Дискуссионная зона

EN
16:30
Перерыв
17:00
This session will iterate through a number of JDK tools, discuss purpose and capabilities.
EN

Дискуссионная зона

RU
11:30
Перерыв
12:00
В докладе будет рассмотрены проблемы, которые встречаются при разработке микросервисов и решения, позволяющие эти проблемы решить.
RU
13:00
Обед (Красные ленты)
13:45
Замена используемых алгоритмов может дать лучший рост производительности, чем использование самых крутых и модных оптимизаций.
RU

Дискуссионная зона

RU
14:45
Обед (Зелёные ленты)
15:30
Вводный курс для развития навыков распознавания, что является Big Data-ой, а что Big Data-ой не является.
RU
16:30
Перерыв
17:00
Рассказ о том, какие проблемы встречаются в проектировании современных систем.
EN

Дискуссионная зона

RU
18:00
Перерыв
19:30
Закрытие конференции

Докладчики

Вечеринка

Вечеринка Joker 2016 состоится вечером, в пятницу, 14 октября.

Начало — в 21:00.

Хедлайнер — DJ Sam Aaron

О месте проведения вечеринки будет объявлено позже.

Хедлайнер — DJ Sam Aaron
Регистрация

F.A.Q.

  • Хочу на вашу конференцию, но руководитель не выделит бюджет/выходной. Что делать?

    Такое часто случается. Руководители иногда не до конца понимают, что конференция поможет вам решать задачи эффективнее и результативнее.

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

    Если это не сработает — свяжитесь с нашим маркетологом маркетологом , он уж точно убедит вашего босса принять положительное решение.

  • Почему так дорого?

    Стоимость дня конференции стоит на уровне среднего дневного оклада Middle-разработчика (на Java).

    На конференции (один-два дня) у вас будет возможность охватить и погрузиться в настолько широкий спектр тем, новых технологий и хардкорных решений, что по времени вы окажетесь в выигрыше. И это не говоря о море общения с экспертами мирового уровня и единомышленниками, смене обстановки и положительной «перегрузке» мозга.

    Кстати, все это по-прежнему в 3-4 раза дешевле западных конференций, и это без учета билетов, гостиницы, курса валют.

  • Какой смысл вообще ездить на конференции? За эти деньги я куплю 10 книг, а узкие вопросы можно и в гуглогруппе /гиттере/StackOverflow обсудить.

    Конечно, доклады — это то, ради чего идут на конференцию в первую очередь. Возможно, далеко не все они окажутся вам полезными (поэтому у нас на конференциях всегда 3 и более параллельных треков). Однако следует помнить, что конференция — это не только доклады.

    В гуглогруппах и SO вы не поймаете гуру за руку и не «допросите» его с пристрастием, в кулуарах не обсудите лайфхаки и свои проекты. В книгах вы не найдете сотен единомышленников, готовых обсуждать, дискутировать и спорить с вами о подходах и инструментах разработки.

  • В программе мало интересных тем, доклады не для меня.

    Мы строим программу конференции таким образом, чтобы соблюсти баланс между хардкорностью и практической полезностью. Конечно, все вопросы охватить просто не хватает времени.

    Если вы не нашли в нашей программе интересной темы — напишите нашему программному директору, какие доклады вы хотите увидеть, и мы постараемся найти лучших спикеров по теме и включить их в программу.

  • Конференция, конечно, хорошая, но мне очень дорого добираться — самолет, гостиница и прочее выйдет дороже, чем сама конференция. Как мне к вам попасть?

    Действительно, если до конференции вам необходимо добираться на самолете, цена может взметнуться до весьма серьезной суммы.

    Однако специально для таких случаев у нас есть два решения:

    • Онлайн-трансляция всей конференции (любой доклад с любого трека). А если что-то упустите — после мероприятия мы предоставляем видеозаписи.
      Просто заполните анкету на странице регистрации, ссылку на которую мы высылаем всем участникам после конференции.
    • Также рекомендуем вам согласовать посещение нашей конференции в качестве командировки — для этого мы даже написали специальную инструкцию.
      Следуйте ей, и у вас все получится. Если не получилось, вы можете связаться с нашим маркетологом через специальную форму и он обязательно придумает решение.
  • У вас одни и те же лица на конференциях выступают, какой смысл снова приходить?

    Действительно, на Joker есть 13 лучших спикеров, выступающих ежегодно, – при этом каждый раз они готовят новые доклады и стабильно входят в ТОП по оценкам и отзывам участников, поэтому мы с радостью приглашаем их снова и снова.

    Посмотрите нашу статистику по повторным выступлениям:

    Joker 2015 vs Joker 2014

    23 спикера из 36 с Joker 2015 не выступали на Joker 2014. Ни одного повтора доклада

    Как видите, большинство докладчиков – новые!

  • У вас три/четыре трека, и я хочу попасть на доклады, выпавшие в одно время. Как быть?

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

    По этой ссылке вы найдете записи с наших прошлых конференций, которые мы обычно выкладываем в открытый доступ через полгода после мероприятия.
  • Хочу посетить/посмотреть онлайн конференцию бесплатно!

    Нам всегда нужны волонтеры (регистрация, ведение треков, контроль качества трансляции и другие оргвопросы) — напишите нашему Исполнительному директору, каким образом вы готовы помочь конференции, и мы обязательно что-нибудь придумаем!

Программный комитет

Спонсоры

Золотые

Серебряныe

Информационные партнеры

Хотите, чтобы ваша компания отправила вас нас конференцию Joker?

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

Образец письма:

Добрый день, [имя Вашего менеджера].

Я хочу посетить конференцию для Java разработчиков Joker 2016, которая состоится 14-15 октября 2016 в Санкт-Петербурге.

На конференции у меня будет возможность:

  • Систематизировать имеющиеся знания о разработке Java приложений и приобрести новые;
  • Узнать о новейших инструментах разработки;
  • Сверить вектор развития нашей организации с индустрией;
  • Повысить свою продуктивность, получив ответы и переняв опыт коллег из других организаций.

Вот предполагаемый список расходов:

  • Оценка стоимости авиабилетов — [xxx] руб.
  • Оценка стоимости отеля: (3 ночи по [xxx] руб) — [xxx] руб.
  • Билет на конференцию — [xxx] руб.

Общая сумма — [xxx] руб.

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

Спасибо за рассмотрение моей просьбы. С нетерпением жду Вашего ответа.

С уважением,

[Ваше имя]

 
 
 
 
 
 

Если вы это читаете, то, скорее всего, вы хотите сделать доклад на нашей конференции. Мы очень хотим, чтобы доклад получился хорошим: технически сильным, динамичным и запоминающимся.

О чем нужно помнить

На конференцию и обратно

Пожалуйста, заранее обсудите возможность командировки с вашим руководителем:

  1. Сделает ли ваша компания вам командировку?
  2. Где вас поселят? Будет удобнее, если вы будете жить недалеко от места проведения конференции.
  3. Обычно за день до конференции для спикеров мы проводим экскурсию по городу. Планируйте свое время соответственно.

Затем обговорите детали вашего трансфера с Татьяной Мамедовой:

  1. Российская виза (если нужна)
  2. Даты вашего прибытия и отправления
  3. Билеты на самолет или поезд
  4. Гостиница

При подготовке

  1. Самое главное — сформулируйте цель доклада и держите ее в голове как в процессе подготовки, так и в течение самого доклада. Примеры целей:
    1. Заинтересовать аудиторию своим подходом к проблеме
    2. Прорекламировать какое-то собственное решение
    3. Найти на конференции тех, кто работал с какой-то технологией, чтобы обсудить с ними какие-то ее детали
    4. Научить слушателей чему-то полезному, во что вы верите.
  2. Время, отведенное на доклад — 60 минут, включает время на вопросы-ответы. Соответственно, сделайте свой доклад немного короче и оставьте 10 минут на ответы и на вопросы слушателей.
  3. Файл презентации предоставьте нам заранее (за 2 суток до выступления) в формате PDF. Этот файл будет использоваться как бэкап на случай всяких неожиданностей.
  4. Убедитесь, что название вашего доклада соответствует содержанию. Если мы заметим несоответствие, то будем настаивать на том, чтобы вы изменили название.
  5. На наш взгляд, признаками хорошего доклада являются:
    1. практическая применимость материала
    2. актуальность
    3. техническая глубина
    4. наличие простых примеров
    5. конкретика
    6. четкость изложения материала
    7. экспрессия при подаче материала и поведение спикера на сцене
      1. Люди в зале не должны засыпать. Поэтому мы приветствуем живой диалог с залом, интересные примеры и любые другие элементы, привлекающие внимание слушателей.
  6. Будьте готовы к тому, что за 1-2 месяца перед конференцией мы можем попросить вас провести тренировочные выступления перед программным комитетом конференции
    1. они делаются лично или по Skype/Hangouts
    2. по результатам программный комитет может
      1. принять доклад в программу конференции
      2. выдать ряд замечаний и советов, попросить переделать доклад и презентацию и прийти на повторную тренировку через 1-2 недели
      3. отказать вам в выступлении в случае, если содержание доклада или уровень его подготовки не соответствует перечисленным в пункте 5 требованиям.
  7. Решите, с каким ноутбуком вы будете выступать — со своим или нашим.
    1. При выступлении с нашего ноутбука нам понадобится ваша презентация строго в формате PDF.
      1. Если вы готовите презентацию в PPT, HTML, Keynote и т.д. — сконвертируйте ее в PDF и пошлите нам.
    2. При выступлении со своего ноутбука предоставьте нам информацию о
      1. конкретной модели вашего ноутбука
      2. операционной системе
      3. имеющихся на ноутбуке видеовыходах. Нужен один из разъёмов: HDMI, D-Sub (VGA), Mini DisplayPort (MiniDP, Thunderbolt).
  8. Оборудование
    1. Мы предоставляем для презентации следующее оборудование: ноутбук (Mac или Windows), кликер Logitech, ручной микрофон и микрофон-оголовье, Full HD проекторы, экраны-суфлеры
    2. Если вам нужно дополнительное оборудование, то предупредите нас об этом за две недели до конференции. В противном случае мы не гарантируем предоставления вам требуемого оборудования.
  9. Подготовьтесь к тому, что
    1. выступления будут записываться на видео
      1. доклад будет транслироваться в прямом эфире в интернет
      2. видео доклада будут опубликованы на YouTube
    2. Вас будет снимать фотограф — фото будут опубликованы в интернете.

Основные правила оформления презентации

  1. Контакты
    1. На слайдах должны быть имя и фамилия докладчика.
    2. На слайдах должны быть контакты докладчика: обязательно почта, обязательно твиттер.
    3. На слайдах должно быть название компании или название проекта, над которым работает спикер.
    4. На слайдах должно быть название доклада. Оно должно соответствовать тому, что указано на сайте конференции.
  2. Цвета
    1. Фон слайдов — светлый, это лучше смотрится на проекторах в светлых помещениях. Наоборот, в темном помещении желательно не слепить светлыми слайдами.
    2. Текст и фон должны быть контрастные друг относительно друга.
  3. Тексты
    1. Если доклад на русском, то все тексты, если это не термин, должны быть на русском языке.
    2. Если доклад будет на английском, то слайды нужно делать на английском полностью.
    3. На слайде должны быть ТЕЗИСЫ, а не литературные произведения. Поэтому, чем короче, тем лучше!
    4. У каждого слайда есть нумерация внизу.
    5. Каждый слайд имеет название в верхней части. Это важно, потому что зрители запоминают места в презентации именно по названию слайдов или по номерам. Исключение делается для титульных, переходных слайдов между темами, шуточных слайдов и т.д., когда название слайда вверху может быть лишним.
    6. Не должны встречаться мусорные слова, не добавляющие ценности или смысла типа “очень”, “сюда же можно отнести”, “которые".
    7. Все формулировки должны быть максимально краткими, чтобы не занимать место на слайде.
  4. Списки
    1. На слайдах немного текста: 5-7 пунктов максимум. Если слайд организован в виде двух колонок, то в каждой колонке может быть 5-7 пунктов.
  5. Шрифты
    1. Размер символов не менее 14 размера. Рекомендовано больше 20 размера.
  6. Картинки и диаграммы
    1. Картинки должны пояснять что-то. Не должно быть картинки для того, чтобы занять место на слайде.
    2. Надписи на частях изображений легко читаются (текст и фон контрастные).
  7. Суть доклада
    1. Есть слайд с планом доклада, он должен содержать пункты плана рассказа доклада (называется обычно: “План”, “О чем поговорим” и т.д.).
    2. В конце должен быть слайд Q&A (вопросы и ответы).
    3. Весь контент расположен в верхних двух третях слайда, потому что при демонстрации на проекторе нижняя часть слайда зачастую плохо видна слушателям.
  8. Другое
    1. Размерность слайдов — 16х9. Не нужно использовать 4х3!
    2. Слайды должны быть пронумерованы.
    3. Шрифты должны быть крупными, чтобы текст можно было разглядеть из последнего ряда.
    4. Слайды не должны быть перегружены.
    5. Слайд — это вспомогательное средство донесения информации. Основное средство — речь докладчика, его жестикуляция и т.д.
    6. Старайтесь располагать значимый контент в верхней части слайдов, потому что нижнюю часть слайдов может быть плохо видно из-за впереди сидящих.

За день до выступления

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

Во время доклада

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

Тренинги и тренировки

  1. Мы проводим занятия для спикеров по навыкам презентации и структуре доклада.
    1. Некоторые тренинги мы ведем сами — структура доклада, построение сюжета.
    2. Некоторые тренинги для нас проводят приглашенные специалисты — ораторское мастерство, дикция, голос, коррекция поведения.
    3. Расписание этих занятий будет доступно заранее, за 1-2 месяца до конференции.
  2. Мы начинаем тренировать выступления докладов за несколько месяцев до конференции.
    1. Если вы не до конца уверены в своем докладе — подавайте его заранее, чтобы было больше времени на его подготовку и обсуждение.
    2. Подготовка доклада требует много времени, поэтому мы стараемся не брать больше одного-двух докладов от каждого спикера, чтобы у вас было достаточно времени для подготовки.
  3. Как запустить Google Hangout On Air

Дополнительно

Если у вас остались какие-то вопросы — пишите Андрею Дмитриеву и Татьяне Мамедовой.

Важное замечание: постарайтесь предоставить текст

как на русском, так и на английском языках.

Если вы не предоставите что-то из этого, мы напишем или переведем недостающую информацию. Также мы оставляем за собой право редактировать лексические и грамматические недочёты в присланных вами текстах.


Итак, нам интересны доклады, в том или ином виде связанные с Java, на следующие темы

Памятка спикеру

Напишите о себе:

 
 
 
 
 
 
 
 
 
 
 
 
 

Доклад

 
 
 
 
 
 
 
 
 
 

Спасибо, мы скоро с вами свяжемся.

Подать еще один доклад? :)

К сожалению, нам не удалось принять вашу заявку.

Попробовать еще раз

Будем рады видеть вас на нашей следующей конференции! Если вы уверены, что ваш доклад должен быть в программе, то обратитесь к программному комитету по почте program@jokerconf.com


Although Java’s strict type system is a great help for avoiding programming errors, it also takes away some of the flexibility that developers appreciate when using dynamic languages. With runtime code generation, it is possible to bring some of this flexibility back to the Java virtual machine. For this reason, runtime code generation is widely used by many state-of-the-art Java frameworks for implementing POJO-centric APIs, but it also opens the door to assembling more modular applications. This presentation offers an introduction to runtime code generation and its use on the Java platform. Furthermore, it discusses the upsides and downsides of several code generation libraries such as ASM, Javassist, cglib, and Byte Buddy.
#JVM #Bytecode

Rafael Winterhalter

Scienta
Rafael works as a software consultant in Oslo, Norway. He is a proponent of static typing and a JVM enthusiast with particular interest in code instrumentation, concurrency and functional programming. Rafael blogs about software development, regularly presents at conferences and was pronounced a JavaOne Rock Star. When coding outside of his work place, he contributes to a wide range of open source projects and often works on Byte Buddy, a library for simple runtime code generation for the Java virtual machine. For his work, Rafael received a Duke's Choice award and was elected a Java Champion.
The JVM is a remarkable piece of software. As a Java developer, you see a black box and feed Java code into it, and it somehow magically runs that code — and ideally runs it incredibly fast. But what’s actually going on? This presentation takes simple Java code and traces its journey through the JVM as it is compiled, interpreted, compiled again, optimized, deoptimized, and eventually submitted to the processor as native instructions. You will learn about all those black box layers that make Java code run fast and will be a better Java developer as a result.
#Streams #Java8

Charles Nutter

Red Hat
Charles works at Red Hat on JVM languages and has a great interest in making OpenJDK the best free platform for language development.

Vert.x: «Красавица и Чудовище» — это технократический сказ о том, как в реальном мире «DevOps-анутые» Java-разработчики могут использовать vert.x для создания масштабируемых и отказоустойчивых микросервисных решений.

В процессе доклада мы с помощью vert.x поэтапно нарастим функциональность несложного микросервисного приложения, используя при этом несколько языков программирования, способных исполняться на JVM. В режиме реального времени мы будем maven-ом собирать наши микросервисы и разворачивать их в Docker-контейнерах. Также по ходу пьесы мы скрестим ежа с ужом, в смысле vert.x со Spring Boot-ом, и поднимем простенький веб-сервер с WebSocket-ом на борту. Не останутся без внимания и вопросы мониторинга и профилирования всего этого зоопарка.

В ходе доклада мы увидим, насколько гибко vert.x может быть использован для разработки с нуля как прототипов, так и высокопроизводительного сервер-сайда, а также для расширения функциональности уже существующих приложений. Также доклад будет полезен, если вам уже скучно разрабатывать стандартные «кроваво-энтерпрайзные» решения на тяжеловесных серверах приложений или Вы устали от стандартной модели concurrency в Java и ищите другой, легковесный, но мощный инструмент, который бы к тому же вернул вам былую радость от процесса создания софта.

#Microservices

Владимир Красильщик

Яндекс
Владимир Красильщик с отличием окончил кафедру Математического Обеспечения СПбГЭТУ «ЛЭТИ» и уже более 13 лет разрабатывает программное обеспечение для государственных, образовательных и финансовых учреждений, а также автомобильных и телекоммуникационных концернов. Работает в Санкт-Петербургском филиале компании Яндекс разработчиком Яндекс.Маркет. Владимир является резидентом российского сообщества Java-разработчиков JUG.ru и выступает на таких отраслевых Java-конференциях, как JPoint, Joker и JBreak.
The Java language has crossed it's 20th anniversary and with it comes an incredible range of tools libraries to choose from; sometimes there are too many choices for the same task. In this talk we'll cover those libraries that have risen to the top by proving themselves to be worthy of a place in every developer's toolbox, both for production and testing code. We'll also cover some fairly new libraries that are bound to make a big impact in the ecosystem.
#Frameworks #Libraries

Andres Almiray

Canoo Engineering AG
Andres is a Java/Groovy developer and Java Champion, with more than 16 years of experience in software design and development. He has been involved in web and desktop application developments since the early days of Java. He has also been a teacher of computer science courses in the most prestigious education institute in Mexico. His current interests include Groovy, Swing and JavaFX. He is a true believer of open source and has participated in popular projects like Groovy, Griffon, JMatter and DbUnit, as well as starting his own projects (Json-lib, EZMorph). Founding member and current project lead of the Griffon framework. He blogs at http://jroller.com/aalmiray. You can find him on twitter too as @aalmiray. He likes to spend time with his beloved wife, Ixchel, when not hacking around.

Live Coding systems encourage us to think extremely differently about programming languages. In addition to considering standard requirements such as reliability, efficiency and correctness we are also forced to deal with issues such as liveness, coordination and synchronization al whilst working in real time. Live Coders not only run and modify our code live — they often performing with it live on stage in front of large crowds of people who really don't want the code to miss a beat.

In this code and demo-heavy talk, Sam will take a deep technical dive into the internal ideas and innovations of Sonic Pi — a system designed specifically for live coding music. The audience will explore Sonic Pi's novel temporal semantics which allows multiple concurrent threads to execute in synchronization whilst still allowing live hot-swapping of code. For example, participants will examine cue and sync, techniques which allow users to coordinate, manipulate and synchronize threads whilst they're still running and playing music. We along with Sam will discover what it means for lambdas to close over temporal as well as a lexical scope and finally come to understanding of the importance and challenges in achieving repeatable, deterministic execution semantics.

Ultimately, everyone will uncover an exciting area of programming language research in an approachable and instructive manner all whilst making some sick beats and drops. Watch on how it was before: https://youtu.be/YlRTTzlhquo

Sam Aaron

University of Cambridge
Sam is a live coder who strongly believes in the importance of emphasising, exploring and celebrating creativity within all aspects of programming. He is the lead developer of Overtone and the creator of Sonic Pi, a music live coding environment used to teach programming within schools. By day, Sam is a Postdoc Research Associate at the University of Cambridge Computer Laboratory and by night, he codes music for people to dance to.
Stream API уже не первый год с нами, и многие разработчики вовсю им пользуются. Однако за волшебным API скрывается обычный Java-код со своими причудами. Тагир вместе со слушателями приглядится к некоторым конструкциям, которые могут привести к неожиданным провалам в производительности, или работать не так, как вы ожидаете. Также мы посмотрим на примере, как можно расширить Stream API, добавив свою операцию, и при этом добиться наилучшей производительности. Доклад развивает темы, затронутые Тагиром в этом году на JPoint ("Странности Stream API") и JBreak ("Stream API: рекомендации лучших собаководов").
#Streams #Java8

Тагир Валеев

JetBrains
Тагир разрабатывает и поддерживает системы автоматизации научных исследований в области генетики, молекулярной и системной биологии. Также он кидает патчики в OpenJDK, разрабатывает опенсорсную библиотеку StreamEx и анализатор байткода Java HuntBugs. Известен на хабре как lany.

In contrast to unmanaged languages like C/C++, Java is more secure because it catches frequent programming errors like null pointer dereferencing, out of bound array accesses or stack overflows. Of course, this security comes at a certain cost and earned Java the reputation of being slow. But current Java implementations are quite smart and can implement many of these checks at virtually zero costs.

Using small and simple examples, this session will demonstrate how the HotSpot virtual machine implements these features, and the JIT compiler magically optimizes away most of the associated overhead. Volker will also look at corner cases where some of the optimizations may fail.

Safepoints:

  • what is a safepoint;
  • why do we need safepoints;
  • what does the VM do at safepoints;
  • how do we reach a safepoint and how can we implement this efficiently;
  • safepoints and JNI/native code (accessing Java objects through handles);

NullPointer checks:

  • how can we implement them efficiently or eliminate them;
  • using OS signals and page faults when reading/writing from/to 0x0;
  • problems with compressed oops (0x0 will be mapped to start of heap);
  • field offset must be smaller than page size for implicit null checks;
  • some platforms (i.e. ppc64) require traps for null checks.

StackOverflow checks:

  • stack banging (yellow, red pages, ..);
  • problems when calling to native;
  • JEP 270: Reserved Stack Areas for Critical Sections.
  • If time allows, Volker will also take a look on ArrayBoundChecks.

As always, Volker will provide some small Java programs and use them to demonstrate the above points from Java down to bytecode and assembler.

#Hotspot #Runtime
Volker Simonis / SAP

Volker Simonis

SAP
Volker Simonis works for SAP in the SAP JVM Technology group more than 10 years. He is an OpenJDK contributor from the very beginning and helped SAP and the SAP JVM team to engage in the OpenJDK project. Currently he is the project lead of the OpenJDK PowerPC/AIX and s390x porting project, and a JDK 9 reviewer. He also represents SAP in the Executive Committee of the Java Community Process.

Типичный способ построить HTTP API в наши дни — это так называемый подход CRUD: URL-шаблонам ставятся в соответствие ресурсы, операции создания-чтения-обновления-удаления «прямо ложаться» на HTTP методы, а JSON используется для сериализации. Подход простой и понятный, но у него есть свои существенные недостатки.

В этом докладе Владимир и участники создадут приложение, улучшая примитивный CRUD API вплоть до современного бизнес-ориентированного API, который опирается на гипермедиа. Для этого будут вовсю использоваться инструменты Spring: Spring Boot, Spring Data REST, Spring HATEOAS и Spring REST Docs!

#Spring #Hypermedia

Владимир Цукур

Ciklum / Zoomdata
Проактивный инженер и лидер команды, сфокусированный на качественной и прагматичной разработке веб-проектов, платформ и API. Любимым делом занимается более 10 лет. На данный момент работает в компании Ciklum / Zoomdata. Выступает как спикер на технологических конференциях. Член программного комитета конференций JEEConf и XP Days. Outsourcing-партнер шведских компаний Frost Digital и Hunter's Web в Украине. Соавтор патента в классе электронного согласования.

The Spring Framework provides distinct integration points with the RabbitMQ message broker through several frameworks such as Spring AMQP, Spring Integration and Spring XD. Martin will provide a brief recap on the RabbitMQ message broker and how it positions among other well-known message brokers. After a brief recap demo the talk dives into the various utilities exposed by the Spring framework in terms of several specific use cases used to demonstrate the illustrated concepts.

Martin Toshev

CoffeeCupConsulting
Martin is a Java enthusiast and one of the leads of the Bulgarian Java User group (BG JUG). He is a certified Java professional (SCJP6) and a certified IBM cloud computing solution advisor. His areas of interest include the wide range of Java-related technologies (such as Servlets, JSP, JAXB, JAXP, JMS, JMX, JAX-RS, JAX-WS, Hibernate, Spring Framework, Liferay Portal and Eclipse RCP), cloud computing technologies, cloud-based software architectures, enterprise application integration, relational and NoSQL databases. You can reach him for any Java and FOSS-related topics (especially Eclipse and the OpenJDK). Martin is a regular speaker at Java conferences and one of the organizers behind the jPrime conference in Bulgaria (http://jprime.io/).

Financial market connectivity applications requires top performance. Processing orders can be measured in hundreds of microseconds, sometimes less. Below 1 millisecond, we enter in a world where the knowledge of the hardware (CPU) and memory subsystems dominates: It is necessary to be in harmony with the machine (Mechanical Sympathy).

What are the biggest issues to optimize a processing below 1 millisecond? This presentation will give you the key to answer to this question and a feedback on optimization performed for this kind of applications.

Jean-Philippe BEMPEL

Ullink
Jean-Philippe works at Ullink as Performance Architect on trading applications requiring very low latency. From optimizing Java code to fine tuning of OS & hardware, the whole execution chain is analyzed by him to save microseconds on order processing.

Мир становится все более многопоточным, параллельным, асинхронным. Pull не справляется под большой нагрузкой. Код загромождается асинхронными вызовами: коллбеки, future/promises... А так хочется писать по старинке: вызвал одно, потом вызвал другое, передал результаты в третье.

Этот доклад о том, как поддержка сопрограмм (coroutines) в Kotlin позволяет писать асинхронные программы понятно. Команде Kotlin удалось обобщить подход других языков (в первую очередь C#) к async/await и сделать более универсальный механизм. В результате, как бонус, можно делать не только асинхронные, но и ленивые вычисления, и еще много чего.

#JVM languages #Kotlin

Андрей Бреслав

JetBrains
Андрей Бреслав возглавляет разработку языка Kotiln в компании JetBrains c 2010 года, занимается как дизайном языка, так и общим руководством проекта. Ключевой спикер крупных конференций. Один из авторов блога Kotlin: https://blog.jetbrains.com/kotlin/author/andrey-breslav/

Цель спикера — донести до слушателя основные приёмы для определения, что же на самом деле такое Big Data, как искать и находить эту Big Data в проектах и продуктах, а также дать базовое представление зачем, как и из чего строятся приложения, основанные на принципах Big Data. В частности, Владимир расскажет о realtime, пакетной обработке, хранении данных и покемонах. Доклад ориентирован на широкую публику специалистов различных ролей, языков и уровней и, как и следует из названия, представляет собой вывернутый наизнанку вводный курс в Big Data.

#BigData

Владимир Красильщик

Яндекс
Владимир Красильщик с отличием окончил кафедру Математического Обеспечения СПбГЭТУ «ЛЭТИ» и уже более 13 лет разрабатывает программное обеспечение для государственных, образовательных и финансовых учреждений, а также автомобильных и телекоммуникационных концернов. Работает в Санкт-Петербургском филиале компании Яндекс разработчиком Яндекс.Маркет. Владимир является резидентом российского сообщества Java-разработчиков JUG.ru и выступает на таких отраслевых Java-конференциях, как JPoint, Joker и JBreak.

Насколько часто вы выпускаете релиз своего проекта? А как часто релизите внутренние библиотеки для своих проектов и компонуете их в большие релизы? Если задавились этими вопросами, то наверняка знаете, что не все так просто. Возможно, вы уже решили проблему. Кирилл поделится опытом решения проблемы в Альфа-Лаборатории.

Вооружившись Gradle и взяв за основу наработки Netflix, Кирилл и слушатели выведут рецепт того, как может выглядеть цикл Continuous Delivery, позволяющий иметь как гранулированные релизы артефактов, так и полноценные релизы проекта/платформы.

Напоследок будет рассмотрено, как всё это масштабируется при росте количества команд/проектов и как держать свои артефакты и логику сборки в чистоте и порядке.

#Gradle
Кирилл Толкачев / Альфа-Лаборатория

Кирилл Толкачев

Альфа-Лаборатория
Главный разработчик в Альфа-Лаборатории. Разрабатывает различные банковские API. Формирует принципы и наборы инструментов для работы с микросервисной архитектурой. Большой поклонник Groovy, Gradle, Spring и стека технологий Netflix-а. Постоянный резидент подкаста «Разбор Полётов». Методологию DevOps-а знает непонаслышке и имеет почти двухлетний опыт её применения.

Работа с native кодом и off-heap данными из Java привлекательна, но сопряжена с рядом трудностей.

Разговор пойдет о существующих методах взаимодействия с native кодом и способах работы с off-heap данными.

Также, существенная часть будет отведена рассказу о нововведениях в JDK 9 (JEP 193: VarHandles) и тому, что планируется на более отдаленную перспективу в Project Panama: новый интерфейс для доступа к native-коду, идущий на смену JNI (JEP 191: Foreign Function Interface), Layout Descriptor Language (LDL) и Arrays 2.0.

#JVM

Владимир Иванов

Oracle
Vladimir is a Lead Engineer in Oracle, he works in JVM HotSpot development group and specializes in JIT-compilation and alternative languages support over JVM platform. Vladimir works on the development of new mechanisms of interaction with native code and off-heap data (Project Panama).

Вышел Spark 2.0, и его API наконец-то стабилизировался, унифицировался и стримизировался. С этого релиза мы получаем универсального бойца, который будет говорить сразу на нескольких языках (Java, Scala, R, Python) и делать сразу значительное количество вещей. В докладе Алексей сосредоточится на том, как заставить машинное обучение поработать на вас при помощи MLlib и как использовать Kafka в качестве стандартного поставщика данных для ваших DStreams.

Доклад подходит тем, кто уже имеет опыт в BigData/Hadoop/Spark до 1.3, но хочет знать больше и живо следит за новыми релизами, мечтая втащить их в продашкн.

Также доклад является обобщенным ответом на просьбу потрогать near real time, а не только batch процессинг.

#Data processing
Алексей Зиновьев / EPAM

Алексей Зиновьев

EPAM
Тренер по Java/BigData в компании EPAM, с Hadoop/Spark и прочей бигдатой дружит с 2012 года, форкается и пуллреквестит с 2014, рассказывает с 2015. Особенно любит текстовые данные и большие графы.

IDE — сложнейшие «комбайны» для работы с кодом. Даже сами разработчики IDE говорят, что узнают о некоторых возможностях только когда читают код. А как часто вам случалось подсказывать коллеге, что не стоит ползать мышкой по контекстным меню, а лучше решить эту задачу путём нажатия простой комбинации клавиш? Зачастую IDE действительно предоставляют так много возможностей, что трудно охватить их более-менее структурно.

В этом докладе Антон предложит систему — систему для того, чтобы начать работать с вашей любимой IDE более эффективно. Антон расскажет, как можно более эффективно настроить интерфейс. Будут рассмотрены возможности редактора — как можно эффективно работать с текстом и кодом, а также огромное количество комбинаций клавиш.

В докладе будут использованы IntelliJ IDEA, но также доклад будет полезен людям, использующим другой инструмент. Будет возможность применить полученные знания в своей IDE, либо просто пересесть на IDEA :)

#Tools

Антон Архипов

ZeroTurnaround
Менеджер продуктов в компании ZeroTurnaround, развивает инструменты для Java-разработчиков — JRebel и XRebel. Профессионально занимается разработкой на Java больше 10 лет. Основные интересы Антона связаны с языками программирования и средствами разработки ПО.

Программы на Java состоят из классов, а классы состоят из байт-кода. Любой нормальный Java-программист впервые увидев байт-код озадачится — что это!? Как это вообще читать? Что с этим можно сделать? Если вам интересно, что делает Java-компилятор с исходным кодом программы на Java, приходите на лекцию, где будут рассмотрены азы по работе с байт-кодом.

Кроме того, Антон расскажет, какие существуют инструменты для работы с байт-кодом и как можно генерировать байткод при помощи библиотеки ObjectWeb ASM.

#Bytecode #JVM

Антон Архипов

ZeroTurnaround
Менеджер продуктов в компании ZeroTurnaround, развивает инструменты для Java-разработчиков — JRebel и XRebel. Профессионально занимается разработкой на Java больше 10 лет. Основные интересы Антона связаны с языками программирования и средствами разработки ПО.

В распределённых системах с динамической конфигурацией существует проблема корректного обнаружения работающих сервисов. На данный момент разработано не одно решение для хранения постоянно меняющейся конфигурации системы. Стоит назвать хотя бы Netflix Eureka, Consul, etcd или старый добрый Zookeeper. Проект Spring Cloud позволяет интегрировать часть из перечисленных решений в ваш проект и предоставляет мощные возможности для решения типовых задач. Вместе с тем, на пути к единорогам разработчика ожидают далеко не самые очевидные тонкости реализации и сопутствующие им проблемы использования в реальных проектах.

В докладе будет разобрано внутреннее устройство SpringCloud, реализация шаблона Client-Side Service Discovery и тонкости реализации конкретных имплементаций на примере официальных библиотек и собственной библиотеки автора доклада.

Александр Тарасов / Альфа-Лаборатория

Александр Тарасов

Альфа-Лаборатория
Архитектор в Альфа-Лаборатории. В настоящее время прорабатывает новую архитектуру с микросервисным подходом и попутно двигает направление DevOps. Имеет почти девять лет опыта серверной Java-разработки и больше года практики автоматизации развертывания приложений. Фанат Docker-а и связанных с ним технологий.

Микросервисная архитектура — это не только новая мода, но и хорошее, а иногда даже единственно возможное решение для задач, которые сейчас встречаются в разработке программного обеспечения. На конференциях микросервисы сравнивают с монолитной архитектурой, описывают их плюсы и минусы, делятся успешными и провальными историями. Но, пока в столицах дают рок-концерты, на местах осваивают балалайки. Не всегда понятно, как начать делать систему, основанную на микросервисной архитектуре. Какие проблемы ждут архитектора и разработчиков, какие узкие места могут встретиться и как к этому подготовиться? Имеет ли смысл начинать с монолита или надо сразу разбивать систему на микросервисы? Как определить границы, которые встанут между вашими микросервисами?

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

Выбор микросервисов окажет большое влияние на тестирование, где специалистов QA ждет ряд новых проблем, связанных со сбором логов и развертыванием окружения для тестирования.

Цель доклада не только в освещении проблемных мест разработки микросервисов, но и в предложении советов и решений, которые помогут исправить или даже избежать сложностей и, следственно, потери времени и ресурсов на их исправление.

#Microservices

Максим Сячин

Luxoft
Максим работает в Luxoft Lead Java-разработчиком в проекте «Почта России». Помимо основных задач занимается продвижением микросервисной архитектуры и внедрением Continuous Delivery. За свою более чем десятилетнюю карьеру успел поучаствовать в разработке нескольких ГИС-платформ на С++ и Java, после чего с головой окунулся в разработку кровавого энтерпрайза. Уважает Scala, Kotlin и микросервисы.

JIT компилятор в виртуальной машине отвечает за то, чтобы написанный вами код работал максимально эффективно, даже не смотря на присутствие явных и неявных проверок. Какова механика принятия решений JIT компилятором, и что происходит при неверных решениях? В докладе мы рассмотрим механизмы сбора профилей и алгоритмы перехода между разными вариантами скомпилированного кода, а также интерфейсы для взаимодействия с JITом, в том числе и технологию ReadyNow от Азул Системс.

#JIT #Runtime

Иван Крылов

Azul Systems
Иван занимается разработкой виртуальных машин Java и компиляторов более 10 лет, в настоящее время развивает компиляторную инфраструктуру в виртуальной машине Zing в Azul Systems. Регулярный докладчик на конференциях JUG.ru и других европейских Java конференциях.

Эльбрус — российский процессор VLIW-архитектуры с повышенными требованиями к безопасности. JVM — сложная динамичная система, которая подразумевает определенную свободу в реализации и исполнении. Эти вещи всегда вступают в противоречие друг с другом.

В докладе Роман расскажет про портирование OpenJDK, в частности виртуальной машины Hotspot на эту архитектуру. Кишки JVM, копание во внутренностях железа, нетривиальные решения и многое другое будет присутствовать с избытком — мало не покажется. Также будет рассказ о «шаблонном» интерпретаторе. В общем, будет интересно.

Роман Артемьев

Унипро
Занимается портированием OpenJDK на архитектуру Эльбрус почти 4 года. Разрабатывает компиляторы, интерпретаторы. Выступает на конференциях, где рассказывает про свою работу.

Доклад опишет критерии выбора и оценки Garbage Collector в Java на примере сравнения CMS и G1 GC в production-окружении высоконагруженной RTB платформы:

  • Как выбрать GC оптимальный для вашей задачи и аппаратной конфигурации.
  • Параметры настройки. Анализ GC логов.
  • Готов ли G1 GC для production. Что нас ждет в Java 9. Анализ улучшений G1 в Java 9. Сравнительное тестирование Java 8 G1 и Java 9 G1.
  • Оценка полезности G1 GC String Deduplication.

Часть материала будет основана на статье https://habrahabr.ru/company/getintent/blog/302910/.

Ильдар Нурисламов

GetIntent
Работает Java Team Lead в компании Gentlntent, где разрабатывал Real Time Bidding DSP (http://getintent.com/). За более чем десятилетний опыт разработал высокопроизводительные платформы рассылок и агрегации SMS-трафика, а также популярное J2ME приложение.

With the ascent of distributed architecture, modern software increasingly unwinds into networks of micro(-service) components. While this approach to building software — if done correctly — can improve a system's maintainability and scalability, distributed applications also introduce challenges for operations. Where monolithic applications typically offered direct access to extensive monitoring dashbords, such easy overview is no longer available when multitude services are loosely connected over a network. But how to keep track of a system of such dynamic state?

Distributed tracing is a method of connecting interaction of different services on a network. Collecting and processing such tracing information again allows for the observation of a distributed system in its entirety. This talk shares the presenter's insights gained by working on the JVM-support of distributed tracing for the APM tool Instana. Doing so, it introduces the landscape of approaches to distributed tracing on the JVM, discussing popular approaches such as Dapper, Zipkin or Brave/OpenTracing. In the process, it is discussed how byte code instrumentation can be used to capture systems without requiring a user to set up the software under observation. The presentation finishes with a discussion of typical problems of distributed tracing solutions and carefully examines the performance penalties APM tools entail.

Rafael Winterhalter

Scienta
Rafael works as a software consultant in Oslo, Norway. He is a proponent of static typing and a JVM enthusiast with particular interest in code instrumentation, concurrency and functional programming. Rafael blogs about software development, regularly presents at conferences and was pronounced a JavaOne Rock Star. When coding outside of his work place, he contributes to a wide range of open source projects and often works on Byte Buddy, a library for simple runtime code generation for the Java virtual machine. For his work, Rafael received a Duke's Choice award and was elected a Java Champion.

Не всё то золото, что блестит. Не всё то оптимизация, что требует знаний ассемблера, оптимизатора ветвлений процессора и особенность работы Garbage Collect. В докладе приведены примеры оптимизаций реального кода, когда от изменения используемых алгоритмов получали ускорение в 100 и более раз:

  • Pattern matching. Как проверить соответствие строки 1000+ шаблонам за микросекунду;
  • Работа с ORM, скрытые связи и потери, которые выявит даже профайлер бедного человека;
  • Batch. О чём молчат stream'ы.;
Сергей Владимиров / МФТИ (ГУ) / СберТех

Сергей Владимиров

МФТИ (ГУ) / СберТех
Преподаватель по защите информации МФТИ. Руководитель разработки в Сбербанк-Технологии (торговый эквайринг, целевая платформа для Сбербанка 2018+)

There is a number of tools that are as part of a JDK installation.
Often, you can rely only on these successfully analyse issues, without the need to resort to (often expensive) 3rd party tools. What is better, these being part of the JDK, they can be used as early as development and testing!

Taking and analysing memory dumps, stack traces of java processes running in a particular system, monitoring GC activity... and more, command line as you would hope when accessing this well-protected machine in a data centre somewhere far.

This session will iterate through a number of such tools, discuss purpose and capabilities. All followed with demonstrations of most common usages.
Unleash the power of the tools that you already have, today!

#JDK #Tools

Andrzej Grzesik

Burberry
Takes care of customer analytics at Burberry. Andrzej organizes GeeCON, Polish JUG, Krakow Software Craftsmanship, Cracow Hadoop User Group. He does programming mostly on the JVM, usually writing fancy backends for big, distributed systems. Andrzej also displays a particular affection to continuous delivery. He believes that most problems we deal with are people problems, so he mixes and matches tools with technologies, believes in software quality.

Случалось ли, что вы видели (чужой) код и хотели все переписать? Бывало такое, что вы не могли понять, почему кем-то было принято конкретное решение, не другое? Хотели ли вы воскликнуть:«А я бы сделал еще круче!»?

Если вы задумывались об этом, вам будет интересно послушать историю о том, как эти вопросы возникали у Александра и Кирилла и как они решались в условиях большой компании.

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

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

Вместе со слушателями Александр и Кирилл проделают упражнение по созданию «таблицы технологий» и её эволюции. Также они покажут, насколько важно инженерное решение на любой из стадий развития системы.

#JDK #Tools
Кирилл Толкачев / Альфа-Лаборатория

Кирилл Толкачев

Альфа-Лаборатория
Главный разработчик в Альфа-Лаборатории. Разрабатывает различные банковские API. Формирует принципы и наборы инструментов для работы с микросервисной архитектурой. Большой поклонник Groovy, Gradle, Spring и стека технологий Netflix-а. Постоянный резидент подкаста «Разбор Полётов». Методологию DevOps-а знает непонаслышке и имеет почти двухлетний опыт её применения.
Александр Тарасов / Альфа-Лаборатория

Александр Тарасов

Альфа-Лаборатория
Архитектор в Альфа-Лаборатории. В настоящее время прорабатывает новую архитектуру с микросервисным подходом и попутно двигает направление DevOps. Имеет почти девять лет опыта серверной Java-разработки и больше года практики автоматизации развертывания приложений. Фанат Docker-а и связанных с ним технологий.

Практически в любом Java-проекте для больших предприятий все еще происходит (чаще всего ночной) офлайновый процессинг данных. Но данных не так много, и пропускать их через Hadoop было бы стрельбой по воробьям из пушек. Чаще всего подобный процессинг «далеко не больших данных» происходит с помощью самописных небольших программ или, в лучшем случае, самописных фрейморков. Они часто идеально подходят для конкретной задачи, но крайне капризны, если что-то надо изменить/адаптировать/расширить. Все это заканчивается полным переписыванием. Масштабируемость самописных решений часто страдает.

Чтобы навести порядок в этом важном, но немного недооцененном аспекте, был разработан JSR-352 Java Batch. На лекции слушатели познакомятся с данным JSR. Они узнают, как определяются «работа», «задачи», как работа разбивается на «этапы» и «куски». Дмитрий рассмотрит, как распараллеливать задачи и обеспечивать их транзакционность в рамках контейнера. И главное, как рационально «не повторяться». Также пройдёт сравнение JBatch с Spring batch.

Данный фреймворк был официально включен в Java EE 7, так что он доступен «из коробочки» на любом Java EE 7 сервере.

#JBatch #JavaEE

Дмитрий Александров

T-Systems

Ведущий программист/архитектор в T-Systems, по совместительству ко-лидер Болгарской Java User Group. Помимо работы читает лекции на конференциях. Организатор конференции jPrime.io — крупнейшей Java-конференции на Балканах.

В перечень основных интересов входят динамические языки на JVM (Nashorn project) и Java EE, а также вся Spring инфраструктура.

How do you mix SQL and NoSQL worlds without starting a messy revolution?

This live coding talk will show you how to add Elasticsearch to your legacy application without changing all your current development habits. Your application will suddenly have advanced search features, all without the need to write complex SQL code!

David will start from a RestX, Hibernate and Postgresql/MySQL based application and will add a complete integration of Elasticsearch.

#Elasticsearch

David Pilato

elastic
David Pilato is a developer at Elastic and French spoken language User Group creator. He likes talking about Elasticsearch in conferences like Devoxx (FR BE UK), JUGs, Web5, Agile France, Mix-IT, Javazone or in companies (Brown Bag Lunches).

In this session René will talk about the latest major Gradle release and what it has to offer for building authors and developers. The talk will be started with a short overview of Gradle build system, then some new functionalities will be explored:

  • Latest dependency management improvements and Composite builds,
  • Functional testing of build logic,
  • Distributed Cache,
  • Kotlin Gradle DSL,
  • Gradle Build Scans

The talk will be finished up with an outlook of what the Gradle team is working on next and what you can expect beyond Gradle 3.0.

Rene Groeschke

Gradle Inc.
Apart on working on the Gradle core, René supports teams all over the world to deliver better software faster by giving in depth Gradle classes and providing remote and onsite support on implementing software automation, continuous delivery and continuous integration patterns.
Understanding software development as a craftsmanship, he loves getting out of his comfort zone, learn about new tools, technologies and techniques.

Приложения без контейнеров, очевидно, — это будущее Java. Но, оставшись без контейнеров, разработчики должны принимать собственные решения о том, как интегрировать свои сервисы и запустить свой код. Проект с открытым исходным кодом Bootique был создан в качестве альтернативы существующим вариантам в этой области, обеспечивая пусковую установку POSIXy и управляемый механизм интеграции. Андрусь Адамчик продемонстрирует, что есть Bootique и как с помощью него строить различные вещи.

Андрусь Адамчик

ObjectStyle LLC
Андрусь — сотрудник Apache Software Foundation и страстный разработчик open-source. Начал программировать на Java еще в 1998 году, основав ряд open-source проектов. Первый примечательный проект — Apache Cayenne. Совсем недавно Андрусь создал Bootique, технологию для создания Java-приложений. Днём Андрусь — IT-предприниматель, ведущий большую компанию программного обеспечения ObjectStyle.

Со времён «Прагматики Java Memory Model» прошло больше двух лет. Но даже у изучавших прошлый доклад специалистов остались странные предубеждения, не подкреплённые спецификацией. В этом докладе мы попытаемся разобрать и развенчать часть этих предубеждений: про всемогущие барьеры, про реордеринги, про недосинхронизацию и другое недовелосипедостроение.

Доклад основан на уже опубликованной статье, и будет включать себя наиболее вкусные примеры. Доклад не будет останавливаться на базовых принципах модели и поэтому требует понимания JMM как минимум на уровне «Прагматики JMM».

#JMM

Алексей Шипилёв

████████
Алексей работает над производительностью Java больше 10 лет. Сегодня он работает в ██████████, где разрабатывает ████████████████████ ████████████████████████. Алексей разрабатывает и поддерживает несколько под-проектов в OpenJDK, включая JMH, JOL, и JCStress. Алексей также активно участвует в экспертных группах и сообществах, работающих над вопросами производительности и многопоточности. Перед тем как перейти в ████████████, Алексей работал над Apache Harmony в Intel, а затем перешёл в Sun Microsystems, которая была поглощена Oracle.

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

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

Алексей Шипилёв

████████
Алексей работает над производительностью Java больше 10 лет. Сегодня он работает в ██████████, где разрабатывает ████████████████████ ████████████████████████. Алексей разрабатывает и поддерживает несколько под-проектов в OpenJDK, включая JMH, JOL, и JCStress. Алексей также активно участвует в экспертных группах и сообществах, работающих над вопросами производительности и многопоточности. Перед тем как перейти в ████████████, Алексей работал над Apache Harmony в Intel, а затем перешёл в Sun Microsystems, которая была поглощена Oracle.

The Griffon framework has reinvented itself in order to reach new heights! Version 2.0 brings along a better modular design, dependency injection, JDK8 Lambdas support, and much more. The reduced memory footprint of the Griffon runtime allows applications to be installed on platforms where resources are scarcer, such as Raspberry Pi and other embedded platforms. Turning to the build time, applications can participate effortlessly on multi-project builds, no matter if those builds are driven by Gradle or Maven. There are of course other features that will popup in the near future. Come learn what's new and what's next for Griffon; one thing is for sure, it's future looks very bright.

#Griffon

Andres Almiray

Canoo Engineering AG
Andres is a Java/Groovy developer and Java Champion, with more than 16 years of experience in software design and development. He has been involved in web and desktop application developments since the early days of Java. He has also been a teacher of computer science courses in the most prestigious education institute in Mexico. His current interests include Groovy, Swing and JavaFX. He is a true believer of open source and has participated in popular projects like Groovy, Griffon, JMatter and DbUnit, as well as starting his own projects (Json-lib, EZMorph). Founding member and current project lead of the Griffon framework. He blogs at http://jroller.com/aalmiray. You can find him on twitter too as @aalmiray. He likes to spend time with his beloved wife, Ixchel, when not hacking around.

Apache Cayenne — зрелый полнофункциональный Java ORM. На презентации будут обсуждаться подход Cayenne к персистентности объектов, в том числе общей философии и различия с JPA/Hibernate. В докладе будут представлены такие вещи, как управление транзакциями, отображение рабочего процесса, а также новые API-интерфейсы в последнем Cayenne 4.0.

#ORM #Cayenne #JPA

Андрусь Адамчик

ObjectStyle LLC
Андрусь — сотрудник Apache Software Foundation и страстный разработчик open-source. Начал программировать на Java еще в 1998 году, основав ряд open-source проектов. Первый примечательный проект — Apache Cayenne. Совсем недавно Андрусь создал Bootique, технологию для создания Java-приложений. Днём Андрусь — IT-предприниматель, ведущий большую компанию программного обеспечения ObjectStyle.

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

Виктор познакомит слушателей со своим другом, Ориентированным (Направленным) Ациклическим Графом (или Маркизом?!), и покажет, как с его помощью была организована распределенная высокопроизводительная система обработки информации в памяти поверх нашего знакомого Java 8 Stream API.

#DataGrid #Reactive #Hazelcast

Виктор Гамов

Hazelcast
Виктор Гамов — со-основатель и лидер вашего любимого правильного подкаста для IT-шников «Разбор Полетов» и по совместительству Senior Solution Architect в компании Hazelcast, которая занимается разработкой in-memory data grid с открытым исходным кодом. Накопил большой опыт, участвуя во множестве Java/JavaScript/HTML5 проектов, что легло в основу книги «Enterprise Web Development» издательства O’Reilly, которую он писал в соавторстве с известными персонами из Java мира. Виктор помогает клиентам финансового и телекоммуникационного сектора в проектировании и разработке высоконагруженных систем.
В свободное от работы время Виктор не забывает про качалку, а также выступает на международных конференциях, пишет в твиттер, помогает с организацией встреч Princetown JUG и NYC Hazelcast User Group.

Лучший способ изучить теорию распределенных систем — прочитать пару-тройку докторских. Если у вас нет на это времени, потому что вы колбасите джава-код, то лучший вариант — придти на этот доклад.
В нём Виктор рассмотрит наиболее популярные «базворды» — теории, алгоритмы и идеи, которые лежат в основе многих «больших» систем:

  • понятие времени в распределенных системах,
  • обеспечение порядка операций в распределенных системах,
  • популярные алгоритмы согласования / консенсуса и определения сбоев.
#Distributed

Виктор Гамов

Hazelcast
Виктор Гамов — со-основатель и лидер вашего любимого правильного подкаста для IT-шников «Разбор Полетов» и по совместительству Senior Solution Architect в компании Hazelcast, которая занимается разработкой in-memory data grid с открытым исходным кодом. Накопил большой опыт, участвуя во множестве Java/JavaScript/HTML5 проектов, что легло в основу книги «Enterprise Web Development» издательства O’Reilly, которую он писал в соавторстве с известными персонами из Java мира. Виктор помогает клиентам финансового и телекоммуникационного сектора в проектировании и разработке высоконагруженных систем.
В свободное от работы время Виктор не забывает про качалку, а также выступает на международных конференциях, пишет в твиттер, помогает с организацией встреч Princetown JUG и NYC Hazelcast User Group.

Думали, у нас кончились паззлеры? Как бы не так! В этом сезоне они ещё страннее, ещё удивительнее и смешнее! Всё как всегда — два смешных парня на сцене, загадочные и смешные вопросы, призы летают в зал, все в восторге!

Если вы думаете, что знаете Груви, у нас для вас плохие новости! Если вы не знаете Груви, приходите всё равно — будет весело и познавательно для всех!

#Distributed

Барух Садогурский

JFrog
Поскольку «религия не позволяет» быть евангелистом, Барух — developer advocate в компании JFrog и делает в жизни ровно 3 вещи: зависает с разработчиками Bintray и Artifactory, пописывает для них код, и рассказывает о впечатлениях в блогах и на конференциях, таких как JavaOne, Devoxx, OSCON, конечно же JPoint и Joker, да и многих других. И так более десяти лет подряд.

Виктор Гамов

Hazelcast
Виктор Гамов — со-основатель и лидер вашего любимого правильного подкаста для IT-шников «Разбор Полетов» и по совместительству Senior Solution Architect в компании Hazelcast, которая занимается разработкой in-memory data grid с открытым исходным кодом. Накопил большой опыт, участвуя во множестве Java/JavaScript/HTML5 проектов, что легло в основу книги «Enterprise Web Development» издательства O’Reilly, которую он писал в соавторстве с известными персонами из Java мира. Виктор помогает клиентам финансового и телекоммуникационного сектора в проектировании и разработке высоконагруженных систем.
В свободное от работы время Виктор не забывает про качалку, а также выступает на международных конференциях, пишет в твиттер, помогает с организацией встреч Princetown JUG и NYC Hazelcast User Group.

Ну, вы в курсе: монстр, мастадонт и владелец поляны Мавен против молодого, динамичного, изворотливого Грейдла! Битва до победного конца! А судьи — вы! Ведущие представят свои решения «классических» проблем автоматизации проекта с помощью обоих инструментов «живьём» на сцене, а вы проголосуете за тот инструмент, который лучше решает проблему.

Барух Садогурский

JFrog
Поскольку «религия не позволяет» быть евангелистом, Барух — developer advocate в компании JFrog и делает в жизни ровно 3 вещи: зависает с разработчиками Bintray и Artifactory, пописывает для них код, и рассказывает о впечатлениях в блогах и на конференциях, таких как JavaOne, Devoxx, OSCON, конечно же JPoint и Joker, да и многих других. И так более десяти лет подряд.

Давно минуло время однопоточных программ. У многих в продакшен стоят сервера с сотней ядер и террабайтом оперативки, и на всем этом крутятся тысячи потоков, бесконечно обрабатывающих клиентские запросы. Но что если толпа пользователей стоит у вашего gateway, а запросы уже заполнили весь пул и очередь? Как обработать максимум количества запросов и не повиснуть в ожидании ответа от медленного провайдера услуг? Максим поговорит о том, как влить реактивную струю в приложения. Вместе со слушателями доклада он заглянет внутрь RxJava и обсудит, как не сломать выстроенные гарантии при написании своих Observable. Будет рассмотрено, что такое Netty и Ratpack и как все это соединяется в один хорошо управляемый поток данных.

#RxJava

Максим Гореликов

Альфа-Лаборатория
Долгое время работал в группе Hostcomm — руководил разработкой биллинговых систем для группы компаний. Вкусил все печали и радости стандартного стека Spring/Hibernate/Oracle. Некоторое время назад, польстившись на необычный стек технологий, перешел работать в Альфа-Лабораторию. В Лаборатории Максим разрабатывает middle-слой для мобильных приложений. В работе активно использует гремучую смесь из Spring Boot, библиотек Netflix и reactive-решений. Экспериментирует с инфраструктурными решениями, которые тут же пакует в docker и заливает на production.

Hardware Transactional Memory (HTM) is here. Again. It has finally become a common feature in commodity server hardware platforms. But what will we do with it? This session will explore the underlying mechanics that power HTM on current platforms, focusing on things developers need to understand when contemplating the use of HTM in new and existing code. Gil will discuss and demonstrate new speculative and optimistic locking mechanisms enabled by HTM, cover benefits and limitations, and speculate (pun intended) about both the near term and long term future impact of HTM on concurrency choices and everyday programming choices.

Gil Tene

Azul Systems
Gil Tene is CTO and co-founder of Azul Systems. He has been involved with virtual machine and runtime technologies for the past 25 years. His pet focus areas include system responsiveness and latency behavior. Gil is a frequent speaker at technology conferences worldwide, and an official JavaOne Rock Star. He pioneered the Continuously Concurrent Compacting Collector (C4) that powers Azul's continuously reactive Java platforms. In past lives, he also designed and built operating systems, network switches, firewalls, and laser based mosquito interception systems.

System and user experiences are often dominated by our software design choices. As software developers and engineers, we often strive to get the most out of systems and the best performance for our users. But what does "performance" really mean when measured with external metrics?

In this keynote, Gil will discuss various visible aspects of software performance in modern software systems, covering common trade-offs and techniques, and exploring where future development focus may lead us. Gil and listeners will investigate managed runtimes and their benefits, time-to-market as performance metric, as well as the realities of many-core, memory-rich systems and implications on performance choices and perceptions.

Gil Tene

Azul Systems
Gil Tene is CTO and co-founder of Azul Systems. He has been involved with virtual machine and runtime technologies for the past 25 years. His pet focus areas include system responsiveness and latency behavior. Gil is a frequent speaker at technology conferences worldwide, and an official JavaOne Rock Star. He pioneered the Continuously Concurrent Compacting Collector (C4) that powers Azul's continuously reactive Java platforms. In past lives, he also designed and built operating systems, network switches, firewalls, and laser based mosquito interception systems.

SWith Java 9, modularity comes to your doorstep (whether you ordered it or not). This isn't your average language feature: making the most out of it may involve rewiring your brain. In this session, Sander along with listeners will explore the benefits of a modular codebase using Java 9 modules. Because who doesn’t like more reliable and secure applications, meanwhile killing the dreaded classpath?

After reviewing the basic concepts of modules, Sander will explore modularity patterns that enhance design and development skills. All the attendees of the talk have existing software, so migration of codebases to a modular world is an important topic as well. Automatic modules and other new concepts are added to your toolbox to this end.

Want examples? Sande and audience have got plenty in this practical and code-driven talk. Even if you intend to use Java 9 without modules, this talk helps you prevent common issues. You'll be ready for Java 9 before you know it.

Sander (together with Paul Bakker) is currently writing “Java 9 Modularity” for O’Reilly, expected early 2017. They have extensive experience under the belt already with the Java 9 Jigsaw early access builds.

#JDK9 #Jigsaw

Sander Mak

Luminis Technologies
Sander crafts scalable software at Luminis Technologies. With almost a decade of experience on the JVM platform, he specializes in modular Java and JavaScript development. Additionally, data analysis and machine learning are part of his ever growing list of interests. Sander loves sharing knowledge, for example through his blog at http://branchandbound.net. He is currently writing 'Java 9 Modularity' for O'Reilly, expected release early 2017. Furthermore, he speaks regularly at international developer conferences, sharing his passion for Java, alternative JVM languages and related technologies.

При тренировке доклада онлайн полезно иметь запись доклада. Для этой цели мы используем Google Hangouts On Air.

Чтобы поднять сессию, нужно:

  1. Перейти на https://hangouts.google.com/.
  2. Открыть меню слева и выбрать пункт "Hangouts On Air".
  3. Нажать кнопку "Create a Hangout On Air". Hangouts On Air
  4. Оставьте переключатель в значении "Public" и добавьте необходимых ревьюеров в список внизу окна.
  5. Теперь нажмите кнопку "Share".
  6. Вы должны увидеть изображение с вашей камеры, и, как только вы будете готовы начать презентацию, нажмите кнопку "Start broadcast" внизу.
  7. Удостоверьтесь, что вы слышите ваших ревьюеров.
  8. Покажите свой экран (зеленая кнопка слева на экране).
  9. Поздравляю, вы вещаете!
Андрей Дмитриев

Закончил матмех СПбГУ. Несколько лет разрабатывал графический стек библиотек JDK (AWT/Swing/JavaFX) в Sun и Oracle. Руководил группой разработки в компании QuickOffice, отвечал за функциональность компонента QuickPoint. Работал менеджером группы нагрузочного тестирования в компании NetCracker.

На данный момент Андрей — программный директор и организатор конференций команды JUG.ru Group, Java-конференций JPoint, Joker и JBreak, встреч JUG.ru и сообщества CodeFreeze в Петербурге и Москве.

Sam Aaron
Sam is a live coder who strongly believes in the importance of emphasising, exploring and celebrating creativity within all aspects of programming. He is the lead developer of Overtone and the creator of Sonic Pi, a music live coding environment used to teach programming within schools. By day, Sam is a Postdoc Research Associate at the University of Cambridge Computer Laboratory and by night, he codes music for people to dance to.
Алексей Шипилёв
Алексей работает над производительностью Java больше 10 лет. Сегодня он работает в ██████████, где разрабатывает ████████████████████ ████████████████████████. Алексей разрабатывает и поддерживает несколько под-проектов в OpenJDK, включая JMH, JOL, и JCStress. Алексей также активно участвует в экспертных группах и сообществах, работающих над вопросами производительности и многопоточности. Перед тем как перейти в ████████████, Алексей работал над Apache Harmony в Intel, а затем перешёл в Sun Microsystems, которая была поглощена Oracle.
Charles Nutter
Charles works at Red Hat on JVM languages and has a great interest in making OpenJDK the best free platform for language development.
Олег Анастасьев

Начал карьеру программиста в далеком 1995 году. Разрабатывал ПО в банковской сфере, телекоме, транспорте. Работает ведущим разработчиком в «Одноклассниках» с 2007 года в команде платформы.

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

Владимир Красильщик
Владимир Красильщик с отличием окончил кафедру Математического Обеспечения СПбГЭТУ «ЛЭТИ» и уже более 13 лет разрабатывает программное обеспечение для государственных, образовательных и финансовых учреждений, а также автомобильных и телекоммуникационных концернов. Работает в Санкт-Петербургском филиале компании Яндекс разработчиком Яндекс.Маркет. Владимир является резидентом российского сообщества Java-разработчиков JUG.ru и выступает на таких отраслевых Java-конференциях, как JPoint, Joker и JBreak.
Rafael Winterhalter
Rafael works as a software consultant in Oslo, Norway. He is a proponent of static typing and a JVM enthusiast with particular interest in code instrumentation, concurrency and functional programming. Rafael blogs about software development, regularly presents at conferences and was pronounced a JavaOne Rock Star. When coding outside of his work place, he contributes to a wide range of open source projects and often works on Byte Buddy, a library for simple runtime code generation for the Java virtual machine. For his work, Rafael received a Duke's Choice award and was elected a Java Champion.
Владимир Иванов
Vladimir is a Lead Engineer in Oracle, he works in JVM HotSpot development group and specializes in JIT-compilation and alternative languages support over JVM platform. Vladimir works on the development of new mechanisms of interaction with native code and off-heap data (Project Panama).
Andres Almiray
Andres is a Java/Groovy developer and Java Champion, with more than 16 years of experience in software design and development. He has been involved in web and desktop application developments since the early days of Java. He has also been a teacher of computer science courses in the most prestigious education institute in Mexico. His current interests include Groovy, Swing and JavaFX. He is a true believer of open source and has participated in popular projects like Groovy, Griffon, JMatter and DbUnit, as well as starting his own projects (Json-lib, EZMorph). Founding member and current project lead of the Griffon framework. He blogs at http://jroller.com/aalmiray. You can find him on twitter too as @aalmiray. He likes to spend time with his beloved wife, Ixchel, when not hacking around.
Владимир Ситников
Десять лет работает над производительностью и масштабируемостью NetCracker OS — ПО, используемого операторами связи для автоматизации процессов управления сетью и сетевым оборудованием. Увлекается вопросами производительности Java и Oracle Database. Автор более десятка улучшений производительности в официальном PostgreSQL JDBC драйвере.
Кирилл Толкачев
Главный разработчик в Альфа-Лаборатории. Разрабатывает различные банковские API. Формирует принципы и наборы инструментов для работы с микросервисной архитектурой. Большой поклонник Groovy, Gradle, Spring и стека технологий Netflix-а. Постоянный резидент подкаста «Разбор Полётов». Методологию DevOps-а знает непонаслышке и имеет почти двухлетний опыт её применения.
Алексей Зиновьев
Тренер по Java/BigData в компании EPAM, с Hadoop/Spark и прочей бигдатой дружит с 2012 года, форкается и пуллреквестит с 2014, рассказывает с 2015. Особенно любит текстовые данные и большие графы.
Александр Тарасов
Архитектор в Альфа-Лаборатории. В настоящее время прорабатывает новую архитектуру с микросервисным подходом и попутно двигает направление DevOps. Имеет почти девять лет опыта серверной Java-разработки и больше года практики автоматизации развертывания приложений. Фанат Docker-а и связанных с ним технологий.
Тагир Валеев
Тагир разрабатывает и поддерживает системы автоматизации научных исследований в области генетики, молекулярной и системной биологии. Также он кидает патчики в OpenJDK, разрабатывает опенсорсную библиотеку StreamEx и анализатор байткода Java HuntBugs. Известен на хабре как lany.
Volker Simonis
Volker Simonis works for SAP in the SAP JVM Technology group more than 10 years. He is an OpenJDK contributor from the very beginning and helped SAP and the SAP JVM team to engage in the OpenJDK project. Currently he is the project lead of the OpenJDK PowerPC/AIX and s390x porting project, and a JDK 9 reviewer. He also represents SAP in the Executive Committee of the Java Community Process.
Владимир Цукур
Проактивный инженер и лидер команды, сфокусированный на качественной и прагматичной разработке веб-проектов, платформ и API. Любимым делом занимается более 10 лет. На данный момент работает в компании Ciklum / Zoomdata. Выступает как спикер на технологических конференциях. Член программного комитета конференций JEEConf и XP Days. Outsourcing-партнер шведских компаний Frost Digital и Hunter's Web в Украине. Соавтор патента в классе электронного согласования.
Martin Toshev
Martin is a Java enthusiast and one of the leads of the Bulgarian Java User group (BG JUG). He is a certified Java professional (SCJP6) and a certified IBM cloud computing solution advisor. His areas of interest include the wide range of Java-related technologies (such as Servlets, JSP, JAXB, JAXP, JMS, JMX, JAX-RS, JAX-WS, Hibernate, Spring Framework, Liferay Portal and Eclipse RCP), cloud computing technologies, cloud-based software architectures, enterprise application integration, relational and NoSQL databases. You can reach him for any Java and FOSS-related topics (especially Eclipse and the OpenJDK). Martin is a regular speaker at Java conferences and one of the organizers behind the jPrime conference in Bulgaria (http://jprime.io/).
Jean-Philippe BEMPEL
Jean-Philippe works at Ullink as Performance Architect on trading applications requiring very low latency. From optimizing Java code to fine tuning of OS & hardware, the whole execution chain is analyzed by him to save microseconds on order processing.
Андрей Бреслав
Андрей Бреслав возглавляет разработку языка Kotiln в компании JetBrains c 2010 года, занимается как дизайном языка, так и общим руководством проекта. Ключевой спикер крупных конференций. Один из авторов блога Kotlin: https://blog.jetbrains.com/kotlin/author/andrey-breslav/
Антон Архипов
Менеджер продуктов в компании ZeroTurnaround, развивает инструменты для Java-разработчиков — JRebel и XRebel. Профессионально занимается разработкой на Java больше 10 лет. Основные интересы Антона связаны с языками программирования и средствами разработки ПО.
Максим Сячин
Максим работает в Luxoft Lead Java-разработчиком в проекте «Почта России». Помимо основных задач занимается продвижением микросервисной архитектуры и внедрением Continuous Delivery. За свою более чем десятилетнюю карьеру успел поучаствовать в разработке нескольких ГИС-платформ на С++ и Java, после чего с головой окунулся в разработку кровавого энтерпрайза. Уважает Scala, Kotlin и микросервисы.
Иван Крылов
Иван занимается разработкой виртуальных машин Java и компиляторов более 10 лет, в настоящее время развивает компиляторную инфраструктуру в виртуальной машине Zing в Azul Systems. Регулярный докладчик на конференциях JUG.ru и других европейских Java конференциях.
Роман Артемьев
Занимается портированием OpenJDK на архитектуру Эльбрус почти 4 года. Разрабатывает компиляторы, интерпретаторы. Выступает на конференциях, где рассказывает про свою работу.
Ильдар Нурисламов
Работает Java Team Lead в компании Gentlntent, где разрабатывал Real Time Bidding DSP (http://getintent.com/). За более чем десятилетний опыт разработал высокопроизводительные платформы рассылок и агрегации SMS-трафика, а также популярное J2ME приложение.
Сергей Владимиров
Преподаватель по защите информации МФТИ. Руководитель разработки в Сбербанк-Технологии (торговый эквайринг, целевая платформа для Сбербанка 2018+)
Andrzej Grzesik
Takes care of customer analytics at Burberry. Andrzej organizes GeeCON, Polish JUG, Krakow Software Craftsmanship, Cracow Hadoop User Group. He does programming mostly on the JVM, usually writing fancy backends for big, distributed systems. Andrzej also displays a particular affection to continuous delivery. He believes that most problems we deal with are people problems, so he mixes and matches tools with technologies, believes in software quality.
Дмитрий Александров

Ведущий программист/архитектор в T-Systems, по совместительству ко-лидер Болгарской Java User Group. Помимо работы читает лекции на конференциях. Организатор конференции jPrime.io — крупнейшей Java-конференции на Балканах.

В перечень основных интересов входят динамические языки на JVM (Nashorn project) и Java EE, а также вся Spring инфраструктура.

David Pilato
David Pilato is a developer at Elastic and French spoken language User Group creator. He likes talking about Elasticsearch in conferences like Devoxx (FR BE UK), JUGs, Web5, Agile France, Mix-IT, Javazone or in companies (Brown Bag Lunches).
Rene Groeschke
Apart on working on the Gradle core, René supports teams all over the world to deliver better software faster by giving in depth Gradle classes and providing remote and onsite support on implementing software automation, continuous delivery and continuous integration patterns.
Understanding software development as a craftsmanship, he loves getting out of his comfort zone, learn about new tools, technologies and techniques.
Андрусь Адамчик
Андрусь — сотрудник Apache Software Foundation и страстный разработчик open-source. Начал программировать на Java еще в 1998 году, основав ряд open-source проектов. Первый примечательный проект — Apache Cayenne. Совсем недавно Андрусь создал Bootique, технологию для создания Java-приложений. Днём Андрусь — IT-предприниматель, ведущий большую компанию программного обеспечения ObjectStyle.
Виктор Гамов
Виктор Гамов — со-основатель и лидер вашего любимого правильного подкаста для IT-шников «Разбор Полетов» и по совместительству Senior Solution Architect в компании Hazelcast, которая занимается разработкой in-memory data grid с открытым исходным кодом. Накопил большой опыт, участвуя во множестве Java/JavaScript/HTML5 проектов, что легло в основу книги «Enterprise Web Development» издательства O’Reilly, которую он писал в соавторстве с известными персонами из Java мира. Виктор помогает клиентам финансового и телекоммуникационного сектора в проектировании и разработке высоконагруженных систем.
В свободное от работы время Виктор не забывает про качалку, а также выступает на международных конференциях, пишет в твиттер, помогает с организацией встреч Princetown JUG и NYC Hazelcast User Group.
Барух Садогурский
Поскольку «религия не позволяет» быть евангелистом, Барух — developer advocate в компании JFrog и делает в жизни ровно 3 вещи: зависает с разработчиками Bintray и Artifactory, пописывает для них код, и рассказывает о впечатлениях в блогах и на конференциях, таких как JavaOne, Devoxx, OSCON, конечно же JPoint и Joker, да и многих других. И так более десяти лет подряд.
Gil Tene
Gil Tene is CTO and co-founder of Azul Systems. He has been involved with virtual machine and runtime technologies for the past 25 years. His pet focus areas include system responsiveness and latency behavior. Gil is a frequent speaker at technology conferences worldwide, and an official JavaOne Rock Star. He pioneered the Continuously Concurrent Compacting Collector (C4) that powers Azul's continuously reactive Java platforms. In past lives, he also designed and built operating systems, network switches, firewalls, and laser based mosquito interception systems.
Sander Mak
Sander crafts scalable software at Luminis Technologies. With almost a decade of experience on the JVM platform, he specializes in modular Java and JavaScript development. Additionally, data analysis and machine learning are part of his ever growing list of interests. Sander loves sharing knowledge, for example through his blog at http://branchandbound.net. He is currently writing 'Java 9 Modularity' for O'Reilly, expected release early 2017. Furthermore, he speaks regularly at international developer conferences, sharing his passion for Java, alternative JVM languages and related technologies.
Максим Гореликов
Долгое время работал в группе Hostcomm — руководил разработкой биллинговых систем для группы компаний. Вкусил все печали и радости стандартного стека Spring/Hibernate/Oracle. Некоторое время назад, польстившись на необычный стек технологий, перешел работать в Альфа-Лабораторию. В Лаборатории Максим разрабатывает middle-слой для мобильных приложений. В работе активно использует гремучую смесь из Spring Boot, библиотек Netflix и reactive-решений. Экспериментирует с инфраструктурными решениями, которые тут же пакует в docker и заливает на production.