
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
Или это не то?