Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
26.01.2021, 11:13
|
|||
---|---|---|---|
кодилити литкод и прочее задачки |
|||
#18+
просто интересно у уважаемых мужей спросить. сколько у вас по времени занимает в среднем решение задачки литкода там кодилити и тп. на уровне изи? спрашивал у разных люди говорят что типа 15 минут норм. ну ок. я прорешал с десяток задач. у меня уровень изи занял от 15ти минут и до трех часов. то есть 15 минут это совсем фигня типа определить полиндром не полиндром. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.01.2021, 19:47
|
|||
---|---|---|---|
кодилити литкод и прочее задачки |
|||
#18+
че никто не решает? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.01.2021, 20:19
|
|||
---|---|---|---|
|
|||
кодилити литкод и прочее задачки |
|||
#18+
Zzz79, На sql это не нужно писать на странном языке findAllByPollChannelIdAndStatus ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.01.2021, 20:25
|
|||
---|---|---|---|
|
|||
кодилити литкод и прочее задачки |
|||
#18+
Zzz79, Заболел? Я от тебя 2 года DDL не видел. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.01.2021, 20:28
|
|||
---|---|---|---|
кодилити литкод и прочее задачки |
|||
#18+
Zzz79 но увы я вижу что хибер тупо круче ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.01.2021, 20:33
|
|||
---|---|---|---|
кодилити литкод и прочее задачки |
|||
#18+
Zzz79 andreykaT че никто не решает? решаю на степике адаптивный курс JetBrains так же бывает 1-2 минуты решение,бывает 2-3 дня,но там больше java функциональщина - спасибо ей начал активно reduce юзать на проде- очень смешно бывает ,когда седые сеньеры спрашивают белать что тут вообще происходит) очень круто помогает заменить sql какашку - вместо шляпо запросов - .стрим и поехали веселиться) ну да. выборка склом занимает 50 миллисекунд а твоим стримом 50 секунд а так норм да ) лан ясно тут никто задачки не решает. я просто смотрю это тупорогий новый тренд пошел просить всех листы разворачивать да деревья вертеть в бейсике там джаве или пхп на собесах. вот и хотел спросить как старые мужи с этим справляются вообще. легко или мозг напрягают. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.01.2021, 20:46
|
|||
---|---|---|---|
кодилити литкод и прочее задачки |
|||
#18+
Zzz79 Да простит меня бог SQL я вообще считаю что вся сикуэльщина давно должна уйти под капот,достаточно стримов и правильно прописанных отношений я вот сегодня думал как сделать запрос такого типа и ответа не нашел ,а на стримах просто изи Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
что тут происходит- мы берем из базы запись часть полей мапим на дто,далее в репе по id этой записи находим другие записи и мапим их в список других дто вот скажите как такое же можно на изи сделать в SQL?ну никак же Запрос к БД в цикле (внутри map). Про проблему N + 1 вы не слышали?) Серьезно?) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.01.2021, 20:50
|
|||
---|---|---|---|
|
|||
кодилити литкод и прочее задачки |
|||
#18+
Zzz79, Ох уж эти любители orm-ов. Вы это под нагрузкой бы по бэнчмарчили, любой орм фреймворк это доп абстракции, память.. А ваш код абсолютно нечитабелен=неподдерживаем. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.01.2021, 21:01
|
|||
---|---|---|---|
кодилити литкод и прочее задачки |
|||
#18+
Zzz79 Lelouch пропущено... Запрос к БД в цикле (внутри map). Про проблему N + 1 вы не слышали?) Серьезно?) в чем проблема запроса к бд в цикле?я вам привел функциональный код- сможете такое повторить запросом давайте я не против- DDL дам При чем тут "повторить запросом". Это легко можно сделать 2 запросами - 1) pollChannelsRepository.findAllByPollIdAndDebugFalseOrderByIdAsc(pollId); 2) answerPollsRepository.findAllByPollChannelIdInAndStatus(List of IDS, EAnswerPoll.AnswerPollStatus.NOT_STARTED) Правда могу навскидку ошибаться в паттерне имен методов в spring. А у вас в коде делается N запросов в "цикле" (при вызове map на каждый элемент). Это называется "проблема N + 1". Основная *опа в вашем коде - скорее всего он выстрелит на проде, где pollChannelsRepository.findAllByPollIdAndDebugFalseOrderByIdAsc вернет не 1-10 записей, а условные 100. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.01.2021, 21:02
|
|||
---|---|---|---|
кодилити литкод и прочее задачки |
|||
#18+
Zzz79 уверен в этом?)это вроде не параелленый стрим то- откужа ты там 50 сек то насчитал я те скажу чтобы ты не мучался - запрос с джоинами == этому коду +- какие то копейки на достоточно большой выборке но 50 сек ты конечно угорел)) 50 секунд в вашем коде - это реальность) Как только findAllByPollIdAndDebugFalseOrderByIdAsc вернет условную 1000 элементов вы это и получите ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.01.2021, 21:25
|
|||
---|---|---|---|
|
|||
кодилити литкод и прочее задачки |
|||
#18+
andreykaT лан ясно тут никто задачки не решает. я просто смотрю это тупорогий новый тренд пошел просить всех листы разворачивать да деревья вертеть в бейсике там джаве или пхп на собесах. вот и хотел спросить как старые мужи с этим справляются вообще. легко или мозг напрягают. ИМХО практичнее просто просмотреть всего Кормена, и если алгоритм видишь впервые, то реализовать его. В книге хоть есть системность, и на собеса вряд ли сложнее понадобится. Если все эти алгоритмы сможешь написать, то вряд ли возникнут проблемы с leetcode-ом ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.01.2021, 22:57
|
|||
---|---|---|---|
|
|||
кодилити литкод и прочее задачки |
|||
#18+
Zzz79, Сразу видно, сынок, ты хайлоад не нюхал ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.01.2021, 23:07
|
|||
---|---|---|---|
кодилити литкод и прочее задачки |
|||
#18+
Zzz79 Lelouch пропущено... 50 секунд в вашем коде - это реальность) Как только findAllByPollIdAndDebugFalseOrderByIdAsc вернет условную 1000 элементов вы это и получите господи какая чушь)очнитесь дядя) Милый джун (мидлом и не пахнет), замеряй пожалуйста время одного вызова findAllByPollChannelIdAndStatus, а потом пойми, что вызываешь ты его в цикле и эти 10-20 ms банально умножаются на количество записей, которые findAllByPollIdAndDebugFalseOrderByIdAsc возвращает) Zzz79какая то безсоновательная ересь,изучайте хибер И что же конкретно я должен в нем изучить, что меня переубедит?) Каким магическим образом hibernate найдет записи без обращения в бд?) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.01.2021, 00:01
|
|||
---|---|---|---|
кодилити литкод и прочее задачки |
|||
#18+
Zzz79 P.S. хочу заметить, что я не выступаю против hibernate, и код, приведённый вами, является плохим совершенно не из-за применения ORM. Даже если вдруг вы перепишете обращения к бд на pure Jdbc - лучше он не станет. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.01.2021, 01:26
|
|||
---|---|---|---|
кодилити литкод и прочее задачки |
|||
#18+
SpringMan andreykaT лан ясно тут никто задачки не решает. я просто смотрю это тупорогий новый тренд пошел просить всех листы разворачивать да деревья вертеть в бейсике там джаве или пхп на собесах. вот и хотел спросить как старые мужи с этим справляются вообще. легко или мозг напрягают. ИМХО практичнее просто просмотреть всего Кормена, и если алгоритм видишь впервые, то реализовать его. В книге хоть есть системность, и на собеса вряд ли сложнее понадобится. Если все эти алгоритмы сможешь написать, то вряд ли возникнут проблемы с leetcode-ом ну я так понял на всё натаскиваешься и го. прорешал с пару десятков задачек. типа поверни строку посчитай матчи, разверни линкед лист, сложи два связных листа с сортировкой и т.п. но потом пошли задачи с верчением матриц и поиском кратчайшего пути. ну мне кажется и это можно делать и сделать. но это как то совсем сильно и мозги напрягает и попахивает бесполезностью. ты вертишь матрицы узорами и листы разворачиваешь а на работе тебя просят разворачивать не лист а кубер с докером. ну епта. это какой то новый тренд в программинге. беспощадный и бесполезный. раньше просили шарики с люками считать потом тз монструозные типа нпиши онлайн казино теперь вот это вот. а по факту добро пожаловать в мир перетаскивания джейсонов из угла в угол. тьфу. и главное я беру очередную задачу и уже мозги остановиться не могут пока не решат. как наркота. бесполезная причем. потому что мои мозги в их временные рамки не укладываются и задрачивая их на эти задачи по факту профессионально ты так же никак не растёшь. какой то бесполезный навык который помогает ровно нигде. ну умеет вон ззх листы крутить а толку - сортирует миллион записей в стриме. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.01.2021, 01:32
|
|||
---|---|---|---|
кодилити литкод и прочее задачки |
|||
#18+
Zzz79 Lelouch пропущено... Запрос к БД в цикле (внутри map). Про проблему N + 1 вы не слышали?) Серьезно?) в чем проблема запроса к бд в цикле?я вам привел функциональный код- сможете такое повторить запросом давайте я не против- DDL дам я не знаю что ты вкладываешь в функциональный. колбасный это точно это да. в твоем коде ты в цикле лезешь в базу делая по 1 запросу. это не уверен что н+1, н+1 - это побочка хибера когда люди не совсем понимают как им пользоваться. а ты этот н+1 сам себе рисуешь прям кодом )) тебе в идеале надо делать один запрос с джойном (это то что под капотом хибера), чтоб тебе одним запросом прилетели все данные которые маппер потом на пожо и нанесет. твой код конечно же работает. он просто бесполезно много запросов генерит в бд. если твоя нагрузка тебе позволяет - то забей. когда перестанет позволять - просто бд перенесешь на более быстрые диски и проц ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.01.2021, 01:38
|
|||
---|---|---|---|
кодилити литкод и прочее задачки |
|||
#18+
borkes Zzz79, Ох уж эти любители orm-ов. Вы это под нагрузкой бы по бэнчмарчили, любой орм фреймворк это доп абстракции, память.. А ваш код абсолютно нечитабелен=неподдерживаем. да норм код и код. вот жпа критерии - вот там да там начинается трэш и угар. но если постоянно с ними работаешь то тоже становится похер. с другой стороны там даже не хибер а спринговая оболочка с идиотскими методнеймингами типа public Entity findAllByUidWhereNameEqualOrPhoneGreaterThanOrEqualAndDateBeforeAndAddressNotLikeOrderById(param,param,param,param,param,param) - вот это ублюдство не имеет отношения к хиберу а да, ты еще слик не видел. это к теме ублюдочных ормов и недоормов. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.01.2021, 02:52
|
|||
---|---|---|---|
кодилити литкод и прочее задачки |
|||
#18+
Zzz79 andreykaT че никто не решает? решаю на степике адаптивный курс JetBrains так же бывает 1-2 минуты решение,бывает 2-3 дня,но там больше java функциональщина - спасибо ей начал активно reduce юзать на проде- очень смешно бывает ,когда седые сеньеры спрашивают белать что тут вообще происходит) очень круто помогает заменить sql какашку - вместо шляпо запросов - .стрим и поехали веселиться) Не спеши. Синьор может спросить тебя про ... монады. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.01.2021, 03:00
|
|||
---|---|---|---|
кодилити литкод и прочее задачки |
|||
#18+
Zzz79 PetroNotC Sharp Zzz79, На sql это не нужно писать на странном языке findAllByPollChannelIdAndStatus дядь это будущее для тебя,которое давно наступило пс.и да я прохожу сцка платные курсы psql за свой счет и мне тоже хочется везде вкинуть native query ,но увы я вижу что хибер тупо круче ,а чего не хватает - можно функциональщиной добить Ну эт замечательно. Когда по работе возникнет задача - заюзать оконные или аналитические функции или группировки по cube - сможешь красиво решить задачу. Не вынимая сигареты изо рта... Может дадут погоны сеньора-помидора. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.01.2021, 03:41
|
|||
---|---|---|---|
кодилити литкод и прочее задачки |
|||
#18+
авторОдин из папских посланцев прибыл в город Флоренцию к художнику Джотто ди Бондоне, пообщался с ним и попросил несколько рисунков для демонстрации мастерства. Джотто улыбнулся, взял лист бумаги, макнул кисть в красную краску и одним движением нарисовал абсолютно правильный идеально ровный круг. - Вот рисунок, отвезите это Его Святейшеству – сказал художник... Придворного посланника круг не впечатлил. Более того, он решил, что над ним издеваются и насмехаются. Ему хотелось получить нормальный, классический рисунок, желательно на библейскую тему. Поэтому он стал спорить и требовать что-нибудь посолиднее, чем простой ровный круг. И тогда Джотто сказал: - Этого достаточно. Пошлите его с остальными рисунками, и вы увидите, заметят ли его. Если Папа разбирается в живописи, то он поймёт. Папа Римский всё понял. И пригласил Джотто участвовать в украшении собора Святого Петра. После чего художник стал знаменит, богат и получил множество заказов на фрески и мозаики в других храмах Италии. Умение решать задачи с литкода это сродни круга Джотто ди Бондоне ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.01.2021, 11:25
|
|||
---|---|---|---|
кодилити литкод и прочее задачки |
|||
#18+
вадя Zzz79 но увы я вижу что хибер тупо круче "Они сошлись. Волна и камень" - зззз79 - хибер круто вадя за сердце хватается как увидит new ArrayList<>(). ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.01.2021, 11:55
|
|||
---|---|---|---|
кодилити литкод и прочее задачки |
|||
#18+
Zzz79 Lelouch Милый джун (мидлом и не пахнет), замеряй пожалуйста время одного вызова findAllByPollChannelIdAndStatus, а потом пойми, что вызываешь ты его в цикле и эти 10-20 ms банально умножаются на количество записей, которые findAllByPollIdAndDebugFalseOrderByIdAsc возвращает) пропущено... И что же конкретно я должен в нем изучить, что меня переубедит?) Каким магическим образом hibernate найдет записи без обращения в бд?) милый стажер( джуном тут и не пахнет),а вы не подумали что делая выборку из базы целиком ваши коллекции могут оказаться а пару десятков млн элементов ,давай замерим что будет быстрей ковырять такую коллекцию целиком или же сделать выборку циклом а изучить ты должен что такое вот такое findAllByPollChannelIdAndStatus(Long id,Pageble page) думаю тебе станет понятно что к чему ,но это не точно) Zzz79, Zzz791) давай замерим что будет быстрей ковырять такую коллекцию целиком или же сделать выборку циклом С превеликим удовольствием) Давай backup базы и код репозиториев/сущностей. Хотя о чем я, ты же сольешься, даже DDL Петро прислать не можешь Zzz79findAllByPollChannelIdAndStatus(Long id,Pageble page) - только у тебя в вызове второй параметр явно не pageable P.S. По коду похоже, что ищешь пользователей, которые не участвовали в опросе. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.01.2021, 12:08
|
|||
---|---|---|---|
|
|||
кодилити литкод и прочее задачки |
|||
#18+
Пролистал общение в топике, напомнило - ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.01.2021, 12:13
|
|||
---|---|---|---|
кодилити литкод и прочее задачки |
|||
#18+
Zzz79 Lelouch пропущено... - только у тебя в вызове второй параметр явно не pageable P.S. По коду похоже, что ищешь пользователей, которые не участвовали в опросе. а кто сказал,что я его туда не дабавлю? конечно никто не будет выгружать все и целиком- там по 2-3 млн записей в среднем вот я сделал как ты предлагал,выбрать все сразу и потом произвести фильтрацию и маппинг и если в моем случае мы в базу ходим- то тут сношаем коллекцию с парой млн элементов - и просто нет времени сейчас проверять что быстрей - но вангую что в бд сходить циклом будет точно не медленней,а может и быстрей Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
1) Ты не вангуй, а замеры покажи 2) Ищи не в answerPollList а в Код: java 1. 2. 3.
Это даст поиск за O(1) в лучшем случае ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.01.2021, 12:19
|
|||
---|---|---|---|
кодилити литкод и прочее задачки |
|||
#18+
Lelouch 2) Ищи не в answerPollList а в Код: java 1. 2. 3.
Это даст поиск за O(1) в лучшем случае ну ты что такое советуешь, это не позволит показать что поход в БД выполняется быстрее ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=59&tablet=1&tid=2120533]: |
0ms |
get settings: |
4ms |
get forum list: |
5ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
38ms |
get topic data: |
3ms |
get forum data: |
1ms |
get page messages: |
558ms |
get tp. blocked users: |
0ms |
others: | 4ms |
total: | 615ms |
0 / 0 |