- PVSM.RU - https://www.pvsm.ru -
Привет! Мы вернулись из Казани, где проводили свой первый региональный митап для Go-разработчиков вместе с сообществом GolangKazan. Спасибо всем, кто пришёл послушать доклады и познакомиться — было здорово.
На митапе выступали спикеры из компаний «Дремучий лес», Авито, Ozon.ru и Marketplace Technologies. Они рассказывали про разбор и хранение большого XML-файла на маленькой , language server gopls, CI/CD платформу drone.io и инструменты для миграции баз данных.
Под катом вас ждут видеозаписи всех докладов с таймкодами для удобной навигации, ссылки на репозитории спикеров на Гитхабе и фотоотчёт с митапа. А мы пойдём паковать рюкзаки ко второму казанскому митапу по фронтенду [2], который пройдёт уже 15 февраля.

Филипп поделился историей о том, как он с поддержкой сообщества делал телеграм-бот для проверки доменов на блокировку. У него был XML-файл на 160 MB, который нужно было разобрать, положить в базу данных и периодически обновлять. При этом отдельными условиями стояли скорость разбора файла в несколько минут и желание вписаться в недорогой виртуальный сервер, поскольку проект некоммерческий.
Из доклада вы узнаете, удалось ли остаться на недорогой
00:00 [5] — Представление спикера
02:03 [6] — Подробно о задаче и ограничениях
04:29 [7] — Обзор архитектуры проекта
05:04 [8] — Формат исходных данных
06:36 [9] — Выбор формы хранения данных
14:10 [10] — Обновление данных
20:58 [11] — Подключение gRPS
26:17 [12] — Настройки рантайма
33:08 [13] — Ответы на вопросы слушателей
Go — основной язык разработки Ильи последние пять лет. На митапе он рассказал об основных принципах работы Language Server Protocol и gopls, а также о плюсах и минусах их использования. Отдельная часть доклада посвящена сравнению GoLand и VSCode с разбором их возможностей и фич. Сам Илья предпочитает VSCode, поэтому вот ссылка на его репозиторий с конфигами [15].
00:00 [16] — Представление спикера
02:30 [17] — Что такое Language Server Protocol
07:37 [18] — Исторический обзор LSP для Go
10:33 [19] — Подробно о Go, please
16:00 [20] — Сравнение GoLand и VSCode, их преимущества и недостатки
23:32 [21] — Демо работы gopls в режиме командной строки
30:40 [22] — Ответы на вопросы слушателей
Алик рассказал о платформе drone.io, её установке и использовании для проектов на Go. Он показал, как прикрутить к своему проекту CI/CD и написать собственный плагин для платформы. На видео в разделе «Что такое drone» есть лайфхаки о том, как получить enterprise-версию drone.io бесплатно.
00:00 [24] — Представление спикера
00:41 [25] — Что такое drone
04:25 [26] — Drone CI Infrastructure
06:12 [27] — Как запустить
09:55 [28] — Демо, как прикрутить к проекту CI/CD на drone.io
19:06 [29] — Демо, как написать свой плагин
31:51 [30] — Ответы на вопросы слушателей
Для работы с миграциями баз данных есть много инструментов, написанных на разных языках. В Go такие инструменты тоже есть, хотя они и очень простые. Тамара рассказала про самые популярные из них. В докладе есть примеры кода, сравнения реализаций и подводные камни каждого инструмента.
00:00 [32] — Представление спикера
01:24 [33] — Микросервисы и их базы данных
04:08 [34] — Инструмент golang-migrate/migrate
10:51 [35] — Инструмент rubenv/sql-migrate
13:46 [36] — Инструмент pressly/goose
17:08 [37] — Пример реализации
21:30 [38] — Ответы на вопросы слушателей
Плейлист со всеми видео можно найти на нашем ютуб-канале [40].

