Igor
Как это одной а нормализация отношения
о госоподи :) запрос надо :) денормализованная таблица из соображений перфоманса
возьмите userId, bookId
Date, userid, bookid
01.01.2020 1 1
01.02.2020 1 2
01.01.2021 2 3
Igor
да еще нужен первичный ключ обязательно можете добавить если хотите :)
Chingis
типа получается взять записи по каждому пользователю с самой поздней датой?
Igor
Алексей
Chingis
у меня пока нет вариков кроме как процедура пробегающая по всем user_id
Igor
Igor
для джуна любое решение сойдет :) для мидла я бы попросил штуки 3 хотя бы :)
Алексей
Igor
Ну вот как то так на собесах это и работает :)
Igor
потом наверное говорят шо "валил падла" :)
Chingis
)))))))))
Алексей
Алексей
Алексей
Дима
Алексей
Хотя может быть минимум на максимум только поменять
Igor
Ну самое нормально это через оконные функции
второе это через CROSS APPLY
третье можно тупо подзапросами
Дима
из этого всего я писал только подзапросы)
Igor
можно найти дату а потом по дате приджойнить книгу но это так себе решение
Алексей
Дима
Ладно, пойду дальше учить мат часть)
Igor
оконные функции и кросс апли два нормальных решения остальное все уже из разряда извращений, ну по крайней мере на вскидку
Алексей
Дима
Я на курсе видел оконные функции, но пока не дошел
Дима
Видимо, их время скоро настанет
Igor
Алексей
да ROW_NUMBER
👍 все же не полный дебил. А джуном все равно не берут😂
Никита
Народ, есть вопрос простенький по JS:
Допустим я вешаю eventListner на поле, буду слушать input (либо keydown). Мне нужно проанализировать значение, которое ввел пользователь, и по результату этого анализа либо пропустить значение, либо добавить к нему еще какой-нибудь символ.
Как мне в функции, которую я передам в EventListner, получить тот символ, который только что ввёл пользователь?
Maksim Pozharskiy
Maksim Pozharskiy
Это в объекте события (event) лежит
Никита
Maksim Pozharskiy
Алексей
Igor
select distinct userid,
(select top 1 date from table where user = t.user order by date desc) as date
(select top 1 book from table where user = t.user order by date desc) as book
from table t
что конечно же изврат и должно быть написано тупо через APPLY
Никита
Это в объекте события (event) лежит
Не могли бы вы еще один момент подсказать?
На сколько я понял, при изменении event.key в коде (либо при изменении event.target.value / event.data), то что попадает в input не меняется. Куда копать чтобы найти возможность перехватывать и изменять значение, которое ввел пользователь?
Maksim Pozharskiy
Никита
Maksim Pozharskiy
Можно заменять value на value + символ
Maksim Pozharskiy
типа value += символ
Maksim Pozharskiy
или еще варик щас скажу, метод найду
Никита
Пробую, в инпут всё равно изначальное значение вроде добавляется
Никита
Мы должны что-то из функции обработчика вернуть? Event например?
Maksim Pozharskiy
Никита
Нет, возвращать не надо
Криво дебажил. Изменил сейчас Value, вроде заработало. Но нужно будет использовать keydown либо preinput, вместо input. Иначе сначала появляется то что я нажал, а затем уже добавленное значение
Maksim Pozharskiy
Maksim Pozharskiy
Ты сам же написал что тебе надо использовать keydown
Никита
Никита
Я от фронта весьма далёк, но задача пришла такая:
В базе все номера телефонов (которые сейчас в хаотичном формате) привести к одному красивому формату, это сделал курсором, ничего сложного.
И попросили на фронте ограничить ввод внеформатных символов, а я решил сделать покрасивее, чтобы когда пользователь вводить цифры - у него динамически формировалась маска (как у тинькоф банка в приложении, например)
Никита
вот сижу, разбираюсь с твоей помощью) Спасибо
Maksim Pozharskiy
Кажется сюда конечно регулярные выражения подходят больше
Maksim Pozharskiy
Но если раньше с ними не работал, это только времени больше потратишь, засосет)
Никита
Регулярки прикрутить будет не проблема, когда пойму механизм воздействия на фронт)
Никита
Работал, все рано или поздно на них натыкаются)
Maksim Pozharskiy
Я бы скорее в них покопался, особенно учитывая что масок под номера много готовых в интернете, подредачил бы сидя со словарем регулярок
Maksim Pozharskiy
Но это сидеть вникать надо в квантификаторы и тд
Никита
А как ты хочешь тут регулярки использовать? Они же проверяют формат, по сути. А здесь нужно, во первых, проверять что вводят и недопускать чего-либо кроме цифр и плюса. А во вторых - в зависимости от количества символов в строке пропускать введенное значение, либо добавлять спец символы типа скобок и дефисов
Undefined 🐺
Добрый вечер, подскажите, пожалуйста, почему
a = [1, 2, 3];
b = [1, 2, 3];
a == b выводит false
Lavrentiy
Lavrentiy
Ребят а как называется эта тема
Undefined 🐺
Ого, как красиво, а что за программа
Vladislav
как думаете, когда стоит задумываться, куда поступать?
Lavrentiy
Undefined 🐺
Шурок
Undefined 🐺
JS
Igor
Vladislav
Undefined 🐺
просто Олег
Всем привет
Vladislav
просто Олег
Подскажите, если я выучу Java или Python что ещё мне нужно знать, чтобы устроиться на работу как "Junior" разработчик
Vladislav
Igor
просто Олег