Viktor
Лол, вы это сделали?!
не, так случайно вышло, что Паша собирается про это рассказывать. я решил сделать перепост т.к. подходит под тематику канала: вот с тобой буквально обсуждали недавно, что это проблема оформлять резюме и делать его заметным если нет много опыта.
Viktor
Подумал, что полезно будет для аудитории канала.
Viktor
Лол, вы это сделали?!
или ты про что? 😊
Порридж В Ко-ливинге
или ты про что? 😊
А, я думал это вы устроили 😅
Viktor
Бен продал своё мурнёвое приложение для vscode со сторисами за 9к — https://www.youtube.com/watch?v=CHO316LKnZw
Viktor
смешно
Порридж В Ко-ливинге
Месяц назад с кем-то в чате обсуждали, что даже в ВСКоде будут сториз скоро
Viktor
Месяц назад с кем-то в чате обсуждали, что даже в ВСКоде будут сториз скоро
Новый владелец запускает сбор средст на кикстартере под это дело, чтобы развивать 😂
Порридж В Ко-ливинге
Кошмар 🤣
Viktor
Но вообще любопытно он там рассказал, что через него грузили порнуху в сторисы там.
Viktor
Б — безопасность 😄
Порридж В Ко-ливинге
Причем сразу в манагеры
Порридж В Ко-ливинге
Я конечно представляю лес рук, но может кто-нибудь хочет сделать мне код ревью?)
Порридж В Ко-ливинге
🌳 🤚
Ура https://github.com/Glazomer/sorts/pull/3 https://github.com/Glazomer/sorts/pull/4
Порридж В Ко-ливинге
Там можно просто пробежаться, все ли понятно, может как-то код упростить. Со стороны не понятно, где упрощение, а где наоборот – избыток абстракции
Порридж В Ко-ливинге
arr.reduceRight((_, __, i) Это моя личная секретная разработка 🤣🤣🤣
Viktor
Ура https://github.com/Glazomer/sorts/pull/3 https://github.com/Glazomer/sorts/pull/4
Есть какая-то практическая пользовать писать это через свой стек, а не рекурсию?
Viktor
Честно? Я хотел вас спросить)
мне это кажется классным упражнением, конечно, но практического смысла нет, код сложнее без рекурсии
Viktor
квиксорт обычно рекурсивно пишут и чистенько получается
Порридж В Ко-ливинге
Но на собесе в яндекс меня заставили обход бинарного дерева через стек делать а не рекурсию. Тогда я ответил по типу "ну стэк вызовов более ограниченный чем оьычный, по этому лучше писать со своим стэком"
Viktor
типа когда не о чем больше поговорить, но время есть, просишь переписать рекурсию на стек
Порридж В Ко-ливинге
а как заставили? я знаю, что это нормальная история для фолоу-апа.
Вот на фолоуаппе и заставили. Мне кажется меня это и спасло
Viktor
но я бы предпочёл с кандидатом все же поговорить в оставшееся время 😄
Порридж В Ко-ливинге
Меня на скрининге, когда у меня было 5-10 задач на Литкоде попросили решить 3 алго задачки. Ладно, 2 и 1 на знание JS
Viktor
Если тебе нравятся сортировки, в очередной раз предлагаю сделать из этого классный учебный проект, которым можно щеголять перед рекрутерами — сделай визаулизацию этих алгоритмов, на реакте. Классно же будет, столбики будут туда-сюда кататься отражая перемещения чисел в массиве, можно прикрутить тайм-тревел.
Viktor
Прямо можно открыть такое и слёзы счастья будут наворачиваться.
Порридж В Ко-ливинге
Сначала я сделаю все сортировки из википедии
Порридж В Ко-ливинге
Потом добавлю умные тесты с замерами
Порридж В Ко-ливинге
А потом добавлю на Реакте красоту или что-нибудь такое
Порридж В Ко-ливинге
Или на канвасе сделаю
Viktor
А потом добавлю на Реакте красоту или что-нибудь такое
мне просто кажется, что красота как раз большее впечатление будет производить чем все-все сортировки, можно начать с одной, но с красотой в первую очередь.
Порридж В Ко-ливинге
@vitkarpov Я не совсем понял, что вы имели ввиду под тем, что выделить функцию partition
Viktor
но это по желанию, тебе виднее.
Viktor
@vitkarpov Я не совсем понял, что вы имели ввиду под тем, что выделить функцию partition
обычно берут серединку, называя это pivot, и начинаю слева и справа от неё свопать элементами, весь этот процесс называют «партишенинг», и выделяют в отдельную функцию. и запускают партишенинг рекурсивно.
Порридж В Ко-ливинге
но это по желанию, тебе виднее.
Мне просто очень хочется реализовать все это дело. Там есть такие крутые сортировки. Например Time: best O(N) avg O(N log N) worst O(N log N) Space: O(1) Stabel: Yes
Порридж В Ко-ливинге
🔥
Нихрена не понятно, но очень интересно https://en.wikipedia.org/wiki/Block_sort
Порридж В Ко-ливинге
Блин, у меня в quicksort был лишний код
Порридж В Ко-ливинге
const threeValues = [ [arr[l], l], [arr[m], m], [arr[r], r], ], middleIndex = threeValues.sort((a, b) => a[0] - b[0])[1][1];
Порридж В Ко-ливинге
Можно заменить на простое const threeValues = [l, m, r], pivotIndex = threeValues.sort((a, b) => arr[a] - arr[b])[1];
Порридж В Ко-ливинге
@vitkarpov Даете добро на 2 мерджа? 😃
Yuri
Только сомневаюсь, а не лишним ли там будет реакт)
fovbot
Yuri Katkov, вашу репутацию увеличил Агент (Питонист) 47. Текущая: 1
Порридж В Ко-ливинге
Я вот тоже думаю, зачем мы везде суем реакт
Порридж В Ко-ливинге
А на чем тогда? Чистом JS, перерендеривать все это самому 😅 Не барское это дело, работать с логикой фронту
Yuri
Мне просто надо и алгоритмы не забрасывать и реакт-редукс для новой работы повторить
Порридж В Ко-ливинге
@vitkarpov Типо отбика не та? Мне так форматтер делает сам 😅😅
Порридж В Ко-ливинге
@ganqqwerty А вот в этой строчке не понятно, что там еще скрытая проверка на то, что arr[r] === undefined? } else if (arr[l] > arr[i] && !(arr[l] < arr[r])) {
Порридж В Ко-ливинге
@ganqqwerty А вот в этой строчке не понятно, что там еще скрытая проверка на то, что arr[r] === undefined? } else if (arr[l] > arr[i] && !(arr[l] < arr[r])) {
Ну, типо я использую !(arr[l] < arr[r])) вместо (arr[l] >= arr[r]), т.к. в случае если arr[r] === undefined то это дело вернет false, то оно будет true из-за знака !
Порридж В Ко-ливинге
можно preact
О, ужас, preact культист в чате 🤣🤣🤣 Это больше сомнение о том, зачем тут вообще фремворк для интерфесов
Yarik
О, ужас, preact культист в чате 🤣🤣🤣 Это больше сомнение о том, зачем тут вообще фремворк для интерфесов
да это ж маленькая либа да View, когда надо что-то простенькое накидать
Viktor
Я вот подумываю сделать на реакте демку по алгоритмам поиска пути в графе
Хорошая история, получится как у Клемента! Реакт или преакт или что-нибудь ещё, имхо, нужно потому отрисовка все же довольно сложная там, и может получиться так, что ты его в итоге и напишешь (зачем).
Viktor
Я думал, что это и есть реакт, только лёгкий.
Порридж В Ко-ливинге
да это ж маленькая либа да View, когда надо что-то простенькое накидать
Проблема в том, что канвасом может быть легче написать это дело
Viktor
Проблема в том, что канвасом может быть легче написать это дело
Если на канвасе тогда да. Хотя я где-то видел чувак делал кастомный рендерер для реакта чтобы рисовать геометрические примитивы на канвасе.
Viktor
Это ещё один любопытный «пет-проект для резюме», кстати. Рекомендую.
Yarik
есть крутая либа react-pixi
Yarik
будет рисовать компоненты в canvas2d или webgl
Viktor
есть крутая либа react-pixi
☝️да, видимо, примерно про это я и вспомнил
Viktor
@vitkarpov Типо отбика не та? Мне так форматтер делает сам 😅😅
ну ок, если автоматически настроено и везде консистентно 👍 я подумал, что что-то левое.
Viktor
Кстати, пользуясь случаем, раз зашла речь про реакты, делал видос про «пишем свой виртуальный дом с нуля». На 30 строк. Вот можно такую штуку взять, если лень реакт подключать 😄
Порридж В Ко-ливинге
ну ок, если автоматически настроено и везде консистентно 👍 я подумал, что что-то левое.
Я там еще логику с !( < ) вместо ( >= ) объяснил. Подсказка: связано с тем, что одно из значений может быть undefined