Фотографии с митапа мы выложили в Фейсбуке [41] и ВКонтакте [42]. Посмотрите, как всё прошло, и отмечайте себя и друзей.
До новых встреч!
Автор: anna_lesnykh
Источник [43]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/xml/346557
Ссылки в тексте:
[1] VDS: https://www.reg.ru/?rlink=reflink-717
[2] казанскому митапу по фронтенду: https://avitotech.timepad.ru/event/1239353/
[3] код сервиса обработки выгрузки: https://github.com/usher2/u2ckdump
[4] телеграм-бота: https://github.com/usher2/u2ckbot
[5] 00:00: https://youtu.be/7LwL0mtBBjc?t=3
[6] 02:03: https://youtu.be/7LwL0mtBBjc?t=123
[7] 04:29: https://youtu.be/7LwL0mtBBjc?t=269
[8] 05:04: https://youtu.be/7LwL0mtBBjc?t=304
[9] 06:36: https://youtu.be/7LwL0mtBBjc?t=396
[10] 14:10: https://youtu.be/7LwL0mtBBjc?t=850
[11] 20:58: https://youtu.be/7LwL0mtBBjc?t=1258
[12] 26:17: https://youtu.be/7LwL0mtBBjc?t=1577
[13] 33:08: https://youtu.be/7LwL0mtBBjc?t=1988
[14] Посмотреть презентацию Филиппа: http://bit.ly/31RHM9x
[15] на его репозиторий с конфигами: https://github.com/nezorflame/vscode-config
[16] 00:00: https://youtu.be/rcvA5gSwj2o?t=3
[17] 02:30: https://youtu.be/rcvA5gSwj2o?t=150
[18] 07:37: https://youtu.be/rcvA5gSwj2o?t=457
[19] 10:33: https://youtu.be/rcvA5gSwj2o?t=633
[20] 16:00: https://youtu.be/rcvA5gSwj2o?t=960
[21] 23:32: https://youtu.be/rcvA5gSwj2o?t=1412
[22] 30:40: https://youtu.be/rcvA5gSwj2o?t=1840
[23] Посмотреть презентацию Ильи: http://bit.ly/31OdEM6
[24] 00:00: https://youtu.be/mKT-bLdRGvQ
[25] 00:41: https://youtu.be/mKT-bLdRGvQ?t=41
[26] 04:25: https://youtu.be/mKT-bLdRGvQ?t=265
[27] 06:12: https://youtu.be/mKT-bLdRGvQ?t=372
[28] 09:55: https://youtu.be/mKT-bLdRGvQ?t=595
[29] 19:06: https://youtu.be/mKT-bLdRGvQ?t=1146
[30] 31:51: https://youtu.be/mKT-bLdRGvQ?t=1911
[31] Посмотреть презентацию Алика: http://bit.ly/2Hgw1A5
[32] 00:00: https://youtu.be/hKnWq4RmNKE?t=3
[33] 01:24: https://youtu.be/hKnWq4RmNKE?t=84
[34] 04:08: https://youtu.be/hKnWq4RmNKE?t=248
[35] 10:51: https://youtu.be/hKnWq4RmNKE?t=651
[36] 13:46: https://youtu.be/hKnWq4RmNKE?t=826
[37] 17:08: https://youtu.be/hKnWq4RmNKE?t=1028
[38] 21:30: https://youtu.be/hKnWq4RmNKE?t=1290
[39] Посмотреть презентацию Тамары: http://bit.ly/2SCLsaW
[40] на нашем ютуб-канале: https://www.youtube.com/playlist?list=PLknJ4Vr6efQEuH6dF76YS-AkJES-HgOMD
[41] в Фейсбуке: https://www.facebook.com/pg/AvitoTech/photos/?tab=album&album_id=1461121487398528
[42] ВКонтакте: https://vk.com/album-152990965_270220492
[43] Источник: https://habr.com/ru/post/488214/?utm_campaign=488214&utm_source=habrahabr&utm_medium=rss
Нажмите здесь для печати.