Doge
Я тупо модули пишу , наружу функции
Ну это от репозитория не сильно отличается по сути.
Nikolay
IQueryable нихера не изолирует
Doge
Я тупо модули пишу , наружу функции
Главное, что особенности доступа к данным никак не протекают наружу.
Bonart
У вас неправильные репозитории
Правильные репозитории как и правильные синглтоны бывают только в интернет-спорах. В коде не встречаются, ибо дохнут от первого же джойна
Ayrat
короче, дело было когда мы в угаре переписывали то самое говно решение пару месяцев назад. Там было несколько проектов с общим доступом к БД и моделями. Объем работ - есть готовый прото файл с описанием всех моделей (менять не надо). Есть 2 таблицы в БД (каждая с тонной колонок из этих типов состоящая, но из-за особенностей кассандры, мы по ним запросов не делаем). нужно было сделать типичный крудец на 2 таблицы, считать по ключу, апдейтнуть по ключу (кассандра на апдейте сама инсерт делает если надо), удалять даже не надо. То есть 4 запроса. Поручили нашим свеже нанятным джунам, в прошлом джавистам. Я, почесав репу, оценил объем работ в неделю и попиздовал делать свои дела. (вот тут я допустил ошибку и подумал что они справятся без моего участия) Проходит неделя, было бы неплохо уже делать запросы в БД, спрашиваю на собрании команды чо сделано, говорят - решаем проблемы менеджера объектов и билдера запросов в проприетарном кассандра драйвере. О_О Я сдержался и не стал ставить точки в конце своих вербальных предложений и предложил встретиться после митинг обсудить план действий. Увидел в коде Data Access Objects, AbstractDaoManager, QueryBuilder и всю вот эту поеботу раскиданную на пару десятков файлов. Ещё раз - 4 запроса надо было к известной схеме.
Ayrat
Ща продолжение
Doge
Правильные репозитории как и правильные синглтоны бывают только в интернет-спорах. В коде не встречаются, ибо дохнут от первого же джойна
Так ты их создавай не тупо по сущностям, а, например, по тем же бизнес-процессам. И не будет никак проблем иметь джоины нескольких сущностей внутри методов репозитория.
Doge
По бизнес-процессам никакого репозитария не будет по построению.
У нас видимо взгляды на то, что такое репозиторий сильно расходятся.
Vasily
Мне бы ваши проблемы
Vasily
У меня вон свежий апдейт замарин сдк наглухо сломал билд на билд машине
Ayrat
короче, дело было когда мы в угаре переписывали то самое говно решение пару месяцев назад. Там было несколько проектов с общим доступом к БД и моделями. Объем работ - есть готовый прото файл с описанием всех моделей (менять не надо). Есть 2 таблицы в БД (каждая с тонной колонок из этих типов состоящая, но из-за особенностей кассандры, мы по ним запросов не делаем). нужно было сделать типичный крудец на 2 таблицы, считать по ключу, апдейтнуть по ключу (кассандра на апдейте сама инсерт делает если надо), удалять даже не надо. То есть 4 запроса. Поручили нашим свеже нанятным джунам, в прошлом джавистам. Я, почесав репу, оценил объем работ в неделю и попиздовал делать свои дела. (вот тут я допустил ошибку и подумал что они справятся без моего участия) Проходит неделя, было бы неплохо уже делать запросы в БД, спрашиваю на собрании команды чо сделано, говорят - решаем проблемы менеджера объектов и билдера запросов в проприетарном кассандра драйвере. О_О Я сдержался и не стал ставить точки в конце своих вербальных предложений и предложил встретиться после митинг обсудить план действий. Увидел в коде Data Access Objects, AbstractDaoManager, QueryBuilder и всю вот эту поеботу раскиданную на пару десятков файлов. Ещё раз - 4 запроса надо было к известной схеме.
мне нельзя быть токсичным, поэтому я начал издалека - А НАХУЯ это все? Мне сказали что это бест практис и вдруг нам потребуются другие таблицы или сложные запросы, а тут уже всё готово. Договорились что они остановятся в попытках объять необъятное и сделают велью. При этом позволил им оставить свои наработки. Дал ещё неделю. Проходит неделя. Тот же вопрос - чо как? Говорят, делаем асинхронный АПИ посредством ручных колбеков и интеропом с системными прерываниями.. ЧЕГОБЛЯТЬ Я стал немного токсичным и спросил - а нельзя ли уже сконкатенировать 4 строки и отдать уже в работу? (за что потом получил разговор со своим боссом о том что мне надо быть чуть более толерантным) Короче, через 3 недели суммарно 2 джуна родили проект для доступа к БД
Vasily
Потому что какие-то пидоры решили ускорить сборку , но, как обычно, не учли мелкие детали
Ayrat
Красиво. А оно хоть работает при этом?
да, работает. Но тут суть в том мне надо было найти время их проконтролиировать в процессе
Vasily
Бест практис обычно булшит
Bonart
так низя, да
А зря - они бы еще благодарили потом
Ayrat
в европах все инклюзивно. Но они нормальные джуны.
Doge
да, работает. Но тут суть в том мне надо было найти время их проконтролиировать в процессе
А была возможность тупо дать им точную постановку с тем, что куда и как вписывать и их отослать делать по ней?
Ayrat
они старались!!11
Vasily
А зря - они бы еще благодарили потом
Тебе просто хочется кого-то опиздюлить
Ayrat
А была возможность тупо дать им точную постановку с тем, что куда и как вписывать и их отослать делать по ней?
ну я думал что так и сделал!!1 у меня была спека по необходимым запросам, они сделали йоба дженерик ОРМ
Ayrat
то есть моя спека была как бы включена в их решение
Doge
ну я думал что так и сделал!!1 у меня была спека по необходимым запросам, они сделали йоба дженерик ОРМ
Можно было попробовать поставновку в духе, создайте такие классы, впишите туда такую логику и т.п. На прошлой работе иногда так делал, помогало от любителей придумать себе проблем на ровном месте.
Bonart
Тебе просто хочется кого-то опиздюлить
Нет. Ибо Айрат все четко расписал - нужны были постановка под джунов и контроль. Так что основная часть "кто виноват" на нем. Но часть "что делать" - как раз донести до джунов максимально доходчиво нормальный подход к выбору решений под задачу.
Ayrat
Да, мне надо было найти день на неделе и спросить чо как
Ayrat
Но я им поверил!!11
Ayrat
Да ладно, они норм. Щас вот на скале пишут
Ayrat
Уже впитали чего я ожидал от них, пишут норм
Bonart
ну не, это уж совсем
Джуны же. Я так одному товарищу подробно расписал, как создать одну табличку в БД. Без суррогатного ключа, с одним кластерным индексом по нужными полям. Товарищ сделал все наоборот, получили факап прямо на демо. Я выдал 15 этажей мата, из которых 9 были в свой же адрес, что не проконтролировал.
Bonart
Но я им поверил!!11
Это и был твой косяк как ментора и руководителя
Bonart
Я тоже учусь
Я таких косяков много наделал :)
Bonart
Теперь имею славу перфекциониста и придираста
Ayrat
Уже впитали чего я ожидал от них, пишут норм
Кстати я им сказал что если увижу хоть один блок треда в коде, даже если тред из тредпула, буду убивать панду.
Диёр
А моей первой таской на бэкенде был микросервис для рассылки смсок
Диёр
А моей первой таской на бэкенде был микросервис для рассылки смсок
По итогу апи этого микросервиса ничем не отличался от апи провайдера, но всем понравилось и в прод вылили
Диёр
Знаю
Ayrat
Фу таким токсичным быть
Соседняя команда всё ещё скейлит кол-во ио запросов увеличением количества ЦПУ!
Nikolay
в европах все инклюзивно. Но они нормальные джуны.
Нормальные джуны это студенты 2-3 курса, а твои джуны слишком много знают уже
Ayrat
Тебя ждут с паяльником, но непременно нетоксичным
Я им PR вкатил, думаю вмержат после праздников. Но да, это маразм
Ayrat
Всмысле ручками созданный ?
Ну даже если ручками
Bonart
Тем лучше. Традиционное порево с микросервисами в 99% случаев маст дай
Vladislav
короче, дело было когда мы в угаре переписывали то самое говно решение пару месяцев назад. Там было несколько проектов с общим доступом к БД и моделями. Объем работ - есть готовый прото файл с описанием всех моделей (менять не надо). Есть 2 таблицы в БД (каждая с тонной колонок из этих типов состоящая, но из-за особенностей кассандры, мы по ним запросов не делаем). нужно было сделать типичный крудец на 2 таблицы, считать по ключу, апдейтнуть по ключу (кассандра на апдейте сама инсерт делает если надо), удалять даже не надо. То есть 4 запроса. Поручили нашим свеже нанятным джунам, в прошлом джавистам. Я, почесав репу, оценил объем работ в неделю и попиздовал делать свои дела. (вот тут я допустил ошибку и подумал что они справятся без моего участия) Проходит неделя, было бы неплохо уже делать запросы в БД, спрашиваю на собрании команды чо сделано, говорят - решаем проблемы менеджера объектов и билдера запросов в проприетарном кассандра драйвере. О_О Я сдержался и не стал ставить точки в конце своих вербальных предложений и предложил встретиться после митинг обсудить план действий. Увидел в коде Data Access Objects, AbstractDaoManager, QueryBuilder и всю вот эту поеботу раскиданную на пару десятков файлов. Ещё раз - 4 запроса надо было к известной схеме.
Anonymous
Стабы
Стабы чего? Абстракция должна же быть, чтобы ее замокать. Или ты не про то?
Диёр
Я не мокаю, я на живчика
Диёр
Сложнее, но честнее
Anonymous
Обожаю твои истории
Anonymous
Ой
Anonymous
Не скопировался пост Айрата
Anonymous
Про джунов
Диёр
А, понял. Но это понятно. Но есть разница - пилить по железным контрактам и ясными требованиями, или в угаре пытаться завести самописную БД под брейнфак (потому что выбрали брейнфак), а бизнес каждый день приходит и говорит что передумал, меняем вектор работ.
У меня на собесе как-то раз спросили сколько раз я свою субд писал. Я такой "чего-чего?", а они продолжают, говорят вот в постгресе когда ещё не было select for update им пришлось свою субд писать.
Romɑn
Но чтобы до него дойти, разрабу тупым быть нельзя
Чет в чате с утра только линкедин профии ненадрачивают, столько комплиментов
Romɑn
В хорошем смысле
Ayrat
@aensidhe может рассказать про свою СУБД
Ayrat
Но у него вроде как успешный кейс
Vasily
Ну я тоже могу рассказать про свою субд, но зачем
Anonymous
Вот мне интересно - как в типичном энтерпрайзе выбить таску под свою СУБД? Это типа идешь и заводишь новый тикет на джире, мол, надо сделать в этом спринте?
Bonart
Ну я тоже могу рассказать про свою субд, но зачем
Затем! Чтобы не только кумиров хипстоты можно было услышать
Romɑn
короче, дело было когда мы в угаре переписывали то самое говно решение пару месяцев назад. Там было несколько проектов с общим доступом к БД и моделями. Объем работ - есть готовый прото файл с описанием всех моделей (менять не надо). Есть 2 таблицы в БД (каждая с тонной колонок из этих типов состоящая, но из-за особенностей кассандры, мы по ним запросов не делаем). нужно было сделать типичный крудец на 2 таблицы, считать по ключу, апдейтнуть по ключу (кассандра на апдейте сама инсерт делает если надо), удалять даже не надо. То есть 4 запроса. Поручили нашим свеже нанятным джунам, в прошлом джавистам. Я, почесав репу, оценил объем работ в неделю и попиздовал делать свои дела. (вот тут я допустил ошибку и подумал что они справятся без моего участия) Проходит неделя, было бы неплохо уже делать запросы в БД, спрашиваю на собрании команды чо сделано, говорят - решаем проблемы менеджера объектов и билдера запросов в проприетарном кассандра драйвере. О_О Я сдержался и не стал ставить точки в конце своих вербальных предложений и предложил встретиться после митинг обсудить план действий. Увидел в коде Data Access Objects, AbstractDaoManager, QueryBuilder и всю вот эту поеботу раскиданную на пару десятков файлов. Ещё раз - 4 запроса надо было к известной схеме.
Менеджмент это тоже работа.
Ayrat
Менеджмент это тоже работа.
Это неоспоримый факт.
Ayrat
Но конкретно я не менеджер, а тим лид. Менеджер у нас отдельный и в тех процессы не лезет, хотя сам бывший хороший разраб (в далёком прошлом)
Romɑn
мне нельзя быть токсичным, поэтому я начал издалека - А НАХУЯ это все? Мне сказали что это бест практис и вдруг нам потребуются другие таблицы или сложные запросы, а тут уже всё готово. Договорились что они остановятся в попытках объять необъятное и сделают велью. При этом позволил им оставить свои наработки. Дал ещё неделю. Проходит неделя. Тот же вопрос - чо как? Говорят, делаем асинхронный АПИ посредством ручных колбеков и интеропом с системными прерываниями.. ЧЕГОБЛЯТЬ Я стал немного токсичным и спросил - а нельзя ли уже сконкатенировать 4 строки и отдать уже в работу? (за что потом получил разговор со своим боссом о том что мне надо быть чуть более толерантным) Короче, через 3 недели суммарно 2 джуна родили проект для доступа к БД
Фатальная ошибка в менеджменте была осознана в первом абзаце но выводов не было сделано. Надо было не оставлять из снова на неделю, а начать чаще контролить, чтоб не терять неделю