Курси Golang розробник

Фільтр
Курс
Формат
Online
Початок навчання
30.09.2024
Тривалість
21 занять
Рівень
Для початківців
Мова навчання
Ukrainian
Вартість
уточнюйте
Гнучкий графікВидається диплом/сертифікатСупровід ментораРеальний проект у портфоліо
Robot Dreams
  • Golang
Подробиці

На цьому курсі ви опануєте Go від А до Я, навчитеся створювати ефективні та надійні програми, щоб забустити кар'єру і перейти в перспективний напрям.

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

Інтро в мову програмування Golang

  • Дізнаєтеся про особливості програмування мовою Golang (Go), про її історію та філософію
  • Зрозумієте, для яких задач програмування мова Golang підходить якнайкраще
  • Порівняєте Golang з іншими мовами програмування
  • Встановите і налаштуєте середовище Golang на своєму комп'ютері

Основи синтаксису Golang

  • Дізнаєтеся про пакети, умовні оператори та імпорт у Go
  • Навчитеся оголошувати й застосовувати функції
  • Ознайомитеся з основними типами даних в Go
  • Навчитеся використовувати цикли в Go

Робота з масивами, зрізами та мапами

  • Дізнаєтеся, як працювати з масивами, зрізами та мапами у Go
  • Навчитеся оголошувати, ініціалізувати й працювати з масивами
  • Розберете всі етапи роботи над зрізами: від створення до модифікації та ітерації
  • Ознайомитеся з мапами, дізнаєтеся, як їх створювати, додавати, видаляти й робити ітерації

Методи та інтерфейси

  • Ознайомитеся з основами методів та інтерфейсів у Go для покращення структури коду
  • Зрозумієте роль поліморфізму та інтерфейсів у створенні флексибельних програм
  • Дізнаєтеся, що таке тип any та нововведення з дженериками в Go для розширення можливостей написання та структурування коду

Обробка помилок

  • Розберете підхід мови Go до помилок
  • Навчитеся створювати, повертати й обробляти помилки у функціях
  • Ознайомитеся з функцією panic та дізнаєтеся, як її використовувати
  • Навчитеся відновлюватися після паніки за допомогою функції recover

Робота з функціями Input/Output

  • Навчитеся використовувати стандартний ввід/вивід в Go
  • Дізнаєтеся про основні операції з файлами
  • Ознайомитеся з концепцією контексту та дізнаєтеся, як з його допомогою управляти горутинами
  • Навчитеся логувати інформацію за допомогою стандартного пакета log та пакета slog

Структура проєктів і тестування

  • Ознайомитеся з підходом до структурування проєктів у Go
  • Дізнаєтеся про важливість правильного структурування проєктів
  • Ознайомитеся з підходами до тестування в Go
  • Дізнаєтесь, як писати, структурувати й запускати тести

Базові алгоритми та структури даних

  • Пригадаєте поняття часової та просторової складності алгоритмів та O-нотації
  • Пригадаєте основні алгоритми сортування та їхні особливості
  • Ознайомитеся з імплементацією основних алгоритмів сортування на Go
  • Розберете базові структури даних та їхні особливості
  • Ознайомитеся з імплементацією базових структур даних на Go

Дерева та хеш-таблиці

  • Розберете структуру даних "дерево", розберете її особливості та різновиди
  • Розглянете структуру даних "хеш-таблиця", розберете методи розвʼязання колізій у ній
  • Дізнаєтеся про нюанси використання даних структур в Go
  • Навчитесь імплементувати ці структури даних в Go

Основи конкурентності

  • Ознайомитеся з поняттями потоків та процесів, а також їхнім управлінням в ОС
  • Навчитеся використовувати асинхронні операції та паралелізм у Go
  • Зрозумієте, що таке зелені потоки та цикл подій і як їх реалізувати у Go
  • Дізнаєтеся про відмінності між асинхронністю та багатопотоковістю, а також зможете вибирати підхід для різних завдань

