Привет! 25 апреля будет наш совместный онлайн-митап с сообществами GolangKazan и Go Yola для Go-разработчиков. В программе — два потока и восемь докладов на самые разные темы. Под катом — ссылки на видеотрансляцию, тезисы докладов и расписание мероприятия.
Пароли и явки
Два потока трансляции стартуют на ютуб канале AvitoTech 25 апреля в 16:00, это суббота. Вот ссылка на первый зал, а вот — на второй. Смело задавайте вопросы в чате — лучшие озвучит ведущий. После каждого доклада можно будет пообщаться со спикером в Зуме вне эфира.
Пожалуйста, добавьте событие себе в календарь, чтобы не пропустить начало, потому что отдельного напоминания на почте не будет. Вот ссылка на событие для ICS-календаря, который обычно работает на айфонах и маках, а вот — для Google-календаря.
Мы будем благодарны, если вы зарегистрируетесь на митап по ссылке, это поможет понять примерное количество участников.
Доклады
Go Data Concurrency Detection — Эмиль Шарифуллин, СКБ Контур
Доклад о том, как работают дедлок и рейс детекторы в рантайме Go. С интерактивными примерами и ссылками на Гитхаб.
Эмиль раньше работал в RedHat в Чехии. Учился в КНИТУ-КАИ.
Статический анализ регулярок — Искандер Шарипов, ВКонтакте
Вас ждёт рассказ об ошибках, которые может допустить каждый разработчик при написании регулярных выражений. Рассмотрим, какие из ошибок могут находить статические анализаторы go-critic для Go и NoVerify для PHP.
Искандер — разработчик тулчейнов и инструментов статического анализа. Активист из GolangKazan, со-ведущий Generic Talks, рисовач гоферов.
Live перезагрузка кода в Go — Юрий Насретдинов
Юрий расскажет, для чего может понадобиться «горячая» перезагрузка кода в Go, то есть обновление кода прямо во время исполнения программы, и про то, как её реализовать. Посмотрим на особенности работы плагинов в Go и на то, как можно подменять реализацию кода на лету.
Юрий — мистер «Сайтовый Надежный Инженер», автор популярных утилит и библиотек на Go и PHP. Вы также можете знать его по множеству публикаций на Хабре и выступлениям на HighLoad++. Сейчас работает в Google.
Трюки кодогенерации в Go — Станислав Афанасьев, Beat
Доклад про то, в каких случаях можно использовать кодогенерацию в Go с максимальной отдачей. Поговорим про различные инструменты и их особенности.
Станислав программирует с 2005. Фанат Go c 2015. Помогает организовывать goway.io с 2017.
Конфигурируем http и db пакеты — Илья Богданов, iSpring Solutions
Поговорим про настройки:
- Соединения с БД (sql.DB) — количество соединений и время их жизни.
- Http.Server — Таймауты и CORS.
- Http.Client — настраиваем транспорт (RoundTripper).
- Streadway/amqp и реконнект при потере соединения с AMQP сервером.
Илья работает инженером-программистом в iSpring уже 5 лет. Закончил магистратуру в Поволжском Государственном Технологическом Университете. В свободное время занимается программированием графического движка и микроконтроллерами.
Geo Search: MongoDB vs S2 Geometry — Степан Пестерников, Авито
Рассмотрим особенности работы с S2 Geo Library при поиске локаций и полигонов. Поговорим о том, что делать, когда MongoDB 2dsphere не справляется с нагрузкой по поиску геоданных, и о миграции на собственный геоиндекс. В докладе — примеры кода, сравнения реализации, бенчмарки и особенности запуска в продакшн.
Степан — Software Engineer в компании Авито, занимается разработкой в команде GEO BX.
How to design a library — Богдан Сторожук
Доклад о том, как дизайнить API библиотек так, чтобы было удобно и новичку и эксперту. Богдан расскажет, как сделать чистый, эффективный, предсказуемый и прозрачный API. А также как выбирать библиотеки и зависимости в проект и как оценивать свой выбор.
Богдан — эксперт системной разработки на Go и Java. Со-ведущий Generic Talks и Good reviewer — Bad reviewer. Автор и меинтейнер множества open source проектов.
Работа с моделями машинного обучения под TensorFlow: взгляд Go разработчика — Артемий Рябинков, Unity
Не пугайтесь названия — в рамках доклада знать про ML не обязательно и даже вредно. Будем говорить не про «обучение», а про инженерную часть.
Мы зачастую воспринимаем машинное обучение как черный ящик, и это здорово! Такое восприятие позволяет построить систему со слабой связностью и возможностью её масштабировать. Но для взаимодействия между разными частями системы нужен контракт. Я расскажу про то, какой API есть у моделей TensorFlow и как с ним эффективно работать из Go.
Кроме этого поговорим о подготовке инфраструктуры к приходу ML и о том, как нам запустить этот самый ML своими силами, без человека с погонами "Data Science" в команде. В качестве практического задания будем бороться со спамом в сообщениях.
Артемий строит инфраструктуру вокруг машинного обучения в Unity. До этого работал в Авито, где участвовал в разработке мессенджера, а также запускал платформу для аренды недвижимости. Пишет на Go с версии 1.5. Участвовал в разработке драйвера для Postgres — pgx, и в целом интересуется базами данных в различных проявлениях. Уже несколько лет помогает сервисам запускаться и работать в Kubernetes и распространяет культуру Effective Go.
Программа
16:00 Старт трансляции.
16:10—16:50
Зал 1: Go Data Concurrency Detection — Эмиль Шарифуллин, СКБ Контур.
Зал 2: Статический анализ регулярок — Искандер Шарипов, ВКонтакте.
17:00—17:40
Зал 1: Live перезагрузка кода в Go — Юрий Насретдинов.
Зал 2: Трюки кодогенерации в Go — Станислав Афанасьев, Beat.
17:50—18:30
Зал 1: Конфигурируем http и db пакеты — Илья Богданов, iSpring Solutions.
Зал 2: Geo Search: MongoDB vs S2 Geometry — Степан Пестерников, Авито.
18:40—19:20
Зал 1: How to design a library — Богдан Сторожук.
Зал 2: Работа с моделями машинного обучения под Tensorflow — Артемий Рябинков, Unity.
19:30 Afterparty в Зуме.
До встречи в онлайне!