I like
Ну, говорю же, времени особо не остаётся с нынешней работой, а то что выше скинул это прям начальная версия, даже не допиленная
I like
Возможно я предпологал её перестроить в будущем, да вот поменялись планы
I like
Честно говоря впервые его увидел
Tikhon
Возможно я предпологал её перестроить в будущем, да вот поменялись планы
Вы у Максима Жашкевича структуру проекта копировали?
Tikhon
Не дай боже
Просто в глаза сразу бросилась некая общая структура Handler, в которую сразу все возможные методы обработчиков и сервисы запиханы. Не могу утверждать что это плохо, но Жашкевич именно так учил делать))
I like
Как он пишет проекты не смотрел
White
То что миграций нет в репозитории это так и должно быть?
I like
Да и говоря честно, я ни разу миграции не писал
I like
Не доходило
I like
Практически нет комментариев, нет покрытия тестами. Вы пишите что знакомы с докером и grpc, но это не отражено в учебном проекте
Повторюсь ещё раз, то что я привёл выше, это самая начальная версия проекта, то что я успел написать до того, как времени стало катастрофически не хватать
I like
В том что выше написано банально нечего пихать в докер или связывать через grpc, банально потому, что проект недописан
I like
Зачем тогда показываете его?
Т.к. времени из-за нынешней работы его писать не остаётся, а продолжать работать по 12 часов в сутки за копейки - не выход
White
Ничего не понял в вашей логике, но ваше дело
I like
Может кто и возьмёт на бесплатную стажировку, а чтобы не пустословить привёл хоть что-то, что написал сам
I like
Всяко лучше показать хоть что-то, чем ничего
White
В учебный проект который не будет приносить прибыль, но необходим для демонстрации своего навыка не бред тащить его даже где он вообще не нужен
I like
Я имел ввиду в контексте перевода
I like
Что не придётся дёргать людей с просьбами "А я не понял что тут написано, переведите"
Andrey
потому как The client must close the response body when finished with it: это 3 строка в документации если не считать исходников... а в Вашем коде я не нашел чтобы вы закрывали его...
Andrey
к request это тоже относится
White
потому как The client must close the response body when finished with it: это 3 строка в документации если не считать исходников... а в Вашем коде я не нашел чтобы вы закрывали его...
Времени у человека не было дочитать че прикопались, как возьмете на стажировку и платить начнете прочитает
Alexey
Человек к вам за помощью, а вы душить
Andrey
Времени у человека не было дочитать че прикопались, как возьмете на стажировку и платить начнете прочитает
ту т.е. я должен платить за то что он будет хотя бы документацию читать? :)))
I like
ту т.е. я должен платить за то что он будет хотя бы документацию читать? :)))
"готов к бесплатному испытательному сроку, в рамках приличия естественно. "
I like
Конечно иронично, упрекать что я не дочитал документацуию
I like
А тут третья строчка говорит о бесплатном труде
I like
White
Думаю нет смысла проситься бесплатно
White
Не важно просит стажер 30к или 0 он все равно больше вреда принесет
Emin Zalaev
а если платит?
White
К тому же если он получает деньги то субьективно вроде как должен ответственно относиться к работе
White
А если пришел добровольно бесплатно то ожидать чего то будет сложно
I like
12 часов в день за 20к в месяц
I like
отходя всего на час на перекурыв
I like
достаточно ответсвенное отношение?
Emin Zalaev
нет
Emin Zalaev
охранники в пятерочке также работают, но продукты все равно люди воруют
Andrey
А тут третья строчка говорит о бесплатном труде
ну это всё хорошо, но: 1. кто будет платить человеку, который будет эти мелочи искать и устранять? 2. если вы сами не понимаете почему у вас количество файловых дескрипторов улетает в бесконечность и начинаете мучать своего наставника - кто ему будет платить за время, которое он проведет за объяснения Вам? я не хочу сказать что не нужно учить людей, нужно! но люди сами должны стремиться научиться.
Andrey
я 5 лет назад пришел с нулевыми знаниями и сидел и читал по ночам.
I like
Я не помру с голоду пока ищу работу у айти
Andrey
и разбирался почему так а не так
I like
Ментору этим заниматься не придётся, корпоративному
Andrey
У меня есть к кому обратисься за помощью в вопросе, который мне не понятен
ну так и дайте этому человеку свой код на анализ и спросите что он думает
I like
пока ещё нет, разгар трудового дня, вечером гляну
Сидредин
в ларавель тоже норм
Сидредин
нет
Aleksandr
в gorm автомиграции отлично работают
Юрий
А вы все что разделено на сервисы и репозитории называете чистой архитектурой?
Юрий
в ларавель тоже норм
Вы уж простите, но я не могу спросить. Вы не борец бывший случаем? Ваши уши не дают мне покоя, чувствую родную душу (они похожи на сломанные)
Юрий
Да, дзюдоист))
Мое уважение 🤝
Сидредин
Юрий
Ну ладно, в целом справедливо. Когда я начинал в далекие несколько месяцев назад пока я в си шарп не вник так и не смог до конца понять что такое архитектура
Юрий
Ну тут не совсем вопрос папок. Я почти год раскидывал все просто потому что так делали все с кем я работал) потом волею судеб меня закинуло пару месяцев поработать с ребятами на донете и там я уже прочувствовал это все по сути)
Юрий
Причем это не было как-то постепенно, я просто в какой-то момент жестко осознал это и все
Сидредин
Причем это не было как-то постепенно, я просто в какой-то момент жестко осознал это и все
можешь подробнее рассазать, что именно там было. А то я как раз на архитектурных моментах завис сейчас (уже не один год, кстати)
Ilya
А в чем вообще плюсы чистой архитектуры? Есть хоть одно исследование что такой подход дает какие-то преимущества?
Юрий
можешь подробнее рассазать, что именно там было. А то я как раз на архитектурных моментах завис сейчас (уже не один год, кстати)
Условно самое тяжелое для меня было отделить понятия Inversion Of Control и Dependency Inversion. И после этого стало понятно, что у тебя слои должны идти изнутри наружу. То есть на самом низком уровне у тебя есть domain, где ты описываешь сущности и их поведение, нужно понять, что уровень domain с сущностями не зависит ни от чего так как он в самом низу. То есть от него зависят, но он не зависит. У тебя так же есть слой работы с базой данных, который регистрирует все, что возможно и отдает тебе только интерфейсы для работы с репозиториями. То есть условно контракт репозитория у тебя меняться не должен, а реализация внутренняя может меняться спокойно. То же самое с уровнем бизнес логики. Ты зависишь от слоя репозиториев исключительно контрактами. То есть ты в бизнес логике используешь просто методы интерфейса, тебе плевать на реализацию этого. Выше уже уровень каких-нибудь контроллеров будь то grpc или http не важно, ты выкенешь один фреймворк напишешь на другом тебе не придется всю остальную программу переписывать. Короче говоря суть ровно в том, чтобы каждый слой выше использовал только интефейсы слоя ниже, чтобы не зависеть от реализации. сущности - > слой доступа к базе -> слой бизнес логики -> транспортный/представительский слой. И все это регистрируется в какой-то входной точке условно для го это cmd/app/main.go
Ilya
Опять же я прошу реальных исследований, потому что подготовить специалиста который это поддерживать сможет тоже затратно, а продукт может работать и без тестов и хоть на какой архитектуре
Юрий
Да у меня тоже, о какой чистой архитектуре может идти речь в микросервисах, если у тебя максимум 2-3 сущности и тебе дешевле по времени переписать потом этот микрсоервис с нуля чем сейчас запариваться по поводу его архитектуры
Danylo
Опять же я прошу реальных исследований, потому что подготовить специалиста который это поддерживать сможет тоже затратно, а продукт может работать и без тестов и хоть на какой архитектуре
Вы стоимость поддержки такого "продукта" оцениваете?) Что будет через год-два с таким продуктом, сколько затрат будет на его поддержку, который не использует чистую архитектуру
Юрий
главное совсем в кашу не превращать, видал и такое
Виктор
слои интерфейсы все сходу разделяю
Виктор
какая в этом проблема?
Юрий
слои интерфейсы все сходу разделяю
а тут вопрос не в слоях, тут вопрос в том чтобы мапить со слоя на слой данные
Vladislav
зачем кучу?
Юрий
Ну тут вы тоже немного не правы. Можно везде юзать эти две сущности кроме контроллера и мапить на уровне контроллера