Size: a a a

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

2020 October 01

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Кстати по поводу shiled если не лень переводите на свои директивы. У меня после отказа от shield производительность на 10%
источник

ОЛ

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

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
Олег Линьков
Кстати по поводу shiled если не лень переводите на свои директивы. У меня после отказа от shield производительность на 10%
А кеширование правил в Shield юзал?
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Алексей Родионов
А кеширование правил в Shield юзал?
Когда использовал его кеша не было, замеры с ним не проводил
источник

ОЛ

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

ОЛ

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

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
источник

K

Konstantin in GraphQL — русскоговорящее сообщество
Производительность падает из-за shield в любом случае,из-за того что объекты хешируются для проверки наличия в кэше, поэтому нужно следить, чтобы не отдавать из резолверов большие объекты (например ORM модели). Но в graphql-shield есть возможность переопределить функцию хеширования, так что я советую переопределить её.
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Как по мне описание директивами прав, по типу @hasRole('ADMIN') напротив квери и мутаций, более по graphqlэвски, схема сразу фронтендеру видится со всеми правами.
источник

ОЛ

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

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
Олег Линьков
Как по мне описание директивами прав, по типу @hasRole('ADMIN') напротив квери и мутаций, более по graphqlэвски, схема сразу фронтендеру видится со всеми правами.
У директив куча бед.

Да, у декларативного подхода в отличие от импертивного есть плюсы в виде наглядности и простоты. Но простота неразрывно связана с ограничением гибкости. Это то, о чём я рассказывал в своём докладе про GraphQL (https://youtu.be/i4lBV8by8t4)

Вот пример оттуда:
YouTube
Алексей Родионов | Developer Experience (DX): Разработчики — тоже люди. GraphQL
Плейлист Mobile: https://www.youtube.com/playlist?list=PLGlZ_ld11os_JyZ6xVAWEZ-rnxrLjrGH5
Плейлист Web: https://www.youtube.com/playlist?list=PLGlZ_ld11os-nnB5CG_p6brIUWMGXU5Tr
Плейлист Cloud: https://www.youtube.com/playlist?list=PLGlZ_ld11os8QYBOSM8KU3INh244iFXKK

Алексей Родионов – Ведущий frontend-разработчик, Mercury Development, Краснодар

Developer Experience (DX): Разработчики — тоже люди. GraphQL

GraphQL — самая революционная технология извлечения данных со времен AJAX. Так же как React изменил опыт создания пользовательских интерфейсов (UI), GraphQL способен изменить опыт создания программных интерфейсов (API).
Но действительно ли GraphQL улучшает DX?
Расскажу об опыте интеграции и эксплуатации GraphQL в одном крупном проекте, какие проблемы решает GraphQL, а какие создаёт, как и с помощью каких инструментов решал эти проблемы, и как в итоге внёс свой вклад в экосистему GraphQL.

Слайды: http://bit.ly/graphql-dx

Twitter спикера: https://twitter.com/alexey_rodionov
GitHub спикера: https://git.io/alexey.rodionov…
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
Что если я хочу логическое OR между директивами?
источник

ОЛ

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

ОЛ

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

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
Да, я конечно накостылял директиву с логическими операциями в качестве аргументов:
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
Но правила в Shield тоже вполне читаемы (декларативны), являются простыми функциями.
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Не, я отказался от такого сразу. Как сделано у меня: hasRoleOrAuthor(['ADMIN', 'EDITOR'])
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
источник