О КУРСЕ
▪️ Длительность 8 недель
▪️ Занятия проходят в формате живых вебинаров, по индивидуальному расписанию
КАК ПРОХОДИТ ЗАНЯТИЕ
Занятия включают:
▪️ Теоретическую часть
▪️ Сессию вопросов и ответов по пройденной теории
▪️ Закрепление теории на практике
▪️ Обратную связь по практическим и домашним заданиям
КРАТКИЙ СПИСОК ТЕМ:
- Введение в микросервисную архитектуру — основы, преимущества, ограничения и отличие от монолитов
- Обзор DevOps и инфраструктуры для микросервисов — ключевые процессы и инструменты поддержки
- Domain-Driven Design (DDD) — единый язык, контекстные границы, доменные события и их роль
- Проектирование микросервисной архитектуры — стратегии миграции от монолита, паттерны "распила" и снижение зависимости
- Паттерны взаимодействия — синхронное (REST, GraphQL, gRPC) и асинхронное (Kafka, очереди, publish-subscribe)
- Управление данными — изоляция, согласованность, паттерн SAGA
- Масштабирование и производительность — горизонтальное/вертикальное масштабирование, балансировка, кэширование
- Обеспечение отказоустойчивости — circuit breaker, retry, fallback
- Безопасность микросервисов — аутентификация, авторизация, шифрование, управление секретами
- Мониторинг и автоматизация — системы сбора логов, хэлсчеки, метрики, автоматизация тестирования
Дата начала: По мере набора группы
Длительность: 8 недель
Стоимость курса: 48 000 ₽
Цена без скидки: 48 000 ₽
Рассрочка: Да
Формат занятий: Онлайн
Помощь с трудоустройством: Нет
Сертификат об окончании: Да
Освойте Golang от основ до продвинутого уровня и создавайте современные приложения.
В ходе курса вы узнаете о преимуществах и областях применения Golang.
Вы изучите основные концепции:
- Переменные;
- Типы данных;
- Операции;
- Управляющие конструкции.
Основные темы курса:
- Плюсы и минусы;
- Сферы применения;
- Кто использует;
- Типизация в Go;
- Объявление переменной;
- Операция присваивания;
- Указатели;
- Расположение переменных в памяти;
- Понятие "zero value";
- Приведение типов;
- Дженерики;
- Конструкции if ... {} else {}, switch;
- Условия и логические операции;
- Цикл for;
- Метки;
- Виды функций;
- Сигнатура функции;
- Передача аргументов в функцию по ссылке и по значению;
- Области видимости, {};
- Ошибки, связанные с областью видимости;
- Замыкания;
- Затенения;
- Определение структур;
- Инкапсуляция полей структуры;
- Композиция;
- Выравнивание;
- Методы;
- Утиная типизация;
- Композиция интерфейсов;
- Утверждение типов;
- Конструкция type switch;
- Определение и реализация интерфейсов;
- Внутреннее устройство интерфейса;
- Влияние использования интерфейсов на производительность программы;
- Значение типа интерфейс и ошибки, связанные с nil;
- Правила присваивания значений переменным типа интерфейс;
- Опасное и безопасное приведение типов (type cast);
- Массивы и слайсы, мапы;
- Длина и ёмкость;
- Внутренняя структура слайсов и мап;
- Различные способы итерации;
- Частые ошибки и затруднения;
- Строки, руны и массивы байт;
- Стандартные функции для работы со строками и Unicode;
- Работа со строками через strings.Builder;
- Интерфейс error;
- Конструкция defer;
- Функции panic и recover;
- Кастомные ошибки;
- Обертывание ошибок;
- Сопоставление ошибок;
- Виды и назначение тестов, пирамида тестирования;
- Понятие табличных тестов;
- Пакет gomock для тестирования;
- Golden files;
- Fuzzing;
- Горутины и каналы;
- Сравнение буферизированных и небуферизированных каналов;
- Использование каналов для передачи данных и синхронизации;
- Получение данных из канала: select, range;
- Пул объектов sync.Pool;
- Мьютексы sync.Mutex/RWMutex;
- Словарь sync.Map;
- Условные переменные sync.Cond;
- Группа ожидания sync.WaitGroup, errgroup.WithContext;
- Атомарные операции — пакет atomic;
- Гарантировано одноразовое выполнение sync.Once;
- Понятие сериализации/десериализации;
- Протоколы JSON, XML, protobuf, gob;
- Структурные тэги;
- Архитектура Интернета;
- Клиент-серверное взаимодействие;
- Пакет net/http, работа с HTTP;
- Пакет net, работа с низкоуровневыми протоколами;
- CRUD, REST;
- OpenAPI, Swagger;
- Oauth, basic, jwt;
- Различные варианты конфигурации программы;
- Использование простых форматов конфигурации: .ini, .yaml, .json и т.п.;
- Чтение конфигурации из окружения;
- Библиотека для работы с конфигурацией: viper;
- Стандартная библиотека для логирования;
- Использование интерфейсов для логирования;
- Расширенное логирование на примере zerolog;
- Реляционные/нереляционные СУБД и области их применения;
- Основные понятия реляционных БД;
- Подключение к СУБД и настройка пула соединений;
- Выполнение SQL-запросов и получение результатов;
- Стандартные интерфейсы sql.DB, sql.Rows и sql.Tx;
- Использование транзакций;
- SQL-инъекции;
- Работа с базами данных через пакет gorm;
- Работа с базами данных через пакет sqlx;
- Сравнение монолитной и микросервисной архитектур;
- Плюсы и минусы микросервисов;
- Понятие 12-факторного приложения;
- Пример микросервисов на Golang (сервис регистрации пользователей и сервис рассылки уведомлений);
- gRPC и protobuf;
- Создание gRPC клиента и сервера, лучшие практики gRPC;
- Интерсепторы, надежность (ретраи, задержки);
- LS при работе с gRPC;
- Событийно-ориентированные архитектуры;
- Apache Kafka;
- NATS;
- RabbitMQ;
- Примеры работы с RabbitMQ из Go;
- Возможные проблемы с очередями: перегрузка, падение обработчиков, сбойные сообщения и пр.;
- RequestId;
- OpenTelemetry;
- Jaeger;
- Работа с многими каналами: fan in, fan out;
- Pipelines;
- Cancellation;
- Graceful shutdown;
- Особенности памяти программы на Go;
- Выделение и освобождение памяти на стеке и куче;
- Escape analysis;
- Механизм сборки мусора в Go;
- Обработка аргументов командной строки: flags, pflag;
- Работа с сигналами ОС;
- Запуск внешних программ;
- Стандартные интерфейсы io.Reader, io.Writer и io.Closer;
- Последовательные и произвольные доступы и интерфейс io.Seeker;
- Буферизация ввода/вывода и оптимизация копирования;
- Работа с каталогами;
- Работа с файлами;
- Работа с потоками ввода/вывода;
- Regex;
- Использование пакета reflect;
- Плюсы и минусы рефлексии;
- Reflect.Type и reflect.Value;
- Примеры использования рефлексии;
- Пакет unsafe и тип unsafe.Pointer;
- Понятие кодогенерации, инструмент `go generate`;
- Полезные библиотеки, использующие кодогенерацию: impl, stringer, jsonenums, easyjson и пр.;
- Работа с AST, практическая кодогенерация;
- Бенчмарки;
- Pprof;
- Профилирование;
- Cache miss, cache hit;
- Прогрев кэша;
- LRU, LFU кэш;
- Инвалидация кэша;
- Ленивый кэш;
- Вытеснение данных;
- Основные структуры планировщика: P, M, G;
- Механизм переключения горутин;
- Обработка системных и сетевых вызовов планировщиком.
Дата начала: По мере набора группы
Длительность: 1 неделя
Стоимость курса: 99 900 ₽
Цена без скидки: 99 900 ₽
Рассрочка: Нет
Формат занятий: Онлайн
Помощь с трудоустройством: Нет
Сертификат об окончании: Да
Профессия: Go Developer. Микроуроки 15–20 минут в день, практика и артефакты в портфолио.
Дата начала: В любое время
Длительность: 4 месяца
Стоимость курса: 2 990 ₽
Цена без скидки: 2 990 ₽
Рассрочка: Нет
Формат занятий: Онлайн
Помощь с трудоустройством: Да
Сертификат об окончании: Да
Максимально полная программа автоматизации тестирования на Java до среднего уровня (Middle)
Дата начала: По мере набора группы
Длительность: 12 месяцев
Стоимость курса: 169 900 ₽
Цена без скидки: 224 900 ₽
Рассрочка: Да
Формат занятий: Онлайн
Помощь с трудоустройством: Да
Сертификат об окончании: Да
Освойте работу с популярным языком программирования Go на продвинутом уровне
Дата начала: В любое время
Длительность: 3 месяца
Стоимость курса: 65 000 ₽
Цена без скидки: 65 000 ₽
Рассрочка: Да
Формат занятий: Онлайн
Помощь с трудоустройством: Нет
Сертификат об окончании: Да
Курс «Дизайн API – проектирование веб-приложений» включает необходимые знания по практическому использованию приемов и инструментов проектирования веб-приложений. На курсе вы узнаете принципы работы веб-приложений в стиле REST, а также SOAP-, GraphQL- и gRPC-сервисов. Закрепить полученные знания вам поможет индивидуальное практическое задание по проектированию веб-сервисов.
Дата начала: 9 ноября
Длительность: 1 неделя
Стоимость курса: 48 000 ₽
Цена без скидки: 48 000 ₽
Рассрочка: Нет
Формат занятий: Онлайн
Помощь с трудоустройством: Нет
Сертификат об окончании: Да