Пікірлер
@Zet_pik
@Zet_pik 3 күн бұрын
Все видел на дакимакуру зырил
@user-uv3vr7ix7d
@user-uv3vr7ix7d 5 күн бұрын
Когда выхожу из терминала бот перестает работать
@dbash6880
@dbash6880 9 күн бұрын
Подскажите про терминал, я когда новый создаю у меня нет ничего и команды не реагируют, питон желтым светится, я так понимаю что то скачать нужно, объясните новичку
@sigma_bimba
@sigma_bimba 9 күн бұрын
А когда реализовал: 1488Errors
@metaphysic666
@metaphysic666 10 күн бұрын
pip : Имя "pip" не распознано как имя командлета, функции, файла сценария или выполняемой программы. П роверьте правильность написания имени, а также наличие и правильность пути, после чего повторите попыт ку. строка:1 знак:1
@mary5betheone663
@mary5betheone663 17 күн бұрын
Непростая тема, но очень понравилось объяснение в видео! Всё четко и понятно! Спасибо!
@Alexchtch
@Alexchtch 19 күн бұрын
Сеньор разработчик вначале спросит, а точно это надо решать? И если да, а точно на языке JS?
@Alexchtch
@Alexchtch 19 күн бұрын
А ещё подумает, а его коллеги смогут поревьювить решение? А кто-то будет в отпуске? А он сам когда уходит в отпуск? А куа смогут потестить? А какие сценарии им правильно дать? А можно добавить ли тесты? А можно ли убрать тесты? А подходит ли это к стайлгайду? А у нас вообще есть что-то похожее? А может сразу обсудить с другими? А будет ли это блокером? А может сразу надо с дизайнерами переговорить?...
@SergiyAntonyuk_PhD
@SergiyAntonyuk_PhD 19 күн бұрын
Так где анализ, вычислительной сложности алгоритма? Решение СЕНЬЁРА может оказаться не самым эффективным по O() ( Big O), хотя запись решения компактная (выгдядит красиво). Просто, тот кто пользуется этим решением должен ЗНАТЬ что в общем случае вычислительная сложность метода Метод Math.min(...row) составляет O(n), где n - количество элементов в массиве row.
@gooseob
@gooseob 18 күн бұрын
Они разве что сложностью по памяти отличются, у последнего константная, у предыдущих n. По времени все n^2
@Andreypochemu
@Andreypochemu 19 күн бұрын
самое тупое видео, что я видел
@Gorysvet
@Gorysvet 20 күн бұрын
Побольше таких видео!
@DeSpectraLDemon
@DeSpectraLDemon 20 күн бұрын
Джун: пишет как может, о скорости не задумывается, код громоздкий но понятен даже уборщице; результат: 824мс Сеньор: задумывается о скорости алгоритма, код более читабельный (без гугла не разберется даже он сам на следующий день); результат: 823мс 👍
@reimus16
@reimus16 19 күн бұрын
на эту стату нет смысла смотреть она +- одинаковая будет для всех быстрых тестов, надо смотреть время под рандомными тестами, там точнее показывает
@athreefu9151
@athreefu9151 18 күн бұрын
В рамках большого бизнеса если каждый процесс сократить даже на вроде бы минимальное значение, то затраты / скорость загрузки сильно уменьшаться
@dontyta3562
@dontyta3562 20 күн бұрын
У меня вопрос: а почему джуниор сначала сохраняет минимумы в массив, а потом их складывает, создавая новую переменную через let, если можно сразу создать переменную через let и складывать в одном цикле (js я не знаю, просто по общим правилам программирования спросил)?
@panfilovandrey
@panfilovandrey 15 күн бұрын
Потому что они джунов набирают с помойки. :)
@grincha09
@grincha09 20 күн бұрын
Странно что сеньер будет использовать спред, когда он должен знать, что при большом количестве элементов в массиве вывалится ошибка 😅
@grincha09
@grincha09 20 күн бұрын
Ну и производительность слегка хуже у спреда по сравнению с обычным циклом
@mcltdtm420
@mcltdtm420 20 күн бұрын
почему .reduce() в решении сеньора имеет инициализацию аккумулятора 0, а в решении мидла её нет?
@VictuallyIAm
@VictuallyIAm 18 күн бұрын
В решении мидла мы можем использовать в качестве начального значения первый элемент массива, потому что это одно из чисел, которые надо сложить. Если не указать начальное значение, то как раз первый элемент за него и будет принят. А во втором случае первый элемент массива сам массив, а нам надо складывать числовые результаты начиная с 0, поэтому мы явно указываем начальное значение < 3
@leksscoffee2864
@leksscoffee2864 21 күн бұрын
Вот знаю же про map, а в голове решил, через цикл
@ImDeadInside83
@ImDeadInside83 21 күн бұрын
Ну значит я сеньор. Спасибо
@user-bo9ms7zn2p
@user-bo9ms7zn2p 21 күн бұрын
супер! ещё!
@maxusgladiussimone3100
@maxusgladiussimone3100 23 күн бұрын
// "Стильный черный фон в начале, Отличное качество картинки, Изысканное боке, Продуманная последовательность изложения, Четкая внятная речь. Очень содержательно"; Гони мне донат за лажу.
@foo44444
@foo44444 25 күн бұрын
почему женщина не на кухне? непорядок!
@evgeniipetrenko2019
@evgeniipetrenko2019 24 күн бұрын
возвращайся обратно в свой каменный век))))
@VovanEkb
@VovanEkb 25 күн бұрын
эээээ хотите 10 минут жизни сэкономить? Она загуглила "популярные фреймворки для js" и просто это выдала... типа весь ролик это React,vue,angular,svelte серьезно? ох да, там еще редакс с мобиксом... вот это контеееент, вот это спасибо за предложку гугол... главное не забудьте что у них есть уроки программирования слышкупи
@alexshefer1187
@alexshefer1187 26 күн бұрын
Тебе откуда знать?
@virtuoz-ru
@virtuoz-ru 28 күн бұрын
Реакт это безпонтовая шляпа, состоящая из сторонних библиотек.
@YouTube57samp
@YouTube57samp 28 күн бұрын
Понятно все объясняешь за это респект, думаю если ты бы снял обучение питону с нуля то это принесло бы тебе много подписчиков👍👍👍
@user-sc3ht8ti4o
@user-sc3ht8ti4o 28 күн бұрын
Спасибо, Анастасия!!!!
@user-bv9fs5bx9o
@user-bv9fs5bx9o 28 күн бұрын
Спасибо, очень ценная инфа.
@Mark-wn4op
@Mark-wn4op Ай бұрын
symbol и bigint пошли гулять
@YellowPanamka
@YellowPanamka Ай бұрын
Это прикольный код с точки зрения оптимизации, если нужен очень-очень быстрый код и есть много времени его писать, но по факту лучший код для прода это код по принципу KISS, что больше всего подходит к решению джуна.
@no101vmv
@no101vmv Ай бұрын
В общем ссылки ютуб удаляет. Решение такое. 1. Проходимся по первому слову слева до тех пор пока не встретим букву увеличивая левый указатель. 2. Далее делаем тоже самое со вторым словом но справа уменьшая правый указатель. 3. Все буквы приводим сразу к одному регистру. 4. Если эти буквы разные и переменная isPalindrom = true(при создании переменной по умолчанию задаем тру) - то переменная палиндром становится фолс. 5. Если в map отсутствует буква полученная из слова слева - записываем ее туда со значением 1. Иначе добавляем к значению под этой буквой - 1. 6. Если буква из слова справа отсутствует в мапе, добавляем ее со значением -1. Иначе уменьшаем значение в сапе на 1. Двигаем левый и правый указатель. Если в мапе есть хотя бы одно значение отличное от 0 - значит слова не анаграммы.
@Grentanksmog
@Grentanksmog Ай бұрын
Классное решение! По сути, ты используешь один объект частотностей, в котором делаешь ±1, а также не проходишь по каждому слову дважды. То есть за один проход по слову ты и собираешь частотность, и проверяешь палиндромность. Это любопытный пример, когда моё решение, которое следует принципу единственной ответственности (SRP, как в принципах SOLID) является более вычислительно затратным, нежели когда всё совместно вычисляется.
@no101vmv
@no101vmv Ай бұрын
не понимаю куда пропадает мой комментарий.... 1. Видимо плохо объяснил условие(((( В общем сравнивать нужно было является ли первое слово палиндромом для второго. 2. Я прикладывал решение на питоне. Но что то комент пропадает.
@ElbrusBootcamp
@ElbrusBootcamp Ай бұрын
Пропадает, не видно(
@gamepad3140
@gamepad3140 Ай бұрын
Столько подводных камней не объяснили, а ребята мучаются. 1) Снимите ограничения с PowerShell через Set-ExecutionPolicy RemoteSigned (запуск от администратора) 2) На винде venv активируется через venv\Scripts\activate 3) в обычной версии aiogram нету executor, надо скачивать новую pip install --force-reinstall -v "aiogram==2.23.1" 4) нет комментариев от вас по теме 6-й строки про логгирование
@imimiiii
@imimiiii 14 күн бұрын
спасибо, что написали про executor, а то ничего не получается с ним, не могла понять что не так :'')
@polalp8599
@polalp8599 Ай бұрын
можно сделать быстрее, насколько я понимаю. Можно создавать только одну хеш таблицу, а затем проходиться циклом по буквам из второго слова, вычитая эти символы из таблицы. Так мы избавимся от лишнего цикла. потом проверить, что все object.value равны 0
@Grentanksmog
@Grentanksmog Ай бұрын
Какая интересная идея! Звучит здраво 👏
@no101vmv
@no101vmv Ай бұрын
Логичнее проверить что хотя бы один не равен 0) any
@user-oz3ze5eb3s
@user-oz3ze5eb3s Ай бұрын
а как находить задачи определенного типа например я хочу по решать задачт связанные с типом словарь
@ElbrusBootcamp
@ElbrusBootcamp Ай бұрын
На платформах LeetCode, HackerRank, и CodeSignal задачи можно фильтровать по конкретным темам и структурам данных, включая словари.
@romanmed9035
@romanmed9035 Ай бұрын
а не надо ли изначально сравнить строки на размер для первой проверки? если он разный, то явно что не одинаковые и нет смысла далее проверять. конечно на 100 символах это не важно, а на 100тыс уже имеет значение. да вероятно и во втором так же, хотя тут уже не уверен. и третье решение второго варианта все же очень много раз итерации по строкам проходит да еще и не в одном месте.
@Grentanksmog
@Grentanksmog Ай бұрын
Да, очень верное замечание! Перед тем, как переходить к циклам и всем остальным проверкам стоит вначале проверить длину строк 👏
@romanmed9035
@romanmed9035 Ай бұрын
@@Grentanksmog спасибо.
@no101vmv
@no101vmv Ай бұрын
Длину строк имеет смысл проверять только если это одно слово без пробелов и знаков препинания. Ну, точнее если мы из тоже учитываем. Я приложил свое решение в комментарии к видео но комментарий почему то пропадает
@abdiqadyryerzhanov7820
@abdiqadyryerzhanov7820 Ай бұрын
Приветствую! Я думаю, интереснее будет реальные задачи во фронтенде или бэкенде, логические, это личное мое мнение!
@ElbrusBootcamp
@ElbrusBootcamp Ай бұрын
Спасибо! Учтем
@user-ud3uw3cf4s
@user-ud3uw3cf4s Ай бұрын
это гениально, и комментаторы гении
@egoreast
@egoreast Ай бұрын
const add = (numbers) => numbers.reduce((acc, curr) => { const lastInAcc = acc.at(-1) if (!lastInAcc) return [curr] return [...acc, lastInAcc + curr] }, [])
@XSanjarX
@XSanjarX Ай бұрын
почему у меня не работает функция await
@ArtFanRamm
@ArtFanRamm Ай бұрын
Сортировка конечно тоже ок, но было бы неплохо послушать более advanced темы, типа алгоритмических паттернов, скользящее окно например. Это было бы полезней при решении задач
@ElbrusBootcamp
@ElbrusBootcamp Ай бұрын
Тоже полезно, да
@kitN
@kitN Ай бұрын
Какая назуй сортивровка пузырьком? Тетя ты моросишь детский бред, займись делом
@panfilovandrey
@panfilovandrey Ай бұрын
Опять какие-то сомнительные подходы. Ну джун понятно все сделал в лоб, Я сразу подумал, что можно вытащить значения, причем вытаскивать индексы месяцев не имело смысла, можно было вытаскивать значения и по ним циклом простым идти. Переменной итоговой достаточно одной, просто делать +1 или -1 в зависимости от значения. Два фильтра - это два раза проход по массиву, зачем? Тут просто цикл гораздо проще. Решение сеньора сомнительное в плане дальнейшей поддержки, если как-то поменяется формат входных данных, придется что-то придумывать. Да и читабельность кода хреновая. Сеньор не показывает знания всех методов, а следит за качеством кода и целостностью системы.
@AdskiyVolk
@AdskiyVolk Ай бұрын
Знаю этого актера 😂 Друг, спасибо за контент)
@kirillsundaen8810
@kirillsundaen8810 Ай бұрын
Анастасия - красавица! только right, не rigth )
Ай бұрын
Благодарю!) да, я исправила эту опечатку в конце) спасибо
@newjerseyAVGN
@newjerseyAVGN Ай бұрын
Это всё херня, попробуйте написать полноценный шелл на 20 команд. Копирование, перемещение, удаление файлов и папок, спеки компа, спеки сети и прочая лабуда. Дерзайте!
@user-xn2cr5oe4p
@user-xn2cr5oe4p Ай бұрын
Что за устаревшие циклы фор? Вы из двухтысячных вылезли????
@user-cp4px6oz5n
@user-cp4px6oz5n Ай бұрын
а какой ты тут хочешь предложить использовать?)
@user-xn2cr5oe4p
@user-xn2cr5oe4p Ай бұрын
@@user-cp4px6oz5n современные es 6 методы
@vitaly-
@vitaly- Ай бұрын
соболезную, если ты используешь циклы только по принципу новизны, а не те, которые подходят под конкретную ситуацию.
@user-xn2cr5oe4p
@user-xn2cr5oe4p Ай бұрын
@@vitaly- а я соболезную тебе , что ты застрявший в прошлом человечек, не готовый принимать новые технологии. Ты ещё поворчи типа: «Вот молодеж нынче пошла»….
@vitaly-
@vitaly- Ай бұрын
@@user-xn2cr5oe4p хахахахаах, какие технологии? и как ты собрался писать условие выхода из цикла "len - 1 - i" не используя for или while? школу хоть закончил бы, прежде чем такой бред писать...
@user-sc3ht8ti4o
@user-sc3ht8ti4o Ай бұрын
Спасибо!
@user-pz9dc1kk4d
@user-pz9dc1kk4d Ай бұрын
Супердоступно и понятно, спасибо большое!
@mcltdtm420
@mcltdtm420 Ай бұрын
вариантов решений может быть много. только вот у меня вопрос относительно производительности каждого варианта. без тестов, на первый взгляд, решения "Джуна" самое быстрое. или я ошибаюсь?
@dadaVoloda
@dadaVoloda Ай бұрын
ошибаешься, у джуна O(n^2) сложность, у синьора O(n) вообще думаю большинство разработчиков решат эту задачу одинаково, без замыкания и в пару строк, потому что читабильность/понимание в приоритете let sum = 0 return arr.map(el => sum += el)
@mcltdtm420
@mcltdtm420 Ай бұрын
@@dadaVoloda а Вы производительность кода по читабильности кода определяете?
@dadaVoloda
@dadaVoloda Ай бұрын
@@mcltdtm420 а Вы меня троллите или серьезно спрашиваете? Первая часть сообщения про производительность, там имеется ввиду, что в примере с джуном цикл в цикле, получается квадратичная сложность, в случае с сеньором один проход по массиву - линейная сложность. А во второй части сообщения я уже высказал свое мнение, как по-моему напишет большинство на проекте, никто не будет использовать цикл фор, когда это можно сделать с помощью метода быстрее и удобнее
@mcltdtm420
@mcltdtm420 Ай бұрын
@@dadaVoloda 1. где вы увидели "у джуна O(n^2)"? там менше итераций цикла. 2. почему вы считаете, что перебор по циклу и в методе масива занимают одинаковое количество времени?
@mcltdtm420
@mcltdtm420 Ай бұрын
​@@dadaVoloda в случае с джуном код может иметь вид в один цикл как и в .map() function add(arr) { const sums = []; let sum = 0; for (let i = 0; i < arr.length; i++) { sum += arr[i]; sums.push(sum); } return sums; } так какой код производительней? джуниор з O(n) или .map() з O(n)?