Это на Javascript!? 🤯

Поделиться
HTML-код
  • Опубликовано: 9 янв 2025

Комментарии • 126

  • @СергейТуманов-з5ц
    @СергейТуманов-з5ц 5 лет назад +50

    Нужно БОЛЬШЕ ПРАКТИКИ. Благодарю за урок!

  • @НикитаАнтонов-ш3г
    @НикитаАнтонов-ш3г 5 лет назад +19

    Пожалуйста больше уроков по реализации алгоритмов и структур данных. Это было бы очень полезно для понимание того как работают языки программирования. С меня лайк, спасибо!

  • @itbeard
    @itbeard 5 лет назад +16

    Примеры доставили :) Дима красавчик!)

  • @dmitry9894
    @dmitry9894 5 лет назад +22

    Интересный формат, мне бы было интересно посмотреть различные примеры решения тех или иных не тривиальных задач

  • @MihailKolesnikov
    @MihailKolesnikov 5 лет назад +2

    А вот это топовый подгон с утра. Спасибо большое!

  • @unskeptik
    @unskeptik 5 лет назад +2

    Больше таких видео! Большое спасибо!

  • @Horrrorsful
    @Horrrorsful 5 лет назад +9

    зашло, я, конечно, не любитель поглощать тех инфу таким образом, но под завтрак оч даже для простых концепций
    В принципе ты можешь сделать целую рубрику, взять какой нибудь крекинг кодинг интервью и реализовывать на жсе эти задачки.
    Правда в том, что такие видео будут вряд ли популярны, но зато они несут ценность, в отличие от " а нужен ли английский, татарский, а как джуну какать"

    • @SeniorSoftwareVlogger
      @SeniorSoftwareVlogger  5 лет назад +1

      > а как джуну какать
      ты понимаешь в хайпе! :) Спасибо за отзыв!

  • @lyricaltoxic
    @lyricaltoxic 5 лет назад

    Большое спасибо. Такого контента не хватало!

  • @Dmittry
    @Dmittry 5 лет назад +9

    Пишем хеш-таблицу, чтобы достать Соера :DDD

  • @GloriousJenya
    @GloriousJenya 5 лет назад

    Побольше вот таких вот серьезных видео, про алгоритмы и структуры данных, и прочее серьезные штуки из мира кодерства лойс за видео

  • @antonvorozhischev3056
    @antonvorozhischev3056 5 лет назад

    Спасибо за видео, было очень интересно послушать и поразбираться!

  • @techtor_rave
    @techtor_rave 5 лет назад +5

    Первый курс универа
    Пишешь экзамен по алгоритмам
    Реализация хеш-таблицы с проверкой коллизий
    Из инструментов: ручка, листочек
    Отладка: долгий пристальный взгляд
    Проходит 6 лет, и реализация хеш-таблиц пригождается только для того, чтобы написать в комментарии о том, что я её знаю 🤷🏼‍♂️

    • @promax866
      @promax866 5 лет назад +1

      Ну еще давай похвалю,
      Ох, Молодец какой! Хэш таблицу знает!!!
      ;)

  • @mixa9269
    @mixa9269 5 лет назад

    Спасибо за видео! Очень познавательно.

  • @artemabubakirov4098
    @artemabubakirov4098 5 лет назад

    Классный формат, очень зашло. Было бы интересно в таком формате рассмотреть более сложные вещи.

  • @VictorPK100
    @VictorPK100 5 лет назад

    Спасибо за урок! очень полезно

  • @sepezho
    @sepezho 5 лет назад +1

    Лучший. Всякие хаудихо нервно курят в сторонке. Больше такой практики :D

  • @ione88
    @ione88 5 лет назад

    Спасибо за урок!
    интересный способ создать объект в javaScript
    с интерфейсом

  • @Victor-qx4fp
    @Victor-qx4fp 4 года назад +10

    попытались добавить Soer-а и у нас возникла колизия😀, убило😂😅

  • @Konst_SSS
    @Konst_SSS 5 лет назад +7

    по хардкору на for'ах рубимся :))))

    • @SeniorSoftwareVlogger
      @SeniorSoftwareVlogger  5 лет назад

      😆

    • @eugenenovikov671
      @eugenenovikov671 5 лет назад +1

      лучше for, чем ([].slice.call(document.getElementsByClassName("sub")).forEach((e)=>{e.addEventListener})

  • @MaxPronko
    @MaxPronko 5 лет назад

    Крутой видос, зашло))

  • @NecroRomnt
    @NecroRomnt 5 лет назад +6

    Резюме в конце видео достойно лайка ='D

    • @manapotion1594
      @manapotion1594 5 лет назад

      Искал на экране его резюме :)

  • @igor_cojocaru
    @igor_cojocaru 5 лет назад

    Класс
    Делай дальше такой контент

  • @seangad8227
    @seangad8227 5 лет назад +3

    Thank you, More of a such content

  • @ilyaserov4150
    @ilyaserov4150 5 лет назад +2

    Мне кажется нужно звук глушить когда видео ускоряется

  • @ASKOLDEX
    @ASKOLDEX 5 лет назад +2

    - Где оно вам понадобится?
    - А хрен его знает
    Скажем так /or/null

  • @aqvatarius1372
    @aqvatarius1372 4 года назад +7

    Ох уж эта точка над креслом, все видео не давала покоя

  • @mj_nooker
    @mj_nooker 5 лет назад +1

    Отлично!

  • @promax866
    @promax866 5 лет назад +1

    полезный видос

  • @Дмитро-н8р
    @Дмитро-н8р 5 лет назад +6

    Обнаружил баг. При вызовах getElement, setElement ты не учёл что matchingIndex может равняться нулевому индексу, соответственно проверка на if(matchingIndex) проходить не будет, но индекс существует
    Реализовал на TypeScript с исправлением github.com/antpv/js-hash-table/blob/master/index.ts
    P.s.: С тебя звездочка 😏

    • @SeniorSoftwareVlogger
      @SeniorSoftwareVlogger  5 лет назад +8

      ⭐️

    • @АлександрТерритория
      @АлександрТерритория 4 года назад

      В языках со статистикой типизацией, от безысходности, в таких функциях возвращают -1, т.е. позиция может быть от 0 до + бесконечности, если не найдено -1.
      Из плюсов, ты не разводишь null, NaN, undefined а делаешь проверку, что возвращаемое больше минус одного)

    • @Дмитро-н8р
      @Дмитро-н8р 4 года назад

      Александр Территория Соглашусь, не подумал об этом. Спасибо.

  • @ДмитрийДзюба-о2ъ
    @ДмитрийДзюба-о2ъ 5 лет назад +1

    Соера достали, но без бороды. if(matchingIndex) - matchingIndex может быть 0

  • @musikalniyfanboichik
    @musikalniyfanboichik 5 лет назад +1

    шикарное превью 🤣

  • @hddn_slf
    @hddn_slf 3 года назад

    Спасибо за ролик, заметил одну ошибку когда переписывал код:
    в функции getElement(key) в ее конечной реализации в конце проверка if (matchingIndex).
    Беда в том что частенько matchingIndex равен нулю, но из за такой проверки вместо значения возвращается undefined.
    следовательно if (matchingIndex || matchingIndex === 0)

  • @blinkapec
    @blinkapec 5 лет назад +1

    2:56 Ну мы то поняли... 😃

  • @MasterYOSky
    @MasterYOSky 5 лет назад +2

    Блин, это вы про мапы что ли тут?))

  • @everydayfee
    @everydayfee 4 года назад +6

    Ничего непонятно,но очень интересно

  • @keitllyn7391
    @keitllyn7391 5 лет назад +3

    Только сейчас понял, что не подписан. т.к ютуб кидал видео в рекомендации, и я не задумывался о подписке

  • @johannesbrown8853
    @johannesbrown8853 5 лет назад

    Привет. На каких языках ты пишешь кроме JS? Что изучаешь сейчас? С меня как всегда лайк 👌

    • @SeniorSoftwareVlogger
      @SeniorSoftwareVlogger  5 лет назад

      Привет, FAQ на первой странице seniorsoftwarevlogger.com/

  • @delicatebob1595
    @delicatebob1595 5 лет назад

    В моём понимании, хеш используется для хранения паролей. То есть, приходит пароль суём его в хеш-функцию, получаем значение, из которого НЕЛЬЗЯ получит пароль(Конечно, стараемся сделать хорошую функцию и т.д.) и храним уже именно это значение, а не пароль. Получается так, что даже если смогут украсть базу с сервера, внутри неё будут лежать значения, из которых нельзя получить пароль, только если ты не знаешь саму Хеш-функцию. А вы храните пароль вместе с значением хеш-функции, вопрос, в чём смысл? Если не прав, поправьте пж.

    • @SeniorSoftwareVlogger
      @SeniorSoftwareVlogger  5 лет назад

      Хеш-таблица это просто словарь. Вот прямо как англо-руссктй словарь. Английское слово ключ - русский перевод - искомое значение. Хеш функция, про которую ты говоришь, может быть использована для необратимого шифрования паролей, но это только одно из применений и к хеш-таблицам оно отношения не имеет

    • @delicatebob1595
      @delicatebob1595 5 лет назад

      @@SeniorSoftwareVlogger Спасибо

  • @РусланАбдуллаев-г6д

    Осилил, норм заруба была)

  • @-it7046
    @-it7046 5 лет назад

    Привет Дима! Что за сайт в котором пишешь код? Очень минималистичный интерфейс) очень нравится)

  • @vkot6941
    @vkot6941 5 лет назад

    Геттер ищет только один элемент из массива но не все,есть вариант решения?

  • @divocean4085
    @divocean4085 5 лет назад

    Прочитал недавно "Грокаем алгоритмы". Имеет ли смысл копать в этом направлении дальше фронтенд-разработчику, или основных структур данных и базовых алгоритмов достаточно для прохождения собеседований и повседневных задач во фронте?

    • @vladk3111
      @vladk3111 4 года назад

      ну что, спустя 10 месяцев можешь ответить на этот вопрос? Я тоже полез в эти дебри после хеш-таблиц в этой книге, просмотрел 11 минут видео, нихуя не понял, и пошёл в комментарии)))

    • @divocean4085
      @divocean4085 4 года назад

      @@vladk3111 Вообще нихрена не пригодилось из CS :D На собесах и близко ни о чём подобном не спрашивали, в основном интересуются чем-то более практичным и повседневным. Учи вебпак, нативный JS, Flux-архитектуру, почитывай всякие фишечки-бест практисы по фронту, ну и освой хотя бы одну библиотеку компонентов под свой фреймворк. Например, Vuetify для Vue.

    • @vladk3111
      @vladk3111 4 года назад

      @@divocean4085 подскажи, пжлста, на собесах просят предоставить какую-то работу на гитхабе?? Типа ты прошёл какие-то курсы, сделал реальное что-то, залей на гитхаб и показывай всем на собесах. На видосах в ютубе много разных собесов, кто-то просит, кто-то нет, ну и основной вопрос, если ты самоучка, не станет ли это стопом для собеса?) потому что обычно самоучки не имеют опыта на реальных проектах, как это в школах или на курсах

    • @divocean4085
      @divocean4085 4 года назад

      @@vladk3111 100% спросят о предыдущих проектах. Какие были задачи, что делал, над чем работал. Если нет опыта вообще, то либо тестовое дадут, либо попросят код посмотреть. В идеале что бы был какой-нибудь мини проект залитый на хостинг и выложенный на гитхабе в свободном доступе. Что бы можно было посмотреть код и зайти потыкать сам проект. Вот мой первый для примера) dictionaryapp-v1ktork.appspot.com/ Логин/пароль: test

    • @vladk3111
      @vladk3111 4 года назад

      @@divocean4085 прикольный словарик) потыкал, оч интересно. И такая работа типа покажет твои условные навыки и опыт практической вёрстки и знания JS, + на гит хабе смогут посмотреть код и оценить примерно, что и как. Верно??

  • @olendotatv
    @olendotatv 5 лет назад

    Подскажите пожалуйста модель монитора! Спасибо за видео :)

    • @SeniorSoftwareVlogger
      @SeniorSoftwareVlogger  5 лет назад

      В описании "рекомендую"

    • @olendotatv
      @olendotatv 5 лет назад

      @@SeniorSoftwareVlogger спасибо, не заметил!

  • @nexgenua
    @nexgenua 5 лет назад +1

    Я думал ты сейчас энигму в 2к19 напишешь 😂

  • @eugenenovikov671
    @eugenenovikov671 5 лет назад

    спасибо

  • @TheVer1000000
    @TheVer1000000 5 лет назад +1

    В чем был смысл писать на js? Там массивы динамические.

    • @SeniorSoftwareVlogger
      @SeniorSoftwareVlogger  5 лет назад

      Как я и сказал - демонстрация принципа не больше.

  • @evgenepanchin661
    @evgenepanchin661 5 лет назад +1

    "Я не хочу использовать классы потому, что в javascript'e внутри используют функции. Так почему не использовать функции?"
    Встречный вопрос - если нет разницы, то почему бы не использовать классы? ))))

  • @vl.ca.1733
    @vl.ca.1733 5 лет назад

    А сам object не хэш таблица ?

    • @SeniorSoftwareVlogger
      @SeniorSoftwareVlogger  5 лет назад

      Я не знаю точно на самом деле. Думаю, что внутри хеш таблица, просто чтобы отношения ключа и значений хранить. Сверху же ещё куча разных свойств и функций. При этом объект можно использовать как хеш-таблицу и не переживать.

  • @ЕгорЛазука-й1э
    @ЕгорЛазука-й1э 4 года назад

    давай вёрстку под ie в твоём исполнении)

    • @SeniorSoftwareVlogger
      @SeniorSoftwareVlogger  4 года назад +4

      😼 а, ты знаешь толк! (засучивает рукава)

  • @ВладКалошин-х3ъ
    @ВладКалошин-х3ъ 5 лет назад

    Превьюшка топ

  • @TheVellymo
    @TheVellymo 4 года назад

    Извините, а почему на восьмой минуте getElement() принимает два параметра, если написано что он должен принимать только ключ???

    • @SeniorSoftwareVlogger
      @SeniorSoftwareVlogger  4 года назад

      copy-paste

    • @TheVellymo
      @TheVellymo 4 года назад

      @@SeniorSoftwareVlogger а почему нет ошибки? или в js так можно?

    • @SeniorSoftwareVlogger
      @SeniorSoftwareVlogger  4 года назад

      JS динамический язык, так можно

    • @aquavitale3551
      @aquavitale3551 4 года назад +9

      ​@@TheVellymo python тоже динамический, но так нельзя. Более правильный ответ звучит так: функции в js принимают любое количество параметров, если переданных параметров больше, чем объявлено аргументов, то лишние проигнорируются. Если переданных меньше, недостающим присвоится undefined, либо default значение, если оно указано, вроде того, как мы передаем size (size = 13) в саму функцию HashTable(). Также в каждой функции во время ее исполнения доступен массив arguments (технически это не совсем массив, но для простоты), в котором лежат все переданные ей аргументы, но уже не по именам, а просто по порядку. Т.е. внутри setElement есть некая нигде не объявленная переменная arguments, в которой arguments[0] - это key, а arguments[1] - значение.

    • @ЕвгенийИванов-э3у
      @ЕвгенийИванов-э3у 4 года назад +2

      @@aquavitale3551 подписчики SSV - динамические люди, так можно

  • @misc2850
    @misc2850 5 лет назад

    Object.keys ECMA5 и простая итерация for (var keys in obj) работает, но лайк поставил)

    • @SeniorSoftwareVlogger
      @SeniorSoftwareVlogger  5 лет назад

      Ты про то, что по хешу нельзя циклом пройти? Object в джаваскрипте не совсем хеш-тейбл в прямом понимании, он немного покруче.

    • @misc2850
      @misc2850 5 лет назад

      @@SeniorSoftwareVlogger да, но инструмент есть) а где можно почитать чем он отличается? в смысле "крутости"

    • @misc2850
      @misc2850 5 лет назад

      кстати коллизии в хэштаблицах было видно вживую в сотовых нокиях - там имена показывало не те для номеров иногда)) ну и сейчас в мобильном ютубе комментарии иногда показывает совсем не те - писал в одном месте, а потом он тебе его показывает совсем под другим видео, хотя корни этой проблемы могут расти из другого места

  • @ВолодимирКузьмич-з6з

    32 line
    if (matchingIndex !== undefined) { ...

  • @eugenenovikov671
    @eugenenovikov671 5 лет назад +2

    Дима, твой контент не надо улучшать - он и так о*уительный.

    • @SeniorSoftwareVlogger
      @SeniorSoftwareVlogger  5 лет назад +1

      Спасибо! Я помню про открытку, просто временно перестал печатать 😫

    • @eugenenovikov671
      @eugenenovikov671 5 лет назад

      @@SeniorSoftwareVlogger и я её вспоминаю часто. я хочу повесить её на стену себе очень.

  • @romangoncharuk4455
    @romangoncharuk4455 5 лет назад

    на телефоне невозможно смотреть

    • @SeniorSoftwareVlogger
      @SeniorSoftwareVlogger  5 лет назад

      Какой телефон? Код можно было чуть крупнее, согласен.

  • @beydaamo6387
    @beydaamo6387 3 года назад +1

    10:41 строка 8 ... написать ++i не судьба ?

    • @beydaamo6387
      @beydaamo6387 3 года назад

      @Алексей Иванов о - оптимизация

    • @x_NevrroX_x
      @x_NevrroX_x 2 года назад

      Это приведет к другому результату. I будет лишний раз увеличиваться на единицу.
      Другими словами i++ - это не то же самое что i+1

    • @mrmarkovniktgv3058
      @mrmarkovniktgv3058 Год назад

      Эмммм, ты же в курсе, что i+1 и i++ это не одно и то же?

    • @beydaamo6387
      @beydaamo6387 Год назад

      @@mrmarkovniktgv3058 ++i

  • @t33a25
    @t33a25 5 лет назад +2

    жду коммент от "бороды" под видео :)

    • @SeniorSoftwareVlogger
      @SeniorSoftwareVlogger  5 лет назад +3

      Надо было размерность и хеш функцию подобрать чтобы борода и вин в одну ячейку попали 😳

    • @itbeard
      @itbeard 5 лет назад +3

      Ой лол))

  • @Ironstonehiphop
    @Ironstonehiphop 5 лет назад

    Больше хейтеров в комментарии

  • @ДімаРудячук
    @ДімаРудячук 4 года назад

    Це ти окулярами захищаєш зір чи він у тебе просто поганий?

    • @SeniorSoftwareVlogger
      @SeniorSoftwareVlogger  4 года назад

      Не говорю по-украински

    • @dimeliora
      @dimeliora 4 года назад +1

      @@SeniorSoftwareVlogger "Ты очками защищаешь зрение или оно у тебя просто плохое", говорит преводчик)

    • @andyvoice
      @andyvoice 4 года назад

      судя по искажению в очках, немного неидеальное. если не ошибаюсь небольшая дальнозоркость, плюсовое зрение?

    • @ДімаРудячук
      @ДімаРудячук 4 года назад

      @@dimeliora Все так, дякую))))

    • @ivankir9716
      @ivankir9716 4 года назад +6

      Земляки вызывают испанский стыд, ты ещё по-украински под китайским видосом спроси, может дадут ответ...

  • @d_shorkin
    @d_shorkin 4 года назад +9

    Не подписываюсь потому что ты не делаешь видосы для разработчиков чуть выше уровнем.
    Я бы хотел посмотреть видосы такие:
    1. Замыкание - взгляд изнутри
    2. Ключевое слово new взгляд изнутри
    3. Javascript контексты - apply, bind, call, стрелочные функции
    Почему я хочу эти видосы:
    Я каждый день пользуюсь этим но не нахожу в себе силы прошерстить информацию и разобраться как это работает. Если уж ты занимаешься соданием контента то я был бы не проч чтобы ты прошерстил эту информацию за меня чтоб я пришел и не напрягаясь разобрался в некоторых внутренних особенностях JS.
    Проще говоря: мне лень разбираться, разберись за меня =)

    • @d_shorkin
      @d_shorkin 4 года назад

      Ух а видос то древний, я и не заметил

    • @SeniorSoftwareVlogger
      @SeniorSoftwareVlogger  4 года назад +20

      Честно, но такого контента же миллион? Владилен Минин ещё не разбирал? А вот хеш таблицу на джаваскрипт никто не писал. Уникальный контент, подписываемся и ставим колокольчик :)

    • @d_shorkin
      @d_shorkin 4 года назад +1

      @@SeniorSoftwareVlogger Хм... я такого чувака даж не знал - почекаю его. Спасибо за инфу.

    • @d_shorkin
      @d_shorkin 4 года назад +1

      @@SeniorSoftwareVlogger Не успел видос кстати даже досмотреть а ты уже ответил, It's a kind of magic!

    • @vladk3111
      @vladk3111 4 года назад +4

      @@d_shorkin Что-то ты для программиста слишком ленивый. В тех вещах не хочешь разбираться, которые юзаешь каждый день. Лень даже гуглить. Ума не приложу))) тебя самого не раздражает это? Что ты юзаешь и сам не понимаешь что юзаешь?
      Такие люди, обычно, вечно в джунах ходят. А потом везде в ютубах коменты оставляют, что меня нигде сеньором не берут, а у меня уже 10 лет опыта работы :(

  • @tsoier
    @tsoier 5 лет назад

    Какой смысл лицемерить и делать вид что ты не понимаешь, почему люди не подписаны? Потому что это нахуй не надо - видосы можно смотреть и так. Нет, серьёзно, подписка в большинстве случаев нужна автору канала, а не зрителям.
    У меня не горит жопа от того, что я не посмотрел видео спустя 5 минут от его выхода. Написание хеш-таблиц на JS это не подробности расследования катастрофы - оно еще долго будет актуально, я посмотрю когда мне будет удобно.
    p.s. Грубо говоря, если бы доступ к твоим видосам был ТОЛЬКО для подписчиков(донаторов usw.) - тогда бы я сел и подумал о подписке/колокольчиках/оплате usw.

    • @SeniorSoftwareVlogger
      @SeniorSoftwareVlogger  5 лет назад +1

      лицемерить?!

    • @tsoier
      @tsoier 5 лет назад

      @@SeniorSoftwareVlogger Ну ты же не идиот, ты и сам прекрасно понимаешь, почему люди не подписываются.
      Просто не пытайся подражать всяким блогерам. У тебя другая специфика и другая аудитория.
      Люди любят тебя за профессиональные качества, а не за то, как ты весело кривляешься, например.
      Проанализируй канал "ИТ-видео", и напиши в ответ своё мнение по поводу формата, подачи, стиля и т.д. Мне было бы очень интересно и есть что обсудить.

    • @SeniorSoftwareVlogger
      @SeniorSoftwareVlogger  5 лет назад +2

      Я понял почему ты не подписываешься. То что нужно только автору и автор не получает в итоге выпиливает с ютуба контент, который ты смотришь. Или прячет контент за платные стены.
      Почему другие не подписываются я почитаю у них.

    • @youtwoneight
      @youtwoneight 5 лет назад

      им нужна мотивация. например конкурсы с условиями в которых будет включена подписка на канал