Горутини та синхронізація

  • Ознайомитеся з поняттям горутин і зрозумієте, як вони допомагають, коли потрібне паралельне виконання задач
  • Навчитеся застосовувати м'ютекси та семафори для синхронізації горутин
  • Зрозумієте, як використовувати канали для комунікації між горутинами
  • Навчитеся застосовувати WaitGroup для синхронізації завершення горутин
  • Зрозумієте проблеми взаємоблокування та живого блокування і дізнаєтеся, як їх уникати

Робота з мережею

  • Ознайомитеся з мережевими моделями OSI та TCP/IP, зрозумієте їхню структуру та функції
  • Дізнаєтеся про основні характеристики та функції протоколів TCP та UDP
  • Зрозумієте, як працюють протоколи HTTP та HTTPS і як вони забезпечують передачу даних у мережі
  • Дізнаєтеся про основи роботи TCP-сервера і його відмінності від TCP-клієнта
  • Ознайомитеся з модулем net в Go і навчитеся використовувати його для створення TCP-сервера
  • Дізнаєтеся, як застосовувати netcat для тестування TCP-серверів

Робота з Docker

  • Розберете відмінності між віртуальними машинами та Docker-контейнерами
  • Навчитеся встановлювати й налаштовувати Docker на різних операційних системах
  • Ознайомитеся з концепцією Dockerfile та навчитеся створювати Dockerfile для своїх застосунків
  • Дізнаєтеся, як створювати й управляти Docker-образами
  • Навчитеся запускати й управляти Docker-контейнерами

Робота з базами даних

  • Пригадаєте основні види баз даних, їхню класифікацію та особливості
  • Розберете роботу з PostgreSQL і MongoDB
  • Зрозумієте, як кожен тип баз даних організовує та зберігає дані
  • Зможете вибирати відповідний тип бази даних залежно від конкретних потреб вашого застосунку

Робота з фреймворком Fiber

  • Дізнаєтеся, що таке фреймворк Fiber і чим він відрізняється від інших (зокрема Gin і Echo)
  • Навчитеся встановлювати й налаштовувати Fiber для розробки динамічних вебзастосунків
  • Зрозумієте, як створювати прості REST API та RPC-подібні сервіси з використанням Fiber
  • Реалізуєте простий застосунок Hello World з Fiber для закріплення знань

Маршрутизація

  • Навчитеся створювати маршрути для різних HTTP-методів у Fiber
  • Дізнаєтеся, як використовувати групи маршрутів для організації коду
  • Зрозумієте, як створювати та застосовувати ApiSpec для документування API
  • Навчитеся інтегрувати Swagger з проєктом на Fiber для автоматичної генерації документації

Парсинг даних

  • Розберете основи серіалізації та десеріалізації даних у вебзастосунках на Go
  • Навчитеся використовувати пакет encoding/json для серіалізації та десеріалізації даних
  • Ознайомитеся з методами валідації даних та навчитеся застосовувати пакет validator для валідації структур у Go
  • Дізнаєтеся, як парсити запити у Fiber та обробляти параметри URL, заголовки й тіло запиту

Middleware та його роль у вебзастосунках

  • Ознайомитеся з поняттям middleware, навчитеся створювати й використовувати його у Fiber
  • Зрозумієте, як реалізувати авторизацію користувачів та перевірку прав доступу у вебзастосунках
  • Навчитеся застосовувати JWT для авторизації та захисту маршрутів
  • Зрозумієте важливість логування та навчитеся реалізовувати логування у Fiber
  • Дізнаєтеся, як ефективно обробляти помилки у вебзастосунках і створювати кастомні обробники помилок

