- Видео 128
- Просмотров 198 936
LN Master
Украина
Добавлен 4 окт 2013
Образовываемся, познаем и созидаем с JavaScript
Промисификация в JS на простом примере
🔎 В данном обучающем ролике мы разберем такое явление в мире JS, как промисификация , которое дает нам возможность писать более читаемый и поддерживаемый код.
🔎 Всем желающим советую подписаться на канал, чтобы оставаться в курсе всех поступающих обновлений.
✅ Мой Telegram: @lnmasterJS
✅ Сообщество в Telegram: t.me/ln_yt
✅ Сообщество в ВК: club194671088
#js #promise #tutorial
🔎 Всем желающим советую подписаться на канал, чтобы оставаться в курсе всех поступающих обновлений.
✅ Мой Telegram: @lnmasterJS
✅ Сообщество в Telegram: t.me/ln_yt
✅ Сообщество в ВК: club194671088
#js #promise #tutorial
Просмотров: 229
Видео
JS-приложения: 🔥 Word Frequency App (Подсчет слов в тексте) Chart.js 🔥
Просмотров 2646 месяцев назад
🔎 В данном обучающем ролике мы разберем приложение, позволяющее сосчитать количество повторяемых лексем в тексте. Но это не только простая арифметика, но и радующее глаз, отображение на странице, в виде таблицы и графика (Chart.js). Приятного просмотра и желаю вам почерпнуть для себя частицу нового и неизведанного. 🔎 Всем желающим советую подписаться на канал, чтобы оставаться в курсе всех пост...
JS-приложения: 🔥 Border-Radius Previewer 🔥
Просмотров 5986 месяцев назад
🔎 В данном видео наглядно продемонстрировано использование свойства border-radius. Обработка события через input и использование анимации. Немало важным аспектом обучающего видео является навык работы с BOM , а конкретно с navigator, позволяющий скопировать строку в буфер обмена. Мини-проект вполне может стать еще одним дополнением к вашему портфолио. Всем желающим советую подписаться на канал,...
JS-приложения: Погода (Weather App)
Просмотров 3416 месяцев назад
В данном видео мы обучаемся работе с API и DOM. Используем базовые знания HTML5, CSS и JavaScript. Абсолютно без всяких излишеств реализуем приложение погоды, которое впоследствии можно дополнить оригинальным дизайном или выводом вспомогательной информации. Всем желающим советую подписаться на канал, чтобы оставаться в курсе всех поступающих обновлений. ССЫЛКА НА РЕПОЗИТОРИЙ С КОДОМ 👉 github.co...
Разработка игр на JS: Крестики-нолики на СОКЕТАХ (Socket.io)
Просмотров 4066 месяцев назад
В данном видео продемонстрировано создание игры "Крестики-нолики", но в этот раз с использованием протокола WebSocket. Разбираем основную логику приложения, комментирую ключевые участки кода и показываю результат выполнения. Всем, кто желает ознакомиться с реализацией на ИИ, предлагаю перейти по ссылке: Разработка игр на JS: Крестики-нолики с AI 👉 ruclips.net/user/liveEtFalbAhhFM ССЫЛКА НА РЕПО...
Chat GPT: TODO список с помощью сверхразума
Просмотров 2907 месяцев назад
ChatGPT (от англ. Generative Pre-trained Transformer «генеративный предварительно обученный трансформер») - чат-бот с генеративным искусственным интеллектом, разработанный компанией OpenAI и способный работать в диалоговом режиме, поддерживающий запросы на естественных языках. Система способна отвечать на вопросы, генерировать тексты на разных языках, включая русский, относящиеся к различным пр...
Подкаст: "Причины выгорания разработчиков"
Просмотров 1789 месяцев назад
👉 Telegram канал: t.me/ln_yt 👉 Telegram лс: @lnmasterJS 👉 ВК-сообщество: club194671088 #lnmaster #programming #js
Обзор новых методов массива JS (2023 Июль) #js
Просмотров 538Год назад
👉 Telegram канал: t.me/ln_yt 👉 Telegram лс: @lnmasterJS 👉 ВК-сообщество: club194671088 Пользовательские итерируемые объекты: ruclips.net/video/CDpBHAwFsog/видео.html 02:06 - Array.prototype.group 13:04 - Array.prototype.groupToMap 19:00 - Array.prototype.toReversed 22:30 - Array.prototype.toSorted 24:04 - Array.prototype.toSpliced Ссылки на документацию по методам: 1. developer.mozilla.o...
Введение в Recoil. Пишем CRUD. Атомы и селекторы.
Просмотров 466Год назад
🔥 Персональный блог: lnblogdjango.herokuapp.com/ 🔥 Исходник: stackblitz.com/edit/react-fjxfzr?file=src/components/EditForm.jsx 🔥 Демо: react-fjxfzr.stackblitz.io 👉 Telegram канал: t.me/ln_yt 👉 Telegram лс: @lnmasterJS 👉 ВК-сообщество: club194671088 Таймкоды: 00:00 - Основные понятия. Упоминание Redux. 08:59 - RecoilRoot и первый атом. 12:18 - Подписка на атом. Хук useRecoilValue. 16:05 -...
Решаем задачи с LeetCode: Add Two Numbers #2
Просмотров 7932 года назад
👉 Add Two Numbers: leetcode.com/problems/add-two-numbers/ 👉 Telegram канал: t.me/ln_yt 👉 Telegram лс: @lnmasterJS 👉 ВК-сообщество: club194671088 🔥 Персональный блог: lnblogdjango.herokuapp.com/ #leetcode #javascript
Выразительный JavaScript: Ожидание нескольких обещаний
Просмотров 7922 года назад
У конструктора Promise есть метод all, который, получая массив обещаний, возвращает обещание, которое ждёт завершения всех указанных в массиве обещаний. Затем он выдаёт успешный результат и возвращает массив с результатами. Если какие-то из обещаний в массиве завершились неудачно, общее обещание также возвращает неудачу (со значением неудавшегося обещания из массива). Попробуйте сделать что-либ...
Примеры утечек памяти в JavaScript
Просмотров 7 тыс.2 года назад
Утечки памяти происходят, когда браузер по какой-то причине не может освободить память от недостижимых объектов. Обычно это происходит автоматически (Управление памятью в JavaScript). Кроме того, браузер освобождает память при переходе на другую страницу. Поэтому утечки в реальной жизни проявляют себя в двух ситуациях: 1. Приложение, в котором посетитель все время на одной странице и работает с...
Простой менеджер состояний на Context API, useContext и useReducer
Просмотров 3,2 тыс.2 года назад
В типичном React-приложении данные передаются сверху вниз (от родителя к дочернему компоненту) с помощью пропсов. Однако, подобный способ использования может быть чересчур громоздким для некоторых типов пропсов (например, выбранный язык, UI-тема), которые необходимо передавать во многие компоненты в приложении. Контекст предоставляет способ делиться такими данными между компонентами без необход...
Про __proto__ и prototype на практике
Просмотров 6 тыс.2 года назад
👉Telegram канал: t.me/ln_yt 👉 Telegram лс: @lnmasterJS 👉 ВК-сообщество: club194671088 🔥 Персональный блог: lnblogdjango.herokuapp.com/ #js #prototype #oop
Обзор новых фич JavaScript ES 2022
Просмотров 1,8 тыс.2 года назад
👉Telegram канал: t.me/ln_yt 👉 Telegram лс: @lnmasterJS 👉 ВК-сообщество: club194671088 🔥 Персональный блог: lnblogdjango.herokuapp.com/ 00:00 - await на глобальном уровне 04:22 - at() 10:52 - hasOwn() 16:20 - matchAll() 19:26 - статичные приватные/публичные поля #js #es2022
Паттерны проектирования на TypeScript (React) - Абстрактная фабрика (Abstract Factory)
Просмотров 2,1 тыс.2 года назад
Паттерны проектирования на TypeScript (React) - Абстрактная фабрика (Abstract Factory)
Паттерны проектирования на TypeScript - Итератор (Iterator)
Просмотров 8522 года назад
Паттерны проектирования на TypeScript - Итератор (Iterator)
Паттерны проектирования на TypeScript - Наблюдатель (Observer)
Просмотров 2,6 тыс.2 года назад
Паттерны проектирования на TypeScript - Наблюдатель (Observer)
Уроки по Node.js - Отправка писем на почту
Просмотров 8 тыс.2 года назад
Уроки по Node.js - Отправка писем на почту
Уроки по JavaScript - Превращаем объекты в примитивы
Просмотров 3,8 тыс.2 года назад
Уроки по JavaScript - Превращаем объекты в примитивы
Уроки по JavaScript - Паттерн Singleton (Одиночка)
Просмотров 1,6 тыс.2 года назад
Уроки по JavaScript - Паттерн Singleton (Одиночка)
Уроки по JavaScript - "Объектный" switch/case
Просмотров 4412 года назад
Уроки по JavaScript - "Объектный" switch/case
Как работает Event Loop (Цикл событий) в браузере?
Просмотров 3,1 тыс.2 года назад
Как работает Event Loop (Цикл событий) в браузере?
Уроки по JavaScript - Паттерн "Модуль"
Просмотров 1,2 тыс.2 года назад
Уроки по JavaScript - Паттерн "Модуль"
Уроки по JavaScript - Загрузка скриптов (async / defer)
Просмотров 2,4 тыс.2 года назад
Уроки по JavaScript - Загрузка скриптов (async / defer)
Уроки по JavaScript - Область видимости переменных, const let var
Просмотров 4333 года назад
Уроки по JavaScript - Область видимости переменных, const let var
Уроки по JavaScript - Копирование объектов
Просмотров 9343 года назад
Уроки по JavaScript - Копирование объектов
Курс по Stripe: Интеграция подписок на сайт
Просмотров 2,9 тыс.3 года назад
Курс по Stripe: Интеграция подписок на сайт
JavaScript: Разбор методов Promise (all, allSettled, race, any), for await
Просмотров 1,8 тыс.3 года назад
JavaScript: Разбор методов Promise (all, allSettled, race, any), for await
JavaScript: Пользовательские итерируемые объекты (Symbol.iterator)
Просмотров 4,9 тыс.3 года назад
JavaScript: Пользовательские итерируемые объекты (Symbol.iterator)
Спасибо 🎉
Спасибо 🎉
почему у вас Number с большой буквы, а не number
Number - наименование класса в JS
круто
Кроме ютуба будешь куда заливать видео ?
@@raff_m_d6971 пока не задумывался об этом , но или rutube или вк видео, поглядим
Привет, почему начиная с тестирования промисов console.log выводится 2 раза?)
@@konstantinp.6845 привет, особенность песочницы
console.log('start'); setTimeout(() => {console.log(3)}); const pr = new Promise(resolve => { console.log(2); resolve(1); }); pr.then((res) => console.log(res)); console.log('end'); VM1067:1 start VM1067:4 2 VM1067:8 end VM1067:7 1 undefined VM1067:2 3 привет, вроде как пропущен undefined
годно, молодец. Спасибо
Годный видос, но хоть убей не пойму почему консоль - лох
А про for in не слышал?
Ты можешь сделать как тебе заблагорассудится , тыкать носом альтернативным способом или оптимизацией не нужно
Привет, моя версия выглядит так: function a(arr1, arr2) { arr1.length === arr2.length ? true : arr1.length < arr2.length ? addZero(arr1, arr2.length - arr1.length) : addZero(arr2, arr1.length - arr2.length) let temp = {index: null, num: null} let tempArr = [] for (let i = arr1.length - 1; i >= 0; i--) { if ((temp.index - 1) === i) { if ((arr1[i] + arr2[i] + temp.num) >= 10) { temp = {index: i, num: +(arr1[i] + arr2[i] + temp.num).toString().split('')[0]} tempArr.unshift(+(arr1[i] + arr2[i] + temp.num).toString().split('')[1]) } else { el = arr1[i] + arr2[i] + temp.num temp = {index: null, num: null} tempArr.unshift(el) } } else { if ((arr1[i] + arr2[i]) >= 10) { temp = {index: i, num: +(arr1[i] + arr2[i]).toString().split('')[0]} tempArr.unshift(+(arr1[i] + arr2[i]).toString().split('')[1]) } else { el = arr1[i] + arr2[i] temp = {index: null, num: null} tempArr.unshift(el) } } if (temp.index === 0) { tempArr.unshift(temp.num) } } return tempArr } function addZero(arr, raznica) { for (let i = 0; i < raznica; i++) { arr.unshift(0) } }
Реально очень круто объясняешь. Я все не мог понять тему пока не наткнулся на твое видео. Спасибо за то что ты реально разъяснил что да как, а не просто взял статью с инета и на видео зачитал(как делают реально многие). Еще раз огромное спасибо
Что де
Спасибо!!!
Офигенный видос!
Спасибо дружище!! Хорошо объяснил))
Братан огромное тебе спасибо за контент! Ты делаешь полезный и нужный контент! Не обращай внимание на этих зрилов в лайве, ты топ!
ты силен, хотелось бы слышать немного больше объяснений по ходу дела. Например, зачем создал конкретный интерфейс; как они все вместе отработают в системе; последние правки тоже интересные, в принципе понятно, но хотелось бы пару слов-таки услышать, почему так происходит и почему так вылечил) успехов, снимай еще
Блин, решил 11 из 12 верно. Надломился на in, не знал, что он смотрит все уровни вложенности) А 10 решил, подумав, что метод "является ли объект владельцем свойства" вернет false на то свойство, которого нет в литеральном объявлении объекта)
Комбо для пробития дна
Крутейший контент и сам автор все разжевывает! Продолжай, уверен добьешься много!
начало 6:42
спасибо за отличное объяснение
Почти все понял кроме Промисов, но блин, как ты так делаешь - просто берешь и пишешь код? Мне чтобы строчку написать я двадцать раз сначала читаю, потом перепроверяю, потому что все забываю сразу как только мой код заработал - я сразу забываю как я его сделал
Наработанный опыт
А игры писал?
Какие ?
Провафлился😂😂😂
Зашла подача с юмором и интонированием, круто!
Великолепно, юмор в нынешнее время не помешает )
Понравился дизайн приложения, особенно анимация, молодец! Также хочу заметить, что использование updateBox() внутри validateInput() немного режет глаз. Было бы логичнее валидировать внутри апдейта.
Благодарю. Насчёт updateBox : да, можно и так реализовать .
Жду зарубу Вася Петрушкин vs Петрович! Еще интересный незнакомый термин услышал, "замыкание", где читаем сокет на клиенте. Надо будет глянуть, что это...
Баталия века ) Про замыкание можно на learnjavscript прочитать.
использовать ванильный js? ну чет такое. микрофон бы поднастроить немного подача материала не очень. ты просто показываешь как набираешь код. с таким же успехом можно просто открыть гитхаб репозиторий и показывать на нем)
Код я не набираю, а поэтапно вставляю. Так быстрее , иначе длительность самого ролика можно смело умножить на 3. Мало кому интересно слушать, как я набираю код на клавиатуре, поэтому прибегнул именно к такому подходу. Насчет ванильного JS - если хочешь писать свой фетч и промисы, то пожалуйста. Можно сразу откатиться на 10 лет назад и внедрять полифилы в код) Так и до ассемблера можно дойти и печатать мнемонику. Что в твоем представлении означает "ванильность" ?
@@LNMaster_ так ты ж сам используешь в этом видео только js и html, чистый, как раз таки ванильный. при чем тут асм?) я ничего не имею против чистого js, но мне кажется это не актуально в условиях существования всяких ангуляров, реактов и пр фреймворков. так что ванильный js это как раз таки откат на лет 10 назад) а какая разница, вставляешь готовый или печатаешь? я за то что подача где ты просто показываешь код и объясняешь его. с тем же посылом ты мог открыть гитхаб реп и сидеть разбирать отдельные куски кода и сократить видео вообще до минуты)
@@АлександрГорбань-м2н 1. "всяких ангуляров, реактов и пр фреймворков" - так посмотри то же самое, только с использованием фреймворков у других авторов, что тебе мешает ?) у меня в заголовке про это ни одного слова не упомянуто. Как раз это мой осознанный выбор: сделать все без сторонних библиотек, исключая bootstrap, например. 2. "а какая разница, вставляешь готовый или печатаешь?" - а что по твоему мнению, должен делать рассказчик ? Наговаривать код ?) P.S ИМХО - такое ощущение закладывается, что ты хочешь просто докопаться. И да, точно, просто открой гит и прочитай код, он в описании под видео)
Хоть видео и вышло 3 года назад, но... Видео просто обрывается и не рассказано, как запустить именно на хостинге... 30 минут в пустую
А на чем вы думаете я запускал приложение ? На микроволновке ?
На чайнике. Я сделал как в видео, но первый раз у меня не захотел запускаться код. Потом я немного переделал, и заработало. Так же я не совсем понял, зачем подключаться по CMD. Ну да ладно. Может кому то так удобнее. Так же ты не сказал зачем именно менять APP_PATH, хотя уточнить не помешало бы. (Это все без негатива, просто мое мнение) @@LNMaster_
@@M_u_s_i_c_YT Не все детали были учтены в ролике и вполне возможно на канале будет обновленная версия деплоя, уже на другой хост, со всеми нюансами и тд. Но это свершится не скоро, исходя из моих планов.
Хорошо. Если убрать большую часть воды из этого ролика и добавить деплой Python (У них есть инструкция) то получится очень даже хорошее видео)@@LNMaster_
Еще 2000 новый фреймворков и обновлений реакта не вышло?
Не понял вопроса
также думаю, вместо стрима можно было просто видео, которое будет смонтировано, где всё это можно было вложить в 15-20 минутный ролик. Когда 2-й раз пересматриваю, много раз скипаю и ищу необходимую информацию и нет таймкодов. Например заранее верстку подготовить
Хотел некоторые вопросы задать. Буду рад если ответишь Я вижу то, что после оплаты, amount зачисляется на аккаунт Strapi. Но вопрос в том, что это же фейковый amount и карта также. Что тогда зачисляется на акаунт в Strapi? И как можно сделать такую реализацию, чтобы данные приходили например на мою карту, или на карту, которую я укажу. или из Strapi можно выводить на свою карту как-то? Например я как юзер делаю оплату и с карты (А) деньги уходят на карту сейлера (карта Б). Ответь пожалуйста. Реально важно для меня. Заказ пришел. Первые деньги, нужно реализовать такую штуку. Я видео твоё смотрю но пока не до конца пазл складывается. Почти до конца досмотрел. На 1:30:00 остановился
Средства можно выводить на счет через payouts . Единственное нужно пройти верификацию аккаунта , так как поначалу доступен только тестовый режим. Ещё есть такой нюанс , как комиссия . Вполне возможно , что её размер зависит от региона самого аккаунта. В силу моей плохой осведомленности по теме того, как сейчас работает Strapi, каких-то чётких рекомендаций дать не смогу.
@@LNMaster_ Я уже подразобрался. Получилось уже сумму отправить, у меня на акаунте тепепрь 0.23 цента есть) Я через сам интерфейс Страйпа сделал ссылку на оплату. Сейчас думаю, как это с реактом интегрировать. Опять пересмотрю твой видос, посмотрю как ты делаешь это. Поскольку я то разобрался как сделать рабочую ссылку, чтобы можно было оплату сделать, но это ссылка сайта страйп и придется разбираться сейчас как сделать так, чтобы получить тригер именно на моем сайте что оплата была сделана
Это какой-то странный способ создать массив и пушить туда элементы. Много кода. Можно же просто. В любой точке кода s = [] s.push(el)
1. Этот пример показывает вам не способ создания массива, а способ создания "замкнутой" (модульной) системы 2. Какими методами массива вы можете узнать значение последнего элемента, узнать есть ли в нём что-то вообще? И вообще, что если вы хотите организовать свой метод которого пока не существует в JS?
@@danilx6239 2. Создайте метод хэлпер, getLastArrayEl(array) пишите там что хотите, передавайте массив. Один из вариантов. 1. Замкнутая модульная система на основе примитивного массива... Эээ чё? Пример в видео не отражает сути.
С этим уже надо что-то делать. Каждый ктотнаучился кнопки жать лезет в ютуб и засирает его своей хренью по типу что умею то и делаю. В итоге за ними не видно нормальных преподавателей. Одни вот такие ушлепки. Тяжело учится. Отнимают время.
Так смотрите тех, кто вас устраивает. Чего вы тогда сюда пришли ?
@@LNMaster_ Поиск выкинул. Пришлось потратить время чтобы разобратся, что мне подсунули
Не понимаю зачем надо бить код в живую. Что мешает его напечатать заранее, а потом показывать? В микрофон слышно клавиатуру. Словно она возле уха. Это не радует.
Подача кода плохая много экрана занято линими элементами, а текст мелковат.
очень жаль, что удаляете комментарии
На основании чего вы сделали такой вывод ?
@@LNMaster_ извините, ютуб оказывается удалил его из-за того, что я прикрепил ссылку. Примитивы в JS тоже лежат в куче, потому что даже примитивы являются объектами, внутри которых лежит много всего. Например, ссылка на прототип, дескрипторы полей и тд. Исключением являются простые числа, что вы у видели в мемори дебаггере с числовой переменной. Когда мы создаем строковую переменную, ее настоящее значение (сама строка) является указателем на участок памяти в куче, а не на стеке. В отличие от C/C++ у нас нет возможности на это как-то повлиять, потому что v8 - виртуальная машина, которая как вы правильно сказали сама управляет памятью и освобождает ее. Есть статья в v8 блоге называется Pointer Compression in V8, там про это как раз говорится подробно.
спасибо!🙂
Если что, в ChatGPT можно общаться по-русски, без всяких пёрфект инглишей
Можно, но предпочитаю английский
Все любят детальность, а нейросети так особенно :) Видел исследование, которое выявило общее ухудшение качества кода начиная с момента запуска Github Copilot.. А все почему? Я думаю Никита показал :)
Да, не все, что автоматизированно - работает без погрешностей.
Первый😂
Набежал )
Спасибо большое братан😂💪 посмотрел залпом от начала до конца просто каеф🔥
Че Map И Set не заталкал туда?
до сих пор смеюсь))) лодаши
"_" это символ называется underscore но такая библиотека уже была поэтому они придумали нижнее тире и убрали "w" из слова low dash
лодаш говорит)))) лодаш это этот символ "_" - dash тире (только внизу типа нижнее тире) он в логотипе есть произносится как "лоудэш" "у" длиннная как в слове "лоу/low"
Спасибо за урок! Полезно посмотреть. Поделись, пожалуйста, исходным кодом
Жуть как затянуто