Курс на Stepik
Обложка курса «Ошибки в Go: 100 задач “найди и исправь”» на Stepik
Бесплатно

Ошибки в Go: 100 задач “найди и исправь” 0.000

Открыть на
STEPIK.ORG
Категории курса

Практический курс по поиску и исправлению ошибок в Go. Вас ждут 100 задач с неправильным кодом, реальными сценариями и автоматической проверкой решений. Вы разберёте ошибки в типах, срезах, map, строках, интерфейсах, конкурентном коде, context, generics, reflection, JSON, HTTP, database/sql.

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «Ошибки в Go: 100 задач “найди и исправь”»Учеников на курсе 9
Сертификаты, выданные на курсе «Ошибки в Go: 100 задач “найди и исправь”»Сертификатов выдано 0
Отзывы о курсе «Ошибки в Go: 100 задач “найди и исправь”»Отзывов получено 0
Рейтинг курса «Ошибки в Go: 100 задач “найди и исправь”»Рейтинг курса 0.000
Уроки в курсе «Ошибки в Go: 100 задач “найди и исправь”»Количество уроков 37
Задачи с кодом в курсе «Ошибки в Go: 100 задач “найди и исправь”»Количество задач с кодом 100
Обновления курса «Ошибки в Go: 100 задач “найди и исправь”»Обновления курса
Дата публикации курса «Ошибки в Go: 100 задач “найди и исправь”»Дата публикации курса
Последнее обновление курса «Ошибки в Go: 100 задач “найди и исправь”»Последнее обновление
Сложность easy

Чему вы научитесь

  • Находить логические ошибки и скрытые дефекты в программах на Go
  • Исправлять проблемы с числовыми вычислениями, преобразованиями типов и областями видимости
  • Правильно работать с массивами, срезами, map, строками, байтами и рунами
  • Учитывать особенности Unicode и корректно обрабатывать строки в кодировке UTF-8
  • Выявлять ошибки при использовании структур, методов, интерфейсов и значений nil
  • Правильно формировать цепочки ошибок и соблюдать контракт возврата значений
  • Безопасно применять defer, panic и recover
  • Освобождать ресурсы и контролировать их жизненный цикл
  • Управлять запуском и завершением горутин
  • Правильно создавать, передавать и закрывать каналы
  • Исправлять блокировки, утечки горутин и ошибки синхронизации
  • Применять sync.WaitGroup, sync.Mutex, sync.RWMutex, sync.Cond, sync.Once и атомарные операции
  • Использовать context.Context для отмены операций и передачи служебных данных
  • Исправлять ошибки в обобщённых функциях с параметрами типов
  • Учитывать адресуемость и доступность значений при работе с reflection
  • Настраивать сериализацию и строгую десериализацию JSON
  • Правильно работать с HTTP-клиентами, серверами и обработчиками
  • Безопасно читать потоки данных полностью или с ограничением размера
  • Использовать таймеры и тикеры без утечек ресурсов
  • Корректно работать с database/sql, транзакциями, строками результата и SQL NULL
  • Писать стабильные и детерминированные тесты для конкурентного кода
  • Проверять граничные случаи и учитывать некорректные входные данные
  • Читать чужой код и объяснять, почему программа работает неправильно
  • Писать более надёжный, понятный и предсказуемый код на Go

О курсе

Практический курс по поиску и исправлению ошибок в Go. Вас ждут 100 задач с неправильным кодом, реальными сценариями и автоматической проверкой решений. Вы разберёте ошибки в типах, срезах, map, строках, интерфейсах, конкурентном коде, context, generics, reflection, JSON, HTTP, database/sql.

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

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

Начальные требования

Знание базового синтаксиса Go

Понимание переменных, выражений, условий, циклов и функций

Базовое знакомство с массивами, срезами, map и структурами

Понимание того, как объявляются методы и интерфейсы

Желательно базовое знакомство с обработкой ошибок, горутинами и каналами

Для заключительных модулей будет полезно общее представление об HTTP и реляционных базах данных

Преподаватели курса

Как проходит обучение

Курс состоит из 100 практических задач, объединённых в 11 тематических модулей.

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

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

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

Сложность повышается постепенно. Сначала рассматриваются базовые ошибки в вычислениях, преобразованиях типов и управляющих конструкциях. Затем задания переходят к коллекциям, строкам, структурам, интерфейсам, обработке ошибок, конкурентному программированию, JSON, HTTP, потокам ввода-вывода, базам данных и тестированию.

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

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

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

Что вы получите

  • 100 практических задач на поиск и исправление ошибок в Go
  • 11 тематических модулей с постепенным повышением сложности
  • Практику чтения, анализа и отладки чужого кода
  • Автоматическую проверку решений и граничных случаев
  • Разбор распространённых ошибок Go-разработчиков
  • Практику работы с массивами, срезами, map, строками и Unicode
  • Задания по структурам, методам, интерфейсам и обработке ошибок
  • Практику управления горутинами, каналами и общей памятью
  • Задания по context.Context, generics, reflection и JSON
  • Практику работы с HTTP, потоками ввода-вывода, таймерами и URL
  • Задания по database/sql, транзакциям и SQL NULL
  • Практику написания стабильных тестов для конкурентного кода
  • Подготовку к практическим заданиям и вопросам на собеседованиях
  • Навыки написания более безопасного и предсказуемого кода
  • Практику работы со стандартной библиотекой Go
  • Возможность обсуждать задания и сравнивать разные подходы к решению

Нагрузка

4-5 часов в неделю

Расскажите о курсе друзьям