Використання WebSockets у Fiber

  • Ознайомитеся з концепцією WebSockets та її перевагами для зв'язку в live-режимі
  • Навчитеся налаштовувати WebSocket-з’єднання у Fiber
  • Зрозумієте, як працювати з WebSocket-повідомленнями та обробляти події
  • Реалізуєте прості застосунки з використанням WebSockets, наприклад, чат-застосунок чи систему сповіщень
  • Навчитеся створювати WebSocket клієнтів на JavaScript та гарантувати безпеку WebSocket-з’єднань

Best practices у розробці застосунків на Golang: мікросервіси, оркестрація, балансування навантаження

  • Ознайомитеся з основними архітектурами застосунків і їхніми характеристиками
  • Зрозумієте принципи мікросервісної архітектури та комунікації між мікросервісами
  • Дізнаєтеся, як використовувати брокери повідомлень
  • Опануєте основи балансування навантаження та оркестрації контейнерів
  • Ознайомитеся з Docker Swarm та його застосуванням для оркестрації
  • Отримаєте рекомендації для подальшого навчання та розвитку в галузі розробки й управління застосунками

Q&A і підготовка до технічних співбесід

  • Поставите запитання лектору щодо програми та курсового проєкту
  • Проведете роботу над найпоширенішими помилками
  • Розглянете основні технічні запитання на співбесідах

Особливості курсу

  • Синтаксис Go
  • Вивчення інструментів для розробки
  • Робота з даними
  • Best Practices
  • Допомога ментора

Викладачі курсу

Олексій Подолян - Tech Lead at AURA

Більше інформації
Курс
Формат
Online
Початок навчання
Дата формується
Тривалість
3 місяців
Рівень
Для початківців
Мова навчання
Ukrainian
Вартість
12 000 UAH за курс
Гнучкий графікВидається диплом/сертифікатСупровід ментораРеальний проект у портфоліо
Jungle Courses
  • Golang
Подробиці

Студенти з нуля вивчать Golang (синтаксис, його особливості, вбудовані та розповсюджені модулі) та отримають міцну базу з технологій, хороших практик, порад тощо.

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

Introduction

  • Meet your mentor
  • Computer components
  • About golang
  • Course plan
  • Installation
    • Golang
    • VScode
  • Hello world

Syntax and Structure, Control statements

  • Variables, basic types and constans
  • If / if else / if else if else
  • Comprasion operators
  • Switch case
  • Loops

Functions, Struct + Methods

  • Functions
    • declaration, invocation
  • Anonymous functions
    • Closure
    • Scope
  • Defer
  • Struct + Methods

Advanced types

  • Arrays
  • Slices
  • Maps

Math

  • Math operators
  • Round, ceil, floor
  • Sqrt, pow, trigonometry
  • PI, E
  • Inf()
  • Rand (examples with arrays)

Packages and imports

  • Project structure, go.mod, import
  • Source file
  • Package initialization
  • Go modules

Interfaces

  • Interface
  • Implementation
  • Method set of an interface

Errors, Unit Tests, Logging

  • Error handling
  • Logging
  • Test case
  • Test function

Pointers, Context

  • Pointers
  • Context

Advanced types

  • Enum
  • Iota
  • Bitmask
  • Time
  • Rune

Concurrency, Channels

  • Goroutines
  • Mutex
  • Wait group
  • Channels

New Golang features and ok idiom, cgo

  • Generics
  • Min, max
  • Ok idiom
  • Cgo

Files, Graphics

  • Files
  • Image processing
  • 2D graphics

API introduction

  • Postman installation
  • HTTP, RESTful API
  • JSON, JWT
  • Example project

Databases

  • About databases (MySQL, PostgreSQL, MongoDB)
  • MySQL installation
  • Interaction with MySQL

Databases

  • MySQL syntax
  • Tables, columns, types and other
  • GORM

gRPC

  • Protobuf
  • gRPC

Message brokers

  • NATS installation
  • Interaction with NATS
  • About MQTT (just theory and examples, comparing with NATS)

