Golang для розробників
  • онлайн-курс
  • 21 заняття
  • middle

GOLANG ДЛЯ РОЗРОБНИКІВ

Вивчіть мову Golang, щоб створювати продуктивний і надійний бекенд, опанувати паралелізм та перейти до високооплачуваної ніші розробки.

Лектор: Олексій Подолян

Tech Lead в AURA

для кого

Backend & Fullstack Developers

щоб додати до стеку мову Go і зрости в зарплаті, навчитися розробляти мікросервіси та забезпечувати високу продуктивність програм

Frontend Developers

щоб перейти у фулстек-розробку, вивчити сучасні бекенд-технології та створювати ефективні застосунки, здатні до масштабування

Blockchain Developers

щоб опанувати високопродуктивну мову Go та інструменти паралелізму для швидкого масштабування блокчейн-рішень

 

ПІСЛЯ КУРСУ ВИ:

  • пишете бекенд на 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, зрости в розробці, карʼєрі та зарплаті.

 
 
 
Реєструючись, ви погоджуєтеся з умовами договору-оферти та політикою конфіденційності.