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

e616720499cf007d0448d643e0852073.jpeg

Разработка на Go — особый мир. Этот язык не так популярен, как Python или JavaScript, но благодаря этому и дурацкой шумихи вокруг него меньше. Популярность приманивает «случайно проходивших мимо» и вызывает много глупых холиваров. А тем временем Go собирает людей, которые уже хорошо понимают, зачем они здесь, и хотят эффективно решать реальные задачи. 

В этом могут помочь конференции. Мы уже давно проводим их для многих других разработчиков, (например, HolyJS и С++ Russia). А в марте впервые проведём новую конференцию GoFunc. Главное, что нужно о ней знать:

  • Полностью в онлайне, можно подключиться откуда годно. 

  • Технические доклады без воды и маркетинга. 

  • Если вы сами готовы выступить, сейчас последние дни подачи заявок.

А подробнее — в полном тексте:

Чего вообще ждать?

Тем, кто уже был на других наших конференциях (вроде Joker, Heisenbug или Mobius), объяснять не требуется. Но для всех остальных поясним, что мы любим:

  • Нам важно, чтобы даже в онлайн-формате конференция была не просто просмотром видеопотока. Поэтому, например, после каждого доклада даём участникам как следует порасспрашивать спикера в формате видеосозвона. 

  • Мы ценим технический контент, полезный для разработчиков. То есть в докладах — не разглагольствования о будущем технологий или реклама, а конкретика: код, инструменты, подходы.

  • До конференции уже провели серию митапов. Так что про контент можно составить собственное мнение по их видеозаписям. Вот для примера один из докладов оттуда:

А что будет в программе?

Пока что она в процессе составления, будет постепенно пополняться на сайте. Можете подписаться там на рассылку или на Telegram-канал, чтобы не пропустить новости.

А пока что известны темы шести докладов. Скажем, Искандер Шарипов, видеозапись которого прикрепили выше, снова выступит с новой темой:

Пишем XM-плеер на Go и используем его в играх

815339c31917034ab7c9770342188124.jpegИскандер Шарипов

quasilyte tech

Есть такой формат модульной музыки — XM. Она компактная, хорошо звучит и относительно эффективная в воспроизведении.

В рамках доклада я покажу XM-плеер, который написал на Go, чтобы затем использовать его в своих играх. Поговорим о деталях формата, внутренностях плеера, а еще об играх, где его используют.

PGO: практика и маленькие хитрости использования

7c68d09d3f6deffdf425831d8d9028cc.jpgМакс Ривейро

Ozon

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

Когда нельзя, но очень хочется — GO!

716fb236e8e16051b76ee9712d261a51.jpegЕгор Лазаренков

Разберем обход всех ограничений, характерных для ООП (получение полного доступа к приватным полям, функциям, методам и типам другого пакета), и ситуации, когда это лучшее решение.

Разберемся, как изменить код программы после ее компиляции. Напишем простую программу на Gо и взломаем ее при помощи IDA. Также пропатчим драйвер для работы с PostgreSQL (pgx), добавив в него поддержку глобального трейсера без внесения изменений в исходники драйвера.

gRPC: Under the Hood

0f3259a9a4f378406e82a7fff83a6b78.pngАлексей Акулович

Сбер

С gRPC уже давно и плодотворно идет работа в самых разных областях. Но часто gRPC воспринимают как некую черную коробку, где с одной стороны закидывается protobuf, а с другой стороны что-то вылетает в ответ. Или имеют еще более абстрактное представление о том, как это всё работает.

В докладе разберем работу gRPC не со стороны пользователя, ибо таких материалов просто море, а о том, как оно всё работает под капотом. Это, по сути, минимальная handmade gRPC-реализация на Go stdlib. Существующие полноценные реализации останутся за рамками доклада.

Строка: от известного к неизвестному

ec999be2829f5acd2281970d7b34d94d.pngРоман Чалый

VK

Кажется, что строка в Go — очень понятная сущность: неизменяемый массив байт. Но она может удивить.

Расскажу, как компилятор работает со строками, какие есть оптимизации и почему применяются именно такие оптимизации.

Типы данных под капотом: слайсы и как их готовить

e7466c55ef3bbd002e1df0500e3a2acd.jpegВладислав Белогрудов

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):

3c007ebf46c0d0b7f3ced09973b7ce70.jpegИлья Горкун

Тинькофф

Go-разработчик в Тинькофф, пишет кандидатскую по сложности алгоритмов в полугруппах, а также делает конференции по Go.

51698b947e0939c8f8a43b1d4e16bb7b.jpegАлександр Кондрашов

ДомКлик

IT leader нескольких команд разработки. В индустрии с начала времен, когда про Go никто не слышал, а фронтенд представлял собою исключительно ванильный CSR. Специализируется на архитектуре, топит за культуру разработки, занимается people management и любит кодить собственные космолеты с покером и блэкджеком по ночам.

06766673b2a6dfbca4e5f346a1913877.pngАндрей Терехов

Яндекс

Разработчик в Яндексе. Пишет много кода на Go про перекладывание JSON. Действующий участник Go-комитета Яндекса. Учит яндексовые команды использовать Go «как бог (Роб Пайк) велел».

e24651446aa8f215f9c2efc3a4d3e1ac.jpegКирилл Пензин

Более 8 лет в разработке, последние 4 года работает на позиции лида. Пишет на Go 5 лет.

Может копать, может не копать, может научить других копать и контролировать процесс «копания».

19df688bb746322d60eb98d6f0c0546a.jpegИльдар Карымов

YouTube-канал defer panic

Разрабатывал ПО для электромобилей и зарядных станций. Автор YouTube-канала defer panic по разработке на Go и не только.

0c1f196e916393492de0e5b3283fee05.jpegВладимир Романько

Лаборатория Касперского

Программирует 25 лет, тимлид более 10 лет, спасает мир от киберугроз в Kaspersky Lab.

e76d7620e819532d2a6418ed25cac826.jpegАмангелды Кадыл

Kolesa Group

Tech Lead в hard сore-команде Kolesa Group. За десять лет из metallurgical engineer перешел в software engineer. Теперь вместо пайплайна проката делает пайплайн СI/CD и не только.

8510e7806d87709d8d1b2ba46babd8dd.jpegРафаэль Мустафин

Magnit Tech

Тимлид в команде LastMile Magnit Tech. Занимается курьерской логистикой. Прошел путь от написания приложений для Windows до разработки бэкенд-сервисов на Go. Ментор в Яндекс Практикуме.

6aa50ff8bc7c99a0ceea49cdaf76de13.jpegМихаил Кабищев

Ozon

Руководит в Ozon разработкой платформы, которая делает жизнь разработчиков легче и проще. Организует конференции и митапы по Go.

51a82672e07e0ba39e0323444bda9601.jpegАндрей Дмитриев

JUG Ru Group

Окончил матмех СПбГУ. Программист со школы, прагматик в жизни и совладелец бизнеса по организации конференций для айтишников. Несколько лет разрабатывал библиотеки JDK в Sun Microsystems и Oracle. Руководил группой мобильной разработки в компании QuickOffice. Был руководителем распределенной группы нагрузочного тестирования в Netcracker. Сейчас — директор по производству в JUG Ru Group. Склонен доверять фактам и цифрам.

482eebc4273302242786d269fc0a6f56.jpegМоника Кобалия

JUG Ru Group

Программный координатор конференции.

Напоследок

Другая информация и билеты — уже на сайте GoFunc. А новости о программе и не только можно будет узнавать в соцсетях:

В общем, ждём всех гоферов в марте.

© Habrahabr.ru