Продвинутая работа с ошибками в Go (Golang)

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

About this course

Что такого особенного можно рассказать про ошибки?

Мы считаем, что грамотная обработка ошибок  – это залог отказоустойчивости вашего приложения и здесь не всё так очевидно, как кажется на первый взгляд: 

  • Сколько способов обернуть ошибку вы знаете? Один? Два? А их больше пяти! Какие подводные камни скрывает каждый из них?

  • Как обработать ошибку, не импортируя её пакет?

  • Может быть, вы знаете как стандартная библиотека пишет стектрейс ошибки?

  • А что такое константные ошибки?

  • А стектрейс – это вообще дорогая штука?

  • Чем опасен метод Error и какой тип ресивера ему выбрать?

  • Какие ошибки можно игнорировать, а какие нет?

  • Как обрабатывать ошибки, происходящие конкурентно?

  • Что делать, если пакет не предоставляет нужной ошибки?

  • Где и как логировать ошибки?

  • Насколько сторонние модули по работе с ошибками совместимы со стандартной библиотекой?

  • Как Go дошёл до текущих механизмов ошибок и что нас ждёт впереди?
     
  • и т.д.

Основная цель курса – сделать ваш код по работе с ошибками production ready.

Если вы думаете, что работа с ошибками в Go заканчивается знанием о errors.Is и errors.As, то вам точно к нам.

Курс – сплошная теория?

Нет, нет и нет!

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

Доступ к каждому последующему модулю открывается только после решения задач и тестов в текущем. Примеры из курса и заготовки для задач лежат в отдельном GitHub-репозитории. Для каждой задачи представлены юнит-тесты, которые она должна проходить – вам не придётся мучиться с вводом-выводом, как это бывает в задачах на других курсах.

Чему я научусь?

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

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

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

Курс только про ошибки?

Нет!

Часто уроки содержат авторские комментарии по смежным темам (таким как тестирование, concurrency, статический анализ кода и т.д.), а каждый модуль снабжён всеобъемлющим списком литературы. Модули "Работа с ошибками в тестах" и "Работа с ошибками при конкурентном коде" заставят вас особенно попотеть.

Смежное по отношению к ошибкам понятие паники разбирается в отдельном курсе.

Примеры задач

  

 

Где поспрашивать о курсе?

Добро пожаловать в https://t.me/goinpractice.

Больше курсов на
https://www.golang-courses.ru/

Who is this course for

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

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

  • Знание Go на уровне решения небольших, но порою сложных задачек.
  • Знание Си на уровне решения небольших задачек на основе готового кода.
  • Командная оболочка Unix.
  • Установленный gcc (или Docker).
  • Установленный компилятор Go.
  • Минимальное владение git.

Meet the Instructors

Course content

loading...
Certificate

Certificate

Сертификат выдаётся при завершении курса на 90%. Сертификат "с отличием" выдаётся только за 100% прохождение курса.

Price

Price: RUB 21,280
Try for free
You've tried this course and realized it's not for you? That's fine, we will pay you back within 30 days from the purchase.

FAQ

Share this course

Price: RUB 21,280
Try for free