@nodejs_ru

Страница 2698 из 2748
rddlr
17.10.2018
14:39:45
ну вообще да

Kendr
17.10.2018
14:39:58
ну вообще да
Вас понял

rddlr
17.10.2018
14:40:24
нахуя мне 200 кб какой-то лапши неведомой и десятки непонятных библиотек ради говна которому 2 года, если я могу обойтись рестом апи который юзают уже 20 лет и 0 библиотек

Google
Kendr
17.10.2018
14:40:50
rddlr
17.10.2018
14:41:19
да никому это гавно не нужно, кроме тех кто в него бабки льет

Сергей
17.10.2018
14:41:28
rddlr
17.10.2018
14:42:30
я думал услышать аргументы в пользу графкуель просто. ведь это совершенное безумие творится в этом зоопарке. я как туда сунулся так ахерел

rddlr
17.10.2018
14:43:11
и явно бросается в глаза что его хайпят: подсосы фейсбцука проплаченные и стартаперы со своими говно-хедлесс-цмс на графкуеле. все

Anton
17.10.2018
14:46:43
я думал услышать аргументы в пользу графкуель просто. ведь это совершенное безумие творится в этом зоопарке. я как туда сунулся так ахерел
он просто модный, а хипсторы тащут всё что ни поподя в проекты не особо задумываясь подходит ли оно под задачу. самая идея не нова, давным давно был oracle odata со схожей идеологией, но был не моден и труднодоступен.

Alexander
17.10.2018
14:47:27
да и вообще http/1.1 ненужен, лучше http/2.0, стримы красива

Max
17.10.2018
15:08:04
я думал услышать аргументы в пользу графкуель просто. ведь это совершенное безумие творится в этом зоопарке. я как туда сунулся так ахерел
графкл как подход хорош тем что позволяет упростить популярные практики разработки бэка - вместо того чтобы писать кучу рест-контроллеров по каждой таблице достаточно написать один резолвер и клиент сам будет вытаскивать нужные ему данные. Но с другой стороны graphql когда описывает получение в качестве ответа вложенные объекты согласно схемы не подходит как формат передачи данных между клиентом и сервером

Google
Вишневый чай
17.10.2018
15:17:38
я ничего не понял, хотя перечитал 5 раз

Erving
17.10.2018
15:21:01
из-за чего может npm i зависать в контейнере?

Max
17.10.2018
15:34:44
я ничего не понял, хотя перечитал 5 раз
что же там не понятного - graphql описывает получение в качестве ответа формат вложенных объектов согласно схемы, то есть такой graphql запрос { user(id: 1) { name age friends { id name age } } }вернет объект юзера с вложенными объектами его друзей { id: "1", name: "user1", age: 50, friends: [ {id: "..", name: "...", age: "..."}, {id: "..." name: "...", age: "..." } ] }Почему это не подходит как формат для общения клиента и сервера - проблемы начинаются тогда когда мы описываем более сложные запросы например когда пишем соцсеть и хотим показать список людей с которыми юзер может быть знаком и нужно получить от сервера список друзей всех друзей юзера, то есть примерно такой запрос { user(id: 1) { name age friends { id friends: { id age name } } } }и что получится - мы получим огромное дерево вложенных объектов где может быть много дублей -один и тот же юзер может находится в списке друзей многих других юзеров, и как результат мегабайты json-a, тормоза на парсинг и обработку а вот если бы graphql отдавал бы результат в виде нормализированной структуры { users: { "1": { id: "1", name: "...", age: ... friends: ["2", "3"] }, "2": { id: "2", name: "...", age: ... friends: ["4", "5", ...] } } }то у нас не было бы никакого дублирования потому что один и тот же юзер включался бы в ответ только один раз

