@proGO

Страница 1088 из 1674
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
Попробуй еще глянуть protobuf, но это уже другая история )
Э не, я протобаф изза доты и кс и сорс движков не люблю )

Google
Nikolay
25.12.2017
19:00:14
Ну да, фейсбук просто для прикола его разработали, как Го для прикола разработали, да ? ))))
причем тут фейсбук? мы обсуждаем архитектуру системы. Архитектура - говно

и, кстати, разработали его в первую очередь в гитхабе, если я ничего не путаю

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
если слишком много запросов или проблемыс кэшем - надо менять обработчики и параметры к ним, но никакого "а давайте разрешим произвольные запросы" не должно быть

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

а вот graphql - избыточен и усложнен

Demuz
25.12.2017
19:02:42
причем тут фейсбук? мы обсуждаем архитектуру системы. Архитектура - говно
Сколько людей, столько и мнений. Фейсбуку верю, что им нужно было решение, в льтернативу rest'a, чтобы снизить нагрузку. https://code.facebook.com/posts/1691455094417024/graphql-a-data-query-language/

Nick
25.12.2017
19:03:00
а вот graphql - избыточен и усложнен
В каком месте ? Вполне себе не сложная штука

Google
Nikolay
25.12.2017
19:03:14
Graphql не разрешает произвольнее запросы
он разрешает джойнами управлять с фронта. Это хреново, это смесь логики в кучу, весь хваленый MVC/MVP сразу летит нахрен

Demuz
25.12.2017
19:03:17
а вот graphql - избыточен и усложнен
Ладно, попробуем немного, потом посмотрим. Тогда не буду торопиться.

Andrey
25.12.2017
19:03:24
В каком месте ? Вполне себе не сложная штука
так дело не в сложности написания, а в другом

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
Да, а вот в плане безопасности что? Как это работает? Ведь по сути, такой запрос может получить и не свою инфу.

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
Если вы не достигли болевых точек REST API, решением которых является GraphQL, то можете не волноваться.
Я достиг. Но почему то забил на это. Но теперь попробую что нибудь.

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

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


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 которые тупо повесят ваш сервер БД

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: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
Demuz
25.12.2017
19:24:56
понимаю, я читал плотно, как он работает
Стойте стойте. Скажите только, вы же плотно читали, они там в дальнейшем так и не будут сокращать возврат 10к одинаковых ключей? Типа как я выше фоткал.

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

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

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
Ну эт спорно
да нет, бесспорно. Тебе нужна логика по маппингу этого говна на джойны в твоей базе, да еще и наверняка к конкретной базе придется гвоздями ее привязать

когда у тебя есть набор хэндлеров с четко очерченной логикой и нормальной абстракцией - все это сразу становится ненужно

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
в том числе без привязки к конкретной базе

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