Pull to refresh
232.71
JUG Ru Group
Конференции для Senior-разработчиков

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

Reading time6 min
Views2.5K

Разработка на 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 на дженериках. Поговорим как про внутреннее устройство, так и про правильное использование. Попытаемся ответить на вопрос: «А почему именно так?», измерим скорость и память, а также подискутируем о лучших практиках.


Снижаем нагрузку на Garbage Collector и ускоряем работу с памятью, используя sync.Pool там, где это уместно

Александр Иванов

YADRO

Спикер расскажет, какие подходы попробовал, чтобы уменьшить влияние GC на ход выполнения задачи, приведёт результаты бенчмарков для разных размеров буферов данных и объяснит, почему остановился на sync.Pool для решения задачи обработки 1К+ сообщений в секунду. Описание подробнее — на сайте.


Можно ли выступить?

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

Список тем

Язык

  • Go «под капотом» (дженерики, каналы, горутины)

  • Новые фичи в Go

  • Компилятор

  • Производительность, оптимизация, PGO

Лучшие практики

  • Go Way

  • Оформление проектов и репозиториев

  • Архитектура кода

Инфраструктура / DevOps

  • Cloud Native

  • Observability (трейсинг, мониторинг, логирование, непрерывное профилирование и т.д.)

  • Security

  • K8s

  • CI/CD

  • Межсервисное взаимодействие (Istio и Linkerd)

Библиотеки и инструменты

  • Databases && ORM

  • Kafka, NATS, RabbitMQ, etc.

  • RPC (gRPC, OpenAPI, GraphQL)

  • IDE (GoLand, NeoVim, VSCode)

  • Кодогенерация, прототипирование

Архитектура

  • Высокие нагрузки

  • Чистая архитектура

  • Микросервисы

  • Domain Driven Design

Expand Your Horizons

  • WinAPI приложения на Go

  • Rust / Erlang / Python / Go

  • Нестандартные применения: GameDev

  • Обработка медицинских изображений на Go

  • TinyGo-контроллеры

  • cgo (c interop)

  • Dependency injection

  • ML/AI на Go

QA / Testing

  • Unit Tests

  • GeenkoGo: BDD @ Go

  • TestContainers

  • Генераторы нагрузки, fuzzing, benchmarking

Но не обязательно жёстко привязываться к нему. И знаем, что у начинающих спикеров бывает типичная проблема: «ну я сам не знаю, что интересное могу рассказать». Тут есть два варианта:

  • Подумать о том, с чем сталкиваешься в работе. И учесть вот что: зачастую при долгой работе над проектом у людей «замыливается глаз», когда им кажется «ну это очевидные вещи» (потому что сами сталкиваются каждый день), но для других они совершенно неочевидные.

  • Можно не привязываться к специфике своего проекта, а занырнуть в какую-то тему, не требующую годы изучения и опыта. Например, можно разобраться с новой версией 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. А новости о программе и не только можно будет узнавать в соцсетях:

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

Tags:
Hubs:
Total votes 14: ↑14 and ↓0+14
Comments0

Articles

Information

Website
jugru.org
Registered
Founded
Employees
51–100 employees
Location
Россия
Representative
Алексей Федоров