Size: a a a

Programming Offtop

2020 September 26

AM

Artem Molotov in Programming Offtop
Alexander Nozik
Для структурированных запросов
А это с какой целью?
источник

AN

Alexander Nozik in Programming Offtop
Artem Molotov
А это с какой целью?
В чем впосро-то? Суть GraphQL в том, чтобы делать глубоко структурированные выборки.
источник

AM

Artem Molotov in Programming Offtop
Alexander Nozik
В чем впосро-то? Суть GraphQL в том, чтобы делать глубоко структурированные выборки.
Да вроде спросил... Ясно, что для структурированных выборок, но появляется вопрос зачем это нужно.

Для экономии передачи данных? Для возможности запроса разнородных данных? Етц?
источник

QH

Quantum Harmonizer in Programming Offtop
Artem Molotov
Да вроде спросил... Ясно, что для структурированных выборок, но появляется вопрос зачем это нужно.

Для экономии передачи данных? Для возможности запроса разнородных данных? Етц?
NIH syndrome
источник

AN

Alexander Nozik in Programming Offtop
Artem Molotov
Да вроде спросил... Ясно, что для структурированных выборок, но появляется вопрос зачем это нужно.

Для экономии передачи данных? Для возможности запроса разнородных данных? Етц?
Ну в том числе для экономии. Но в действительности, суть просто в том, что часто данные имеют структуру и структурированные запросы выглядят гораздо более натурально с точки зрения данных. Так что кроме экономии запросов, еще повышенная логичность.
источник

AM

Artem Molotov in Programming Offtop
Alexander Nozik
Ну в том числе для экономии. Но в действительности, суть просто в том, что часто данные имеют структуру и структурированные запросы выглядят гораздо более натурально с точки зрения данных. Так что кроме экономии запросов, еще повышенная логичность.
Вот о структурированных запросах я всё равно не понял... Что мешало отдавать нужные данные в нужной структуре без graphql, к примеру, с json rpc?
источник

AM

Artem Molotov in Programming Offtop
ну или не json, а просто rpc
источник

AN

Alexander Nozik in Programming Offtop
Artem Molotov
Вот о структурированных запросах я всё равно не понял... Что мешало отдавать нужные данные в нужной структуре без graphql, к примеру, с json rpc?
Потому что может быть не один запрос, а много. Вы можете модифицировать структуру запроса, не меняя бэк.
источник

AM

Artem Molotov in Programming Offtop
Собстнно из-за чего я спрашиваю. Мне казалось, что graphql юзается в том числе и из-за того, что можно несколько запросов определённого ресурса объеденить в один и получить данные в желаемой структуре... А потом я захожу в сеть и вижу, что FB подряд отправляет по 3-4 grapthql запроса, что не может не удивлять.
источник

AM

Artem Molotov in Programming Offtop
Alexander Nozik
Потому что может быть не один запрос, а много. Вы можете модифицировать структуру запроса, не меняя бэк.
С rpc ничо не мешает отправить сразу несколько команд, если я не туплю
источник

AN

Alexander Nozik in Programming Offtop
Artem Molotov
Собстнно из-за чего я спрашиваю. Мне казалось, что graphql юзается в том числе и из-за того, что можно несколько запросов определённого ресурса объеденить в один и получить данные в желаемой структуре... А потом я захожу в сеть и вижу, что FB подряд отправляет по 3-4 grapthql запроса, что не может не удивлять.
Ну вот это уже рукопопство скорее всего. Разные люди разные куски писали
источник

AM

Andrew Mikhaylov in Programming Offtop
Artem Molotov
С rpc ничо не мешает отправить сразу несколько команд, если я не туплю
В RPC каждый из возможных запросов должен быть реализован на сервере. А с GraphQL сам клиент может решать, какие данные ему хочется забрать в рамках запроса с сервера.
То есть с RPC проблему N+1, к примеру, должен решать бек, а с GraphQL -- это забота фронта.

