GoFunc: новая конференция по Go

Разработка на Go — особый мир. Этот язык не так популярен, как Python или JavaScript, но благодаря этому и дурацкой шумихи вокруг него меньше. Популярность приманивает «случайно проходивших мимо» и вызывает много глупых холиваров. А тем временем Go собирает людей, которые уже хорошо понимают, зачем они здесь, и хотят эффективно решать реальные задачи.
В этом могут помочь конференции. Мы уже давно проводим их для многих других разработчиков, (например, HolyJS и С++ Russia). А в марте впервые проведём новую конференцию GoFunc. Главное, что нужно о ней знать:
Полностью в онлайне, можно подключиться откуда годно.
Технические доклады без воды и маркетинга.
Если вы сами готовы выступить, сейчас последние дни подачи заявок.
А подробнее — в полном тексте:
Чего вообще ждать?
Тем, кто уже был на других наших конференциях (вроде Joker, Heisenbug или Mobius), объяснять не требуется. Но для всех остальных поясним, что мы любим:
Нам важно, чтобы даже в онлайн-формате конференция была не просто просмотром видеопотока. Поэтому, например, после каждого доклада даём участникам как следует порасспрашивать спикера в формате видеосозвона.
Мы ценим технический контент, полезный для разработчиков. То есть в докладах — не разглагольствования о будущем технологий или реклама, а конкретика: код, инструменты, подходы.
До конференции уже провели серию митапов. Так что про контент можно составить собственное мнение по их видеозаписям. Вот для примера один из докладов оттуда:
А что будет в программе?
Пока что она в процессе составления, будет постепенно пополняться на сайте. Можете подписаться там на рассылку или на Telegram-канал, чтобы не пропустить новости.
А пока что известны темы шести докладов. Скажем, Искандер Шарипов, видеозапись которого прикрепили выше, снова выступит с новой темой:
Пишем XM-плеер на Go и используем его в играх
Искандер Шариповquasilyte tech
Есть такой формат модульной музыки — XM. Она компактная, хорошо звучит и относительно эффективная в воспроизведении.
В рамках доклада я покажу XM-плеер, который написал на Go, чтобы затем использовать его в своих играх. Поговорим о деталях формата, внутренностях плеера, а еще об играх, где его используют.
PGO: практика и маленькие хитрости использования
Макс РивейроOzon
Рассмотрим PGO и всё то, что кроется за этой аббревиатурой: как PGO устроен в Go, как его использовать в ваших приложениях, какие результаты вы можете получить при использовании этого способа оптимизации.
Когда нельзя, но очень хочется — GO!
Егор ЛазаренковРазберем обход всех ограничений, характерных для ООП (получение полного доступа к приватным полям, функциям, методам и типам другого пакета), и ситуации, когда это лучшее решение.
Разберемся, как изменить код программы после ее компиляции. Напишем простую программу на Gо и взломаем ее при помощи IDA. Также пропатчим драйвер для работы с PostgreSQL (pgx), добавив в него поддержку глобального трейсера без внесения изменений в исходники драйвера.
gRPC: Under the Hood
Алексей АкуловичСбер
С gRPC уже давно и плодотворно идет работа в самых разных областях. Но часто gRPC воспринимают как некую черную коробку, где с одной стороны закидывается protobuf, а с другой стороны что-то вылетает в ответ. Или имеют еще более абстрактное представление о том, как это всё работает.
В докладе разберем работу gRPC не со стороны пользователя, ибо таких материалов просто море, а о том, как оно всё работает под капотом. Это, по сути, минимальная handmade gRPC-реализация на Go stdlib. Существующие полноценные реализации останутся за рамками доклада.
Строка: от известного к неизвестному
Роман ЧалыйVK
Кажется, что строка в Go — очень понятная сущность: неизменяемый массив байт. Но она может удивить.
Расскажу, как компилятор работает со строками, какие есть оптимизации и почему применяются именно такие оптимизации.
Типы данных под капотом: слайсы и как их готовить
Владислав БелогрудовYadro
Мы затронем интересные оптимизации компилятора, стандартные средства strings.Builder, bytes.Buffer, sync.Pool и библиотеку slices на дженериках. Поговорим как про внутреннее устройство, так и про правильное использование. Попытаемся ответить на вопрос: «А почему именно так?», измерим скорость и память, а также подискутируем о лучших практиках.
Можно ли выступить?
Сейчас идёт последняя неделя приёма заявок. Так что, если вы готовы рассказать что-то полезное Go-разработчикам — ждём заявку. Под спойлером — общий список интересующих тем:
Список тем
Язык
Go «под капотом» (дженерики, каналы, горутины)
Новые фичи в Go
Компилятор
Производительность, оптимизация, PGO
Лучшие практики
Инфраструктура / DevOps
Cloud Native
Observability (трейсинг, мониторинг, логирование, непрерывное профилирование и т.д.)
Security
K8s
CI/CD
Межсервисное взаимодействие (Istio и Linkerd)
Библиотеки и инструменты
Databases && ORM
Kafka, NATS, RabbitMQ, etc.
RPC (gRPC, OpenAPI, GraphQL)
IDE (GoLand, NeoVim, VSCode)
Кодогенерация, прототипирование
Архитектура
Expand Your Horizons
WinAPI приложения на Go
Rust / Erlang / Python / Go
Нестандартные применения: GameDev
Обработка медицинских изображений на Go
TinyGo-контроллеры
cgo (c interop)
Dependency injection
ML/AI на Go
QA / Testing
Но не обязательно жёстко привязываться к нему. И знаем, что у начинающих спикеров бывает типичная проблема: «ну я сам не знаю, что интересное могу рассказать». Тут есть два варианта:
Подумать о том, с чем сталкиваешься в работе. И учесть вот что: зачастую при долгой работе над проектом у людей «замыливается глаз», когда им кажется «ну это очевидные вещи» (потому что сами сталкиваются каждый день), но для других они совершенно неочевидные.
Можно не привязываться к специфике своего проекта, а занырнуть в какую-то тему, не требующую годы изучения и опыта. Например, можно разобраться с новой версией Go и рассказать о ней так, чтобы получилось не просто чтение чейнджлога вслух.
Кроме того, если у вас есть какая-то идея, но пока что в «сыром» виде — тоже подавайте заявку. Программный комитет — это не суровые люди, которые вас за такое заругают, а помощники: если они увидят, что потенциал у темы есть, то могут помочь докрутить идею.
А судьи кто
А кто состоит в Программном комитете и решает, какие доклады попадут в программу? Люди с ощутимым опытом в Go, работающие в разных компаниях (а также два человека непосредственно от нас, JUG Ru Group):
Илья ГоркунТинькофф
Go-разработчик в Тинькофф, пишет кандидатскую по сложности алгоритмов в полугруппах, а также делает конференции по Go.
Александр КондрашовДомКлик
IT leader нескольких команд разработки. В индустрии с начала времен, когда про Go никто не слышал, а фронтенд представлял собою исключительно ванильный CSR. Специализируется на архитектуре, топит за культуру разработки, занимается people management и любит кодить собственные космолеты с покером и блэкджеком по ночам.
Андрей ТереховЯндекс
Разработчик в Яндексе. Пишет много кода на Go про перекладывание JSON. Действующий участник Go-комитета Яндекса. Учит яндексовые команды использовать Go «как бог (Роб Пайк) велел».
Кирилл ПензинБолее 8 лет в разработке, последние 4 года работает на позиции лида. Пишет на Go 5 лет.
Может копать, может не копать, может научить других копать и контролировать процесс «копания».
Ильдар КарымовYouTube-канал defer panic
Разрабатывал ПО для электромобилей и зарядных станций. Автор YouTube-канала defer panic по разработке на Go и не только.
Владимир РоманькоЛаборатория Касперского
Программирует 25 лет, тимлид более 10 лет, спасает мир от киберугроз в Kaspersky Lab.
Амангелды КадылKolesa Group
Tech Lead в hard сore-команде Kolesa Group. За десять лет из metallurgical engineer перешел в software engineer. Теперь вместо пайплайна проката делает пайплайн СI/CD и не только.
Рафаэль МустафинMagnit Tech
Тимлид в команде LastMile Magnit Tech. Занимается курьерской логистикой. Прошел путь от написания приложений для Windows до разработки бэкенд-сервисов на Go. Ментор в Яндекс Практикуме.
Михаил КабищевOzon
Руководит в Ozon разработкой платформы, которая делает жизнь разработчиков легче и проще. Организует конференции и митапы по Go.
Андрей ДмитриевJUG Ru Group
Окончил матмех СПбГУ. Программист со школы, прагматик в жизни и совладелец бизнеса по организации конференций для айтишников. Несколько лет разрабатывал библиотеки JDK в Sun Microsystems и Oracle. Руководил группой мобильной разработки в компании QuickOffice. Был руководителем распределенной группы нагрузочного тестирования в Netcracker. Сейчас — директор по производству в JUG Ru Group. Склонен доверять фактам и цифрам.
Моника КобалияJUG Ru Group
Программный координатор конференции.
Напоследок
Другая информация и билеты — уже на сайте GoFunc. А новости о программе и не только можно будет узнавать в соцсетях:
В общем, ждём всех гоферов в марте.
