@react_js

Страница 4698 из 5115
Dr.
27.08.2018
15:41:11
А до клиента точно данные доходят?
вообщем юзер один подключается, у него все рендерится и все нормально тут проблема в том что когда подключается юзер 2 то у юзера 1, юзер 2 не появляется, и появляется только при перезагрузки страницы... мне кажется я больше с сокетами чтото запортачил

DimenSi
27.08.2018
15:41:15
Будет запрос на всех авторов, которые вообще есть.
получишь 100 авторов и будешь перебирать массив авторов, чтоб все это склеить?

ты кому вообще работу хочешь этим упростить беку или фронту?

Google
Ilya
27.08.2018
15:42:07
да
А, кажись понял. Данные в неком внешнем storage живут. Надо их либо через props вкинуть, либо setState и из state забирать. За внешним хранилищем тупо никто не следит

Dr.
27.08.2018
15:42:48
@observer у mobx разве не делает этого?

Игорь
27.08.2018
15:43:15
получишь 100 авторов и будешь перебирать массив авторов, чтоб все это склеить?
Если буду выводить список книг с авторами. То да. Если буду выводить только авторов, то выведу всех что есть, если мне авторы понадобятся ещё где то данные будут так же храниться только в одном месте, и склеить их будет просто по иду.

Ilya
27.08.2018
15:43:17
В текущем примере имхо проще в state компонента закинуть

@observer у mobx разве не делает этого?
В mobx я не копенгаген, но похоже по описанию проблемы, что не реагирует на изменения

Dr.
27.08.2018
15:44:43
Спасибо, попробую через Стэйт сделать

Ilya
27.08.2018
15:45:01
Удачи

Игорь
27.08.2018
15:46:49
Так там пыхеры
Похеры наверное, а не пыхеры)

Игорь
27.08.2018
15:52:15
Нормализацию обычно делают на фронте
А зачем это делать, если из нного числа запросов деревьев, я не получаю полный список структурированных данных? Когда можно это просто вынести в 1 урл.

Google
Игорь
27.08.2018
15:55:08
{ books: [{id: 1, author: {} }] } сейчас такое у тебя ?
Нет у меня такое { Books { byId:{} allIds:[] } Authors { byId:{} allIds:[]} }

dima
27.08.2018
15:55:33
ну это ты нормализовал. Так и в чем проблема ? Смысл всех сообщений ?

Kelin
27.08.2018
15:56:02
Уверяю тебя можно сделать грамотную сьтруктуру с редаксом)
строить грамотную структуру вокруг неграмотной концепции ?

Игорь
27.08.2018
15:56:04
Смысл отдавать из апи не нормализованные

dima
27.08.2018
15:56:24
Смысл отдавать из апи не нормализованные
возможно не могут. Не знат. Это не их пролема

Игорь
27.08.2018
15:57:28
Про это и был вопрос часто ли вы с этим сталкивается, и как боритесь.

Ибо мне из апи вообще хероту присылают.

dima
27.08.2018
15:58:03
Про это и был вопрос часто ли вы с этим сталкивается, и как боритесь.
ну ты и ответил на вопрос но тут на каждый чих все пересобирается и я хз что по перфомансу и нормально ли это

dima
27.08.2018
15:58:56
так дело то в том чо на каждый чих гонит. А если много данных ?

Игорь
27.08.2018
15:59:10
И бек больше не зависит от того кому что надо. Единообразное апи

так дело то в том чо на каждый чих гонит. А если много данных ?
Зачем на каждый чих? Ты разом таблицу стягиваешь и все.

Kelin
27.08.2018
16:00:32
По перформансу отлично. Просто шикарно.
Не лагает !== шикарно, держу в курсе)

Игорь
27.08.2018
16:01:04
так дело то в том чо на каждый чих гонит. А если много данных ?
Запрос к куску таблици, если данных много ты можешь ограничить, на уровне экшена который за ними летает.

dima
27.08.2018
16:01:24
Зачем на каждый чих? Ты разом таблицу стягиваешь и все.
если измениться что то сеекторы отработают

Игорь
27.08.2018
16:01:49
Не лагает !== шикарно, держу в курсе)
Если нормально отлаживать с реселектом, то === шикарно

Kelin
27.08.2018
16:02:11
Игорь
27.08.2018
16:02:46
я про вывод. Ты же в массив авторов и книги собираешь в рендере ?
Если что то измениться в твоём случае, то ты выполнишь +1 запрос и так же перерисуешь.

Google
Игорь
27.08.2018
16:04:16
Поиск по прямому вождению в hashmap получается очень быстрым. Почти мгновенным. И данные консистентны..

