
xPushkin
25.12.2017
18:59:45

Demuz
25.12.2017
18:59:51
Ну да, фейсбук просто для прикола его разработали, как Го для прикола разработали, да ? ))))

Nikolay
25.12.2017
18:59:53
а тут мы сильно усложняем логику на бэкенде в угоду фронту

Demuz
25.12.2017
19:00:12

Google

Nikolay
25.12.2017
19:00:14
и, кстати, разработали его в первую очередь в гитхабе, если я ничего не путаю

xPushkin
25.12.2017
19:00:37

Demuz
25.12.2017
19:00:42

Nikolay
25.12.2017
19:01:07

xPushkin
25.12.2017
19:01:29

Nikolay
25.12.2017
19:01:44
если слишком много запросов или проблемыс кэшем - надо менять обработчики и параметры к ним, но никакого "а давайте разрешим произвольные запросы" не должно быть

Andrey
25.12.2017
19:02:18

Nick
25.12.2017
19:02:20

Nikolay
25.12.2017
19:02:21
> Должен
С чего это вдруг?
с того, что это два независимых компонента и между ними протокол. Для большинства вариантов бизнес-логики REST достаточен и при прямых руках вполне оптимален
а вот graphql - избыточен и усложнен

Demuz
25.12.2017
19:02:42

Nick
25.12.2017
19:03:00

Google

Nikolay
25.12.2017
19:03:14

Demuz
25.12.2017
19:03:17

Andrey
25.12.2017
19:03:24

Nikolay
25.12.2017
19:03:39

Nick
25.12.2017
19:04:06

Nikolay
25.12.2017
19:05:01

Demuz
25.12.2017
19:05:16
это они просто не смогли в rest нормально
Я только недавно задавал себе вопрос, а не много ли лишней инфы фронту я передаю? Которую он не юзает. Эту инфу бессмысленно было намеренно вырезать из инстанса и так же бессмысленно было создавать отдельные структуры, только для урезанного ответа для апи. А здесь, я пока вижу смысл, так как реально клиент получает то, что запросил.

Nick
25.12.2017
19:05:18

Demuz
25.12.2017
19:06:27
Да, а вот в плане безопасности что? Как это работает? Ведь по сути, такой запрос может получить и не свою инфу.

Nick
25.12.2017
19:06:54

Demuz
25.12.2017
19:06:58
Ну да)
Винду в пример ) с миллиардом дыр, за миллиарды долларов )

Nick
25.12.2017
19:07:44
Любой софт в пример

Demuz
25.12.2017
19:08:04
Винда очень глобальный пример просто )
Кстати, на стороне Golang, в этом GraphQL жесть что творится )))) Жеееесть.

Nick
25.12.2017
19:09:02
В go почти везде жесть

Andrey
25.12.2017
19:09:16
Если вы не достигли болевых точек REST API, решением которых является GraphQL, то можете не волноваться.

Demuz
25.12.2017
19:09:47
Клиенту не принципиально. Но сам себя как разраб не буду уважать, если не постараюсь сделать лучше, чем есть сейчас.

Google

Andrey
25.12.2017
19:11:42
советую почитать
https://habrahabr.ru/post/326986/
https://habrahabr.ru/post/335158/
особенно комменты с плюсиками

Demuz
25.12.2017
19:12:44

Nikolay
25.12.2017
19:12:49

Andrey
25.12.2017
19:13:16
GraphQL — ради одной точки входа создаём себе кучу проблем вроде непредсказуемого API c потенциальными дырами в безопасности.

Demuz
25.12.2017
19:13:39
Раз такой оптимизацией занялись, еще бы и эту часть улучшили. Например, нахрена там 4 ключа "title", если все ключи запросились одинаковые? ))))
Раки )
Ээээ, я с такой надеждой смотрел.
Сейчас досмотрю, если они там так и оставят 4 и 3 одинаковых ключа, выкину на свалку. ) Или закомичу. )

Andrey
25.12.2017
19:15:04
Эт проблема ?
По аналогии с SQL, если вы откроете доступ к БД, то злоумышленник может сделать SQL запрос с кучей join которые тупо повесят ваш сервер БД

