Головна Школи Robot Dreams Golang для розробників
Robot Dreams

Golang для розробників

21 занять
Для початківців
1 відгуків
Golang
Цей курс навчить вас програмувати на Go з нуля. Ви розберете синтаксис, роботу з даними, мережеві технології та створення вебзастосунків. Курс включає практичні завдання та підготовку до реальних проєктів.

Про курс

Програма курсу

Вступ до Golang та основи синтаксису

На цьому курсі починають з основ мови Go. Спочатку розглядають особливості та історію мови, з'ясовують, для яких завдань вона підходить найкраще. Порівнюють Go з іншими мовами програмування. Слухачі встановлюють та налаштовують середовище розробки на своєму комп'ютері. Потім переходять до вивчення базового синтаксису: пакети, умовні оператори, імпорт, функції, основні типи даних та цикли.

Робота з даними та структури

Далі курс охоплює роботу з основними структурами даних у Go. Учні навчаться працювати з масивами, зрізами та мапами - від створення до модифікації та ітерації. Розглядають методи та інтерфейси для покращення структури коду, зокрема поліморфізм та дженерики. Особливу увагу приділяють обробці помилок - створенню, поверненню та обробці помилок у функціях, роботі з panic та recover.

Введення та файли

Цей блок присвячений роботі з введенням-виведенням даних. Слухачі навчаться використовувати стандартний ввід/вивід, виконувати основні операції з файлами. Ознайомляться з концепцією контексту для управління горутинами та навчаться логувати інформацію за допомогою стандартних пакетів log та slog. Також розглядають підходи до структурування проєктів та тестування коду в Go.

Алгоритми та структури даних

У цій частині курсу розглядають базові алгоритми та структури даних. Починають з часової та просторової складності алгоритмів, O-нотації. Вивчають основні алгоритми сортування та їх реалізацію на Go. Детально розбирають дерева та хеш-таблиці - їх особливості, методи розв'язання колізій та нюанси використання в Go.

Конкурентність та мережеве програмування

Тут заглиблюються в конкурентне програмування. Пояснюють поняття потоків та процесів, асинхронних операцій та паралелізму. Слухачі навчаться використовувати горутини, м'ютекси, семафори, канали та WaitGroup для синхронізації. Розглядають проблеми взаємоблокування та способи їх уникнення. Також вивчають мережеві моделі OSI та TCP/IP, протоколи TCP, UDP, HTTP, HTTPS та навчаються створювати TCP-сервери.

Docker та бази даних

Цей модуль охоплює роботу з Docker та базами даних. Пояснюють відмінності між віртуальними машинами та контейнерами, встановлюють Docker, створюють Dockerfile, образи та керують контейнерами. У частині баз даних розглядають основні види БД, їх класифікацію, роботу з PostgreSQL та MongoDB, а також вибір відповідного типу бази даних для конкретних потреб.

Веб-розробка з Fiber

Слухачі знайомляться з фреймворком Fiber для розробки вебзастосунків. Вчаться встановлювати та налаштовувати Fiber, створювати прості REST API та RPC-сервіси. Розглядають маршрутизацію для різних HTTP-методів, групи маршрутів, інтеграцію Swagger для документації. Вивчають парсинг даних, серіалізацію, валідацію та обробку запитів.

Middleware та WebSockets

У цьому блоці розглядають middleware у Fiber - створення та використання, авторизацію користувачів, JWT для захисту маршрутів, логування та обробку помилок. Також вивчають WebSockets для зв'язку в реальному часі - налаштування з'єднань, роботу з повідомленнями, створення чат-застосунків та систем сповіщень, гарантування безпеки з'єднань.

Архітектура та підготовка до співбесід

Завершальна частина курсу охоплює best practices у розробці. Розглядають основні архітектури застосунків, мікросервісну архітектуру, комунікацію між мікросервісами, брокери повідомлень, балансування навантаження та оркестрацію контейнерів з Docker Swarm. Останній модуль присвячений підготовці до технічних співбесід - роботі над поширеними помилками та відповідям на типові запитання.

Що ви отримаєте на курсі

Курс охоплює синтаксис Go та інструменти для розробки. Навчає роботі з даними та best practices. Забезпечує підтримку ментора протягом навчання.

Що включено

Видається диплом/сертифікат
Гнучкий графік
Реальний проект у портфоліо
Супровід ментора