@vuejs_ru

Страница 1178 из 3900
Roman
24.08.2017
15:13:03
1. roundtrips - вместо десятков GET запросов - oдин запрос. на мобилках это значительное снижение задержки, lower time to content 2. over-fetching - меньшее потребление памяти и нагрузка сети, slightly lower TtC 3. versioning - легче чем с REST --> depracation & additions of individual fields instead of whole-api-versioning ala /v45/ 4. coupling - frontend команда менее зависит от backend команды, им не приходится постоянно вымогать у backend'а новые endpoint'ы для оптимизации.

хотя насчёт versioning на самом деле был не совсем прав, там REST с GQL практически на равне

Den
24.08.2017
15:17:05
1. Axios делает это. Никогда поодобных проблем не было. 2 Сколько конкретно памяти? 3 Это не проблема БД 4 Не пойму этого разделения (у меня нет таких больших проектов)



Google
Den
24.08.2017
15:20:16
0.99 s | 8 mb большая страница

Roman
24.08.2017
15:20:51
и особенно что касается Vue и модульной разработки приложений... представим себе что у нас много много много маленьких компонентов.. каждый из компонентов требует конкретный набор данных, например component X ---> {user{name, avatar}} component Y ---> {product(id:123){name, description}} component Z ---> {products(first:100, sort:'name')} и многие другие.. в случае с REST получится жутко убого... десятки запросов туда сюда, тонны ненужных данных с GQL клиент аггрегирует графы в один граф и посылает один запрос на сервер

Den
24.08.2017
15:22:15


И 2 больших по REST

Через all

Roman
24.08.2017
15:23:50
1. Axios делает это. Никогда поодобных проблем не было. 2 Сколько конкретно памяти? 3 Это не проблема БД 4 Не пойму этого разделения (у меня нет таких больших проектов)
Axios это лишь HTTP библиотека, она не сможет аггрегировать 10 различных GET запросов на сервер в один единственный, серверу так или иначе придётся отвечать на 10 запросов GraphQL же выстраивает Graph, а граф можно сагрегировать в большой 1 граф. тем самым ты читаешь с сервера ТОЛЬКО те данные что тебе нужно и всё это одним запросом

Den
24.08.2017
15:24:27
Это я понял как работает

Это плюс

Но я могу на sql так же делать

Roman
24.08.2017
15:25:34
SQL это совсем другой уровень, это происходит уже позади API

надеюсь ты понимаешь что GraphQL это НЕ язык для обращения к бд?

это язык между клиентом и сервисом, т.е. API, а вот как этот сервис и откуда он эти данные уже будет доставать (SQL, noSQL, Filesystem, Object Storage.. what ever..) это совсем другой уровень абстракции

Google
Rafael
24.08.2017
15:30:50
Вы тут спорите ни о чем, у netflix есть стоя реализация аналога graphql

Roman
24.08.2017
15:31:27
Вы тут спорите ни о чем, у netflix есть стоя реализация аналога graphql
однако GQL более "стандарт" нежели что-то внутреннее там у Netflix'а

суть в том что GraphQL отлично подходит для модульных Vue приложений, поэтому было бы интересно пообщаться с единомышленниками

Rafael
24.08.2017
15:33:44
http://tonsky.livejournal.com/309037.html

Den
24.08.2017
15:38:03
суть в том что GraphQL отлично подходит для модульных Vue приложений, поэтому было бы интересно пообщаться с единомышленниками
https://github.com/Folkloreatelier/laravel-graphql Только нахера он я не пойму, все равно. Чтоб потом статическими методами в базу лукаться?

Stanislav
24.08.2017
15:39:08
Так, всем ставить звездочку https://bugs.chromium.org/p/chromium/issues/detail?id=758600

Den
24.08.2017
15:39:38
Короче - я считаю этот Граф - лишней абстракцией

Roman
24.08.2017
15:40:08
Не стандарт
я не зря написал "стандарт" в ковычках, однако есть открытая спецификация, есть open source'ные реализации на разных языках, уже у некоторых как Github в продакшне

