Що нового?

Придбаний [Слерм] чиста Архітектура додатки на GO (Микола Колядко)

Інформація про покупку
Тип покупки: Складчина
Ціна: 11030 ГРН
Учасників: 0 з 60
Організатор: Відсутній
Статус: Набір учасників
Внесок: 191.2 ГРН
0%
Основний список
Резервний список

Gadzhi

Модератор
навіщо потрібна чиста Архітектура?
  • зручність тестування. Ви можете запускати тести без інтерфейсу користувача, бази даних, веб-сервера або будь-якого іншого зовнішнього компонента.
  • незалежність від фреймворку. Архітектура не залежить від будь-якої бібліотеки, тому ви можете використовувати фреймворк як інструмент і не намагатися втиснути свою систему в рамки її обмежень.
  • незалежність від бази даних. Ви можете поміняти 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
https://privatelink.de/?https://slurm.io/go-architecture
 
Угорі