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 РОКУ