📌 Друзья, в телеграмме у нас есть отдельный чат, где вы можете задать вопрос по фронтенд-разработке и вам постараются помочь: 💬 t.me/friendlyFrontendChat Если вам это интересно, присоединяйтесь, задавайте вопросы и помогайте другим 🙂
оогооо, впервые вижу такие подробные уроки по JS, так держать! Прям так же подробно по js, как и simple code по c++ - такие люди редкость прям (год назад искал тоже уроки о js, но все было разбросано и не достаточно понятно в отличие от этих уроков)
Из тысячи блогеров вещающие про программирование, Александр очень четко,коротко и ясно обьясняет)) Cейчас я в процессе обучения программирование и очень круто помогают ваши видео)Спасибо!
Когда увидел ваш канал первый раз, сначала подумал что ваш темп речи для меня слишком быстрый, и если на курсах по HTML и CSS с которыми у меня был небольшой опыт это еще ничего, то на сложных темах по JS я думал вообще не буду успевать за вами, а вы тут оказывается гораздо медленнее все проговариваете чем на тех курсах) Но там я кстати привык, иногда можно заново переслушать, или замедлить) В общем спасибо, качество уроков супер)
Монтаж в первых двух курсах был неудачный. Потому и темп подачи материала был такой специфический. Сейчас, разумеется, стараюсь размеренный темп держать.
хотел уточнить на 16:37 , функция makeRequest принимает два параметра url и onSuccess, но при вызове промиса вызывается с одним параметром url, так и должно быть? Один из лучших каналов по фронтенду, все разложено по плейлистам, огонь! Спасибо!
Функция makeRequest фейковая, не настоящая. Да, по-хорошему она внутри себя должна использовать и параметр url и onSuccess, но это в объяснении текущей темы опускается, чтобы не запутаться. P. S. Про клиент-серверное взаимодействие и функцию fetch, с помощью которой выполняются настоящие запросы к серверу, я рассказываю в одном из дальнейших уроков этого курса.
Получается если использовать цепочку then, то в коде гле было "старт", "привет" и "конец" при помощи цепочки then будет "старт", "конец " "привет"? Т.к сделали акцент на том, что await дожидается когда js движок выполнит операцию
Спасибо большое за урок! Пока мало что понятно по этой теме, но надеюсь понимание придет. Почему-то у меня не получилось подключить type="module" в html. Вывелось сразу две ошибки, хотя делаю все, как на видео. В чем может быть причина?
Попробуй открыть страницу через WebStorm и пункт 'Open in => Browser' из контекстного меню. А если у тебя VSCode, то нужен LiveServer. Иначе JS-модули не будут работать в локально открытом html-файле через обычный проводник.
Нет разницы в том, как называть эту функцию. Я решил в объяснении использовать это слово, т. к. оно созвучно названию состояния 'fulfilled'. Думал так будет проще зрителю воспринять материал. Сам же в своем коде я чаще использую слово resolve в подобных местах.
Ограничения языка - await в глобальной области видимости работает только в модулях. Но в скором времени и без указания type="module" будет работать. А пока что без этого никак.
Привет, ты как-то странно объясняешь про многопоточность, называя это событийным циклом. Просто JS сам себе многопоточный в отличие тех же PHP и Java. Обучающемуся нужно понять что такое многопоточность, и код который висит в функциях(методах) начинает отрабатывать по забинденному событию или тому же setTimrout-у. И блоки исполняемого кода в таких событийных функциях работают независимо друг от друга. А так все замечательно, продолжай в том же духе.
Во всех материалах, на которые я ориентировался, акцентируют внимание на том, что JS - однопоточный. Исключения - NodeJS с определенной версии и WebWorkers. Или ты имеешь в виду, что асинхронность = многопоточность? Такую аналогию видел, но её нечасто используют.
@@AleksanderLamkov JS многопоточный, от куда у тебя инфа про однопоточность? Вся прелесть ECMAScript(если не не изменяет память) второй версии именно это и преподносила как совершенно другой подход в программировании, а именно - параллельность исполнения кода.
@gabbergabberovich Третий абзац в «Кратко»: doka.guide/js/async-in-js/ Вся статья и комментарии к ней: habr.com/en/amp/publications/786330/ И миллион других ресурсов по запросу в гугле «js однопоточный». Вообще, я не фанат обмусоливания теории. Мне искренне плевать на то, какой язык, однопоточный, псевдо-однопоточный, многопоточный или псевдо-многопоточный. Философия моего «я» во фронтенде - «я крашу кнопки за большой прайс». Я понимаю как делать «фронтенд» и зарабатываю на этом. И пытаюсь научить этому других. Теоретические знания - то, чем можно выпендрится на собеседованиях в МААНГ и в публичных пространствах в интернете. Меня это не цепляет. Если знания нельзя применить на практике (за исключением супер-специфичных ситуаций), то в моей картине мира эти знания бесполезны. И я не гнушаюсь транслировать свою философию в массы, т. к. моя карьера - органичный воспроизводимый путь. Не нужно быть Computer Science адептом и экспертом спецификации JavaScript, чтобы делать современный удобный красивый, быстрый и удобнорасширяемый фронтенд. Даже если мы докопаемся этим диалогом до сути, то на практике я эти знания не применю, поэтому со временем они забудутся.
@@AleksanderLamkov привет! смотрел у тебя часовое видео по верстке с scss - это был лучший контент, который я видел на ютубе - сухо, по делу и с практикой здесь же затрагивается сразу много тем; не всегда понятно, зачем приводятся примеры и разные усложнения в виде таймеров, new Promise или информации об одном потоке, которая не раскрыта до конца. Сложные термины были озвучены без объяснений И есть слова, которые сбивают с толку, например, твой комментарий, что await заставляет ждать выполнение промиса - да, все это верно по документации, но когда слушаешь это в контексте потока, о котором ты говорил в начале, то непонятно, как именно это ожидание работает: останавливается весь код или интерпретатор работает с другими задачами? поймал себя на мысли к 20 минуте видео, что в голове каша, и ведущий поверхностно говорит о разных гранях асинхронности, хотя эту тему можно изложить лаконичнее и с практическими примерами. А здесь как будто пересказ статьи про async/await в js - технически все верно сказано, но такие объяснения сложны на мой коммент не серчай, успехов тебе)
Это всё прекрасно. Автору несомненно большой респект за труд и помощь. Но весь материал по JS один и тот-же, вот если бы преподавали JS сразу на примере повседневных задач фронтенд разработчика - что бы пришло понимание, когда и где использовать тот или иной метод, но этого нигде нету.... Где найти такие курсы? Что бы и много лишнего не учить, и понимать как использовать все навыки на деле (создавая web-страницу к примеру).
Это будет в мастер-классе. Невозможно создать такой курс с 0, где сразу же будут показываться боевые задачи фронтенд-разработчика. И в моем курсе нет, на мой взгляд, ничего лишнего. Всё, что я тут объясняю, применялось мною на практике за последние годы. Я как раз таки опускаю ненужные вещи, чтобы не забивать новичкам голову мусорной теорией.
📌 Друзья, в телеграмме у нас есть отдельный чат, где вы можете задать вопрос по фронтенд-разработке и вам постараются помочь:
💬 t.me/friendlyFrontendChat
Если вам это интересно, присоединяйтесь, задавайте вопросы и помогайте другим 🙂
Единственный блогер объясняющий без воды)
Спасибо тебе, добрый человек. Не забрасывай только, очень полезные материалы
оогооо, впервые вижу такие подробные уроки по JS, так держать! Прям так же подробно по js, как и simple code по c++ - такие люди редкость прям (год назад искал тоже уроки о js, но все было разбросано и не достаточно понятно в отличие от этих уроков)
Я уже 3 года работаю разрабом, и все равно с кайфом смотрю это видео. Отличное объяснение для новичков и для закрепления БАЗЫ! Респект
Огромное спасибо, максимально лаконично, информативно и полезно. Жду мастер-класс 🎉
Из тысячи блогеров вещающие про программирование, Александр очень четко,коротко и ясно обьясняет)) Cейчас я в процессе обучения программирование и очень круто помогают ваши видео)Спасибо!
Благодаря вам я наконец-то понял эту тему, большое вам Спасибо!
Отлично объясняет, очень нравится его объяснения
Благодарю за очередной классный видос!
спасибо, просто огромное спасибо, теперь я разобрался
понятное объяснение, что бывает крайне редко среди прогеров!
Сложная тема. Но объясняете хорошо. Благодарю!
Как раз то, что искал, спасибо за Вашу работу 😉👍
Очень хорошо объяснил, благодарю)
Дождались самого животрепещущего урока.
Когда увидел ваш канал первый раз, сначала подумал что ваш темп речи для меня слишком быстрый, и если на курсах по HTML и CSS с которыми у меня был небольшой опыт это еще ничего, то на сложных темах по JS я думал вообще не буду успевать за вами, а вы тут оказывается гораздо медленнее все проговариваете чем на тех курсах) Но там я кстати привык, иногда можно заново переслушать, или замедлить) В общем спасибо, качество уроков супер)
Монтаж в первых двух курсах был неудачный. Потому и темп подачи материала был такой специфический. Сейчас, разумеется, стараюсь размеренный темп держать.
Спасибо. Очень доступно объяснил.
Спасибо за урок. Очень информативно
Коммент в поддержку, спасибо за урок!
Спасибо вам большое, очень все понятно
Спасибо, очень полезно :)
Спасибо за урок!
Супер, лайк!
Блин такая подача классная и так мало лайков… За то у Минина просмотров огромное количество но смотреть не возможно…Успехов тебе дружище и спасибо.
хотел уточнить на 16:37 , функция makeRequest принимает два параметра url и onSuccess, но при вызове промиса вызывается с одним параметром url, так и должно быть? Один из лучших каналов по фронтенду, все разложено по плейлистам, огонь! Спасибо!
Функция makeRequest фейковая, не настоящая.
Да, по-хорошему она внутри себя должна использовать и параметр url и onSuccess, но это в объяснении текущей темы опускается, чтобы не запутаться.
P. S. Про клиент-серверное взаимодействие и функцию fetch, с помощью которой выполняются настоящие запросы к серверу, я рассказываю в одном из дальнейших уроков этого курса.
@@AleksanderLamkov понял, спасибо!
Получается если использовать цепочку then, то в коде гле было "старт", "привет" и "конец" при помощи цепочки then будет "старт", "конец " "привет"? Т.к сделали акцент на том, что await дожидается когда js движок выполнит операцию
Спасибо большое за урок! Пока мало что понятно по этой теме, но надеюсь понимание придет.
Почему-то у меня не получилось подключить type="module" в html. Вывелось сразу две ошибки, хотя делаю все, как на видео. В чем может быть причина?
Попробуй открыть страницу через WebStorm и пункт 'Open in => Browser' из контекстного меню. А если у тебя VSCode, то нужен LiveServer. Иначе JS-модули не будут работать в локально открытом html-файле через обычный проводник.
16:30 тогда параметр onSuccess у функции makeRequest становится лишним, так как нигде не используется
Так и есть. Это просто пример того, что обычно подобная функция может ожидать в параметрах.
А есть какое-то техническое объяснение почему ты используешь fulfill вместо resolve? Есть ли вообще разница, или это просто вкусовщина?
Нет разницы в том, как называть эту функцию. Я решил в объяснении использовать это слово, т. к. оно созвучно названию состояния 'fulfilled'. Думал так будет проще зрителю воспринять материал. Сам же в своем коде я чаще использую слово resolve в подобных местах.
Эх, я понимаю, что объяснение хорошее, но почему-то эта тема даже труднее, чем то, что Вы называли трудным: классы...
Эту тему я бы не назвал легкой. Одна из самых сложных, это факт. Нужно попрактиковаться, чтобы пришло понимание)
Привет,не совсем понял почему при указании типа подключения js файла в html заработал await в глобальной области видимости?
Ограничения языка - await в глобальной области видимости работает только в модулях. Но в скором времени и без указания type="module" будет работать. А пока что без этого никак.
@@AleksanderLamkov интересно,на learn.js нет такой инфы,благодарю)
В случае с фетч который возвращает промис трай кетч не отловит плохой ответ по статусу, а жаль. Пиши свой кастомный фетч)
Плохой статус, это не ошибка выполнения самого запроса, а один из вариантов ответа.
Хотя axios кажется возвращает reject на 400 и 500
Шаг за шагом год за годом
Привет, ты как-то странно объясняешь про многопоточность, называя это событийным циклом.
Просто JS сам себе многопоточный в отличие тех же PHP и Java.
Обучающемуся нужно понять что такое многопоточность, и код который висит в функциях(методах) начинает отрабатывать по забинденному событию или тому же setTimrout-у.
И блоки исполняемого кода в таких событийных функциях работают независимо друг от друга.
А так все замечательно, продолжай в том же духе.
Во всех материалах, на которые я ориентировался, акцентируют внимание на том, что JS - однопоточный. Исключения - NodeJS с определенной версии и WebWorkers.
Или ты имеешь в виду, что асинхронность = многопоточность? Такую аналогию видел, но её нечасто используют.
@@AleksanderLamkov JS многопоточный, от куда у тебя инфа про однопоточность? Вся прелесть ECMAScript(если не не изменяет память) второй версии именно это и преподносила как совершенно другой подход в программировании, а именно - параллельность исполнения кода.
@gabbergabberovich
Третий абзац в «Кратко»:
doka.guide/js/async-in-js/
Вся статья и комментарии к ней:
habr.com/en/amp/publications/786330/
И миллион других ресурсов по запросу в гугле «js однопоточный».
Вообще, я не фанат обмусоливания теории. Мне искренне плевать на то, какой язык, однопоточный, псевдо-однопоточный, многопоточный или псевдо-многопоточный.
Философия моего «я» во фронтенде - «я крашу кнопки за большой прайс». Я понимаю как делать «фронтенд» и зарабатываю на этом. И пытаюсь научить этому других.
Теоретические знания - то, чем можно выпендрится на собеседованиях в МААНГ и в публичных пространствах в интернете. Меня это не цепляет. Если знания нельзя применить на практике (за исключением супер-специфичных ситуаций), то в моей картине мира эти знания бесполезны.
И я не гнушаюсь транслировать свою философию в массы, т. к. моя карьера - органичный воспроизводимый путь. Не нужно быть Computer Science адептом и экспертом спецификации JavaScript, чтобы делать современный удобный красивый, быстрый и удобнорасширяемый фронтенд.
Даже если мы докопаемся этим диалогом до сути, то на практике я эти знания не применю, поэтому со временем они забудутся.
Java многопоточная
@@gabbergabberovich с каких пор js стал многопоточным? не вводи людей в заблуждение. Это как написали выше java многопоточный
боже я прозрел
коммент
мне стало становиться совсем непонятно (
А с чем именно возникли сложности? Может я помогу.
Событийный 😂😂😂
Цикл событий, диспетчер, рабочий цикл - но ни как не событийный.
Вот это да, полностью же меняется суть концепции, если назвать её чуточку иначе…
@@AleksanderLamkov суть не меняется, меняется восприятие.
название выглядит как кривой пиратский перевод с китайского.
@@Prolaps-us во многих учебниках написано "Событийный цикл", например в learn.js.
Ужас, как же сложно объясняешь несложные вещи
3/4 воды 😔
А конкретнее? Что именно я усложнил при объяснении? Уточни, пожалуйста.
@@AleksanderLamkov привет! смотрел у тебя часовое видео по верстке с scss - это был лучший контент, который я видел на ютубе - сухо, по делу и с практикой
здесь же затрагивается сразу много тем; не всегда понятно, зачем приводятся примеры и разные усложнения в виде таймеров, new Promise или информации об одном потоке, которая не раскрыта до конца. Сложные термины были озвучены без объяснений
И есть слова, которые сбивают с толку, например, твой комментарий, что await заставляет ждать выполнение промиса - да, все это верно по документации, но когда слушаешь это в контексте потока, о котором ты говорил в начале, то непонятно, как именно это ожидание работает: останавливается весь код или интерпретатор работает с другими задачами?
поймал себя на мысли к 20 минуте видео, что в голове каша, и ведущий поверхностно говорит о разных гранях асинхронности, хотя эту тему можно изложить лаконичнее и с практическими примерами.
А здесь как будто пересказ статьи про async/await в js - технически все верно сказано, но такие объяснения сложны
на мой коммент не серчай, успехов тебе)
Спасибо за развернутую критику! Тема урока непростая, упрощал как мог. В будущем постараюсь учесть моменты, на которые ты указал.
Как всегда топ
Это всё прекрасно. Автору несомненно большой респект за труд и помощь. Но весь материал по JS один и тот-же, вот если бы преподавали JS сразу на примере повседневных задач фронтенд разработчика - что бы пришло понимание, когда и где использовать тот или иной метод, но этого нигде нету.... Где найти такие курсы? Что бы и много лишнего не учить, и понимать как использовать все навыки на деле (создавая web-страницу к примеру).
Это будет в мастер-классе. Невозможно создать такой курс с 0, где сразу же будут показываться боевые задачи фронтенд-разработчика.
И в моем курсе нет, на мой взгляд, ничего лишнего. Всё, что я тут объясняю, применялось мною на практике за последние годы. Я как раз таки опускаю ненужные вещи, чтобы не забивать новичкам голову мусорной теорией.
@@AleksanderLamkov ❤️👍🏼 Во всяком случае огромное вам спасибо
Очень хорошо объяснил, благодарю)