Мульон запросов при этом может быть из-за того, что у них дофига всё модульно, и куски страницы знать друг про друга не знают, в том числе про общение друг друга с сервером.
источник

QH

Quantum Harmonizer in Programming Offtop
Andrew Mikhaylov
В RPC каждый из возможных запросов должен быть реализован на сервере. А с GraphQL сам клиент может решать, какие данные ему хочется забрать в рамках запроса с сервера.
То есть с RPC проблему N+1, к примеру, должен решать бек, а с GraphQL -- это забота фронта.

Мульон запросов при этом может быть из-за того, что у них дофига всё модульно, и куски страницы знать друг про друга не знают, в том числе про общение друг друга с сервером.
GraphQL — вполне себе RPC.
источник

AM

Andrew Mikhaylov in Programming Offtop
Alexander Nozik
Это интересная штука. Весьма далека от жизни пока, но может выстрелить
Ну то есть они просто придумали модель, выбрали некие значимые для себя характеристики, и натянули на это как сову на глобус разные законы физики, показывая, как всё стройно у них выходит? При этом как это соотносится с нашим миром, пока никак не показано. Верно я интерпретировал?
источник

AM

Artem Molotov in Programming Offtop
Andrew Mikhaylov
В RPC каждый из возможных запросов должен быть реализован на сервере. А с GraphQL сам клиент может решать, какие данные ему хочется забрать в рамках запроса с сервера.
То есть с RPC проблему N+1, к примеру, должен решать бек, а с GraphQL -- это забота фронта.

Мульон запросов при этом может быть из-за того, что у них дофига всё модульно, и куски страницы знать друг про друга не знают, в том числе про общение друг друга с сервером.
1) Я могу ошибаться, но не вижу проблем собирать ресурс из нескольких запрашиваемых ресурсов разными командами, как это делает graphql

2) Могли сделать какую-то шину, которая будет обрабатывать все graphql запросы, объединяя их при необходимости. Единственное сомнение — потенциальные задержки (latency)
источник

AM

Andrew Mikhaylov in Programming Offtop
Quantum Harmonizer
GraphQL — вполне себе RPC.
Да откуда ж вас столько, любителей к словам цепляться. Артём упоминал JSON RPC как альтернативу, я её и продолжил альтернативой использовать.
источник

AM

Andrew Mikhaylov in Programming Offtop
Artem Molotov
1) Я могу ошибаться, но не вижу проблем собирать ресурс из нескольких запрашиваемых ресурсов разными командами, как это делает graphql

2) Могли сделать какую-то шину, которая будет обрабатывать все graphql запросы, объединяя их при необходимости. Единственное сомнение — потенциальные задержки (latency)
2 -- могли бы, конечно, но это звучит как нехилое усложнение. Щас-то всё асинхронное, а это как-то надо связывать в один процесс для агрегации.
источник

QH

Quantum Harmonizer in Programming Offtop
Andrew Mikhaylov
Да откуда ж вас столько, любителей к словам цепляться. Артём упоминал JSON RPC как альтернативу, я её и продолжил альтернативой использовать.
Мне просто кажется, что никакой границы между «GraphQL» и «обычным порошком» не существует.
источник

AM

Artem Molotov in Programming Offtop
Andrew Mikhaylov
2 -- могли бы, конечно, но это звучит как нехилое усложнение. Щас-то всё асинхронное, а это как-то надо связывать в один процесс для агрегации.
согласен
источник

AM

Andrew Mikhaylov in Programming Offtop
Quantum Harmonizer
Мне просто кажется, что никакой границы между «GraphQL» и «обычным порошком» не существует.
Мы тут обсуждаем вроде отличительную особенность GraphQL в сравнении с системами с её отсутствием. Конечно, можно запилить другой язык запросов и получить хоть JSON RPC v3, который ничем не будет от GraphQL отличаться.
источник