@proGO

Страница 1091 из 1674
Nikolay
25.12.2017
20:39:03
Nikolay
25.12.2017
20:39:25
ты опять ничего не понял(
да, я не понимаю, в чем смысл graphql в этой задаче. Без него пока справляемся намного эффективнее

делаем еще /order/... endpoint ?
нет, зачем, есть уже дефолтный

Google
Nikolay
25.12.2017
20:39:56
а, ты про "всех клиентов"

Nick
25.12.2017
20:39:59
нет, зачем, есть уже дефолтный
какой эт? есть эндпоинт для конкретного клиента, для ордеров нету

Nikolay
25.12.2017
20:40:27
окей, /orders/ , да, можно даже /orders/?groupby=client_id

но это, опять же, от задачи зависит

Nick
25.12.2017
20:41:05
ок, добавляем еще штук 10 сущностей, которые пересекаются на каждый пишем по endpoint?

Nikolay
25.12.2017
20:41:37
ок, добавляем еще штук 10 сущностей, которые пересекаются на каждый пишем по endpoint?
да, разумеется, у нас четкое разделение логики и крайне простые хэндлеры на бэке, которые такие запросы могут легко обрабатывать

и не бывает "пересекаются", бывает "включают"

Nick
25.12.2017
20:42:02
ну и вернемся к вопросу про денормализацию, допустим у нас нет возможности это сделать

Nikolay
25.12.2017
20:42:20
но окей

миграции никто не отменял

Nick
25.12.2017
20:42:49
нельзя трогать базу, миграция будет идти год

Nikolay
25.12.2017
20:43:11
нельзя трогать базу, миграция будет идти год
у нас полторы сущности в базе проекта, который на начальной стадии разработки, какой год?

Google
Nikolay
25.12.2017
20:43:16
или ты опять на ходу условия меняешь?

мы тз только что составили

Nick
25.12.2017
20:43:36
сьезжаешь с темы) я пытаюсь сделать, чтобы ты допер

ну так ладно, какие варианты помимо денормолизации то

Nikolay
25.12.2017
20:43:54
сьезжаешь с темы) я пытаюсь сделать, чтобы ты допер
это ты, кажется, не допираешь, что нет смысла здесь никакого в graphql

да и не только здесь

Александр
25.12.2017
20:44:00
))

Nick
25.12.2017
20:44:03
забудь пока про него

Nikolay
25.12.2017
20:44:45
ну так ладно, какие варианты помимо денормолизации то
обычно либо джойн, либо денормализация, все зависит от того, какую задачу решаем и какая у нас база

Aleserche
25.12.2017
20:45:13
Сделать промежуточные хранилища-буферы и из них все склеить

Nikolay
25.12.2017
20:45:16
в той же монге, допустим, при всей моей нелюбви к ней, это все без проблем решается

Александр
25.12.2017
20:45:33
к получению данных через rest

Nikolay
25.12.2017
20:45:37
ты давай из задачи исходи, а не придумывай на ходу

Nick
25.12.2017
20:45:40
request хочу понять какой будет

Nikolay
25.12.2017
20:45:41
endpoint path
для чего?

какую задачу мы решаем сейчас?

Google
Александр
25.12.2017
20:46:47
если взять из реальной жизни - интернет-магазин с сайтами-партнерами

Александр
25.12.2017
20:47:12
ок)

Nikolay
25.12.2017
20:47:21
вот
что вот? это либо джойн, либо денормализованная модель

Nick
25.12.2017
20:47:38
что вот? это либо джойн, либо денормализованная модель
ну конкретнее, как будет выглядить endpoint

Nikolay
25.12.2017
20:47:55
мы вообще за базу сейчас не говорим
а я говорю, надо обо всех этапах думать, а не об одном куске

ну конкретнее, как будет выглядить endpoint
а что мы с него хотим получить-то?

Александр
25.12.2017
20:48:04
что вот? это либо джойн, либо денормализованная модель
это ты про внутренности, а запрос то какой будет? урл

Nikolay
25.12.2017
20:48:08
какие сущности?

Aleserche
25.12.2017
20:48:09
если взять из реальной жизни - интернет-магазин с сайтами-партнерами
Под каждого обычно провайдер пилится, если со стороны изменения дороже выходят

Nikolay
25.12.2017
20:48:39
это ты про внутренности, а запрос то какой будет? урл
я пытаюсь Ника заставить грамотно задать задачу, которую этот эндпойнт должен решать

Nikolay
25.12.2017
20:48:55
хотя даже лучше не "эндпойнт", а вообще "что должен видеть на экране клиент"

Nick
25.12.2017
20:49:25
список заказов с доп данными из производителя

Nikolay
25.12.2017
20:49:45
список заказов с доп данными из производителя
выше было несколько вариантов эндпойнта

