Anonymous
забавно, что мало контента есть
Anonymous
ну на русском точно
Herman
Herman
Тонны
Emil
Когда мы тестим методы базы данных, что мы проверяем? Сколько строк затронули? Должно теститься соединение с базой?
Herman
Emil
Мокаем
А когда мы тестим сервер, тест базы входит в тест хендлера? Просто и там тоже вроде надо мокать
Anonymous
что значит мокать
Herman
Herman
Тест хендлера у меня только на Яндекс курсах))
Herman
На работе мы пишем тесты для слоя сервисов только
Herman
Если прям все тестить, то надо вникать в интеграционные, я пока не занимался
Herman
Неа. Сервисы это чисто бизнес-логика
Herman
Ну, по-хорошему и статус коды надо было бы, но опыта в этом нет, поэтому не подскажу
Emil
Эх, ну тогда моки делать[и что-то придумывать для хендоеров] )
Спасибо
Anonymous
почему на торрентах нету яндекса
Emil
первая волна, не успели)
Herman
+
Emil
Ждём-с)
Herman
Ну и самая интересная часть там пока в принципе не запущена
Emil
А это какая?
Anonymous
герман слей тесты пж
Anonymous
а хотя если тут челы из яндекса тебя вычислят
Herman
Emil
прикольно)
Herman
не помню, есть ли там программа
Herman
вроде где-то видел
Herman
в самом низу
Herman
https://practicum.yandex.ru/promo/go-profession
Herman
вот это дельно
Herman
Herman
да и плюс загугли golang unit tests
Herman
надо учиться разбираться в материале
Herman
дадут задачу на работе, а курсов по теме не будет. и что тогда делать
Anonymous
плакать
Anonymous
data transfer object
Anonymous
ну у меня да это постоянно используется в микросервисах
Anonymous
надо уметь управлять данными(то есть чтобы юзер мог выборочно отправлять)
Anonymous
короче я сам еще не до конца разобрался
Anonymous
ну если это твой код(сверху)
Anonymous
то в чистую архитектуру
Anonymous
тебе не обязательно грпс задротить, это у меня для скорости юзалось
Anonymous
ресты, redis, kafka,
Anonymous
тесты
Anonymous
вот с тестами беда, я инфы не нашел
Anonymous
ну типо, я не видел фул исходник, но по ощущениям у тебя нету определенного понимания с чего начинать писать код
Anonymous
1)домейн layer
2)application layer
3)framework layer
Anonymous
сверху писали
Anonymous
ну а вообще)))))
Anonymous
https://github.com/kenerase/hexagonal
Anonymous
у классного парня на гите есть реализация гексагонки
Anonymous
так вот
Anonymous
я тебе ссылку на гитхаб дал
Anonymous
Гексагонка юзается - когда главной целью является сделать приложение независимым от других компонентов. если будешь придерживаться данного принципа, то ты сможешь менять компоненты на изи
общение достигается через порты и адаптеры(альтернативное название Ports&Adapters)
(grpc, http, db) - это адаптеры
Там выделяют две категории: driver adapters(http, cli), driven adapters(db)
В гексагонке есть три слоя
1)Domain - ядро. Содержит бизнес логику
2)App - управляет ядром домена
3)Framework - логика для внешних компонентов
Все зависимости указывают во внутрь. Это значит, что доменский слой не может зависеть от слоя приложения и тд.
ну и чтобы взаимодействовать с базой необходимо внедрить зависимости.
(чтобы вызвать слой фреймворка надо создать экземпляр базы из слоя приложения)
Anonymous
ну как-то так
Anonymous
это мб сложно(я сам убил несколько дней, чтобы разобраться), но на гите есть хорошо расписанная статья(там и диаграммы есть). ссылку пытался найти, но не смог
Anonymous
качаешь, go mod ./...
Anonymous
что бы установить все зависимости
Anonymous
потом в смд запускаешь го мейн
Anonymous
ага
Anonymous
смотри
Anonymous
есть порт: core.go
и для него есть адаптер: coreAdapter.go
Anonymous
в core.go описано поведение
Anonymous
а coreAdapter.go реализует это поведение
Anonymous
грубо говоря, адаптер это заглушка для порта
Anonymous
он входит в порт
Anonymous
как в ирл
Herman
Гексагонка юзается - когда главной целью является сделать приложение независимым от других компонентов. если будешь придерживаться данного принципа, то ты сможешь менять компоненты на изи - честно, не понял
Anonymous
:(((
Herman
про гексагонку ничего не знаю, к сожалению
Herman
но менять компоненты можно же и в чистой, да и вообще почти в любой, где есть интерфейсы
Anonymous
ну хз у меня на работе гексагонка как сениоры говорят
Anonymous
надо было вливаться в тему
Herman
ну сам интерфейс что подразумевает
Herman
то, что можно подставить любую реализацию
Herman
надо почитать мне про архитектуры, короче
Anonymous
я когда начинал писать код сам того не понимая реализовал фабрику
Anonymous
и когда прочитал так рад был
Anonymous
хз почему)