Вишневый чай
17.10.2018
15:39:20
что же там не понятного - graphql описывает получение в качестве ответа формат вложенных объектов согласно схемы, то есть такой graphql запрос { user(id: 1) { name age friends { id name age } } }вернет объект юзера с вложенными объектами его друзей { id: "1", name: "user1", age: 50, friends: [ {id: "..", name: "...", age: "..."}, {id: "..." name: "...", age: "..." } ] }Почему это не подходит как формат для общения клиента и сервера - проблемы начинаются тогда когда мы описываем более сложные запросы например когда пишем соцсеть и хотим показать список людей с которыми юзер может быть знаком и нужно получить от сервера список друзей всех друзей юзера, то есть примерно такой запрос { user(id: 1) { name age friends { id friends: { id age name } } } }и что получится - мы получим огромное дерево вложенных объектов где может быть много дублей -один и тот же юзер может находится в списке друзей многих других юзеров, и как результат мегабайты json-a, тормоза на парсинг и обработку а вот если бы graphql отдавал бы результат в виде нормализированной структуры { users: { "1": { id: "1", name: "...", age: ... friends: ["2", "3"] }, "2": { id: "2", name: "...", age: ... friends: ["4", "5", ...] } } }то у нас не было бы никакого дублирования потому что один и тот же юзер включался бы в ответ только один раз
Да, есть такая беда, это все таки не мап-редьюс тула

Тут придется написать еще один эндпоинт

Как очень удачно было у кого-то сказано, граф имеет рекурсивную природу

Сергей
17.10.2018
15:41:42
что же там не понятного - graphql описывает получение в качестве ответа формат вложенных объектов согласно схемы, то есть такой graphql запрос { user(id: 1) { name age friends { id name age } } }вернет объект юзера с вложенными объектами его друзей { id: "1", name: "user1", age: 50, friends: [ {id: "..", name: "...", age: "..."}, {id: "..." name: "...", age: "..." } ] }Почему это не подходит как формат для общения клиента и сервера - проблемы начинаются тогда когда мы описываем более сложные запросы например когда пишем соцсеть и хотим показать список людей с которыми юзер может быть знаком и нужно получить от сервера список друзей всех друзей юзера, то есть примерно такой запрос { user(id: 1) { name age friends { id friends: { id age name } } } }и что получится - мы получим огромное дерево вложенных объектов где может быть много дублей -один и тот же юзер может находится в списке друзей многих других юзеров, и как результат мегабайты json-a, тормоза на парсинг и обработку а вот если бы graphql отдавал бы результат в виде нормализированной структуры { users: { "1": { id: "1", name: "...", age: ... friends: ["2", "3"] }, "2": { id: "2", name: "...", age: ... friends: ["4", "5", ...] } } }то у нас не было бы никакого дублирования потому что один и тот же юзер включался бы в ответ только один раз
на сервере ты можешь написать резолверы для нужных тебе связей также можно спокойно исключить дублирование

Вишневый чай
17.10.2018
15:42:20
это решаемо, кек
Решаемо конечно но это уже за рамками графа

Сергей
17.10.2018
15:42:36
ну, graphql дает все необходимые инструменты для этого

что же там не понятного - graphql описывает получение в качестве ответа формат вложенных объектов согласно схемы, то есть такой graphql запрос { user(id: 1) { name age friends { id name age } } }вернет объект юзера с вложенными объектами его друзей { id: "1", name: "user1", age: 50, friends: [ {id: "..", name: "...", age: "..."}, {id: "..." name: "...", age: "..." } ] }Почему это не подходит как формат для общения клиента и сервера - проблемы начинаются тогда когда мы описываем более сложные запросы например когда пишем соцсеть и хотим показать список людей с которыми юзер может быть знаком и нужно получить от сервера список друзей всех друзей юзера, то есть примерно такой запрос { user(id: 1) { name age friends { id friends: { id age name } } } }и что получится - мы получим огромное дерево вложенных объектов где может быть много дублей -один и тот же юзер может находится в списке друзей многих других юзеров, и как результат мегабайты json-a, тормоза на парсинг и обработку а вот если бы graphql отдавал бы результат в виде нормализированной структуры { users: { "1": { id: "1", name: "...", age: ... friends: ["2", "3"] }, "2": { id: "2", name: "...", age: ... friends: ["4", "5", ...] } } }то у нас не было бы никакого дублирования потому что один и тот же юзер включался бы в ответ только один раз
ты можешь попросить { user(id: 1) { name age maybeKnownFriends { id age name } } } и на выходе получить плоскую структуру без дублей

Вишневый чай
17.10.2018
15:44:25
А как в графе описать связь многих ко многим?

