Чему вы научитесь
- Проектировать гибкий Go-код с помощью интерфейсов, композиции и стандартных абстракций
- Работать с горутинами, каналами, select и направленными каналами
- Синхронизировать конкурентный код с помощью Mutex, RWMutex, WaitGroup, Once и atomic
- Применять Worker Pool, Fan-out и Fan-in в практических задачах
- Находить гонки данных с помощью race detector
- Управлять отменой операций, дедлайнами и тайм-аутами через context
- Оборачивать ошибки и использовать errors.Is, errors.As и собственные типы ошибок
- Создавать обобщённые функции и структуры данных с помощью generics
- Работать с io.Reader, io.Writer, bufio и потоковой обработкой данных
- Использовать регулярные выражения для поиска, замены, валидации и парсинга
- Сериализовать данные в JSON и настраивать MarshalJSON и UnmarshalJSON
- Разрабатывать HTTP-серверы, клиенты, middleware и JSON API на Go
- Работать с PostgreSQL через database/sql и pgx
- Выполнять CRUD-операции, транзакции и prepared statements
- Писать table-driven тесты, бенчмарки и тесты HTTP-обработчиков
- Управлять Go Modules, зависимостями, vendoring и сборкой приложений
- Профилировать процессор и память с помощью pprof
- Анализировать работу GC и оптимизировать производительность Go-приложений
- Применять архитектурные и поведенческие паттерны в Go-проектах
- Организовывать код крупных backend-приложений
О курсе
Для кого этот курс
Начальные требования
Знание базового синтаксиса Go: переменных, условий, циклов и функций
Умение работать со структурами, методами, слайсами и map
Базовое понимание указателей и обработки ошибок
Установленная актуальная версия Go и любой удобный редактор кода
Базовое знание SQL желательно для прохождения раздела по PostgreSQL
Опыт коммерческой разработки не требуется
Преподаватели курса
Как проходит обучение
Курс состоит из последовательных текстовых уроков, примеров Go-кода, тестов и практических заданий.
Сначала Вы изучаете новую тему и разбираете примеры, затем проверяете понимание с помощью заданий. Темы расположены от интерфейсов и базовой конкурентности до HTTP, PostgreSQL, тестирования, профилирования и архитектуры приложений.
Обучение проходит в собственном темпе. Сложные разделы можно пересматривать, а вопросы по материалам задавать в комментариях к урокам.
Сертификат
Что вы получите
- Системное понимание продвинутых возможностей Go
- Навыки безопасной работы с горутинами, каналами и синхронизацией
- Умение использовать context и строить устойчивую обработку ошибок
- Практические навыки разработки HTTP API на Go
- Опыт работы с PostgreSQL через database/sql и pgx
- Навыки тестирования, профилирования и оптимизации Go-приложений
- Понимание архитектурных паттернов и организации крупных проектов
- Базу для дальнейшего профессионального развития в Go backend-разработке
- Сертификат Stepik после успешного завершения курса