Содержание пакета (2 курса)
1. GOLANG NINJA. Искусство безмолвной паники 5.00
Вступительное слово
1 урок
1.
Вступительное слово
↗
Магия отложенного вызова функций
10 уроков
1.
Вступление
↗
2.
Оператор defer и его свойства
↗
3.
defer: доступ к внешней области видимости
↗
4.
defer: игнорирование ошибок
↗
5.
defer: внутреннее устройство и производительность
↗
6.
defer: оптимизации к Go 1.14
↗
7.
defer: оптимизации к Go 1.18
↗
8.
Практика по боевому применению defer
↗
9.
runtime.SetFinalizer
↗
10.
Литература
↗
Паника, и с чем её едят
12 уроков
1.
Вступление
↗
2.
Понятие паники: panic
↗
3.
Механизм восстановления после паники: recover
↗
4.
Паника во время паники
↗
5.
Неуловимые паники
↗
6.
Когда допустимо паниковать?
↗
7.
Dynamic & static assertion в Go
↗
8.
Must-функции
↗
9.
Паника: дополнительные главы
↗
10.
Опасный os.Exit
↗
11.
Непопулярный runtime.Goexit
↗
12.
Литература
↗
Заключительное слово
1 урок
1.
Заключительное слово
↗
2. GOLANG NINJA. Искусство работы с ошибками 5.00
Вступительное слово
1 урок
1.
Вступительное слово
↗
Концепция ошибок в Си
5 уроков
1.
Вступление
↗
2.
Знакомство с errno
↗
3.
Знакомство с errno_t
↗
4.
Организация "своих" ошибок
↗
5.
Литература
↗
Концепция ошибок в Go
10 уроков
1.
Вступление
↗
2.
Введение в интерфейсы в Go
↗
3.
Концепция ошибок в Go
↗
4.
Базовые подходы к обработке ошибок в Go
↗
5.
Стандартный пакет errors
↗
6.
Врапинг ошибок до Go 1.13
↗
7.
Врапинг ошибок после Go 1.13 (часть 1)
↗
8.
Врапинг ошибок после Go 1.13 (часть 2)
↗
9.
Изменения после Go 1.20
↗
10.
Литература
↗
Нестандартные модули для работы с ошибками в Go
8 уроков
1.
Вступление
↗
2.
github.com/pkg/errors (часть 1)
↗
3.
github.com/pkg/errors (часть 2)
↗
4.
github.com/pkg/errors (часть 3)
↗
5.
github.com/cockroachdb/errors (часть 1)
↗
6.
github.com/cockroachdb/errors (часть 2)
↗
7.
Прочие нестандартные модули
↗
8.
Литература
↗
Лучшие практики по работе с ошибками в Go
15 уроков
1.
Вступление
↗
2.
Объявление ошибок
↗
3.
Ошибки и тип ресивера
↗
4.
Константные ошибки
↗
5.
Базовые идиомы по обработке ошибок (часть 1)
↗
6.
Про метод Error
↗
7.
Базовые идиомы по обработке ошибок (часть 2)
↗
8.
Исключения из правил
↗
9.
Лучшие практики врапинга
↗
10.
Оборачивание io.EOF и иже с ним
↗
11.
Логирование ошибок
↗
12.
Monadic-style работа с ошибками
↗
13.
Линтеры и ошибки (часть 1)
↗
14.
Линтеры и ошибки (часть 2)
↗
15.
Литература
↗
Работа с ошибками в тестах
5 уроков
1.
Вступление
↗
2.
Работа с ошибками в тестах (часть 1)
↗
3.
Работа с ошибками в тестах (часть 2)
↗
4.
Работа с ошибками в тестах (часть 3)
↗
5.
Литература
↗
Работа с ошибками при конкурентном коде
4 урока
1.
Вступление
↗
2.
Передача ошибок между горутинами
↗
3.
Ошибки при выполнении групповых задач
↗
4.
Литература
↗
Будущее ошибок в Go 2
4 урока
1.
Вступление
↗
2.
Error Inspection & Printing
↗
3.
Error Handling
↗
4.
Литература
↗
Заключительное слово
1 урок
1.
Заключительное слово
↗