ModeratoR #1
Administrator
Автор: Антон Телышев, Дмитрий Назарков Название: Продвинутая работа с ошибками в Go (Golang) (2022) Описание: Мы считаем, что грамотная обработка ошибок – это залог отказоустойчивости вашего приложения и здесь не всё так очевидно, как кажется на первый взгляд: Сколько способов обернуть ошибку вы знаете? Один? Два? А их больше пяти! Какие подводные камни скрывает каждый из них? Как обработать ошибку, не импортируя её пакет? Может быть, вы знаете как стандартная библиотека пишет стектрейс ошибки? А что такое константные ошибки? А стектрейс – это вообще дорогая штука? Чем опасен метод Error и какой тип ресивера ему выбрать? Какие ошибки можно игнорировать, а какие нет? Как обрабатывать ошибки, происходящие конкурентно? Что делать, если пакет не предоставляет нужной ошибки? Где и как логировать ошибки? Насколько сторонние модули по работе с ошибками совместимы со стандартной библиотекой? Как Go дошёл до текущих механизмов ошибок и что нас ждёт впереди? и т.д. Основная цель курса – сделать ваш код по работе с ошибками production ready. Если вы думаете, что работа с ошибками в Go заканчивается знанием о errors.Is и errors.As, то вам точно к нам. Содержание: Первый модуль. Вступительное слово Узнаем, какие компиляторы понадобятся, в чём разрабатывать и где общаться. Вступительное слово Второй модуль. Концепция ошибок в Си Всё новое - это хорошо забытое старое. Вступление Знакомство с errno Знакомство с errno_t Организация "своих" ошибок Литература Третий модуль. Концепция ошибок в Go Пришло время познать дзен ошибок в Go. Вступление Введение в интерфейсы в Go Концепция ошибок в Go Базовые подходы к обработке ошибок в Go Стандартный пакет errors Врапинг ошибок до Go 1.13 Врапинг ошибок после Go 1.13 (часть 1) Врапинг ошибок после Go 1.13 (часть 2) Литература Четвёртый модуль. Нестандартные модули для работы с ошибками в Go Разберём инструменты по работе с ошибками от сообщества Go. Вступление github.com/pkg/errors (часть 1) github.com/pkg/errors (часть 2) github.com/pkg/errors (часть 3) github.com/cockroachdb/errors (часть 1) github.com/cockroachdb/errors (часть 2) Прочие нестандартные модули Литература Пятый модуль. Лучшие практики по работе с ошибками в Go Как правильно "ошибаться" в Go? Вступление Объявление ошибок Ошибки и тип ресивера Константные ошибки Базовые идиомы по обработке ошибок (часть 1) Про метод Error() Базовые идиомы по обработке ошибок (часть 2) Исключения из правил Лучшие практики врапинга Оборачивание io.EOF и иже с ним Логирование ошибок Monadic-style работа с ошибками Линтеры и ошибки (часть 1) Линтеры и ошибки (часть 2) Литература Шестой модуль. Работа с ошибками в тестах Тесты – это тоже код. И требования к ним не должны отличаться от требований к коду. Вступление Работа с ошибками в тестах (часть 1) Работа с ошибками в тестах (часть 2) Работа с ошибками в тестах (часть 3) Литература Седьмой модуль. Работа с ошибками при конкурентном коде Немного поговорим об ошибках в контексте concurrency. Вступление Передача ошибок между горутинами Ошибки при выполнении групповых задач Литература Восьмой модуль. Будущее ошибок в Go 2 Прекрасное далёко, не будь ко мне жестоко. Вступление Error Inspection & Printing Error Handling Литература Вы получаете Доступ к продвинутой теории по теме курса и спискам литературы Доступ к GitHub-репозиторию с примерами и заготовками для задач |
Для просмотра скрытого содержимого вы должны войти или зарегистрироваться.
Для просмотра скрытого содержимого вы должны войти или зарегистрироваться.