GOLANG NINJA. Искусство безмолвной паники

Без паники – мы не на Титанике! По полочкам разбираем панику в Go, а также неотрывно связанный с ней механизм отложенных функций.
Мы не подойдём тем, кто никогда не разрабатывал ни на одном языке программирования или едва знаком с Go
Online
> 90 заданий
Без дедлайнов
24 урока

Рейтинг на платформе 5.0

Обучили секретным техникам

164 ниндзя

В панике же не так много сухой теории, но есть где развернуться в плане:
  • разбора сложных механизмов языка вплоть до кода рантайма и ассемблера;
  • задач на боевое применения defer, как отдельно, так и в связке с panic / recover;
лучших практик и подводных камней непосредственно паникования.

Таким образом, курс получился менее обширным по теоретическому материалу (хотя он всё равно охватывает все без исключения аспекты заявленной темы), но более глубоким по погружению во внутренности Go и более плотным (может даже интересным) относительно практических задач.

Мы постарались сделать курс более динамичным, чем его предшественник. Что это значит?

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

Разработчики, ежедневно практикующие Golang, среднего уровня экспертизы и выше.

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

Для кого этот курс
Мы пропагандируем экологичный подход к маркетингу и никогда не навязываем вам покупку курсов.
В курс входят
Начальные требования
Урока

Знание Go на уровне решения небольших, но порою сложных задачек.

Знание гошного (или хоть какого-нибудь) ассемблера на базовом уровне (необязательно уметь писать, но нужно уметь читать и понимать смысл инструкций).

Установленный компилятор Go >= 1.18.

Минимальное владение git.

Крайне желательна Unix-подобная ОС (не Windows).

Тестов
24
57
Интерактивных задачи
34
Часов на прохождение
90+

О курсе

Программа курса

Вступительное слово
Паника, и с чем её едят
Заключительное слово
Магия отложенного вызова функций
4 модуля
24 урока
56 тестов
34 интерактивные задачи
Go Runtime
Go Assembler
Defer Performance
Panic Internals
os.Exit
Must Functions
runtime.Goexit

Модули курса

30 минут

13 часов

22 часа

1 час

Вступительное слово

01

Вступительное слово

30 минут

Магия отложенного вызова функций

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 минут

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

Обучение начинается с введения в концепцию defer и его связи с обработкой паники (panic/recover). Далее рассматриваются основные свойства оператора defer, его взаимодействие с внешней областью видимости, особенности игнорирования ошибок в отложенных вызовах, а также влияние на возвращаемые значения функций.

Завершается раздел обзором рекомендуемой литературы, углубляющей понимание темы и предоставляющей дополнительные ресурсы для самостоятельного изучения.

Особое внимание уделяется внутреннему устройству defer в рантайме Go, анализу его накладных расходов и оптимизаций, внесённых в релизах Go 1.13–1.18. Практическая часть включает задания, направленные на освоение наиболее распространённых приёмов использования defer и оценку целесообразности его применения в различных сценариях. Также рассматривается функция runtime.SetFinalizer, позволяющая управлять сборкой мусора в Go и имеющая определённые аналогии с defer.

Паника, и с чем её едят

01

Вступление

30 минут

02

Понятие паники: panic

2 часа

03

Механизм восстановления после паники: recover

3 часа

04

Паника во время паники

30 минут

05

Неуловимые паники

3 часа

06

Когда допустимо паниковать?

3 часа

07

Dynamic & static assertion в Go

2 часа

08

Must-функции

1,5 часа

09

Паника: дополнительные главы

30 минут

10

Опасный os.Exit

30 минут

11

Непопулярный runtime.Goexit

2 часа

12

Литература

3,5 часа

В этом разделе мы подробно разберём механизм паники (panic) в языке программирования Go. Паника — это механизм экстренного завершения выполнения
программы или отдельных её частей при
возникновении критических ошибок. Мы изучим, как паника работает на уровне рантайма, какие бывают её разновидности и как правильно с ней взаимодействовать.

Раздел начинается с общего понимания panic, затем рассматривается механизм её восстановления (recover), а также особые случаи, такие как паника во время уже
происходящей паники. Мы уделим внимание вопросам, связанным с неуловимыми паниками, и разберёмся, в каких ситуациях оправдано использовать панику, а когда её лучше избегать.

Также мы изучим практические аспекты: использование panic в Must- функциях, организацию динамических и статических ассертов, а также альтернативные методы завершения программы, такие как os. Exit и runtime.Goexit.
Заключительная часть раздела содержит дополнительные темы, не вошедшие в основные уроки, и список рекомендуемой литературы для углублённого изучения

Заключительное слово

01

Заключительное слово

1 час

Купите ПАКЕТ из ДВУХ курсов по специальной цене

Покупка пакета курсов – это наиболее выгодный способ приобрести оба курса в любом случае, независимо от периодических акций и скидок.
В пакет входят 2 курса:

Искусство работы с ошибками

С эти курсом проходят

Искусство безмолвной паники

Скидка -35%

Стоимость курса

17 706 ₽ / за курс

ДОСТУП К КУРСУ ПРИДЁТ НА УКАЗАННЫЙ EMAIL
В ТЕЧЕНИЕ ТРЁХ РАБОЧИХ ДНЕЙ ПОСЛЕ ОПЛАТЫ 👌

32 000 ₽ / за курс

Вы попробовали и поняли, что вам сейчас не подходит этот курс? Ничего страшного, мы можете запросить возврат средств в течение 30 дней после покупки.

Искусство безмолвной паники