[Слёрм] Чистая архитектура приложения на GO (Николай Колядко)

Цена:
1012
doneМного
doneЗаканчивается
highlight_offНет в наличии
notifications_none
Уведомить

[?IMG]
?
Зачем нужна чистая архитектура?
  • Удобство тестирования. Вы можете запускать тесты без пользовательского интерфейса, базы данных, веб-сервера или любого другого внешнего компонента.
  • Независимость от фреймворка. Архитектура не зависит от какой-либо библиотеки, поэтому вы можете использовать фреймворк в качестве инструмента и не пытаться втиснуть свою систему в рамки его ограничений.
  • Независимость от базы данных. Вы можете поменять Oracle или SQL Server на MongoDB, BigTable и т.д.
  • Независимость от UI. Вы легко можете изменить пользовательский интерфейс, не затрагивая остальную систему. Например, можете заменить веб-интерфейс на консольный, не меняя бизнес-правил.Ваши бизнес-правила не связаны с базой данных.
Как понять, что вам пора на интенсив?
  • Не знаете, что такое чистая архитектура и как сформировать структуры папок по этой технологии
  • Переходите на Go с другого языка программирования и хотите быстрее понять, как всё работает
  • Пишете на Go, но не работали над большими проектами
  • Хотите брать интересные задачи и создавать сложные приложения на Go с нуля
День 1


Разберем структуру проекта на Golang, обсудим примеры использования чистой архитектуры и научимся справляться с возникающими сложностями.

Практика:
  • Создаем структуру проекта
  • Наполняем Dependency injection (DI)
  • Подключаем PostgreSQL через DI
День 2


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

Практика:
  • Создаем структуры папок
  • Созданием конструкторов для слоёв и устанавливаем зависимости
  • Проводим инициализация слоёв на main
  • Наполняем слои (Domain, Use, Case, Delivery, Repository)
День 3


Изучаем Observability, контекст (context) и трассировку, заканчиваем интенсив запуском и демонстрацией работы приложения (сервиса по работе с контактами и возможностью их группировки)

Практика:
  • Добавляем использование контекста
  • Добавляем логирование ошибок
  • Подключаем Jaeger через DI
  • Добавляем трассировку
  • Учимся покрывать тестами блок Use Case