Материалы митапа GOnline: дизайн библиотек, кодогенерация, машинное обучение
Делимся материалами с нашего совместного митапа с сообществами GolangKazan и Go Yola для Go-разработчиков. Под катом — видеозаписи выступлений с таймкодами для удобной навигации и ссылки на презентации спикеров.
Go Data Concurrency Detection — Эмиль Шарифуллин, СКБ Контур
Доклад про дедлок и рейс детекторы в рантайме Go. Как работают и где их можно использовать.
16:02 — Представление темы и спикера
16:16 — Коротко про язык Go
17:11 — Как работает дедлок детектор
27:30 — Что такое гонки данных и как работать с ними в Go
43:07 — Плюсы и минусы использования рейс детектора
45:55 — Где и как использовать дедлок и рейс детекторы
Посмотреть презентацию Эмиля
Горячая перезагрузка кода в Go — Юрий Насретдинов
Юрий рассказал, для чего может понадобиться горячая перезагрузка кода в Go и про то, как её реализовать.
1:02:30 — Представление темы и спикера
1:03:31 — Что из себя представляет горячая перезагрузка кода
1:04:50 — Зачем она нужна
1:05:47 — Планины в Go
1:11:01 — Soft Mocks для Go
1:12:53 — Ограничения реализации
1:14:59 — Демо горячей перезагрузки
1:20:13 — Выводы
Посмотреть презентацию Юрия
Конфигурируем http и db пакеты — Илья Богданов, iSpring Solutions
Из выступления Ильи вы узнаете, как настроить инструменты стандартной библиотеки Golang так, чтобы избежать неожиданных ошибок в production. Доклад ориентирован на начинающих разработчиков.
1:53:01 — Представление спикера и темы
1:54:19 — Как не словить ошибки соединения с базой данных
2:04:18 — http.Сlient и что с ним не так по умолчанию
2:10:40 — http.Server и его подводные камни
2:14:50 — Пользовательские блокировки MySQL
2:17:05 — Реконнект к ampq
2:18:44 — Выводы
Посмотреть презентацию Ильи
How to design a library — Богдан Сторожук
Как дизайнить API библиотек так, чтобы они всем нравились, и возможно ли это вообще.
2:43:01 — Представление спикера и темы
2:46:31 — Категории пользователей API библиотеки
2:47:47 — Как дизайнить библиотеку для обычных пользователей
2:54:58 — Как дизайнить библиотеку для продвинутых пользователей
3:08:11 — Библиотеки для экспертов
3:20:08 — Можно ли угодить сразу всем?
3:23:37 — Выводы
Посмотреть презентацию Богдана
Статический анализ регулярок — Искандер Шарипов, ВКонтакте
Рассказ про регулярные выражения и ошибки, которые может допустить каждый разработчик при их написании.
03:15 — Представление спикера и темы
05:13 — Как парсить регулярки
18:07 — Как анализировать флоу, и что это такое
21:46 — Поиск багов в регулярных выражениях
25:27 — Что ещё можно делать с регулярками
Посмотреть презентацию Искандера
Трюки кодогенерации в Go — Станислав Афанасьев, Beat
В каких случаях можно использовать кодогенерацию в Go с максимальной отдачей: разные инструменты и их особенности.
1:00:58 — Представление спикера и темы
1:03:57 — Проблема с ручным написанием моков
1:08:09 — Инструменты для генерации моков
1:17:49 — Проблема с ручным написанием Wrappers
1:20:17 — Инструмент для генерации Wrappers
1:26:41 — Нужна ли вам в компании кодогенерация
1:29:17 — Дополнительные полезные инструменты
1:31:15 — Выводы
Посмотреть презентацию Станислава
Geo Search: MongoDB vs S2 Geometry — Степан Пестерников, Авито
Степан рассказал том, что делать, когда MongoDB 2dsphere не справляется с нагрузкой по поиску геоданных, и о миграции на собственный геоиндекс.
1:50:37 — Представление спикера и темы
1:51:46 — Немного теории про геопоиск
1:52:58 — История геоархитектуры Авито и возникшие проблемы
1:55:48 — Выбор решения для проблем
1:56:20 — S2 Geometry vs MongoDB
1:59:20 — Миграция на S2 Geometry
2:03:51 — Итоги
Посмотреть презентацию Степана
Работа с моделями машинного обучения под TensorFlow: взгляд Go разработчика — Артемий Рябинков, Unity
Какой API есть у моделей TensorFlow и как с ним эффективно работать из Go. Из доклада вы узнаете о подготовке инфраструктуры к приходу ML и о том, как запустить этот самый ML своими силами.
Вот ссылка на репозиторий Артемия с инструментом для кодогенерации, о котором он говорит в выступлении.
2:42:41 — Представление спикера и темы
2:45:37 — Немного теории про машинное обучение
2:47:11 — Практика: боремся со спамом в сообщениях
3:17:05 — Подход MLOps
Посмотреть презентацию Артемия
До скорых встреч в эфире!