Мы используем cookie для стабильной работы сервиса. Подробнее

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

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

  Сложность

Повышение квалификации

  Длительность

Курс не имеет дедлайнов, можно проходить в удобном для вас темпе

  Формат

онлайн

  Документ

Сертификат Stepik

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

Подробнее о курсе

Данный курс является первой частью специализации "Искусство работы с ошибками и безмолвной паники в Go".   Что такого особенного можно рассказать про ошибки? Мы считаем, что грамотная обработка ошибок  – это залог отказоустойчивости вашего приложения и здесь не всё так очевидно, как кажется на первый взгляд:  Сколько способов обернуть ошибку вы знаете? Один? Два? А их больше пяти! Какие подводные камни скрывает каждый из них? Как обработать ошибку, не импортируя её пакет? Может быть, вы знаете как стандартная библиотека пишет стектрейс ошибки? А что такое константные ошибки? А стектрейс – это вообще дорогая штука? Чем опасен метод Error и какой тип ресивера ему выбрать? Какие ошибки можно игнорировать, а какие нет? Как обрабатывать ошибки, происходящие конкурентно? Что делать, если пакет не предоставляет нужной ошибки? Где и как логировать ошибки? Насколько сторонние модули по работе с ошибками совместимы со стандартной библиотекой? Как Go дошёл до текущих механизмов ошибок и что нас ждёт впереди?   и т.д. Основная цель курса – сделать ваш код по работе с ошибками production ready. Если вы думаете, что работа с ошибками в Go заканчивается знанием о errors.Is и errors.As, то вам точно к нам.   Курс – сплошная теория? Нет, нет и нет! Разумеется, нам придётся коснуться теоретических аспектов работы с ошибками в Go, но будьте готовы читать много исходного кода как стандартной библиотеки, так и сторонних модулей. Доступ к каждому последующему модулю открывается только после решения задач и тестов в текущем. Примеры из курса и заготовки для задач лежат в отдельном GitHub-репозитории. Для каждой задачи представлены юнит-тесты, которые она должна проходить – вам не придётся мучиться с вводом-выводом, как это бывает в задачах на других курсах.   Чему я научусь? Если вы новичок в Go, то точно укрепите свои знания и вдоволь насладитесь примерами боевого кода, которых вам скорее всего не хватает в данный момент. Но предупреждаем, что вероятно вы не сможете осилить все задачи курса.  Если вы сеньор-помидор и практикующий Go-разработчик, то лишний раз познакомитесь с лучшими практиками и узнаете, за что стоит бить по рукам своих коллег, а может даже и себя. В любом случае, если у вас есть опыт программирования в целом, навыки гугления стандартных пакетов и желание дойти до конца – то курс должен хорошо зайти.   Курс только про ошибки? Нет! Часто уроки содержат авторские комментарии по смежным темам (таким как тестирование, concurrency, статический анализ кода и т.д.), а каждый модуль снабжён всеобъемлющим списком литературы. Модули "Работа с ошибками в тестах" и "Работа с ошибками при конкурентном коде" заставят вас особенно попотеть. Смежное по отношению к ошибкам понятие паники разбирается во второй части специализации.   Примеры задач        Сколько времени займёт курс? Среднее время прохождения курса – шесть недель ежедневной работы.   Где поспрашивать о курсе? Добро пожаловать в https://t.me/golangninja Больше курсов на https://golang-ninja.ru

Документ после выпуска

Сертификат Stepik

Автор курса

Stepik — образовательная платформа и конструктор онлайн-курсов. Мы разрабатываем алгоритмы адаптивного обучения, сотрудничаем с авторами MOOC, помогаем в проведении олимпиад и программ переподготовки. Наша цель — сделать образование открытым и удобным. Stepik — широко известная российская образовательная платформа, основанная в 2013 году. На Stepik зарегистрировано более миллиона пользователей из России и стран СНГ. В настоящее время на Stepik представлены несколько тысяч учебных курсов на самые разные темы.

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

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


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

  Концепция ошибок в Си


- Знакомство с errno
- Литература
- Знакомство с errno_t
- Организация "своих" ошибок
- Вступление

  Концепция ошибок в Go


- Стандартный пакет errors
- Концепция ошибок в Go
- Литература
- Введение в интерфейсы в Go
- Врапинг ошибок после Go 1.13 (часть 1)
- Врапинг ошибок до Go 1.13
- Базовые подходы к обработке ошибок в Go
- Врапинг ошибок после Go 1.13 (часть 2)
- Вступление
- Изменения после Go 1.20

  Нестандартные модули для работы с ошибками в Go


- github.com/pkg/errors (часть 1)
- github.com/cockroachdb/errors (часть 1)
- Литература
- github.com/pkg/errors (часть 3)
- Прочие нестандартные модули
- Вступление
- github.com/pkg/errors (часть 2)
- github.com/cockroachdb/errors (часть 2)

  Лучшие практики по работе с ошибками в Go


- Линтеры и ошибки (часть 1)
- Литература
- Ошибки и тип ресивера
- Объявление ошибок
- Оборачивание io.EOF и иже с ним
- Базовые идиомы по обработке ошибок (часть 2)
- Базовые идиомы по обработке ошибок (часть 1)
- Monadic-style работа с ошибками
- Исключения из правил
- Логирование ошибок
- Лучшие практики врапинга
- Константные ошибки
- Вступление
- Про метод Error
- Линтеры и ошибки (часть 2)

  Работа с ошибками в тестах


- Работа с ошибками в тестах (часть 1)
- Работа с ошибками в тестах (часть 2)
- Литература
- Работа с ошибками в тестах (часть 3)
- Вступление

  Работа с ошибками при конкурентном коде


- Ошибки при выполнении групповых задач
- Передача ошибок между горутинами
- Литература
- Вступление

  Будущее ошибок в Go 2


- Вступление
- Литература
- Error Inspection & Printing
- Error Handling

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


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

Для кого этот курс

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

Предварительные требования

Вам понадобятся:

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

Оставьте отзыв

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

Напишите ваш коментарий, не менее 30 символов

Нажимая кнопку, вы даете согласие на обработку персональных данных

обновлено: 14.07.2026