Dmitry
25.02.2018
11:30:44
No
25.02.2018
11:30:51
Но она за пределами условия задачи
Nikita
25.02.2018
11:30:56
в чем проблема приджойнить только лайки друзей?
No
25.02.2018
11:31:23
Даже с индексами 100 лямовый джоин будет долгий
Google
No
25.02.2018
11:31:27
Не пробовал
Dmitry
25.02.2018
11:31:29
Это вот мне нарисовали пока задачу описывали.
No
25.02.2018
11:31:31
Но предполагаю
Nikita
25.02.2018
11:31:50
No
25.02.2018
11:32:10
Vasiliy
25.02.2018
11:32:22
просто в консоли
там разница даже на хуйне раз в 10
Nikita
25.02.2018
11:32:46
Dmitry
25.02.2018
11:32:55
И пояснили что даже не пытайся это делать с джоинами, ибо сразу нет.
Vasiliy
25.02.2018
11:32:56
ну ты на том что есть
там даже на мелких запросах джоины посасывают
ну т.е. на мелких там разница десятки мс
Google
Dmitry
25.02.2018
11:34:24
Nikita
25.02.2018
11:34:45
No
25.02.2018
11:35:01
friend_ids = user.friends.ids
post_ids = user.last_50_posts.ids
Like.where(user_id: friend_ids, post_id: post_ids)
Nikita
25.02.2018
11:35:07
но в любом случае если на колонках индексы, инсертить будет это долго
No
25.02.2018
11:35:09
Это если в лоб
И с норм индексами поедет
Хотя не
Не поедет
Dmitry
25.02.2018
11:35:31
инклюдить надо...
No
25.02.2018
11:35:36
Даже с индексами
Ибо IN
Vasiliy
25.02.2018
11:37:11
Artur
25.02.2018
11:37:23
No
25.02.2018
11:38:13
Вообще с эмбедед лайками в посте пока лучший вариант
Может кто придумает лучше, я хз
Artur
25.02.2018
11:39:22
Decadent
25.02.2018
11:41:49
еще одна жертва, ггг
Artur
25.02.2018
11:42:15
Google
Dmitry
25.02.2018
11:42:34
Походил я тут на собеседования и у меня диссонанс, если все ругают рельсу и руби за скорость, почему "платон" на руби, рамблер сейчас свои медиапроекты на rails бекенд переводит, и еще ряд примеров где люди работают с большими и очень большими объемами данных. Все врут значит и хватает скорости? И пора дата сайнс и биг дата заниматься? Или у нас в стране просто своя атмосфера?
Vasiliy
25.02.2018
11:43:48
там прогеров дохуя и можно заниматься тем что узкие места переносить на го и прочее
т.е. бекенд бекенда у тебя условно на рубях(круды там, хуёмоё), а к примеру платежи и другая херня на го или сях
Dmitry
25.02.2018
11:44:42
Самая боль когда меня c++ собеседовал. а на следующий день Java
Vasiliy
25.02.2018
11:45:27
типа один был худой а другой жирный?
Dmitry
25.02.2018
11:48:09
Первому было очень за 50. Седой и строгий. В компании 40 программистов, все компилируют. Я видимо был один из первых рубистов кто до них добрался. И мне задавались вопросы о которых я даже и подозревать не мог.
Artur
25.02.2018
11:49:26
Да. Коротко так: соблюдай этику и не пиши в контроллере не по теме, а пиши вон там - в классе.
ну дело то не в этике, всем похуй на этику. Люди делают код более модульным и переиспользуемым не потому, что дохуя этичные и думают о том, что кому-то это поддерживать, а потому, что если ты напишешь контроллерный экшн на 100 строк ты потом столько говна сожрешь, что навсегда перестанешь задавать вопросы и каждую строку нового кода будешь писать в новых классах обертывая каждый в прокси объект.
Dmitriy
25.02.2018
11:53:05
а если его забанили ему сообщения все равно дойдут? ?
Dmitry
25.02.2018
11:53:32
No
25.02.2018
11:55:26
Мне кажется ожидали вариантов, а не решения
Artur
25.02.2018
11:55:36
No
25.02.2018
11:55:40
Либо у них на проекте завтык
И они собирают идеи
Как решить задачу )
David
25.02.2018
12:01:59
Для этой задачи не было бы проще создать витринку данных и отдавать с неё инфу? Да, сама витрина заполнялась бы долго, но где-нибудь в бэкграунде, но зато не пришлось бы на каждый запрос делать гигантские вычисления. Как думаете?
Nikita
25.02.2018
12:02:26
ты представь сколько кейсов
No
25.02.2018
12:02:44
Витринку для каждого из 10 миллионов юзеров?
Сомневаюсь, хотя..
Google
No
25.02.2018
12:03:10
Надо обдумать детальнее
David
25.02.2018
12:04:04
No
25.02.2018
12:04:47
Лучше голову не ломать )
Для нас это задача в вакууме
Nikita
25.02.2018
12:05:04
в натуре, пусть сами свои проблемы решают
No
25.02.2018
12:05:20
Это есть такие собеседующие
Я их называю коротко
Пидорасы
Простите
Когда ты кидаешь вариант
А он тебе "нельзя"
А ты "почему?"
Ответ "ну вот так нельзя и все тут"
И ты ему накидываешь 10 вариантов
И все "нельзя патамушто"
Думаю многие с такими сталкивались
David
25.02.2018
12:07:06
?
Pavel
25.02.2018
12:07:12
Во первых, при join операции индексы не работают
По этому искать только по одной
Таблице
Google
Shamil
25.02.2018
12:07:58
No
25.02.2018
12:08:07
Pavel
25.02.2018
12:08:21
No
25.02.2018
12:09:00
Нет. Проверь
Ок, не проверял. Так что не буду дальше гнуть. Но обязательно чекну )
Pavel
25.02.2018
12:09:18
В запрос ставь explain analyze
No
25.02.2018
12:09:28
Зная как происходит join
Pavel
25.02.2018
12:09:42
бД покажет как ищет
No
25.02.2018
12:09:54
Pavel
25.02.2018
12:11:27
А может какие Фичи новые в новых версиях. Надо тоже глянуть
David
25.02.2018
12:16:54
Я лично не проверял, но заинтересовался и нашёл в документации к postgre следующую строку: «Indexes can moreover be used in join searches.»
Причём ещё и старая версия 8.1
https://www.postgresql.org/docs/8.1/static/indexes.html
Или это не то?