Final project

  • Architecture
  • Environmental variables
  • Middleware
  • Git

Final project

  • Handlers
  • Service layer
  • DB layer (GORM)
  • Swagger

Final project

  • Caching examples in a project
    • In memory
    • Redis (installation and interaction)

Final project

  • More about Redis DB
  • Message broker integration (NATS)

Final project

  • Test coverage
  • Benchmarks
  • Profiling

Optimization strategy

  • Load balancing
  • DB replications
  • DB table partitioning
  • Final info

Особливості курсу

  • Власний кабінет Jungle cloud
  • Онлайн заняття
  • Комунікація в чаті
  • Круті ментори
  • Теорія + практика
  • Доступ до записів занять та відеоматеріалів
  • Фінальний проєкт
  • Сертифікат про проходження курсу

Викладачі курсу

Тимофій - Golang Backend Developer at Jungle

Більше інформації
Курс
Формат
Online
Початок навчання
Будь-який момент
Тривалість
3 місяців
Рівень
Для початківців
Мова навчання
Ukrainian
Вартість
8 000 UAH за місяць
Гнучкий графікВидається диплом/сертифікатСупровід ментора
Foxminded
  • Golang
Подробиці

За час навчання на курсі ви познайомитеся з найпопулярнішими інструментами роботи, покращите навичку роботи з інтерфейсом через командний рядок, створіть кілька чат-ботів. Крім того, ви зрозумієте, як працювати з популярними хмарними сервісами, починаючи з AWS. Для наполегливіших студентів передбачені заняття з більш складних тем, вибір яких обговорюватиметься з викладачем. Загалом, отриманих на курсі знань достатньо, щоб починати шукати роботу як Junior Golang Developer.

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

Git Course

Вiдеокурс по GitLab допоможе вам зрозуміти основні концепції та інструменти, які використовуються для керування проєктами програмного забезпечення. Під час цього курсу ви ознайомитеся з основами системи контролю версій Git та платформою GitLab, яка надає широкий спектр можливостей для спільної роботи над кодом, відстеження змін, управління задачами та багато іншого. Ви дізнаєтеся, як ефективно використовувати GitLab для спільної роботи в команді, ведення проєктів та забезпечення якості програмного забезпечення.

CLI

У цьому блоці студенти зможуть засвоїти CLI (Command-line interface) за допомогою багатої внутрішньої бібліотеки Go, а також познайомляться, як працювати з часом у Go. Дізнаються, як писати юніт тести.

Чат-боти

У цьому блоці студенти зроблять кілька своїх чат-ботів. За підсумками блоку вони зрозуміють як краще організовувати свій код, як працювати з http.Client і також як користуватися зовнішніми API.

REST

У цьому блоці студенти напишуть REST API для керування користувачами. Для його реалізації вибрано один із найбільш використовуваних фреймворків Echo. Вимоги додаються з кожним завданням у блоці, тому погано організований код доведеться рефакторити. Також вони познайомляться з Docker. Крім того, у них буде можливість ознайомитися з SQL і зрозуміти різницю між SQL і NoSQL базами даних (БД).

Advanced topics

Останній блок навчання включає знайомство з gRPC протоколом, який дуже часто використовується для побудови мікросервісної архітектури. Студентам доведеться розділити свій проект по блоку REST та реалізувати спілкування з БД через gRPC.

Попередні вимоги

  • Знання загальної Computer Science
  • Базове розуміння будь-якої мови програмування
  • Знання англійської мови на рівні читання технічної документації

Особливості курсу

  • Швидкість проходження курсу залежить від вас. Швидше вчитесь - менше платите. Середній час проходження курсу 3 місяці
  • 7 днів тестового періоду
  • Менторинг
  • Безкоштовна заморозка

