Golang Developer. Professional
Подробнее о курсе
Краткое описание курса
Курс предназначен для тех, кто хочет углубиться во внутреннее устройство Golang и его взаимодействие с другими системами
Целевая аудитория курса
- web-разработчики, которые хотят переквалифицироваться в Go и расширить свой уровень мастерства;
- всех тех, кто уже разобрался с основой Go и хочет начать применять язык правильно.
Получаемые знания и навыки
- писать production-ready код, многопоточные и конкурентные программы
- понимать синтаксис и внутреннее устройство языка Go;
- понимать особенности сетевого программирования;
- уметь создавать микросервисы с помощью Go;
- разворачивать микросервисы с помощью docker.
Необходимая предварительная подготовка
- Опыт разработки от 1 года
- Опыт разработки web-приложений
- Знания по основным конструкциям и синтаксису Golang
- git, работа в GitHub
- поверхностное знание CI (GitLab CI, Travis CI, etc.)
Будет плюсом:
- знание одного из ЯП, в особенности С/C++
- опыт администрирования Linux
Программа курса
Модуль 1. Начало работы с Go
- Инструментарий и начало работы с Go
- Тестирование в Go. Часть 1
- Элементарные типы данных в Go
- Массивы, слайсы и словари
- Структуры
- Функции и методы
- Интерфейсы. Часть 1
- Интерфейсы. Часть 2
- Обработка ошибок. Понятие паники
- Тестирование в Go. Часть 2
Модуль 2 Concurrency в Go
- Горутины и каналы
- Примитивы синхронизации. Часть 1
- Примитивы синхронизации. Часть 2
- Concurrency patterns
- Go внутри. Планировщик
- Go внутри. Память и сборка мусора
Модуль 3 Стандартные библиотеки и практики
- Работа с вводом/ выводом в Go
- Форматировани е данных
- Взаимодействие с OS
- Рефлексия
- Кодогенерация в Go
- Файлы конфигурации и логирование
- Профилирован ие и оптимизация Go программ
Модуль 4 Работа с сетью и БД
- Контекст и низкоуровневые сетевые протоколы
- Работа с SQL
- Работа с HTTP
- Работа с gRPC
Модуль 5 Микросервисы
- Монолит и микросервисы
- Очереди сообщений
- Docker
- Тестирование микросервисов
- Мониторинг
Модуль 6 Проект
- Проектная работа. Вводное
- Консультация по проектам
- Итоговое занятие