Первая в России большая ламповая встреча Scala-комьюнити — как это было

в 13:53, , рубрики: java, meetup, scala, Блог компании Tinkoff.ru, конференции, обзор, функциональное программирование

Привет! Я Юля, DevRel в Tinkoff.ru.

28 сентября Tinkoff вместе со Scala-сообществом России провели масштабную, но очень уютную встречу разработчиков, тестировщиков и всех неравнодушных к Scala. В статье я поделюсь впечатлениями, как все прошло.

Сначала — пара слов о том, для чего мы активно включаемся в такие мероприятия. Просто мы любим Scala, используем этот язык и очень хотим, чтобы сообщество развивалось и пополнялось интересными людьми.

Первая в России большая ламповая встреча Scala-комьюнити — как это было - 1

Мы ушли от стандартного формата конференций и собрали ламповую встречу для близких по духу людей. Мы нашли самый уютный лофт в сердце Москвы — Deworkacy в «Красном Октябре» — и пригласили по-настоящему звездный состав спикеров.

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

Небольшой видео-пруф, передающий настроение: bit.ly/2IHtd02

Ссылки на видео докладов, фотоотчет и описание докладов под катом. Погнали!

Самый долгожданный гость программы — Джон Де Гуз. Джон открыл мероприятие вдохновляющим докладом про ZIO. Он начал с истории компьютеров, немного рассказал о законе Мура. Затем представил библиотеку ZIO, которая приводилась в сравнении с объектами future.

Первая в России большая ламповая встреча Scala-комьюнити — как это было - 2

На основании доклада Джона можно сказать, что результат использования ZIO быстрее, оптимизированнее, прозрачнее… В общем, лучше, чем при использовании в аналогичной задаче future-объектов.

Ожидаемый вопрос зрителей: чем ZIO лучше cats.io или monix task? Спойлерить не будем, лучше посмотрите сам доклад :)

Видео доклада по ссылке.

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

Первая в России большая ламповая встреча Scala-комьюнити — как это было - 3

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

Первая в России большая ламповая встреча Scala-комьюнити — как это было - 4

Видео доклада по ссылке

Не могу не рассказать про эмоциональный и не отпускающий слушателя ни на секунду доклад Марины Морозовой.

Первая в России большая ламповая встреча Scala-комьюнити — как это было - 5

Основной тезис доклада звучал так: «Говорят, что Scala задумывалась как лучшая версия Java. Но откуда же в ней тогда эти имплиситы и почему от них так болит?»

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

Видео доклада по ссылке.

Евгений Остапенко из Datahub рассказал про бесшовный доступ к данным в распределенных системах. Доклад может быть полезен тем, кто работает с распределенными системами, пилит микросервисы, да и всем, кто пишет на Scala.

Первая в России большая ламповая встреча Scala-комьюнити — как это было - 6

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

Видео доклада по ссылке

Виталий Гонта из Andersen поднял животрепещущую тему про автоматическую генерацию инстансов тайпклассов. Его доклад — о библиотеке magnolia и о том, какую боль она решает в сравнении со всем известной shapeless.

Первая в России большая ламповая встреча Scala-комьюнити — как это было - 7

Видео доклада по ссылке

Михаил Муцянко из JetBrains поднял тему нюансов при сборке сложных артефактов, в частности scala-плагина для IJ. Для решения этой проблемы не зря написан плагин к SBT — он позволяет избавиться от императивного кода сборки.

Первая в России большая ламповая встреча Scala-комьюнити — как это было - 8

Видео доклада по ссылке

У Александра Валентинова из Tinkoff.ru был доклад про XML.

Он написал новую библиотеку, которая делает из XML scala-кейсклассы и обратно. Саша рассказал, как она работает; сравнил производительность со scalaxb (это основная библиотека для XML в Scala сейчас).

Получилось, что она работает в несколько раз быстрее и потребляет в 2,5 раза меньше памяти!

Первая в России большая ламповая встреча Scala-комьюнити — как это было - 9

Видео доклада по ссылке.

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

Первая в России большая ламповая встреча Scala-комьюнити — как это было - 10

Никита рассказал, как победить одну из болезней Scala — долгое время сборки. Бонусом затронули тему монорепозиториев, плюсы и минусы этого подхода.

Видео доклада по ссылке.

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

Первая в России большая ламповая встреча Scala-комьюнити — как это было - 11

Александр Мыльцев в докладе поделился своим опытом работы с Dotty.

Первая в России большая ламповая встреча Scala-комьюнити — как это было - 12

Он рассказал про работу над своей библиотекой на Dotty с открытым кодом для анализа инвестиционных инструментов, описал работу с этой библиотекой. Также Саша показал нюансы работы с Dotty и продемонстрировал готовый прототип.

Видео доклада по ссылке

Параллельно с докладами шли воркшопы.
Воркшоп Джона Де Гуза и Алексея Фомкина.

На воркшоп Джона мне не удалось протиснуться. А про Лешин я вам расскажу.

Леша представлял фреймворк Korolev, который позволяет рендерить веб-страницы и даже полноценные веб-приложения, задействуя только мощности серверной стороны. Выглядит это как scala-приложение, в котором, кроме серверной части, есть часть, отвечающая за генерацию страницы на сервере с использованием необычного доменного синтаксиса и всего 6-килобайтного Javascript на стороне пользователя.

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

Первая в России большая ламповая встреча Scala-комьюнити — как это было - 13

Про Korolev был отдельный доклад от Василия Морковкина, в котором он описал опыт использования фреймворка для реализации административной панели на крупном проекте в Tinkoff.ru.

Первая в России большая ламповая встреча Scala-комьюнити — как это было - 14

Видео доклада по ссылке.

Ниже будут фотографии, которые мы выложили в наши группы в ВК и ФБ. Фотки получились красивые — думаю, участникам будет приятно найти себя :)

Хоть я не пишу код на Scala, но по общению на конференции убедилась: доклады и воркшопы зашли. В хмурое осеннее утро мы наполнили лофт в центре Москвы довольными улыбками.
Очень горжусь, что нам с командой удалось стать частью комьюнити. Будем стараться, чтобы таких мероприятий стало больше :)

Первая в России большая ламповая встреча Scala-комьюнити — как это было - 15

Юля

Ссылки на первую, вторую и третью часть фотоотчета в ВК
И первую, вторую и третью часть фотоотчета в ФБ.

Автор: yuliya_bazarova

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js