GOLANG ДЛЯ РОЗРОБНИКІВ
Практичний курс програмування Golang для тих, хто хоче системно перейти на новий стек.
Олександр Кузан
Senior Software Engineer у
Pindrop

ПІСЛЯ КУРСУ ВИ:
Програма курсу
-
01 заняття
Інтро в мову програмування Golang
- Познайомитеся зі структурою курсу та курсовим проєктом
- Зрозумієте основні ідеї та філософію Go
- Порівняєте Go з NodeJS, Java та Python
- Налаштуєте середовище й базові CLI-інструменти
- Напишете і запустите першу програму на Go
-
02 заняття
Основи синтаксису Golang (Частина 1)
- Зрозумієте структуру програми на Go
- Навчитеся працювати зі змінними й константами
- Опануєте базові типу даних та оператори
- Зможете реалізувати введення та виведення через пакет fmt
-
03 заняття
Основи синтаксису Golang (Частина 2)
- Навчитеся використовувати умовні конструкції та цикли
- Розберетеся з масивами, зрізами та їхньою місткістю
- Зможете зберігати дані в мапах і перевіряти наявність ключів
- Навчитеся фільтрувати й агрегувати колекції даних
-
04 заняття
Робота з функціями та вказівниками
- Навчитеся створювати функції з кількома результатами
- Зрозумієте роботу аноніних функцій та замикань
- Розберетеся з вказівниками та передаванням параметрів
- Зможете обробляти помилки, паніки та відкладені виклики
-
05 заняття
Методи, Інтерфейси та Generics
- Навчитеся створювати структури та використовувати композицію
- Зрозумієте різницю між value та pointer receivers
- Розберетеся з неявними інтерфейсами та приведенням типів
- Навчитеся працювати з узагальненими типами та обмеженнями
- Створите структуру store з реалізацією інтерфейсів
-
06 заняття
Робота з файлами, I/O та Context
- Розберетеся з інтерфейсами io.Reader та io.Writer
- Навчитеся читати, створювати й записувати файли
- Зможете керувати скасуванням операцій і тайм-аутами через context
- Збережете дані store у JSON або CSV з урахуванням тайм-аутів
-
07 заняття
Логування та основи тестування
- Навчитеся створювати структуровані логи через log/slog
- Зможете писати Unit- і Table-Driven Tests
- Навчитесь оцінювати продуктивність коду за допомогою бенчмарків
- Покриєте логіку store табличними тестами
-
08 заняття
О-нотація та алгоритми сортування
- Навчитесь оцінювати складність алгоритмів за допомогою Big O
- Розберете алгоритми Bubble sort, Quick sort і Merge sort
- Зможете використовувати вбудований пакет sort
- Реалізуєте пошук і сортування масивів у Go
-
09 заняття
Дерева та хеш-таблиці
- Зрозумієте внутрішню будову хеш-таблиць і механізми колізій
- Розберетеся з бінарними деревами пошуку
- Навчитеся реалізовувати обхід дерева за допомогою вказівників
-
10 заняття
Основи Concurrency (Горутини та Канали)
- Зрозумієте різницю між конкурентністю і паралелізмом
- Розберетеся з процесами, потоками й горутинами
- Навчитесь обмінюватися даними через канали
- Зможете керувати кількома каналами за допомогою select
-
11 заняття
Синхронізація та розв’язання Deadlocks
- Навчитеся виявляти стан гонки за допомогою race detector
- Опануєте Mutex, RWMutex, WaitGroup та Once
- Зрозумієте причини взаємоблокувань і способи їхнього уникнення
- Реалізуєте патерни Worker Pool, Pipeline та Fan-in/Fan-out
- Зробите пакет store потокобезпечним
-
12 заняття
Робота з мережею
- Зрозумієте принципи роботи TCP, UDP та клієнт-серверної архітектури
- Навчитеся створювати TCP-сервер та клієнт через пакет net
- Реалізуєте Netcat-подібний TCP-клієнт
- Налаштуєте graceful shutdown, keep-alive та повторні запити
-
13 заняття
Робота з Docker
- Розберетеся з образами, контейнерами та волюмами Docker
- Створите оптимізований multi-stage Dockerfile для Go-сервісу
- Навчитеся безпечно запускати сервіс та керувати конфігурацією
- Зможете розгортати застосунок і базу даних через Docker Compose
-
14 заняття
Інтеграція з Базами Даних (PostgreSQL/MongoDB)
- Навчитеся виконувати CRUD-запити й керувати транзакціями
- Розберетеся з пулами з’єднань у PostgreSQL
- Познайомитеся з GORM та MongoDB Go Driver
- Підключите пакет store до бази даних у Docker
-
15 заняття
Основи HTTP-серверів та екосистема фреймворків
- Побудуєте базовий HTTP-сервер на net/http
- Зрозумієте роботу Handler, ServeMux та Middleware
- Порівняєте standard router, chi, Gin, Echo та Fiber
- Навчитесь обирати між стандартною бібліотекою та фреймворком
- Налаштуєте базовий роутинг на Fiber та chi
-
16 заняття
Побудова REST API та Swagger-документація
- Навчитеся проєктувати архітектуру REST API
- Зможете коректно використовувати HTTP-методи й статус-коди
- Створите ендпоінти для CRUD-операцій
- Згенеруєте Swagger-документацію з коментарів у коді
-
17 заняття
Валідація та парсинг запитів
- Навчитеся парсити JSON, query-параметри та параметри URL
- Зможете перевіряти вхідні дані за допомогою validator
- Створите централізований обробник HTTP-помилок
- Навчитеся повертати стандартизовані JSON-відповіді
-
18 заняття
Middleware та Авторизація (JWT)
- Створите Middleware для логування, метрик і Rate Limiting
- Зрозумієте принцип роботи JSON Web Token
- Навчитеся безпечно хешувати паролі через bcrypt
- Реалізуєте логін і захист закритих API-ендпоінтів
-
19 заняття
WebSockets у Go
- Зрозумієте різницю між WebSocket та HTTP
- Навчитеся налаштовувати WebSocket-сервер
- Зможете оновлювати HTTP-з’єднання до WebSocket
- Створите обмін даними між клієнтом і сервером у реальному часі
-
20 заняття
Best practices у розробці застосунків на Golang
- Зрозумієте принципи переходу від моноліту до мікросервісів
- Порівняєте REST, gRPC та брокери повідомлень
- Познайомитеся з базовими компонентами Kubernetes
- Налаштуєте graceful shutdown і глобальне керування тайм-аутами
- Розберетеся з observability, міграціями та безпекою застосунків
-
21 заняття
Підготовка до співбесід і захист проєкту
- Розберете типові запитання та завдання на Go-співбесідах
- Підготуєтеся до live-coding інтерв’ю
- Сформуєте подальший вектор розвитку в DevOps і системному дизайні
- Презентуєте готовий REST API сервіс з документацією та тестами
лектор
Олександр Кузан
Senior Software Engineer у Pindrop
-
Go/Backend Software Engineer із 5+ роками комерційного досвіду в Golang-розробці
-
Пройшов шлях від Junior у Boosty Labs до Middle/Senior-ролей в Agile Fuel та Yalantis
-
Працював із Go, PostgreSQL, Docker, PHP, Amazon ECR і backend-інфраструктурою
-
Пояснює Go через реальні задачі розробки, командну роботу і production-процеси
реєстрація
Долучайтеся до навчання з Golang, щоб створювати високопродуктивні застосунки на Go.