Nick
25.12.2017
19:15:50

Nikolay
25.12.2017
19:17:17

Nick
25.12.2017
19:17:44
Ты делаешь схему и условно мапинг на то, что у тебя в беке. Никто не мешает делать доменную схему
Ну и лучше сделать один запрос, чем потом фронту делать 50
Учитывая, что там есть кэши и оптимальные резолверы

Demuz
25.12.2017
19:19:53

Andrey
25.12.2017
19:19:53
вот самое то что нужно
Да, GraphQL прячет резолверы ресурсов внутрь, делая бесполезными коды ошибок HTTP, глаголы HTTP, заголовки HTTP, используемые промежуточным ПО для кеширования и контроля работы с данными. Именно об этом я и говорю, GraphQL — это «ленивое» проектирование, которое удешевляет разработку на старте проекта, но удорожает на дальнейшей разработке и поддержке.

Nikolay
25.12.2017
19:20:07

Google

Demuz
25.12.2017
19:20:08
Закомичу нахрен ) Напишу, зачем столько одинаковых ключей )

Nikolay
25.12.2017
19:20:18

Nick
25.12.2017
19:20:22

Nikolay
25.12.2017
19:20:33
модели и связи - это часть бэкендной бизнес-логики

Nick
25.12.2017
19:20:56

Nikolay
25.12.2017
19:21:11

Nick
25.12.2017
19:21:22
Разницы никакой

Admin
ERROR: S client not available

Nikolay
25.12.2017
19:21:26
большая
сущности != связи

Nick
25.12.2017
19:21:35
Ты можешь условно говоря тот же гет отобразить на query
Ок, ты его использовал? Мне кажется ты не совсем понимаешь для чего это все

Demuz
25.12.2017
19:23:02
Только для возврата информации, исключительно запрошенной клиентом у серва. Если запросил 1 , то получил 1, а не кучу доп хвостов из базы и т.п. Я так понял.

Nick
25.12.2017
19:23:18
На самом деле графкл удобнее когда нужно вернуть фронту сущность , которую ты на Бэке джоинишь. Я до сих пор не научился придумать названия для таких геттеров

Nikolay
25.12.2017
19:23:31

Nick
25.12.2017
19:23:47
Спеку делаешь ты, фронт решает только то, что можно взять по спеке

Google

Nikolay
25.12.2017
19:24:41

Demuz
25.12.2017
19:24:56

Nikolay
25.12.2017
19:24:58
а он не должен хотеть сверх того, что я ему могу дать

Demuz
25.12.2017
19:25:33
Nikolay, вот это они там так и не решат?

Nikolay
25.12.2017
19:26:04

Demuz
25.12.2017
19:26:31
Ааа, эта логика возврата одинаковых ключей, в сервере описывается? так получается?

Nick
25.12.2017
19:26:32

Nikolay
25.12.2017
19:26:57

Nick
25.12.2017
19:27:06
А разница ?)

Nikolay
25.12.2017
19:27:23

Nick
25.12.2017
19:27:39
Ну эт спорно
На функциональных языках все довольно чисто выглядит
@sas1024 как у тебя там на гошечке? Чистый код?)

Nikolay
25.12.2017
19:29:20
Ну эт спорно
да нет, бесспорно. Тебе нужна логика по маппингу этого говна на джойны в твоей базе, да еще и наверняка к конкретной базе придется гвоздями ее привязать
когда у тебя есть набор хэндлеров с четко очерченной логикой и нормальной абстракцией - все это сразу становится ненужно

Nick
25.12.2017
19:29:42

Nikolay
25.12.2017
19:30:05

Nick
25.12.2017
19:30:20
Значит ты точно не понимаешь про что речь

Nikolay
25.12.2017
19:31:14
понимаю, я писал много раз ресты

Nick
25.12.2017
19:31:18
В graphql тоже самое, как ты написал хэндлер, так и будет

Nikolay
25.12.2017
19:31:21
в том числе без привязки к конкретной базе