Jungle Courses

Golang programming

12 000 UAH за курс
3 месяцев
Для начинающих
Golang
Этот курс научит вас Golang с нуля: от синтаксиса до работы с базами данных и API. Вы разберете основные концепции, создадите собственный проект и получите практические навыки. Обучение включает онлайн-лекции, общение с менторами и доступ к материалам.

О курсе

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

Введение в Go и настройка среды

На этом курсе начинают с основ. Студенты знакомятся с ментором, изучают компоненты компьютера и узнают о языке Go. После этого устанавливают необходимые инструменты - Golang и редактор VSCode. Модуль завершается традиционным "Hello World" - первой программой на Go.

Синтаксис и управление потоком выполнения

Здесь рассматривают фундаментальные концепции языка. Студенты работают с переменными, основными типами данных и константами. Учатся использовать условные конструкции if/else и операторы сравнения. Также изучают switch case и циклы для контроля потока выполнения программы.

Функции и структуры

Этот модуль посвящен функциям - их объявлению и вызову. Рассматривают анонимные функции, замыкания и область видимости. Студенты узнают о ключевом слове defer и учатся работать со структурами и методами.

Сложные типы данных и математические операции

Здесь изучают массивы, срезы и ассоциативные массивы (maps). Второй блок модуля охватывает математические операции - от базовых арифметических действий до более сложных функций округления, корней, степеней и тригонометрии. Также работают с генерацией случайных чисел.

Пакеты и интерфейсы

Студенты осваивают работу с пакетами - структуру проектов, файл go.mod, импорты и модули Go. Параллельно изучают интерфейсы, их реализацию и методы, входящие в набор интерфейса.

Обработка ошибок, тестирование и логирование

Этот модуль учит правильно обрабатывать ошибки, вести логирование и писать unit-тесты. Студенты создают тестовые функции и тест-кейсы для проверки работы своего кода.

Указатели, контекст и расширенные типы

Здесь разбирают более сложные концепции - указатели и контекст. Также изучают перечисления (enum), iota, битовые маски, работу со временем и руны.

Параллельное программирование и новые возможности Go

Модуль охватывает горутины, мьютексы, группы ожидания и каналы для параллельного выполнения кода. Второй блок посвящен новым функциям языка - дженерикам, функциям min/max, идиоме "ok" и работе с C кодом через cgo.

Работа с файлами, графикой и API

Студенты учатся работать с файловой системой, обрабатывать изображения и создавать 2D графику. Также знакомятся с основами API - устанавливают Postman, изучают HTTP, RESTful API, форматы JSON и JWT, создают пример проекта.

Базы данных

Этот большой модуль охватывает работу с базами данных. Сначала студенты узнают о различных типах БД - MySQL, PostgreSQL, MongoDB, устанавливают MySQL и учатся взаимодействовать с ней. Затем изучают синтаксис MySQL, создание таблиц, колонок и использование ORM библиотеки GORM.

Расширенные технологии: gRPC и брокеры сообщений

Здесь рассматривают Protobuf и gRPC для микросервисной архитектуры. Также студенты устанавливают NATS, учатся с ним работать и сравнивают с протоколом MQTT.

Финальный проект

Последние модули посвящены созданию полноценного проекта. Студенты разрабатывают архитектуру, настраивают переменные среды, middleware и систему контроля версий Git. Затем реализуют обработчики запросов, сервисный и базы данных слой, документацию через Swagger. Добавляют кеширование - в памяти и через Redis, интегрируют брокер сообщений NATS. Завершают проект тестированием, бенчмарками и профилированием для оптимизации производительности.

Стратегии оптимизации

Завершающий модуль раскрывает стратегии масштабирования - балансировку нагрузки, репликацию баз данных, партиционирование таблиц. Студенты получают заключительную информацию для дальнейшего развития.

Особенности курса

Курс предоставляет доступ к собственному облачному кабинету Jungle cloud. Занятия проходят онлайн с возможностью общения в чате. Преподаватели имеют глубокие знания в своей области. Программа сочетает теоретическую часть с практическими заданиями. Участники получают доступ к записям уроков и дополнительным видеоматериалам. Во время обучения создается финальный проект, а после успешного завершения курса - выдается сертификат.

Что включено

Выдается диплом/сертификат
Гибкий график
Реальный проект в портфолио
Сопровождение ментора