Материалы митапа GOnline: дизайн библиотек, кодогенерация, машинное обучение

Делимся материалами с нашего совместного митапа с сообществами GolangKazan и Go Yola для Go-разработчиков. Под катом — видеозаписи выступлений с таймкодами для удобной навигации и ссылки на презентации спикеров.

q1s5vpepe2yvfcwaaanocveopi0.png


Go Data Concurrency Detection — Эмиль Шарифуллин, СКБ Контур

Доклад про дедлок и рейс детекторы в рантайме Go. Как работают и где их можно использовать.

xsvo4ymv3is1ksudefahrk8qnjq.png

16:02 — Представление темы и спикера
16:16 — Коротко про язык Go
17:11 — Как работает дедлок детектор
27:30 — Что такое гонки данных и как работать с ними в Go
43:07 — Плюсы и минусы использования рейс детектора
45:55 — Где и как использовать дедлок и рейс детекторы


Посмотреть презентацию Эмиля


Горячая перезагрузка кода в Go — Юрий Насретдинов

Юрий рассказал, для чего может понадобиться горячая перезагрузка кода в Go и про то, как её реализовать.

cdpyhmjzwbsdw4pia3f3wnrzg00.png

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. Доклад ориентирован на начинающих разработчиков.

dju7c8qqca15jkoa_aar6oovdec.png

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 библиотек так, чтобы они всем нравились, и возможно ли это вообще.

k1waipftjy0-rqgr5llrm528kts.png

2:43:01 — Представление спикера и темы
2:46:31 — Категории пользователей API библиотеки
2:47:47 — Как дизайнить библиотеку для обычных пользователей
2:54:58 — Как дизайнить библиотеку для продвинутых пользователей
3:08:11 — Библиотеки для экспертов
3:20:08 — Можно ли угодить сразу всем?
3:23:37 — Выводы


Посмотреть презентацию Богдана


Статический анализ регулярок — Искандер Шарипов, ВКонтакте

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

7k4cyiwtx_o65d8eqvzxz9pg5qq.png

03:15 — Представление спикера и темы
05:13 — Как парсить регулярки
18:07 — Как анализировать флоу, и что это такое
21:46 — Поиск багов в регулярных выражениях
25:27 — Что ещё можно делать с регулярками


Посмотреть презентацию Искандера


Трюки кодогенерации в Go — Станислав Афанасьев, Beat

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

mabscfzxlfl9rk5hmqtqaqjnwb4.png

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 не справляется с нагрузкой по поиску геоданных, и о миграции на собственный геоиндекс.

k7tjknnwv7drm2d3mw4q9cjgtke.png

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 своими силами.

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

xdpcidh1mcxauxrlhkbxnpx34x8.png

2:42:41 — Представление спикера и темы
2:45:37 — Немного теории про машинное обучение
2:47:11 — Практика: боремся со спамом в сообщениях
3:17:05 — Подход MLOps


Посмотреть презентацию Артемия

До скорых встреч в эфире!

© Habrahabr.ru