Викладачі курсу

  • Сергій Пожидаєв - Golang Software Engineer at Sigma Software
  • Павло Мальованний - IC2 software engineer at TENTENS Tech by SKELAR
  • Юлія Боцева - Golang Developer at Gamingtec
  • Денис Оленін - CTO moai.team at MoaiTeam
  • Дмитро Сташкевич - Senior Backend Developer at Auvik
  • Анастасія Лизогубенко - Goland Developer at DGN Games
  • Михайло Панько - Backend Engineer at Relay Payments
  • Ярослав Кожемяка - Goland Software Engineer at Acaisoft
  • Микола Баран - Senior Software Engineer, Team Lead at Приватбанк
  • Микола Гриньків - Team Lead Engineer at Luxoft
Більше інформації
Курс
Формат
Online
Початок навчання
Будь-який момент
Тривалість
12 занять
Рівень
Для початківців
Мова навчання
Ukrainian
Вартість
5 700 UAH за курс
Гнучкий графікВидається диплом/сертифікатСупровід ментора
IT-Столиця
  • Golang
Подробиці

Курс передбачає навчання студентів мові програмування Golang Programming, її основам. Він націлений на присутність мінімальної попередньої підготовки у аудиторії, дозволяє закласти хорошу базу, вивчити ідіоми, а також на практиці розібрати найпоширеніші помилки фахівців даної сфери. Освітня програма включає як теоретичну, так і практичну частину навчання.

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

Модуль 1. Введення в курс

  • Що являє собою Golang Programming?
  • Історія створення
  • Основні переваги даної мови над іншими
  • Ефективне вирішення завдань за допомогою Golang Programming
  • Чому сучасна Golang Programming користується попитом?

Модуль 2. Основи Git (розподілена система керування версіями)

Модуль 3. Специфіка налаштування середовища Golang Programming:

  • Встановлення мови програмування
  • Впровадження додаткового інструментарію з метою підвищення ефективності функціонування Go
  • Огляд основних утиліт для продуктивної роботи з Go
  • Visual Studio Code як приклад для оперативного налаштування середовища
  • Як створити простий Web Server на Go за обмежену кількість часу?

Модуль 4. Основи програмування

  • Знайомство з типами даних, покажчиками, константами, змінними
  • Як імпортувати дані?
  • Що таке пакети, область видимості?

Модуль 5. Основні операції з Goland Programming:

  • Специфіка операцій інкремент і декремент
  • Особливості арифметичних і логічних операцій
  • Суть порозрядних операцій та застосування їх в Golang Programming

Модуль 6. Control flow - управління програмою:

  • Особливості використання оператора switch
  • Суть застосування оператора if
  • Оператор циклу for і його специфіка

Модуль 7. Що мають на увазі під собою складові типи даних?

  • Array (масиви)
  • Slice (тип зрізу)
  • Range
  • Тип map
  • Структури

Модуль 8. Функції в програмуванні

  • Базові поняття функцій
  • Визначення функції
  • Особливості передачі параметрів у функцію
  • Багаточисельне повернення значень з функції
  • Функції зі змінним числом параметрів: специфіка застосування
  • Що таке рекурсія та коли слід її застосовувати?
  • Робота з файлами

Модуль 9. Популярні збої, помилки в програмуванні та їх обробка

  • Повернення помилки з функції
  • Застосування Deferred функції
  • Переваги Panic і Recover

Модуль 10. Мова програмування Golang Programming і додаткові її можливості

  • Методика програмування
  • Реалізація поліморфізму за допомогою інтерфейсів
  • Пакети, рефлексія, а також низькорівневе програмування

Особливості курсу

  • Викладачі практики
  • Корпоративне навчання
  • Можливість навчатись у вихідні
  • Можливість влаштуватись у провідні IT-компанії
  • Індивідуальне навчання

Викладачі курсу

  • Володимир - Програміст
  • Ігор - Програміст
  • Володимир - Програміст
  • Олексій - Програміст
Більше інформації

Читайте нас в Telegram, щоб не пропустити анонси нових курсів.