Stanislav
24.08.2017
15:40:21
:)

Den
24.08.2017
15:42:42
это замена REST, и это НЕ замена SQL
Еще один сервак, кароч http://graphql.org/learn/serving-over-http/

Sasha
24.08.2017
15:44:21
http://tonsky.livejournal.com/309037.html
такое чувство что у чувака стоит на mysql и больше ничего не нрав. Не понял предъяв по поводу "формата". Мб потому что куча воды в статье

Roman
24.08.2017
15:44:58
Он требует сервер же
а разве REST не требует сервера?)) да, REST сервер написать легче с нуля, но со временем когда сервис начнёт расти и усложняться - REST превратится в один большой кошмар

Den
24.08.2017
15:45:19
это замена REST, и это НЕ замена SQL
REST мне каж сокет заменит

Roman
24.08.2017
15:46:02
REST мне каж сокет заменит
а сокеты тот тут причём?! o_O сокеты это транспортный уровень так же как и HTTP

Rafael
24.08.2017
15:46:55
На Хабре в комментах рассказали как 1м запросом ддосить бд на gql, просто офигенская увеличив вложенность запроса

Google
Stanislav
24.08.2017
15:47:16
а разве REST не требует сервера?)) да, REST сервер написать легче с нуля, но со временем когда сервис начнёт расти и усложняться - REST превратится в один большой кошмар
Вот xanf_ua ни раз обращал внимание, что с оптимизацией могут быть проблемы, ибо "это штука в себе" з.ы. я в этом не шарю

Sasha
24.08.2017
15:47:25
По моему очень толково рассказано
ну смотри он на 10% расписал шо это лишний слой абстракции. Оставшиеся 90% он написал какую-то дичь про то шо фейсбук ему не командир и ему не нрав вид данных потому что не нрав

Den
24.08.2017
15:47:53
Короче - я считаю этот Граф - лишней абстракцией

Roman
24.08.2017
15:48:09
И что?
ну так ты сравниваешь груши с огурцами

Roman
24.08.2017
15:48:42
с каких пор http = транспортный лвл?
а какой же это тогда уровень?

Den
24.08.2017
15:48:48
ну так ты сравниваешь груши с огурцами
Нет. Я сравниваю способы обмена данными

Sasha
24.08.2017
15:48:53
всегда был прикладной

Roman
24.08.2017
15:50:29
Нет. Я сравниваю способы обмена данными
ты говоришь "давайте заменим HTTP - сокетами", но мы же не о том "как" данные передавать, а как к API серверу "обращаться", т.е. как API расписать то чего тебе нужно и тут у нас есть REST, SOAP, GraphQL и т.д. и т.п. поэтому сравнивать сокеты (транспортный уровень) с GraphQL (протокол общения с API) совсем неправильно

Sasha
24.08.2017
15:51:59
сокеты работают поверх tcp

Sasha
24.08.2017
15:52:04
тобишь это тоже не транспорт

Sasha
24.08.2017
15:52:22
не совсем

http и вебсокеты похожи

но не same

Roman
24.08.2017
15:53:05
и REST и GraphQL можно по сокетам передавать (хотя смысла в этом мало если HTTP keep alive активирован). Но это не меняет сути что в REST тебя так или иначе будет over-fetching и слишком много round-trips

Sasha
24.08.2017
15:53:23
шо бл

Google
Roman
24.08.2017
15:53:55
шо бл
мне так-же отвечать как ты вопросы задаёшь?))

Sasha
24.08.2017
15:54:08
та не я ору немного

Roman
24.08.2017
15:54:46
та не я ору немного
если тебе тема неинтересна и ничего внести не можешь то зачем засорять беседу то?

Sasha
24.08.2017
15:55:03
я б не орал если бы не было интересно

@Romshark каким образом keep alive влияет на сокеты в браузере?

Roman
24.08.2017
15:57:57
По моему очень толково рассказано
Тебе почемуто пламенный пост дейва тоже понравился)

