IT Papa
IT Papa
  • Видео 55
  • Просмотров 28 471
Алгоритм бинарного поиска JavaScript
задача для джаваскриптизеров на знание базовых алгоритмов
Просмотров: 127

Видео

оптимизация сайта, web страниц, page speed
Просмотров 65Год назад
как можно проверить сайт на производительность, page speed
массивы и коллекции языка JavaScript
Просмотров 88Год назад
разбираемся как можно использовать массивы и коллекции в языке javascript на примере задачи поиска повторений в произвольной строке
методы массивов JavaScript. Магия и примеры
Просмотров 218Год назад
методы массивов JavaScript. Магия и примеры
регулярные выражения javascript
Просмотров 88Год назад
регулярные выражения javascript
принципы SOLID в JavaScript
Просмотров 294Год назад
принципы SOLID в JavaScript
JavaScript магия
Просмотров 725Год назад
JavaScript магия
императивный и декларативный javascript
Просмотров 513Год назад
императивный и декларативный javascript
что было раньше - курица или яйцо, с точки зрения программиста?
Просмотров 457Год назад
что было раньше - курица или яйцо, с точки зрения программиста?
JavaScript Proxy что за зверь?
Просмотров 116Год назад
JavaScript Proxy что за зверь?
приколы языка JavaScript. Батон!
Просмотров 342Год назад
приколы языка JavaScript. Батон!
JavaScript прототипы. Как это работает
Просмотров 465Год назад
JavaScript прототипы. Как это работает
Javascript objects. Senior level. Скрытые настройки объектов
Просмотров 69Год назад
Javascript objects. Senior level. Скрытые настройки объектов
Рекурсия js
Просмотров 170Год назад
Рекурсия js
приколы языка js, массив равен не массиву!
Просмотров 265Год назад
приколы языка js, массив равен не массиву!
3d снежинки, снег в браузере. На языке js
Просмотров 135Год назад
3d снежинки, снег в браузере. На языке js
JS неправильно считает. Действия с дробями в js. 0.1+0.2
Просмотров 167Год назад
JS неправильно считает. Действия с дробями в js. 0.1 0.2
промисы js. promise в языке javascript простыми словами
Просмотров 7 тыс.Год назад
промисы js. promise в языке javascript простыми словами
приколы языка js, написать банан
Просмотров 1,2 тыс.Год назад
приколы языка js, написать банан
замыкание в js, простыми словами!
Просмотров 331Год назад
замыкание в js, простыми словами!
способы создания объектов в js (7 шт.)
Просмотров 175Год назад
способы создания объектов в js (7 шт.)
снежинки на сайт, js, canvas
Просмотров 154Год назад
снежинки на сайт, js, canvas
Google убегает от курсора мыши
Просмотров 92Год назад
Google убегает от курсора мыши
Преобразование типов в JS или проститутка!
Просмотров 1,9 тыс.4 года назад
Преобразование типов в JS или проститутка!
Анимация flex CSS на реальном сайте
Просмотров 1604 года назад
Анимация flex CSS на реальном сайте
Анимация CSS online - рейтинговые звездочки GooglePlay
Просмотров 404 года назад
Анимация CSS online - рейтинговые звездочки GooglePlay
Анимация, ховеры и фишки CSS онлайн. Карточки категорий
Просмотров 574 года назад
Анимация, ховеры и фишки CSS онлайн. Карточки категорий
Анимация логотипа CSS на сайте Walmart
Просмотров 684 года назад
Анимация логотипа CSS на сайте Walmart
Иконки социальных сетей - Анимация, hover и фишки CSS
Просмотров 2264 года назад
Иконки социальных сетей - Анимация, hover и фишки CSS
Анимация keyframes CSS - логотип Twitter
Просмотров 694 года назад
Анимация keyframes CSS - логотип Twitter