Nick
25.12.2017
20:49:56
Demuz
25.12.2017
20:50:05
кстати, угадайте с трех раз, какой канал передачи информации самый быстрый в мире?
Большой взрыв???? ))) А так оптоволокно. Был рекорд помоему 255тбит сек. А не ваш член)))

Nikolay
25.12.2017
20:50:15
и в чем проблема? опять куча вариантов, например, делаешь хэндлер потипу /clients/123/order_manufacturer_full, где возвращаешь более подробную сущность. Либо разрешаешь делать /clients/123/orders/?manufacturer_fields=address

Google
Nikolay
25.12.2017
20:50:22
будь добр повторись
будь добр, скролль сам в следующий раз

Nikolay
25.12.2017
20:50:54
отлично, на каждый чих мы делаем по эндпоинту,
не на каждый, а исходя из задачи

Nick
25.12.2017
20:51:24
а теперь смотри, в графкуэль ты сделаешь тип Order, Client, Manufacturer

Nikolay
25.12.2017
20:51:24
что нам нужно на фронте показывать - для того и подбираем эндпойнт

Demuz
25.12.2017
20:51:25
отлично, на каждый чих мы делаем по эндпоинту,
То, чувство, когда не спрашивая, ты наконец-то понял что такое ендпоинт. ?

Aleserche
25.12.2017
20:51:34
Nick
25.12.2017
20:51:44
Миксовать эндпоинты можно?
смотря что ты имеешь ввижу

Dzmitry
25.12.2017
20:52:01
немного не в вашу тему, может подскажете json серилайзер который серилизует только описанные свойства а не все подряд, как это делает стандартный

Nikolay
25.12.2017
20:52:03
а теперь смотри, в графкуэль ты сделаешь тип Order, Client, Manufacturer
зачем мне какие-то левые типы непойми где? типы у меня на коде в бэке, в моделях и сущностях серверных

Admin
ERROR: S client not available

Nikolay
25.12.2017
20:52:29
с клиентом я согласую только логику отдачи ему того, что ему конкретно нужно

у тебя в беке может быть совершенно другой Order
у меня в бэке вообще Order может быть собирательной сущностью. Но об этом будет знать только бэк.

Aleserche
25.12.2017
20:53:13
Собрать под каждую сущность эндпоинт, который даст, что попросим. Далее просто в нужном порядке дергаем и получаем результат

Demuz
25.12.2017
20:53:20
Nick
25.12.2017
20:53:49
с клиентом я согласую только логику отдачи ему того, что ему конкретно нужно
у тебя есть спека Client{id,name,orders}, Order{Id,name,manufacturer}, Manufacturer{id,name,atata}. Хочешь запросить по клиенту, пишешь query{client(id){order{manufacturer{name}}}}

все

Google
Nikolay
25.12.2017
20:54:27
у тебя есть спека Client{id,name,orders}, Order{Id,name,manufacturer}, Manufacturer{id,name,atata}. Хочешь запросить по клиенту, пишешь query{client(id){order{manufacturer{name}}}}
у меня нет спеки никакой. У меня есть описание бизнес-логики того, что нужно показывать на клиенте, а дальше я на сервере решаю задачу, какими эндпойнтами ему это удобно отдать

и не надо никакого навязанного сбоку стандарта

Demuz
25.12.2017
20:54:48
Nikolay
25.12.2017
20:55:03
все таки не понял
да, ты так и не понял, что graphql - это как пятая нога у собаки

Nikolay
25.12.2017
20:55:16
ненужный набор лишних сущностей

Так можно свой динамический хендлер под такие запросы написать. Тот же ГрафКьюЭл
так вот он не нужен же. Если фронт с бэком четко знают, что кому от кого нужно - никакие graphql не нужны в принципе

Nick
25.12.2017
20:55:52
ненужный набор лишних сущностей
каких сущностей? у тебя есть спека, условно описание твоего домена, откуда лишние сущности?

Nikolay
25.12.2017
20:56:11
каких сущностей? у тебя есть спека, условно описание твоего домена, откуда лишние сущности?
у меня есть сущности в коде бэка и есть протокол взаимодействия с фронтом

где там graphql - непонятно

Nikolay
25.12.2017
20:56:25
видимо, нигде

если что

Demuz
25.12.2017
20:56:43
Да ппц, уже три часа графкьюэл обсуждаете)

Nick
25.12.2017
20:56:48
эт транспортный протокол

Nikolay
25.12.2017
20:56:49
иногда http+json или http+xml

Nick
25.12.2017
20:57:07
@sas1024 я сдаюсь, попробуй обьяснить ты

Nikolay
25.12.2017
20:57:12
эт транспортный протокол
эх, батенька, вам бы модель TCP/IP почитать

Александр
25.12.2017
20:57:14
не)

Aleserche
25.12.2017
20:57:23
Nikolay
25.12.2017
20:57:43

Страница 1091 из 1674