Size: a a a

pro.rb (Ruby/Rails / RU)

2020 September 09

S

ShadoWalkeR in pro.rb (Ruby/Rails / RU)
Хотите творческую задачу?
источник

I

Igor in pro.rb (Ruby/Rails / RU)
ShadoWalkeR
Хотите творческую задачу?
Ага
источник

S

ShadoWalkeR in pro.rb (Ruby/Rails / RU)
Из одной таблицу может вернуться несколько записей с объектами типа Time. Отличаются часами и/или минутами в пределах одного часа. И нужно определить к какому ближайшему времени соотвтествует мой объект взятый из другой таблицы
К примеру вернулось ['2020-09-05 14:23:57', '2020-09-05 15:44:32', '2020-09-05 15:46:03', '2020-09-05 15:46:44'] и я пытаюсь найти ближайшую запись к '2020-09-05 15:46:11'
источник

S

ShadoWalkeR in pro.rb (Ruby/Rails / RU)
Пока что у меня только идея в том чтобы отсеять по часам (ближайшая запись может быть в рамках той же минуты или соседних) ну и вычитанием определять минимальное расстояние в секундах
источник

u

unkmas in pro.rb (Ruby/Rails / RU)
Сконвертить в таймстампы и просто найти ближайшее, как с числами?
источник

S

ShadoWalkeR in pro.rb (Ruby/Rails / RU)
Это неинтересно
источник

E

Evgeny in pro.rb (Ruby/Rails / RU)
Нельзя на уровне запроса прокинуть туда дату '2020-09-05 15:46:11' найти разницу в секундах между всеми остальными сортинуть по возрастанию этой разницы и взять первую ?
источник

S

ShadoWalkeR in pro.rb (Ruby/Rails / RU)
Можно но тут действует ограничение на то, что у нас какая то проблема с базой - она рандомно начинает медленно работать. Все еще ищем причину, поэтому минимум вычислений на стороне базы
источник

E

Evgeny in pro.rb (Ruby/Rails / RU)
Это не имеет значения.
Тебе же так или иначе делать запрос в БД, поэтому что ты в ней посчитаешь разницу, что просто запросишь даты, она затупит и ты потом еще будет на уровне языка что-то считать.
источник

S

ShadoWalkeR in pro.rb (Ruby/Rails / RU)
Evgeny
Это не имеет значения.
Тебе же так или иначе делать запрос в БД, поэтому что ты в ней посчитаешь разницу, что просто запросишь даты, она затупит и ты потом еще будет на уровне языка что-то считать.
Ну в случае простого SELECT я точно знаю что оно в общую проблему с производительностью не попадает. А вот в случае каких то сложных запросов - не могу гарантировать это, поэтому лучше подстраховаться
источник

E

Evgeny in pro.rb (Ruby/Rails / RU)
Не выглядит запрос с 2мя кастами и вычитанием сложным :)
источник

S

ShadoWalkeR in pro.rb (Ruby/Rails / RU)
источник

S

ShadoWalkeR in pro.rb (Ruby/Rails / RU)
Ну я предпочитаю выбирать решения с какой никакой гарантией производительности/времени исполнения/и тд, чем на авось 😃
источник

S

ShadoWalkeR in pro.rb (Ruby/Rails / RU)
А ну и да - я это одноразовый скрипт для починки статистики за 5 дней - там не привязались звонки и нужно на основе данных сиппрокси время посчитать и залить
источник

u

unkmas in pro.rb (Ruby/Rails / RU)
ShadoWalkeR
Это неинтересно
Тебе шашечки или ехать?)
источник

S

ShadoWalkeR in pro.rb (Ruby/Rails / RU)
Конечно ехать с шашечками)
источник

S

ShadoWalkeR in pro.rb (Ruby/Rails / RU)
А если серьезно - наткнулся на просторах интеренета что в рельсах можно отсортировать по правилу чтото - сижу читаю как это можно в массивах/хэшах сделать
источник

RU

Roman Usherenko in pro.rb (Ruby/Rails / RU)
ShadoWalkeR
А если серьезно - наткнулся на просторах интеренета что в рельсах можно отсортировать по правилу чтото - сижу читаю как это можно в массивах/хэшах сделать
в смысле sort_by?
источник

S

ShadoWalkeR in pro.rb (Ruby/Rails / RU)
Ну там в примере был самописный метод order как я понимаю, но да - сейчас про sort_by читаб
источник

S

ShadoWalkeR in pro.rb (Ruby/Rails / RU)
Как то так
invites.sort_by! { |invite| (call['Timestamp']-invite['time']).to_i.abs }
источник