Anonymous
забавно, что мало контента есть
Anonymous
ну на русском точно
Herman
забавно, что мало контента есть
Не на русском если гуглить
Herman
Тонны
Emil
Когда мы тестим методы базы данных, что мы проверяем? Сколько строк затронули? Должно теститься соединение с базой?
Emil
Мокаем
А когда мы тестим сервер, тест базы входит в тест хендлера? Просто и там тоже вроде надо мокать
Anonymous
что значит мокать
Herman
Тест хендлера у меня только на Яндекс курсах))
Herman
На работе мы пишем тесты для слоя сервисов только
Herman
Если прям все тестить, то надо вникать в интеграционные, я пока не занимался
Emil
Тест хендлера у меня только на Яндекс курсах))
(ответ к сообщению про работу) Проверка валидности данных и всякие статус коды по ответам входят в сервисы или это не тестится?
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
да и плюс загугли 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
хз почему)