Den
24.08.2017
15:58:47
Roman
24.08.2017
15:59:03
@Romshark каким образом keep alive влияет на сокеты в браузере?
я лишь хотел сказать, что сильного прироста производительности в плане запросов не будет если заменить HTTP на WebSockets. Поскольку HTTP сам поверх TCP/IP и с включённой опцией "Keep-Alive" сокет не обрывается... единственный overhead HTTP это чуток лишних данных (header больше чем у WebSocket message) и парсинг, но overhead незаметно минимальный.. т.е. это совсем не то на что бы следовало тратить время на оптимизацию

Sasha
24.08.2017
15:59:24
причем тут производительность

Admin
ERROR: S client not available

Roman
24.08.2017
16:00:16
причем тут производительность
а зачем тогда менять HTTP на WebSockets если мы говорим о простых запросах на сервер??

Sasha
24.08.2017
16:00:30
бож

Roman
24.08.2017
16:00:39
обратная связь же не нужна

Roman
24.08.2017
16:00:40
Такое ощущение что еж в капюшоне до конца не дочитали

Sasha
24.08.2017
16:00:46
я хоть и тупой, но мне смешно

Roman
24.08.2017
16:01:21
Длиннотекст

Sasha
24.08.2017
16:01:27
читал

Roman
24.08.2017
16:01:43
да тролит он походу..

Google
Sasha
24.08.2017
16:02:25
я ж говорю - я тупой. У меня другое представление обо всем этом

Roman
24.08.2017
16:02:37
да тролит он походу..
Он просто не понимает over fetching и round trips

Roman
24.08.2017
16:02:47
короче я так понял никто ещё серьёзно не вдавался в GQL?

Sasha
24.08.2017
16:03:09
рей говорит шо не хорошо - так что вдаваться не буду

Roman
24.08.2017
16:03:23
но если-бы хоть вопросы нормальные задавал, а так сидит и тролит.. ?

æ digital
24.08.2017
16:03:26
Den
24.08.2017
16:04:14
Roman
24.08.2017
16:04:29
короче я так понял никто ещё серьёзно не вдавался в GQL?
О gql заговорили ток недавно. Не знаю че там в 15 году было но активный треп о нем я ток с весны увидел

Sasha
24.08.2017
16:04:49
вы меняете обычные запросы на сокеты ради производительности чтоли? Я это спрашивал. Если нет, то что за идиотские аргументы

Roman
24.08.2017
16:04:55
Почему нельзя сделать только WS? Без XHR
ты просто меняешь транспортный уровень... а речь идёт о протоколе коммуникации с API, не о протоколе передачи данных с точки А в точку Б

æ digital
24.08.2017
16:05:00
Почему нельзя сделать только WS? Без XHR
Так он же говорит можно заменить на сокеты

dima
24.08.2017
16:05:00
как инфу получать ? на пример о юзере. Она лежит в локал стораж. Как удобнее ее получить ? в родителе при старте получать ?

Roman
24.08.2017
16:05:05
Да и ты сам от меня вроде узнал))

dima
24.08.2017
16:05:12


Yaroslav
24.08.2017
16:05:29
Рано или поздно все уйдут в лямбды или серверлесс или наносервисы, нужное подчеркнуть. Будут написаны простые функции, с открытыми конектами в базе. Которые тупо висят в умном облаке. Ты в рест 2 будешь бросаться джейсоном запросов. Рест 2 будет стартовать одновременно все лямбды по запросу. Формировать пакет ответа или ошибку или ответ и ошибки и отправлять на клиента. Как всё организовать будет решать архитектура как и в стандартном ресте, а не язык абстракции

Den
24.08.2017
16:05:42
В created мож?

dima
24.08.2017
16:06:01
created(){}
не важно. Идие правильная ? или вынести в стор ?

Sasha
24.08.2017
16:06:19
я не знаю что ты делаешь и структуру проекта

если тебе нужен стор - юзай стор

если без него справляешься - нах не нужен

Страница 1178 из 3900