Как реализовать подходы Mutex и lock-free и какой из них выбрать для решения вашей задачи? Как «подружиться» с пакетами unsafe и использовать их для эффективной разработки? И наконец, что ждет инженеров в релизе 1.24?
На эти и другие вопросы ответили Go-разработчики из YADRO, AvitoTech и Yandex, а мы принесли вам записи и презентации их обсуждений. Из докладов вы узнаете о работе с критической секцией и подводных камнях unsafe. А после просмотра дискуссии поймете, какие фичи из нового релиза сделают вашу жизнь лучше.
Mutex? А может, лучше lock-free! Реализуем подходы и сравниваем производительность

Илья Уваркин
Инженер систем управления СХД в YADRO
Коротко о сути доклада: Один из очевидных способов работы с критической секцией в Go — добавление Mutex. Однако есть условия, когда предпочтительнее использовать другой подход — lock-free. Например, когда горутины не особо сильно конкурируют за критический ресурс. Илья покажет, как реализовать и Mutex, и lock-free, чтобы вы сами решили, какой подход вам ближе.
Зачем смотреть: Посмотреть, как устроен lock-free-подход к работе с критической секцией на примере реального проекта.
Это (не)безопасно: как не выстрелить себе в ногу, используя пакеты unsafe

Нина Пакшина
Go-разработчик с 13-летним стажем
Коротко о сути доклада: Многие инженеры избегают пакеты unsafe, считая их слишком сложными и небезопасными. Но так ли это на самом деле?
Нина рассказала о возможностях пакета unsafe, показала, где именно скрываются подводные камни, и объяснила, в каких ситуациях его использование оправдано. На конкретных примерах вы познакомитесь с оптимизацией структур, научитесь получать доступ к скрытым полям и эффективно преобразовывать данные для работы с промышленными протоколами. Кроме того, автор разобрала ключевые элементы пакетов unsafe, углубилась в тонкости адресной арифметики и показала, как освоить методы безопасного преобразования типов.
Зачем смотреть: Чтобы перестать бояться unsafe и научиться писать более надежный код с помощью пакетов.
Чем будут пользоваться инженеры в Go 1.24: постквантовая криптография, указание версии тулов, Omitzero
Участники дискуссии:

Даниил Подольский
Эксперт по разработке ПО и один из лидеров внутреннего Go-сообщества, YADRO

Александр Иванов
Старший инженер-программист, YADRO

Павел Агалецкий
Ведущий инженер в платформе, AvitoTech

Игорь Панасюк
Go-разработчик, Yandex. Преподаватель, ИТМО
Коротко о сути дискуссии: «Самый большой Сhangelog на моей памяти» — так Даниил Подольский описал объемы обновлений в Go 1.24. Действительно, в свежем релизе «подвезли» много интересных фичей: от постквантовой криптографии до нового финализатора. Но все ли они полезны для разработчиков? Есть ли в релизе фичи, которые мешают, а не помогают эффективной разработке?
Ведущие разработчики из крупных компаний обсудили эти вопросы, чтобы вскрыть все сильные и слабые места Go 1.24.
Зачем смотреть: Помимо наблюдения за полезной дискуссией, можно устроить игру «Проверь себя». Модератор встречи задает залу каверзные вопросы — например, про использование пакета unique
. Если не знаете ответов, делайте заметки, чтобы не забыть, какие темы в Go стоит освежить в памяти.
Что еще почитать про Go-разработку:
Готовим слайсы в Go: подробно о динамических массивах, строчках и ускорении
Это путь воина: как я выучил Python и Go с помощью Цеттелькастена и кому точно не рекомендую метод
Design by Contract на минималках: пишем assertions и улучшаем устойчивость на Go