Valeriy
27.08.2018
16:04:27
Можно договорится с беком какой формат передачи данных будет удобен обоим но надо не забывать что есть определенные ситуации когда неправильный формат передачи приведет к тормозам. Очень часто делают так что сервер передает даннные вложенными объектами { tasks: [ { id: 1, ... subTasks: [ {id: 1, ...}, {id: 2, ...} ] }, { id: 2, ... subTasks: [ {id: 3, ...}, {id: 4, ...} ] } ] }Хотя правильно передавать данные в плоском, нормализированном виде { tasks: { 1: {id: 1, ..., subTasks: [1, 2]}, 2: {id: 2, ..., subTasks: [3, 4]} ... }, subTasks: { 1: {...}, 2: {...}, 3: {...} 4: {...} } }потому что когда связи между сущностями будут не one-to-many а many-to-many - например нужно передать юзера со списком его друзей и друзей его друзей то попытка передать данные через вложенные объекты приведет к тому что в окажется много дублей юзеров что приведет к мегабайтному json-у, медленной передаче по сети и тормозам как по парсингу так и по обработке.
ну учитывая, что сейчас модны всякие cassandra, mongo и прочие, где то id-шек нет от слова совсем, то нет реляций поэтому от бакендеров и приходит всякое говно

Игорь
27.08.2018
16:05:40
вопрос не в мапе. Ты на каждый чих масси собираешь
Если изменится. В твоём же случае я просто не вижу апдейта..

dima
27.08.2018
16:06:19
Если изменится. В твоём же случае я просто не вижу апдейта..
моего случая тут нету. Это я пытался понять что у тебя

DimenSi
27.08.2018
16:07:02
ну люди же пользуются редаксом и не жалуются

Игорь
27.08.2018
16:08:38
Есть 2 варианта. 1 у тебя уже есть иерархия. И если что то в иерархии изменилось ты об этом не узнаешь, пока не перезапросишь иерархичные данные. 2 случай плоские данные. если из какого то другова место данные изменили, ты это тут же отображаешь там где ты строишь сам эту иерархию, и во всех других местах, где данные на нее завязаны

Kevin
27.08.2018
16:10:02
господи, как вы этим флоу пользуетесь, лучше бы я и не пытался

Игорь
27.08.2018
16:11:03
у тебя в любом случае чекнится что изменилось. Даже с вложенной структурой
Стой, как они у тебя изменються ? если у тебя иерархия ? разве что ты в приделах своего вывода данной иерархии что то изменишь. Но связные данные могут меняться и из жругих компонентов.

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

dima
27.08.2018
16:12:15
ну конкретно тут да

Игорь
27.08.2018
16:13:25
ну конкретно тут да
теперь в читайся в мой вапрос. Нахуя вообще бек кодеры отдают не плоские структуры. А зачастую в неплоской структуре отдают такую хуйню что плакать охота...

Игорь
27.08.2018
16:14:22
первое это что за ситуация такая?
плиз просто перечитай мои посты...

dima
27.08.2018
16:14:33
теперь в читайся в мой вапрос. Нахуя вообще бек кодеры отдают не плоские структуры. А зачастую в неплоской структуре отдают такую хуйню что плакать охота...
потому что им не интересен фронтенд. И он для тебя ничего не обязан подогнать. Он не должен думать что ты там собрался херней страдать и менять всем автора. Это твои проблемы

Google
Valeriy
27.08.2018
16:15:16
плиз просто перечитай мои посты...
перечитывал и не понял о чем ты :))

допустим у тебя автор в большой иерархии в 10 разных местах (редьюсерах)

Игорь
27.08.2018
16:15:43
Valeriy
27.08.2018
16:15:47
прилетел экшин во всех редьюсерах спокойно сделал соответствующие изменения

dima
27.08.2018
16:17:10
прилетел экшин во всех редьюсерах спокойно сделал соответствующие изменения
нет. Ты не понял я вот тут долго вникая кажись понял есть массив изначально. Обнови всем автора

Игорь
27.08.2018
16:17:13
прилетел экшин во всех редьюсерах спокойно сделал соответствующие изменения
ухахаха это если у тебя идшка есть а во вторых прямо всех ???? а не ахуеешь узнавать где они вообще сейчас есть, и есть ли вообще те данные что их содержат ???

dima
27.08.2018
16:17:31
Valeriy
27.08.2018
16:18:04
Admin
ERROR: S client not available

Valeriy
27.08.2018
16:18:38
а это когда такое бывает ???
из эластика например прилетает кусок готовой структуры

из кассандры

Игорь
27.08.2018
16:19:09
[В ответ на Игорь] Можно договорится с беком какой формат передачи данных будет удобен обоим но надо не забывать что есть определенные ситуации когда неправильный формат передачи приведет к тормозам. Очень часто делают так что сервер передает даннные вложенными объектами { tasks: [ { id: 1, ... subTasks: [ {id: 1, ...}, {id: 2, ...} ] }, { id: 2, ... subTasks: [ {id: 3, ...}, {id: 4, ...} ] } ] } Хотя правильно передавать данные в плоском, нормализированном виде { tasks: { 1: {id: 1, ..., subTasks: [1, 2]}, 2: {id: 2, ..., subTasks: [3, 4]} ... }, subTasks: { 1: {...}, 2: {...}, 3: {...} 4: {...} } } потому что когда связи между сущностями будут не one-to-many а many-to-many - например нужно передать юзера со списком его друзей и друзей его друзей то попытка передать данные через вложенные объекты приведет к тому что в окажется много дублей юзеров что приведет к мегабайтному json-у, медленной передаче по сети и тормозам как по парсингу так и по обработке.

