Мы используем файлы cookie для обеспечения работоспособности сервиса, улучшения навигации и маркетинговых активностей Yolonce. Нажимая "Согласен", вы соглашаетесь с нашей Политикой конфиденциальности

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 символов

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

обновлено: 19.09.2024

Оставьте заявку

Наши консультанты ответят на все вопросы
И помогут в выборе

Комментарий ...

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