GOLANG ДЛЯ РОЗРОБНИКІВ
Вивчіть мову Golang, щоб створювати продуктивний і надійний бекенд, опанувати паралелізм та перейти до високооплачуваної ніші розробки.
Лектор: Олексій Подолян
Tech Lead в AURA
для кого
ПІСЛЯ КУРСУ ВИ:
-
пишете бекенд на Golang
-
застосовуєте багатопотоковість і горутини, знаєте патерни роботи з ними
-
впроваджуєте 20+ інструментів і технологій для забезпечення ефективної роботи серверних застосунків, як-от Apache Kafka, RabbitMQ, REST API та інші
-
взаємодієте з фреймворком Fiber для роботи з RPC (Remote Procedure Call) та маршрутизацією
-
розумієтеся на архітектурному дизайні, мікросервісах і проєктуванні систем
-
ефективно працюєте з даними за допомогою MongoDB та PostgreSQL
-
використовуєте Docker і Kubernetes у високонавантажених проєктах, піднімаєте інфраструктуру та деплоїте застосунки на Go
Програма
-
01 заняття30.09 19:00
Інтро в мову програмування Golang
- Дізнаєтеся про особливості програмування мовою Golang (Go), про її історію та філософію
- Зрозумієте, для яких задач програмування мова Golang підходить якнайкраще
- Порівняєте Golang з іншими мовами програмування
- Встановите і налаштуєте середовище Golang на своєму комп’ютері
-
02 заняття03.10 19:00
Основи синтаксису Golang
- Дізнаєтеся про пакети, умовні оператори та імпорт у Go
- Навчитеся оголошувати й застосовувати функції
- Ознайомитеся з основними типами даних в Go
- Навчитеся використовувати цикли в Go
-
03 заняття07.10 19:00
Робота з масивами, зрізами та мапами
- Дізнаєтеся, як працювати з масивами, зрізами та мапами у Go
- Навчитеся оголошувати, ініціалізувати й працювати з масивами
- Розберете всі етапи роботи над зрізами: від створення до модифікації та ітерації
- Ознайомитеся з мапами, дізнаєтеся, як їх створювати, додавати, видаляти й робити ітерації
-
04 заняття10.10 19:00
Методи та інтерфейси
- Ознайомитеся з основами методів та інтерфейсів у Go для покращення структури коду
- Зрозумієте роль поліморфізму та інтерфейсів у створенні флексибельних програм
- Дізнаєтеся, що таке тип any та нововведення з дженериками в Go для розширення можливостей написання та структурування коду
-
05 заняття14.10 19:00
Обробка помилок
- Розберете підхід мови Go до помилок
- Навчитеся створювати, повертати й обробляти помилки у функціях
- Ознайомитеся з функцією panic та дізнаєтеся, як її використовувати
- Навчитеся відновлюватися після паніки за допомогою функції recover
-
06 заняття17.10 19:00
Робота з функціями Input/Output
- Навчитеся використовувати стандартний ввід/вивід в Go
- Дізнаєтеся про основні операції з файлами
- Ознайомитеся з концепцією контексту та дізнаєтеся, як з його допомогою управляти горутинами
- Навчитеся логувати інформацію за допомогою стандартного пакета log та пакета slog
-
07 заняття21.10 19:00
Структура проєктів і тестування
- Ознайомитеся з підходом до структурування проєктів у Go
- Дізнаєтеся про важливість правильного структурування проєктів
- Ознайомитеся з підходами до тестування в Go
- Дізнаєтесь, як писати, структурувати й запускати тести
-
08 заняття24.10 19:00
Базові алгоритми та структури даних
- Пригадаєте поняття часової та просторової складності алгоритмів та O-нотації
- Пригадаєте основні алгоритми сортування та їхні особливості
- Ознайомитеся з імплементацією основних алгоритмів сортування на Go
- Розберете базові структури даних та їхні особливості
- Ознайомитеся з імплементацією базових структур даних на Go
-
09 заняття28.10 19:00
Дерева та хеш-таблиці
- Розберете структуру даних «дерево», розберете її особливості та різновиди
- Розглянете структуру даних «хеш-таблиця», розберете методи розвʼязання колізій у ній
- Дізнаєтеся про нюанси використання даних структур в Go
- Навчитесь імплементувати ці структури даних в Go
-
10 заняття31.10 19:00
Основи конкурентності
- Ознайомитеся з поняттями потоків та процесів, а також їхнім управлінням в ОС
- Навчитеся використовувати асинхронні операції та паралелізм у Go
- Зрозумієте, що таке зелені потоки та цикл подій і як їх реалізувати у Go
- Дізнаєтеся про відмінності між асинхронністю та багатопотоковістю, а також зможете вибирати підхід для різних завдань
-
11 заняття04.11 19:00
Горутини та синхронізація
- Ознайомитеся з поняттям горутин і зрозумієте, як вони допомагають, коли потрібне паралельне виконання задач
- Навчитеся застосовувати м’ютекси та семафори для синхронізації горутин
- Зрозумієте, як використовувати канали для комунікації між горутинами
- Навчитеся застосовувати WaitGroup для синхронізації завершення горутин
- Зрозумієте проблеми взаємоблокування та живого блокування і дізнаєтеся, як їх уникати
-
12 заняття07.11 19:00
Робота з мережею
- Ознайомитеся з мережевими моделями OSI та TCP/IP, зрозумієте їхню структуру та функції
- Дізнаєтеся про основні характеристики та функції протоколів TCP та UDP
- Зрозумієте, як працюють протоколи HTTP та HTTPS і як вони забезпечують передачу даних у мережі
- Дізнаєтеся про основи роботи TCP-сервера і його відмінності від TCP-клієнта
- Ознайомитеся з модулем net в Go і навчитеся використовувати його для створення TCP-сервера
- Дізнаєтеся, як застосовувати netcat для тестування TCP-серверів
-
13 заняття11.11 19:00
Робота з Docker
- Розберете відмінності між віртуальними машинами та Docker-контейнерами
- Навчитеся встановлювати й налаштовувати Docker на різних операційних системах
- Ознайомитеся з концепцією Dockerfile та навчитеся створювати Dockerfile для своїх застосунків
- Дізнаєтеся, як створювати й управляти Docker-образами
- Навчитеся запускати й управляти Docker-контейнерами
-
14 заняття14.11 19:00
Робота з базами даних
- Пригадаєте основні види баз даних, їхню класифікацію та особливості
- Розберете роботу з PostgreSQL і MongoDB
- Зрозумієте, як кожен тип баз даних організовує та зберігає дані
- Зможете вибирати відповідний тип бази даних залежно від конкретних потреб вашого застосунку
-
15 заняття18.11 19:00
Робота з фреймворком Fiber
- Дізнаєтеся, що таке фреймворк Fiber і чим він відрізняється від інших (зокрема Gin і Echo)
- Навчитеся встановлювати й налаштовувати Fiber для розробки динамічних вебзастосунків
- Зрозумієте, як створювати прості REST API та RPC-подібні сервіси з використанням Fiber
- Реалізуєте простий застосунок Hello World з Fiber для закріплення знань
-
16 заняття21.11 19:00
Маршрутизація
- Навчитеся створювати маршрути для різних HTTP-методів у Fiber
- Дізнаєтеся, як використовувати групи маршрутів для організації коду
- Зрозумієте, як створювати та застосовувати ApiSpec для документування API
- Навчитеся інтегрувати Swagger з проєктом на Fiber для автоматичної генерації документації
-
17 заняття25.11 19:00
Парсинг даних
- Розберете основи серіалізації та десеріалізації даних у вебзастосунках на Go
- Навчитеся використовувати пакет encoding/json для серіалізації та десеріалізації даних
- Ознайомитеся з методами валідації даних та навчитеся застосовувати пакет validator для валідації структур у Go
- Дізнаєтеся, як парсити запити у Fiber та обробляти параметри URL, заголовки й тіло запиту
-
18 заняття28.11 19:00
Middleware та його роль у вебзастосунках
- Ознайомитеся з поняттям middleware, навчитеся створювати й використовувати його у Fiber
- Зрозумієте, як реалізувати авторизацію користувачів та перевірку прав доступу у вебзастосунках
- Навчитеся застосовувати JWT для авторизації та захисту маршрутів
- Зрозумієте важливість логування та навчитеся реалізовувати логування у Fiber
- Дізнаєтеся, як ефективно обробляти помилки у вебзастосунках і створювати кастомні обробники помилок
-
19 заняття02.12 19:00
Використання WebSockets у Fiber
- Ознайомитеся з концепцією WebSockets та її перевагами для зв'язку в live-режимі
- Навчитеся налаштовувати WebSocket-з’єднання у Fiber
- Зрозумієте, як працювати з WebSocket-повідомленнями та обробляти події
- Реалізуєте прості застосунки з використанням WebSockets, наприклад, чат-застосунок чи систему сповіщень
- Навчитеся створювати WebSocket клієнтів на JavaScript та гарантувати безпеку WebSocket-з’єднань
-
20 заняття05.12 19:00
Best practices у розробці застосунків на Golang: мікросервіси, оркестрація, балансування навантаження
- Ознайомитеся з основними архітектурами застосунків і їхніми характеристиками
- Зрозумієте принципи мікросервісної архітектури та комунікації між мікросервісами
- Дізнаєтеся, як використовувати брокери повідомлень
- Опануєте основи балансування навантаження та оркестрації контейнерів
- Ознайомитеся з Docker Swarm та його застосуванням для оркестрації
- Отримаєте рекомендації для подальшого навчання та розвитку в галузі розробки й управління застосунками
-
21 заняття09.12 19:00
Q&A і підготовка до технічних співбесід
- Поставите запитання лектору щодо програми та курсового проєкту
- Проведете роботу над найпоширенішими помилками
- Розглянете основні технічні запитання на співбесідах
про курс
- Формат:
онлайн-курс
- Тривалість:
21 заняття
- Курсовий проєкт:
написаний бекенд на Go
Мова Go від Google захоплює ринок ― ІТ-компанії обирають Go для свого бекенду, Golang-девелоперам пропонують найвищі зарплати, а конкуренції серед фахівців майже немає. На цьому курсі ви опануєте Go від А до Я, навчитеся створювати ефективні та надійні програми, щоб забустити карʼєру і перейти в перспективний напрям.
лектор
Олексій Подолян
Tech Lead в AURA
Former Software Engineer у SQUAD i EVO.company
6+ років досвіду розробки back-end сервісів та систем на Go
-
має у стеку 12 мов програмування: від Python і Java ― до Dart, С++, Kotlin
-
спроєктував та розробив системи для обробки великого обсягу даних для навчання Computer Vision нейромереж у (Ring) Amazon
-
розробив систему для real-time захисту юзерів від небажаних/небезпечних телефонних дзвінків, використовуючи бекенд на Golang як proxy для дзвінків
-
спроєктував централізовану систему для динамічного розподілення і контролю виконання автоматизаційних задач на клієнтських машинах
реєстрація
Підключайтеся на курс, щоб створювати ефективні програми на Golang, зрости в розробці, карʼєрі та зарплаті.