Данный курс завершает специализацию "Искусство работы с ошибками и безмолвной паники в Go".
В панике же не так много сухой теории, но есть где развернуться в плане:
разбора сложных механизмов языка вплоть до кода рантайма и ассемблера;
задач на боевое применения defer, как отдельно, так и в связке с panic / recover;
лучших практик и подводных камней непосредственно паникования.
Таким образом, курс получился менее обширным по теоретическому материалу (хотя он всё равно охватывает все без исключения аспекты заявленной темы), но более глубоким по погружению во внутренности Go и более плотным (может даже интересным) относительно практических задач.
Мы постарались сделать курс более динамичным, чем его предшественник. Что это значит?
Курс про ошибки более фундаментальный с теоретической точки зрения. Так как каждый приводимый нами тезис подкрепляется задачей, задач получилось огромное количество и многим людям тяжело пройти курс целиком.
Разработчики, ежедневно практикующие Golang, среднего уровня экспертизы и выше.
Обязательно предварительно пройдите открытые уроки и порешайте задачи в них, чтобы понять формат и способ подачи материала
Для кого этот курс
Мы пропагандируем экологичный подход к маркетингу и никогда не навязываем вам покупку курсов.
В курс входят
Начальные требования
Знание Go на уровне решения небольших, но порою сложных задачек.
Знание гошного (или хоть какого-нибудь) ассемблера на базовом уровне (необязательно уметь писать, но нужно уметь читать и понимать смысл инструкций).
В данном разделе рассматривается механизм отложенных вызовов функций в языке программирования Go, представленный оператором defer. Раздел закладывает прочную теоретическую и практическую базу, необходимую для понимания работы defer, его внутреннего устройства и влияния на производительность программ.
Завершается раздел обзором рекомендуемой литературы, углубляющей понимание темы и предоставляющей дополнительные ресурсы для самостоятельного изучения.
Особое внимание уделяется внутреннему устройству defer в рантайме Go, анализу его накладных расходов и оптимизаций, внесённых в релизах Go 1.13–1.18. Практическая часть включает задания, направленные на освоение наиболее распространённых приёмов использования defer и оценку целесообразности его применения в различных сценариях. Также рассматривается функция runtime.SetFinalizer, позволяющая управлять сборкой мусора в Go и имеющая определённые аналогии с defer.
Обучение начинается с введения в концепцию defer и его связи с обработкой паники (panic/recover). Далее рассматриваются основные свойства оператора defer, его взаимодействие с внешней областью видимости, особенности игнорирования ошибок в отложенных вызовах, а также влияние на возвращаемые значения функций.
01
Вступление
1 час
02
Оператор defer и его свойства
1 час
03
defer: доступ к внешней области видимости
1 час
04
defer: игнорирование ошибок
1 час
05
defer: внутреннее устройство и производительность
30 минут
06
defer: оптимизации к Go 1.14
30 минут
07
defer: оптимизации к Go 1.18
30 минут
08
Практика по боевому применению defer
7 часов
09
runtime.SetFinalizer
30 минут
С эти курсом проходят
В магазине представлены разработанные и готовые к прохождению курсы