Size: a a a

GraphQL — русскоговорящее сообщество

2020 July 19

BA

Bogdan Aleksandrovic... in GraphQL — русскоговорящее сообщество
раз в 5 дольше
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Это не проблема дата лоадера
источник

BA

Bogdan Aleksandrovic... in GraphQL — русскоговорящее сообщество
ну запрос пойдет с выборкой, но жду в разы больше, не пойму, стоит ли оно того
источник

BA

Bogdan Aleksandrovic... in GraphQL — русскоговорящее сообщество
а, лол, стоп, оказывается, если консоль в даталоадере, то загрузка в боксе идет, пока не выполнятся все консоли, все норм, ну мощ даталоадер
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
К примеру у меня примерно каждую секунду запрашивают на одном сервисе инфу о пользователе.
Со стороны фронта batch запрашивают инфу о разных пользователях, иногда бывают запросы вложенные. Dataloader позволил сократить тяжелые запросы с 500ms до порядка 10-20ms
источник

BA

Bogdan Aleksandrovic... in GraphQL — русскоговорящее сообщество
ну это уже серьезное сокращение, норм, мне нравится
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Притом что нагрузка около 100RPS, то есть 6000RPM, у нас каждый лишний ms и задержка транзакции очень весома
источник

BA

Bogdan Aleksandrovic... in GraphQL — русскоговорящее сообщество
а вот у меня юзают аполо и графкл уже примерно года два, но даталоадеры не использрвали, не знаю почему
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
не те нагрузки, не стоит оптимизировать ради оптимизации) Это лишнее
источник

BA

Bogdan Aleksandrovic... in GraphQL — русскоговорящее сообщество
ну торговая биржа с огромной нагрузкой , вообще там есть проекты не тольк ов странах снг, возможно просто не нужно было
источник
2020 July 20

AB

Aleksandr Bukhalo in GraphQL — русскоговорящее сообщество
Bogdan Aleksandrovich
подскажите за даталоадер, я максимально не понимаю, когда он нужен, тогда, когда одним запросом в бд много запросов?
Ещё он хорошо подходит в случае, когда ты оборачиваешь сторонний API, когда грубо говоря 10-20 запросов можно свернуть в 1-2
источник

A

Albert in GraphQL — русскоговорящее сообщество
Ребятушки, выручайте 😢 уже месяц не могу нагуглить решение нормальное…
 У меня в БД куча разных типов пользователей типа Учитель, Повариха, Бомж, и к каждому лефтджоином добавляю общее поле user с id, email и др.
 Вопрос, как красиво организовать функционал регистрации? Куча отдельных функций типа registerAsBomzh() даже не рассматриваю, одна функция register(role) с кучей if else - можно, но поломается если в будущем добавятся другие роли…
источник

V

Valentin in GraphQL — русскоговорящее сообщество
Albert
Ребятушки, выручайте 😢 уже месяц не могу нагуглить решение нормальное…
 У меня в БД куча разных типов пользователей типа Учитель, Повариха, Бомж, и к каждому лефтджоином добавляю общее поле user с id, email и др.
 Вопрос, как красиво организовать функционал регистрации? Куча отдельных функций типа registerAsBomzh() даже не рассматриваю, одна функция register(role) с кучей if else - можно, но поломается если в будущем добавятся другие роли…
последний абзац + паттерн стартегия
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
По классике регистрация всегда делается с базовой ролью, а смена роли отдельную функцию.
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Не будет костылей и переиспользуемость функции будет точно
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Ну и вместо кучи ифов юзайте switch, просто и элегантно
источник

A

Albert in GraphQL — русскоговорящее сообщество
было бы круто каким-то образом получать репозиторий динамически по имени роли, но в typeorm такого не предусмотрено. Интересно, есть ли в другой какой orm-ке?
источник

A

Albert in GraphQL — русскоговорящее сообщество
типа connection.getRepository(roleName), тогда и switch не нужны
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Я могу ошибаться но у меня не было такого кейса, чтобы схема бд влияла как то на систему прав. То есть конечно в схеме хранится роль, но это же логика контроллера. Сделайте отдельный сервис провайдер по ролям. Где у вас будет перечисление сопрягаемых сущностей. Пока не понятно насколько роли различны
источник

A

Albert in GraphQL — русскоговорящее сообщество
вообще это нормально, при регистрации создавать и базового user и сразу объект роли? кажется, что объект роли не обязателен, пока пользователь не начнет заполнять профиль. Может на этапе регистрации и не нужно париться?
источник