Сергей
17.10.2018
15:45:31
А как в графе описать связь многих ко многим?
в доке видел одну из первых страниц об этом

Вишневый чай
17.10.2018
15:46:04
в доке видел одну из первых страниц об этом
Там вроде напиано что никак )

Eugeniy
17.10.2018
15:46:39
Nurik
17.10.2018
15:46:40
Сорри, что влезают, а разве проблема вывода друзья-дрезей, не решается глубиной выборки?

Иначе можно же вытащить всю базу)

Сергей
17.10.2018
15:46:58
Google
Сергей
17.10.2018
15:47:09
Там вроде напиано что никак )
а вообще, как напишешь резолвер на бекенде, так и будет работать

Alexander
17.10.2018
15:47:19
т.е. 2 уровня

Nurik
17.10.2018
15:47:51
Ну теперь представь индивида у которого друзей пол ляма

Вишневый чай
17.10.2018
15:48:06
Связь по ключам идёт с бд
Ога, а там начинаются n+1 запрос проблемы

Alexander
17.10.2018
15:48:07
нутак сделай ограничение на 10к

как в вк

Вишневый чай
17.10.2018
15:49:58
Я кстати сам граф юзаю сейчас, штука не бесполезная, но решая одни проблемы она рожает множество других, от чего порой задумываешься а надо ли оно тебе было )

Eugeniy
17.10.2018
15:50:05
Ну на беке другой чел прописывал связи в dump В докере однако... Посмотри структуру связок в postgraphile

Вишневый чай
17.10.2018
15:51:34
Поделюсь полезной статейкой про граф и его болячки (и как лечится) https://medium.freecodecamp.org/five-common-problems-in-graphql-apps-and-how-to-fix-them-ac74d37a293c

Erving
17.10.2018
15:58:11
памяти мало
на системе довольно много для npm, а разве можно как-то отрегулировать ресурсы для контейнеров в ubuntu?

Erving
17.10.2018
16:01:31
Little
17.10.2018
16:14:33
Ребят, подскажите пожалуйста, есть такая вот модель: http://dpaste.com/2ADM5QR Когда я пишу в базу, то всё окей, создается вот такой объект: http://dpaste.com/2AR5J4D Но когда я делаю populate это блока вот таким вот запросом: let query = await Blocks.find().populate('operations.link').populate('transactions').limit(1).lean(); транзакции вытаскивает правильно, а операции почмеу-то нет. Выводит вот такое: "operations": [ { "_id": "5bc73887719d692203ee6bcc", "link": "5bc73886719d692203ee6bc9", "onModel": "votes" } ] Хотя ожидается, что выведет операцию из коллекции votes. Подскажите, в чем косяк запроса

енот
17.10.2018
16:32:13
кто что для миграций посоветует?

Сергей
17.10.2018
16:33:17
Vitaly
17.10.2018
16:42:11
кто что для миграций посоветует?
Или же можно использовать umzug

На основе которого работает sequelize

Если нужны чисто миграции

Google
Vitaly
17.10.2018
16:42:44
Но клиент для командной строки придется писать самостоятельно)

енот
17.10.2018
16:44:04
Vitaly
17.10.2018
16:46:37
Спасибо
Сэкономлю твоё время и кину свой на коленке написанный cli, который во многом повторяет sequelize: https://gist.github.com/Vitaly-Rudenko/2b685747a902adea7ad0c044a2ffef3a

Alexander
17.10.2018
16:46:58
нет бы взять монгу с монгузом...

Сергей
17.10.2018
16:47:05
Vitaly
17.10.2018
16:47:08
+

Сергей
17.10.2018
16:47:16
нет бы взять монгу с монгузом...
ибо без миграций не выйдет

Alexander
17.10.2018
16:47:51
красиво

Vitaly
17.10.2018
16:48:04
там просто в index.js конфиг

Сергей
17.10.2018
16:48:09
?
было одно поле name стало два поля firstName lastName монга смело идет нахуй без миграций

Vitaly
17.10.2018
16:48:11
а он еще нужен внутри аппы

короче на коленке, как и сказал :D

Сергей
17.10.2018
16:48:48
sql ненужон
хуевый вброс

Кирилл
17.10.2018
16:49:15

Страница 2698 из 2748