GOLANG ДЛЯ РАЗРАБОТЧИКОВ
Обновите стек с Golang — самым высокооплачиваемым языком программирования
Дмитрий Сташкевич
Senior Golang Developer В
Sigma Software

ПОСЛЕ КУРСА ВЫ:
Программа курса
-
01 занятие
Интро в язык программирования Golang
- Узнаете об особенностях программирования на языке Golang (Go), о его истории и философии
- Поймете, для каких задач программирование язык Golang подходит лучше всего
- Сравните Golang с другими языками программирования
- Установите и настроите среду Golang на своем компьютере
-
02 занятие
Основы синтаксиса Golang
- Узнаете о пакетах, условных операторах и импорте в Go
- Научитесь объявлять и применять функции
- Ознакомитесь с основными типами данных в Go
- Научитесь использовать циклы в Go
-
03 занятие
Работа с массивами, срезами и картами
- Узнаете, как работать с массивами, срезами и картами в Go
- Научитесь объявлять, инициализировать и работать с массивами
- Разберете все этапы работы над срезами: от создания до модификации и итерации
- Ознакомитесь с картами, узнаете, как их создавать, добавлять, удалять и делать итерации
-
04 занятие
Методы и интерфейсы
- Ознакомитесь с основами методов и интерфейсов Go для улучшения структуры кода
- Поймете роль полиморфизма и интерфейсов в создании флексибельных программ
- Узнаете, что такое тип any и новшества с дженериками в Go для расширения возможностей написания и структурирования кода
-
05 занятие
Обработка ошибок
- Разберете подход языка Go к ошибкам
- Научитесь создавать, возвращать и обрабатывать ошибки в функциях
- Ознакомитесь с функцией panic и узнаете, как ее использовать
- Научитесь восстанавливаться после паники с помощью функции recover
-
06 занятие
Работа с функциями Input/Output
- Научитесь использовать стандартный ввод/вывод в Go
- Узнаете об основных операциях с файлами
- Ознакомитесь с концепцией контекста и узнаете, как с его помощью управлять горутинами
- Научитесь логировать информацию с помощью стандартного пакета log и пакета slog
-
07 занятие
Структура проектов и тестирование
- Ознакомитесь с подходом к структурированию проектов в Go
- Узнаете о важности правильного структурирования проектов
- Ознакомитесь с подходами к тестированию в Go
- Узнаете, как писать, структурировать и запускать тесты
-
08 занятие
Базовые алгоритмы и структуры данных
- Вспомните понятие временной и пространственной сложности алгоритмов и O-нотации
- Вспомните основные алгоритмы сортировки и их особенности
- Ознакомитесь с имплементацией основных алгоритмов сортировки на Go
- Разберете базовые структуры данных и их особенности
- Ознакомитесь с имплементацией базовых структур данных на Go
-
09 занятие
Деревья и хэш-таблицы
- Разберете структуру данных «дерево», разберете ее особенности и разновидности
- Рассмотрите структуру данных «хэш-таблица», разберете методы разрешения коллизий в ней
- Узнаете нюансы использования данных структур в Go
- Научитесь имплементировать эти структуры данных в Go
-
10 занятие
Основы конкурентности
- Ознакомитесь с понятиями потоков и процессов, а также их управлением в ОС
- Научитесь использовать асинхронные операции и параллелизм в Go
- Поймете, что такое зеленые потоки и цикл событий и как их реализовать в Go
- Узнаете об отличиях между асинхронностью и многопоточностью, а также сможете выбирать подход для разных задач
-
11 занятие
Горутины и синхронизация
- Ознакомитесь с понятием горутин и поймете, как они помогают, когда нужно параллельное выполнение задач
- Научитесь применять мьютексы и семафоры для синхронизации горутин
- Поймете, как использовать каналы для коммуникации между горутинами
- Научитесь применять WaitGroup для синхронизации завершения горутин
- Поймете проблемы взаимоблокировки и живой блокировки и узнаете, как их избегать
-
12 занятие
Работа с сетью
- Ознакомитесь с сетевыми моделями OSI и TCP/IP, поймете их структуру и функции
- Узнаете основные характеристики и функции протоколов TCP и UDP
- Поймете, как работают протоколы HTTP и HTTPS и как они обеспечивают передачу данных в сети
- Узнаете об основах работы TCP-сервера и его отличиях от TCP-клиента
- Ознакомитесь с модулем net в Go и научитесь использовать его для создания TCP-сервера
- Узнаете, как применять netcat для тестирования TCP-серверов
-
13 занятие
Работа с Docker
- Разберете отличия между виртуальными машинами и Docker-контейнерами
- Научитесь устанавливать и настраивать Docker на разных операционных системах
- Ознакомитесь с концепцией Dockerfile и научитесь создавать Dockerfile для своих приложений
- Узнаете, как создавать и управлять Docker-образами
- Научитесь запускать и управлять Docker-контейнерами
-
14 занятие
Работа с базами данных
- Вспомните основные виды баз данных, их классификацию и особенности
- Разберете работу с PostgreSQL и MongoDB
- Поймете, как каждый тип баз данных организовывает и сохраняет данные
- Сможете выбрать подходящий тип базы данных в зависимости от конкретных потребностей вашего приложения
-
15 занятие
Работа с фреймворком Fiber
- Узнаете, что такое фреймворк Fiber и чем он отличается от других (в том числе Gin и Echo)
- Научитесь устанавливать и настраивать Fiber для разработки динамических веб-приложений
- Поймете, как создавать простые REST API и RPC-подобные сервисы с использованием Fiber
- Реализуете простое приложение Hello World с Fiber для закрепления знаний
-
16 занятие
Маршрутизация
- Научитесь создавать маршруты для разных HTTP-методов в Fiber
- Узнаете, как использовать группы маршрутов для организации кода
- Поймете, как создавать и применять ApiSpec для документирования API
- Научитесь интегрировать Swagger с проектом на Fiber для автоматической генерации документации
-
17 занятие
Парсинг данных
- Разберете основы сериализации и десериализации данных в веб-приложениях на Go
- Научитесь использовать пакет encoding/json для сериализации и десериализации данных
- Ознакомитесь с методами валидации данных и научитесь применять пакет validator для валидации структур в Go
- Узнаете, как парсить запросы в Fiber и обрабатывать параметры URL, заголовки и тело запроса
-
18 занятие
Middleware и его роль в веб-приложениях
- Ознакомитесь с понятием middleware, научитесь создавать и использовать его в Fiber
- Поймете, как реализовать авторизацию пользователей и проверку прав доступа в веб-приложениях
- Научитесь применять JWT для авторизации и защиты маршрутов
- Поймете важность логирования и научитесь реализовывать логирование в Fiber
- Узнаете, как эффективно обрабатывать ошибки в веб-приложениях и создавать кастомные обработчики ошибок
-
19 занятие
Использование WebSockets в Fiber
- Ознакомитесь с концепцией WebSockets и ее преимуществами для связи в live-режиме
- Научитесь настраивать WebSocket-соединение в Fiber
- Поймете, как работать с WebSocket-сообщениями и обрабатывать события
- Реализуете простые приложения с использованием WebSockets, например, чат-приложение или систему уведомлений
- Научитесь создавать WebSocket-клиентов на JavaScript и гарантировать безопасность WebSocket-соединений
-
20 занятие
Best practices в разработке приложений на Golang: микросервисы, оркестрация, балансировка нагрузки
- Ознакомитесь с основными архитектурами приложений и их характеристиками
- Поймете принципы микросервисной архитектуры и коммуникации между микросервисами
- Узнаете, как использовать брокеры сообщений
- Освоите основы балансировки погрузки и оркестрации контейнеров
- Ознакомитесь с Docker Swarm и его применением для оркестрации
- Получите рекомендации для дальнейшего обучения и развития в области разработки и управления приложениями
-
21 занятие
Q&A и подготовка к техническим собеседованиям
- Зададите вопросы лектору по программе и курсовому проекту
- Проведете работу над наиболее распространенными ошибками
- Рассмотрите основные технические вопросы на собеседованиях
лектор
Дмитрий Сташкевич
Senior Golang Developer в Sigma Software
-
имеет 8+ лет опыта разработки систем на Go
-
работает с 15+ системами и фреймворками: от Redis, Aerospike, Scylla до Kubernetes, Helm, Skaffold
-
написал код для систем с более чем миллионом запросов в секунду
-
переписал AdExchange с C# на Golang за 3 месяца, увеличив выдерживаемую нагрузку в 4 раза без дополнительных ресурсов
регистрация
Присоединяйтесь к обучению, чтобы создавать высокопродуктивные приложения на Go.
СТАРТ КУРСА — В ИЮЛЕ 2026 ГОДА