Valeriy
27.08.2018
16:19:13
т.е. когда у бакендеров нет какого-нибудь postgres, где все по табличкам изначально раскидано

Игорь
27.08.2018
16:19:29
первый вариант какраз не плоские данные, и заметь там есть ИД

Valeriy
27.08.2018
16:20:21
Игорь, от езе раз, не все сервисы, которые хранят данные умеют отдавать их в нормализованном виде

Alexey
27.08.2018
16:20:38
Есть же normalizr

dima
27.08.2018
16:20:45
[В ответ на Игорь] Можно договорится с беком какой формат передачи данных будет удобен обоим но надо не забывать что есть определенные ситуации когда неправильный формат передачи приведет к тормозам. Очень часто делают так что сервер передает даннные вложенными объектами { tasks: [ { id: 1, ... subTasks: [ {id: 1, ...}, {id: 2, ...} ] }, { id: 2, ... subTasks: [ {id: 3, ...}, {id: 4, ...} ] } ] } Хотя правильно передавать данные в плоском, нормализированном виде { tasks: { 1: {id: 1, ..., subTasks: [1, 2]}, 2: {id: 2, ..., subTasks: [3, 4]} ... }, subTasks: { 1: {...}, 2: {...}, 3: {...} 4: {...} } } потому что когда связи между сущностями будут не one-to-many а many-to-many - например нужно передать юзера со списком его друзей и друзей его друзей то попытка передать данные через вложенные объекты приведет к тому что в окажется много дублей юзеров что приведет к мегабайтному json-у, медленной передаче по сети и тормозам как по парсингу так и по обработке.
зачем тебе плоские данные ? Они обычно если что то меняется быстро в массиве. А у тебя просто авторов обновить

Andrew
27.08.2018
16:20:53
проще Map сделать

Valeriy
27.08.2018
16:21:06
и таких становится с каждым днем все больше

Google
Игорь
27.08.2018
16:21:24
Есть же normalizr
да бро есть нормалайзер тока вод иды не всегда есть (

Valeriy
27.08.2018
16:22:00
Есть же normalizr
ну приходится выкручиваться в браузере само собой, всякие normalizr, redux-orm, denormalizr подтягивать

я вот с бакендеров требовал id-шки для записей логов

Alexey
27.08.2018
16:22:40
книги это пример. Я все пилю на плоских данных, и считаю это верным путем.
Это и есть верный путь т.к. изменение пропса считается гораздо быстрее

Valeriy
27.08.2018
16:22:42
они мне сказали что в базе айдишек нет у них :)))

как хочешь так и выкручивайся

Игорь
27.08.2018
16:23:04
ну приходится выкручиваться в браузере само собой, всякие normalizr, redux-orm, denormalizr подтягивать
Бро каким бы эластиком оно не пользовалось денормализованная структура тоже должна быть граматной. а не authors [{name:вася} ]

Valeriy
27.08.2018
16:23:34
ну когда "исторически так сложилось" уже поздняк метаться

dima
27.08.2018
16:23:54
Valeriy
27.08.2018
16:24:26
вские фулстэки понапишут говнеца, подтянут модных хипсторских штук в проект, а после них все приходят и руками разводят :))

в итоге и бакенд так себе и фронт ни о чем

Игорь
27.08.2018
16:24:41
зачем тебе нормализированная структура на простом не меняющемся списке ?
а накой хуй мне тянуть этот список везде где только он мне нужен в других данных ?

Alexey
27.08.2018
16:25:08
Про нормализацию тема норм раскрыта у Дэна Абрамова в курсе по редаксу

dima
27.08.2018
16:25:21
я что то сказал про другие данные ? Есть список. Есть место рендера. Он не меняется. ты нормализируешь что ли ?

Игорь
27.08.2018
16:25:38
Про нормализацию тема норм раскрыта у Дэна Абрамова в курсе по редаксу
мне было очень сложно... Но теперь мне сложно с моим бекендером...

я что то сказал про другие данные ? Есть список. Есть место рендера. Он не меняется. ты нормализируешь что ли ?
есть мето рендера книг. хочу с авторами, хочу без авторов, хочу авторов отдельно, хочу авторов к статьям в блоге

Alexey
27.08.2018
16:26:29
https://egghead.io/lessons/javascript-redux-normalizing-api-responses-with-normalizr покажи бэкендеру :D

Игорь
27.08.2018
16:26:59
есть мето рендера книг. хочу с авторами, хочу без авторов, хочу авторов отдельно, хочу авторов к статьям в блоге
нахуй мне тянуть всех этих авторов в иерархии когда я могу затянуть всех разом и показывать где хочу и как хочу

Страница 4698 из 5115