Практический Go: от первых шагов до автоматизации инфраструктуры
Как устроено обучение
Подробнее
Для кого этот курс
- Тем, кто работает на другом ЯП, автоматизирует свою работу скриптами, но хочет большего – скорости и системности разработки, тестируемого и масштабируемого кода, работать с микросервисами и понимать принципы построения современных высокопроизводительных бэкендов в сетевых приложениях.
- Тем, кто хорошо разбирается в другом ЯП и, возможно, уже владеет Go, но хочет структурировать свои знания и выйти на новый уровень.
Программа курса
Краткая история ЯП Golang, ниша его применения. Иерархия Golang относительно других ЯП. Введение в базовый синтаксис Golang (Операторы объявления переменных, функций, области видимости, основные типы данных и тп). Разбор практических задач.
Изучение таких структур данных, как стек, очередь, связный список, бинарное дерево поиска, граф.
Разбор более сложных конструкций Go (структуры, эмбединг структур, рекурсия). Разбор пакетов bufio.
Введение в процесс разработки ПО. Краткое знакомство со средствами разработки – IDE и git. Разбор структуры проекта на языке Golang. Введение в линтеры и плагины для среды разработки. Объяснение дальнейшего процесса проверки заданий через платформу github
Чтение и запись в файл. Встроенные и сторонние сериализаторы. Понятие тегов и их использование.
Знакомство с различными подходами к реализации обработки ошибок в разных языках.Рассмотрение подхода Golang и различных примеров реализации обработки ошибок. Введение в теорию тестирования ПО. Более детальное рассмотрение unit тестов в Go.
Использование контекста на примере отмены операций. Введение в протокол HTTP. Введение в реализацию HTTP сервера и клиента на основе стандартного пакета net/http. Разбор пакетов для работы с флагами командной строки и переменными окружения.
Работа с флагами командной строки пакета flag. Использование cobra для создания команд и подкоманд.
Быстрое введение в СУБД, рассмотрение основных понятий реляционных баз данных. Виды баз данных. Рассмотрение базовых DDL и DML операций, необходимых для создания простейшей схемы базы данных.
Введение в database/sql и инструменты миграций на примере goose/golang-migrate. Шаблон абстрагирования БД за абстрактным интерфейсом. Понятие sql-драйвера. Запись и чтение в базу данных из кода на Go.
Основы многопоточности. Многопоточность в Go. Каналы и другие паттерны многопоточности.
Рассмотрение общих для информационных систем паттернов проектирования. - Порождающие паттерны - Структурные паттерны - Поведенческие паттерны Рассмотрение постулатов Go, паттернов/антипаттернов, применимых в Go.
Рассмотрение инструмента кодогенерации в Go на примере генерации клиентов БД/клиентов к API.
Рассмотрение особенностей сборки Go приложений: единый бинарный файл, кросс-компиляция. Использование контейниризации и рассмотрение Docker, как систему для развертывания Go приложений.
Пакет scrapligo и его применение для подключения к сетевым устройствам и удаленного исполнения команд по CLI. Парсинг полученных ответов при помощи textFSM темплейтов
_Пакет __gopacket_ _и его применение для разбора сырого трафика на примерах чтения данных из __pcap__-файлов и подключения к сетевым интерфейсам. Способы разбора сетевых пакетов по заголовкам._
01Спринт 1: Основы Go
Краткая история ЯП Golang, ниша его применения. Иерархия Golang относительно других ЯП. Введение в базовый синтаксис Golang (Операторы объявления переменных, функций, области видимости, основные типы данных и тп). Разбор практических задач.
02Спринт 2: Основные структуры данных
Изучение таких структур данных, как стек, очередь, связный список, бинарное дерево поиска, граф.
03Спринт 3: Пакеты стандартной библиотеки
Разбор более сложных конструкций Go (структуры, эмбединг структур, рекурсия). Разбор пакетов bufio.
04Спринт 4: Настройка окружения (IDE, git) Основы отладки программ. Линтеры, процесс разработки ПО. Структура проекта.
Введение в процесс разработки ПО. Краткое знакомство со средствами разработки – IDE и git. Разбор структуры проекта на языке Golang. Введение в линтеры и плагины для среды разработки. Объяснение дальнейшего процесса проверки заданий через платформу github
05Спринт 5: Работа с файлами. Сериализация
Чтение и запись в файл. Встроенные и сторонние сериализаторы. Понятие тегов и их использование.
06Спринт 6: Обработка ошибок в Go. Тестирование
Знакомство с различными подходами к реализации обработки ошибок в разных языках.Рассмотрение подхода Golang и различных примеров реализации обработки ошибок. Введение в теорию тестирования ПО. Более детальное рассмотрение unit тестов в Go.
07Спринт 7: Контекст. Реализация HTTP REST в Go
Использование контекста на примере отмены операций. Введение в протокол HTTP. Введение в реализацию HTTP сервера и клиента на основе стандартного пакета net/http. Разбор пакетов для работы с флагами командной строки и переменными окружения.
08Спринт 8: Создание CLI-приложений. Пакеты flag и cobra
Работа с флагами командной строки пакета flag. Использование cobra для создания команд и подкоманд.
09Спринт 9: Введение в базы данных
Быстрое введение в СУБД, рассмотрение основных понятий реляционных баз данных. Виды баз данных. Рассмотрение базовых DDL и DML операций, необходимых для создания простейшей схемы базы данных.
10Спринт 10: Работа с базами данных в Go
Введение в database/sql и инструменты миграций на примере goose/golang-migrate. Шаблон абстрагирования БД за абстрактным интерфейсом. Понятие sql-драйвера. Запись и чтение в базу данных из кода на Go.
11Спринт 11: Многопоточность в Go
Основы многопоточности. Многопоточность в Go. Каналы и другие паттерны многопоточности.
12Спринт 12: Паттерны проектирования, идеология Go
Рассмотрение общих для информационных систем паттернов проектирования. - Порождающие паттерны - Структурные паттерны - Поведенческие паттерны Рассмотрение постулатов Go, паттернов/антипаттернов, применимых в Go.
13Спринт 13: GRPC, Swagger, web frameworks
Рассмотрение инструмента кодогенерации в Go на примере генерации клиентов БД/клиентов к API.
14Спринт 14: Системы развертки приложений на Go. Docker
Рассмотрение особенностей сборки Go приложений: единый бинарный файл, кросс-компиляция. Использование контейниризации и рассмотрение Docker, как систему для развертывания Go приложений.
15Спринт 15: Библиотеки и инструменты для работы с CLI сетевых устройств (scrapligo, textFSM)
Пакет scrapligo и его применение для подключения к сетевым устройствам и удаленного исполнения команд по CLI. Парсинг полученных ответов при помощи textFSM темплейтов
16Спринт 16: Библиотеки и инструменты для работы с сырыми пакетами (gopacket)
_Пакет __gopacket_ _и его применение для разбора сырого трафика на примерах чтения данных из __pcap__-файлов и подключения к сетевым интерфейсам. Способы разбора сетевых пакетов по заголовкам._
Диплом о профессиональной переподготовке
Отзывы о курсе
Оставьте отзыв
Расскажите о качестве обучения, поддержке и результате. Это поможет другим выбрать организацию осознанно.
Оставьте заявку
Консультант ответит на вопросы о курсе «Практический Go: от первых шагов до автоматизации инфраструктуры» и поможет разобраться в деталях обучения.
Нажимая кнопку, вы даете согласие на обработку персональных данных
Информация обновлена 28 сентября 2026 г.

Московский физико-технический институт 

















