Фоновый баннер

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 Проект

  • Проектная работа. Вводное
  • Консультация по проектам
  • Итоговое занятие

Отзывы по курсу