Разработка на Go
Онлайн + Офлайн
Курс в проработке
О курсе
Для кого?
Курс лекций рассчитан на людей, знающих основы любого языка программирования.
Что дает курс?
- Освоите принципы программирования на Go;
- Сможете использовать Go для написания сервисов, работающих с базами данных и сторонними API.
Информация
- Занятия будут проходить в двух форматах — онлайн и офлайн. Занятия онлайн будут транслироваться на YouTube-канале Академии. Об офлайн-занятиях вы получите информацию на электронную почту после регистрации;
- После окончания курса и выполнения итогового задания будут выданы сертификаты.
Программа курса
-
/01 темаВводная часть
Что такое Go;
Зачем учить Go в 2023 году;
В каких сферах применяется Go и какие задачи приходится решать;
Разбор среды разработки на Go.
-
/02 темаОбзор базового функционала языка
Типы данных;
Управление потоком программы;
Структуры данных;
Функции.
-
/03 темаООП, обработка ошибок, многопоточность
ООП в Go;
Дженерики;
Обработка ошибок и паник;
Многопоточность — инструменты работы, каналы и решение задач;
Что такое горутины и в чём их преимущество.
-
/04 темаШаблон проекта на Go
Изучение golang project layout;
Пакет context;
Знакомство с TCP и написание простого чата;
Работа со сторонними пакетами;
Сервер и клиент.
-
/05 темаФорматы передачи данных, работа с реляционными БД
Знакомство с форматами передачи данных: JSON, XML, Protobuf;
Работа с базами данных;
Разборы библиотек для работы с базой данных;
Написание запросов в коде и ORM.
-
/06 темаТестирование, рефлексия и кодогенерация
Производительность и тестирование проекта;
Пакет testing;
Написание бенчмарков. Сравнение кода в производительности;
Рефлексия и кодогенерация.
-
/07 темаКлиент-серверное взаимодействие
HTTP: что это, разбор, построение и написание простого сервера;
RESTful API — что это такое;
Логирование;
Swagger;
Веб-фреймворки: GO-swagger, echo, gin.
-
/08 темаМикросервисы и монолит, межсервисное взаимодействие
Преимущество микросервисов над монолитом;
Создание микросервисной архитектуры;
Создание межсервисного взаимодействия: JSON-RPC, GRPC;
Брокеры: Kafka, Nats, RabbitMQ;
Хранилища статической информации на примере MinIO.