Курс «Переход на Go: Разработка микросервисного приложения»
Почему стоит переходить на Go?
Вы окупите затраты на курс за 2 месяца, после перехода на новую позицию в стек Go. (а может и за один🙃)
По исследованиям Web3.Career средние цифры по ЗП в год для разработчиков на golang варьируются
от 60К$ до 150K$ -
со средним значением 80K$
от 550К рублей до 1300К рублей в месяц
Как мы обеспечиваем подобный переход?
Элементы курса
Потому что мы не просто даем основы Go, но и учим современным подходам Clean Architecture, Test-Driven Development, CI/CD, Site Reliability Engineering – что серьезно повысит ваш уровень на рынке труда.
Итогом будет рабочее приложение
с настроенным CI/CD пайплайном
проработанными метриками качества кода
cервисы, покрытые тестами.
Чистая архитектура (Clean Architecture)
Разработка через тестирование (Test-Driven Development, TDD)
Непрерывная интеграция и доставка (Continuous Integration/Continuous Delivery, CI/CD)
Микросервисная архитектура
SRE практики
Мощщщная подготовка собеседованию на мидл+/синьор уровне 🔥
Проектно-ориентированное обучение:
Разработка реальных проектов под руководством опытных наставников для применения новых знаний на практике.
Актуализация курсов:
Регулярное обновление учебных материалов с учётом последних тенденций и инноваций в IT-индустрии.
Автор и преподаватель на программе
CTO с более чем 20-летним опытом в IT. Занимался разработкой решений в сферах безопасности, блокчейна, финтеха и электронной коммерции, сфокусированных на американском рынке. В роли архитектора и руководителя обеспечивал стратегическое направление команд и успешное внедрение международных проектов. Провел более 1 000 собеседований
Дмитрий Березницкий
эксперт программы
Преимущества
Создай микросервисное приложение
Освой современные подходы в Go: Clean Architecture, TDD, Event Storming, SRE и CI/CD. Учись на реальном проекте: создай свое первое микросервисное приложение с поддержкой преподавателя!
Освой Go с нуля до уровня senior
Пройди полный курс и научись писать код на Go любой сложности. Освой работу с базами данных, REST API, gRPC, очередями сообщений, интеграцию с Docker и Kubernetes.
Реализуй первый проект с поддержкой преподавателя! Получи опыт работы со сложными системами, внедри Go в свою практику и стань специалистом, которого хантят!
Цели курса и конечный результат: На протяжении курса студенты будут разрабатывать приложение, состоящее из нескольких микросервисов. С каждым занятием проект будет усложняться, позволяя изучить ключевые аспекты языка Go и микросервисной архитектуры. Итогом будет рабочее приложение с настроенным CI/CD пайплайном, проработанными метриками качества кода и приложения, покрытым тестами. В ходе курса студенты также изучат такие темы, как Clean Architecture, Event Storming, тестирование (TDD), SRE-практики с настройкой дашбордов и алертов. Преподаватель будет демонстрировать пример приложения для бронирования слотов на оказание услуг.
Обзор возможных приложений: мини-соцсеть.
Выбор и утверждение идеи приложения каждым учеником.
Установка и настройка окружения для разработки на Go.
Введение в язык Go: особенности, философия, основные элементы.
Основные типы данных и конструкции в Go: структуры, слайсы, мапы, функции, условные операторы, циклы.
Объявление и использование функций, методы и интерфейсы.
Библиотеки в Go.
Практики обработки ошибок в Go: основные подходы и их применение.
Практическое задание: разработать простейшее приложение, используя основные конструкции Go .
История развития программирования, метрики качества кода (Cognitive Complexity, Cyclomatic Complexity, Lines of Code).
Принципы DRY/SOLID и code smells.
Использование линтеров в go
Практическое задание: анализ простого кода с точки зрения метрик и принципов качества. Изучение дополнительных материалов по теме и настройка линтеров в своем проекте.
Введение в Event Storming.
Применение Event Storming для проектирования микросервисов.
Практическое задание: проработка доменной модели для выбранного проекта, определение основных событий и взаимодействий. Создание бэклога с фичами и задачами для разработки приложения в рамках курса.
Эволюция архитектур: от MVC до Clean Architecture.
Взаимодействие между слоями микросервиса (Infrastructure/Adapters/Domain).
Примеры организации кода в микросервисах.
Практическое задание: реализация простой структуры проекта с учетом изученных архитектурных подходов.
История REST API и принципы построения.
Создание простого REST API, обработка HTTP-запросов и маршрутизация.
Практическое задание: реализовать базовые CRUD операции через REST API для своего проекта.
Основы тестирования в Go
TDD (Test-Driven Development).
Mutation testing
Benchmarking in Go
Практическое задание: написание тестов для существующего кода.
DDD и его основные подходы и принциы
Анимичные и полные модели данных.
Безопасность моделей
Практическое задание: применить полученные знания для доработки доменного слоя приложения.
Горутины и каналы в Go, основы асинхронного программирования.
Дедлоки и гонки.
Практическое задание: внедрение асинхронных операций в проект.
Основы аутентификации и авторизации в микросервисах.
JWT, OAuth2 и другие методы аутентификации.
Практическое задание: внедрение аутентификации в проект.
Подключение к базам данных в Go.
Взаимодействие с внешними сервисами и хранение данных.
Практическое задание: реализовать слой доступа к данным для проекта, настроить хранение и получение данных.
Понятие микросервисной архитектуры, основные подходы.