Комментарии

  • @N.E.O.N-ziv
    @N.E.O.N-ziv 2 дня назад

    А обязательны эти стикеры и тупой звук клавиатуры

  • @user-sw8bh3vh7i
    @user-sw8bh3vh7i 5 дней назад

    Как не забрасывать мне в реки шортсы с нулевыми просмотрами и комментариями

  • @sjdjjsjsjs3991
    @sjdjjsjsjs3991 Месяц назад

    ! =[] || null & & [] + true - "false"

  • @userbekjon
    @userbekjon Месяц назад

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

  • @user-oz6ke2vd3r
    @user-oz6ke2vd3r 5 месяцев назад

    жесть

  • @sericssonn
    @sericssonn 6 месяцев назад

    Браво! спасибо!

  • @tabrisel
    @tabrisel 6 месяцев назад

    Спасибо за видео) Наконец-то рекомендации полезный контент подвезли :)

  • @ИльяКурашов-г7ж
    @ИльяКурашов-г7ж 8 месяцев назад

    Спасибо

  • @Gu_landom
    @Gu_landom 9 месяцев назад

    🎉

  • @user-rx7xh9kg1m
    @user-rx7xh9kg1m 11 месяцев назад

    Лучшее объяснение. Респект автору!

  • @user-ez7zs5xj1v
    @user-ez7zs5xj1v Год назад

    Бро смотрю тови видео допустим про промисы очень все понятно и классно не думал курс выпустить в таком формате , спасибо за твое время

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

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

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

    Супер! Хотелось бы побольше роликов про интересные темы JS в коротком формате!

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

    Задача для стриптизеров

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

    Прости, но может сразу самому стоит подучить js перед тем как что то в сеть выкладывать? let? Серьезно? 3 одинаковых функции? Серьезно? В 4 строчки кода это и с промисом и без решается.

    • @itpapa-courses
      @itpapa-courses Год назад

      Можно все...смотря какая цель

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

      @@itpapa-courses цель научить. Чтоб потом молодые ребята на проектах не доказывали что let это нормально и что ооп это миф. А когда они насмотрятся таких видел их сложно переучить и они теряют работу, на рынке проще найти нового чем переучивать.

    • @МишаМихаил-ф7х
      @МишаМихаил-ф7х Год назад

      @@Ramosok чел, не надо так сурово. Все начинают с простых примером и постепенно переходят к ООП

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

      @@МишаМихаил-ф7х нет, к сожалению это так не работает. Это как учиться писать, типо ты сначало пиши как можешь, не ещё а исчо не хорошо а ХАРАШЁ, а орфографии потом придет, так вот не придет.

    • @МишаМихаил-ф7х
      @МишаМихаил-ф7х Год назад

      @@Ramosok я учил питон так и сам учу других. Зачем новичку сразу давать ООП? Пусть научится базам

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

    Довольно интересный пример. А вообще можно довольно кратко написать и через делегацию событий в JS : const isAllDone = {} // в объекте будем записывать ключи, когда пользователь нажмет на кнопку //вешаем на родителя обработчик события, что позволит нам и динамически в будующем добавлять еще кнопки и через делегацию событий и всплытие сразу обработать все клики на все кнопки container.addEventListener('click', e => { if (e.target.tagName === 'BUTTON') { // проверяем что та сущность на которую мы кликнули действительно является кнопкой const text = e.target.textContent // берем текст ноды(кнопки) isAllDone[text] = text // записываем в объект ключ/значение текста кнопки, это будем нашим индикатором , что мы нажали на кнопку if (Object.values(isAllDone).length === 3) alert('done!!!') // через статический метод объекта получает массив значений и проверяем его длину, если количество кнопок совпадает с длинной массива значит пользователь нажал все кнопки, тогда выводим alert } }) через промисы тоже довольно интересно автор написал, единственное что можно чуть улучшить и сократить код, можно избавиться от колбэка(можно и нужно сразу передать просто ссылку на resolve): const promise1 = new Promise((res, rej) => { btn1.addEventListener('click', res) }) или даже так const promise1 = new Promise((res, rej) => btn1.addEventListener('click', res)) // так еще лаконичней будет A так спасибо за видео, было довольно интересно.

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

      ты крут, чувак)

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

      @@FrontNinja Очень прикольно то, что когда я вернулся к этому коду через 3 месяца, первая мысль при взляде на код что он написан не очень 😅. Наверное это хороший знак, когда ты возвращаеся назад и видишь что можно было лучше сделать, значит ты развиваешься. Написать можно было лаконичнее и понятнее : Вариант 1 (без промисов): ---------------------------------------------- const btns = document.querySelectorAll('button'); const clickedBtns = {}; btns.forEach((btn, index) => { btn.addEventListener('click', () => { clickedBtns[index] = 'clicked'; if (Object.keys(clickedBtns).length === btns.length) console.log('All buttons were clicked!'); }); }); ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Вариант2 (промисы): ------------------------------------------ const btns = document.querySelectorAll('button'); const promises = []; btns.forEach((btn) => { const promise = new Promise((res) => { btn.addEventListener('click', res); }); promises.push(promise); }); Promise.all(promises).then(() => console.log('All promises were resolved!')); ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Плюс такого решения, что можно динамически добавлять новые кнопки и код отлично отработает и не нужно ничего дописывать. Решение абстрактное и нас не интересует сколько там кнопок, хоть 100, все отлично будет работать.

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

    Объясни в чем суть этой элегантности в данном примере? Просто что бы было? Если у меня есть два варианта решения, почему я должен выбрать промисы?

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

    Это называется одним словом - я должен научиться читать спецификацию. В которой сказано, что любое Property для Object представляет из себя обьект с тремя Property описывающими поведение языка, для всех случаев спецификации: доступ, перечисление, изменение. И так далее. JS это не язык, к которому можно применить привычные для других языков нормы. Это язык со своей предельно логичной архитектурой в котором нет никакой магии, если эту архитектуру знать. Дайте себе труд прочитать хоть раз спецификацию языка, а не шпаргалки с mdn или другого сайта. Раз уж вышли в публичную плоскость и решили кому-то что-то обьяснить про язык.

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

    Вы вообще ничего не поняли из того о чем рассказали. В результате рассказали чушь. Никаким образом подобное поведение не зависит от системы исчисления. Подобное поведение зависит от того, каким образом работает представления числа с плавающей точкой с заданной точностью. В JS как и в большинстве других языков программирования, реализовано представление числа с плавающей точкой согласно стандарту IEEE-754. И именно поведение описанное этим стандартом определяет каким образом будет представлено то или иное число в процессе вычисления.

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

    Вы не понимаете синтаксиса JS потому городе чушь. В JS все является выражением. Использование любого литерала, идентификатора или конструкции приводит к вычислению сначала это литерала и конструкции, после чего к нему применяются алгоритм вычисления основго выражения. В случае сложения вычитание и так далее, к каждой части выражения применяется метод gerValue который описан в спецификации. И уже с результатом применения этого метода и происходит математика. Иными словами, любое число, строка, обьект может иметь логику приведение его к примитивному значению которое и будет использоваться при сложении. Дали бы себе труд хоть раз открыть официальную спецификацию ECMA, чтобы не позориться публично. В качестве домашнего задания - разберитесь каким образом код: var theOne = { name: 1}; var theTwo = {name: 2}; theOne + theTwo; // 3 Будет возвращать правильный результат любой математической операции, как бы вы не меняли значение property name. Как разберетесь, запишите видео, где извенитесь перед всеми своими подписчиками и обьясните им как действительно работает JS, а не ту ахинею что вы тут рассказали.

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

    00:00:37 *Чтобы доказать что это примитивный тип, я выведу его в консоль* console - это внешнее API. И все что Вы видите в результате его работы - это именно результат работы этого API. Любой обьект, любые данные могут быть выведены при помощи этого API ровно так, как захочет программист. А не так как они представлены на уровне спецификации. Нет ни одного API которое бы Вам показало как именно выглдяит тип в JS по причине того, что JS не имеет своего ввода вывода. И если Вы уже озаботились тем, чтобы понять как это происходит внутри - то и пользуйтесь соответствующими инструментами, которые Вам позволят заглянуть под капот RunTime. Гуглите в сторону ключей allow-natives-syntax Забегая вперед сразу скажу, что абсолютно все на уровне рантайм в JS является обьектом. Есть разница только в поведение по умолчанию. Но это Вы скоро и сами увидите если полезете под капот, а не будете нести глупости про consol и т.д.

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

    Шляпа какая-то... Почему бы lodash не подключить просто?

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

      @Ivan Petrov как и твоя жизнь, судя по всему😅

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

    Для тренировки очень годно. Но не могу сказать что первый вариант был хуже. У меня вообще всё програмы собраны из масивов, if else, loops, и обьектов. Зато когда своё читаю всё понимаю отлично, но стоит добавить промисы или классы бывает сам путаюсь в своём коде. Знать их нужно, но для развития логики надо делать как умеешь сам, а потом искать как можно было бы это сократить или облегчить)🤪

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

      свой говнокод не пахнет

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

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

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

      @@phat80 я не писал что боюсь, и слово не умею тоже не было. И представь да я работаю и этим зарабатываю.

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

      @@worldweb9025 но если вы будете работать, избегая классов и промисов, то я не знаю, кого это может устроить. Это то же самое, как писать на ООП языке в процедурном стиле. Сначала это вроде даже удобно и даже более эффективно с точки зрения быстродействия, а потом когда кодовая база разрастается, не понятно, как это все поддерживать.

  • @МаксимАндреев-я1г

    Странно что в js у строки нету метода что выводит количество вхождения другой строки в исходную

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

    Понравились наложенные аплодисменты))

  • @СергійДзюбленко

    У меня больше ассоциация с машиной состояний, если к примеру потребуется определенная комбинация кнопок, или заданий тайм-аут для нужной комбинации, иначе всё сначала.

  • @МаксимАндреев-я1г

    Мне сразу пришло в голову решение взять из массива число нулей, потом удалить все нули из него и добавить удаленное количество нулей в новый массив, но я думаю мое решение будет Оn^2

  • @ИмяФамилия-э4ф7в

    Разрешите доебаться. Почему первые три переменных без let или const? Зачем промисы присваиваются в let, а не в const?

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

    Спасибо! Ваше видео было пятым по этой теме из тех, что я посмотрела. И только после него поняла преобразования.

    • @sjdjjsjsjs3991
      @sjdjjsjsjs3991 Месяц назад

      Тогда распиши, как работает данное выражение, без помощи ГПТ ! =[] || null & & [] + true - "false"

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

    Ну а со стороны науки яйцо было первее

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

    Ну а теперь я уж точно знаю все тонкости программирования🤓

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

    Ладно

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

    Полагаю, разрешение видео можно уменьшить до размеров дверного глазка.

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

      Нехер со смарт-часов смотреть... На ноуте все отлично видно.

  • @ilham-px4il
    @ilham-px4il Год назад

    Интересный пример использования промисов, спасибо большое. Хотелось бы побольше таких примеров с промисами

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

    Спасибо!

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

    хорош

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

    Хахах

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

    баян, но спасибо за подробное объяснение

  • @Skyyy.
    @Skyyy. Год назад

    😆

  • @Размер_Шаров
    @Размер_Шаров Год назад

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

    Здравствуйте, отлично объясняете, будет ли продолжение?)

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

    Супер, наконец-то понял 💪💪💪

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

    Спасибо БОЛЬШОЕ, для новичка самое то. А те, кто не новички, не надо комментировать, вам дальше, проходите молча.

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

    Посади на Wordpress

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

    Очень хорошие уроки.

  • @user-rz8vu4dd2o
    @user-rz8vu4dd2o 4 года назад

    Видео очень нравятся. Всё понятно объясняете.