- Видео 44
- Просмотров 86 214
Игорь Антонов - про JavaScript и разработку
Россия
Добавлен 24 май 2010
Привет! Меня зовут Игорь Антонов. Когда-то я преподавал профессиональные курсы по JavaScript, React и Node.js в HTML Academy и писал статьи в журнал ][акер (xakep.ru). А теперь делюсь знаниями на своём авторском канале.
Пишу код почти 19 лет. До сих пор нравится программировать и делиться знаниями. В своём канале публикую уроки по JavaScript, разбираю задачи и рассказываю про нюансы языка. Изучаете JavaScript? Присоединяйтесь!
Пишу код почти 19 лет. До сих пор нравится программировать и делиться знаниями. В своём канале публикую уроки по JavaScript, разбираю задачи и рассказываю про нюансы языка. Изучаете JavaScript? Присоединяйтесь!
TypeScript / Урок 10. Intersection Type (тип пересечения)
💡 Ссылки на другие площадки доступны в Telegram-блоге: t.me/antonovjs
🎥 В прошлый раз мы обсудили Union Type, который позволяет переменной принимать значения из нескольких типов. Сегодняшняя тема тесно связана с предыдущей, и мы поговорим о пересечении типов.
🔍Intersection Types - это возможность TypeScript объединять несколько типов в один. Если значение соответствует типу пересечения, оно удовлетворяет всем входящим в него типам. Это похоже на логическое "И", в отличие от Union Type, который ассоциируется с "ИЛИ".
Мы рассмотрим, как Intersection Types помогают создавать объекты, соответствующие нескольким контрактам одновременно. Например, как объединить типы, чтобы создать более специали...
🎥 В прошлый раз мы обсудили Union Type, который позволяет переменной принимать значения из нескольких типов. Сегодняшняя тема тесно связана с предыдущей, и мы поговорим о пересечении типов.
🔍Intersection Types - это возможность TypeScript объединять несколько типов в один. Если значение соответствует типу пересечения, оно удовлетворяет всем входящим в него типам. Это похоже на логическое "И", в отличие от Union Type, который ассоциируется с "ИЛИ".
Мы рассмотрим, как Intersection Types помогают создавать объекты, соответствующие нескольким контрактам одновременно. Например, как объединить типы, чтобы создать более специали...
Просмотров: 162
Видео
TypeScript / Урок 22. Mapped Types
Просмотров 31521 день назад
🎥 В сегодняшнем видео мы продолжим изучать TypeScript. На этот раз мы погрузимся в увлекательный мир Mapped Types! 🔍 Что такое Mapped Types? Это мощный инструмент TypeScript, который позволяет создавать новые типы на основе уже существующих. Это особенно полезно, когда нужно избежать дублирования кода и создать производные типы с изменёнными модификаторами, такими как опциональность или только ...
TypeScript / Урок 9. Union Type
Просмотров 25121 день назад
🎥 Продолжаем изучать TypeScript и сегодня разберём Union Type. В JavaScript мы привыкли к гибкости, но TypeScript требует чёткого определения типов. Как же быть, если переменная должна принимать разные типы? Ответ прост - Union-типы! 🔍 Что такое Union-типы? Это инструмент, позволяющий переменной принимать значения из нескольких различных типов. Используя оператор вертикальная черта |, мы можем ...
TypeScript / Урок 15. Интерфейсы. Часть 3
Просмотров 2282 месяца назад
Привет! 👋 С вами Игорь Антонов, и мы продолжаем изучать TypeScript. В этом уроке мы углубимся в различия между интерфейсами и псевдонимами типов. Вы узнаете, когда лучше использовать каждый из них, и какие преимущества они предлагают. Мы обсудим слияние интерфейсов, работу с типами объединения и пересечения, а также наследование. Поговорим о производительности и лучших практиках. Присоединяйтес...
TypeScript / Урок 15. Интерфейсы. Часть 2 (практика)
Просмотров 3335 месяцев назад
Первая часть урока: ruclips.net/video/awuayBXn3DU/видео.html Продолжаем разбираться с интерфейсами в TypeScript. В этом уроке посмотрим на практические аспекты применения интерфейсов и особенности работы ключевого слово interface в TypeScript. Узнаем как применять интерфейсы вместе с классами. Посмотрим кейсы, когда один класс реализует несколько интерфейсов. Затем узнаем про расширение (наслед...
TypeScript / Урок 15. Интерфейсы. Часть 1
Просмотров 5325 месяцев назад
Привет. Это продолжение моего авторского курса по TypeScript. Пришло время поговорить про интерфейсы. Поскольку курс позиционируется для новичков, разбираться с интерфейсами начнём с теории. Чтобы урок не получился перегруженным, я решил разбить его на три части. В первой обсудим теорию и базовые примеры. Во второй сделаем упор на практические примеры и особенности работы ключевого слова interf...
null и undefined / Как проверить значение на null (для новичков)
Просмотров 6625 месяцев назад
Сегодня видео для новичков. Поговорим про null, undefined и разберём простой вопрос. Он действительно простой, но оказывается, даже далеко не начинающие разработчики забывают про эту особенность языка и совершают ошибки. Хуже всего, когда это происходит на собеседованиях. Что такое Null? В соответствии со спецификацией ECMAScript, Null - это примитивный тип данных. Этому типу соответствует лишь...
TypeScript / Урок 25/3. Awaited
Просмотров 8149 месяцев назад
Продолжаем знакомиться со вспомогательными типами в TypeScript. На этот раз познакомимся с Awaited. Узнаем как он устроен изнутри и как применять его на практике. Содержание: 00:00 Интро 00:19 Awaited 01:52 Практика 08:31 Как устроен Awaited 14:45 Резюме Полезные ссылки: * Awaited в документации: www.typescriptlang.org/docs/handbook/utility-types.html#awaitedtype
TypeScript / Урок 25/2. ThisType, InstanceType
Просмотров 58710 месяцев назад
Продолжаем знакомиться со вспомогательными типами в TypeScript. В этом уроке разберёмся с ThisType и InstanceType. Узнаем, когда следует применять и какие проблемы можно решить с их помощью. Применение ThisType и InstanceType особенно будут полезны, когда для разработки приложения применяется объектно-ориентированный подход. Содержание 00:00 ThisType и InstanceType 01:31 Выявляем проблему 03:14...
TypeScript / Урок 25. UtilityTypes. ReturnType
Просмотров 60310 месяцев назад
В этом уроке обсудим типы-хелперы (вспомогательные типы). Все доступные типы хелперы приведены в одноимённом разделе документации по TypeScript - www.typescriptlang.org/docs/handbook/utility-types.html. Их много, поэтому знакомиться будем постепенно. Начнём с ReturnType. ReturnType - это вспомогательный тип. Он позволяет извлечь тип значения, которое возвращает какая-либо функция. Как его приме...
TypeScript / Урок 6. Типизация функций
Просмотров 1,4 тыс.10 месяцев назад
Продолжаем знакомиться с TypeScript. На этот раз обсудим типизацию функций. Узнаем, как указывать тип для параметров, в каких случаях полезно явно задавать тип возвращаемого значения и поговорим о других нюансах. 00:00 Интро 00:15 Постановка задачи 02:34 Типизируем функцию 07:53 Смотрим настройки. NoImplicitAny 09:50 Function Express, Declaration и Arrow functions 12:01 Тип void 13:42 Типизация...
TypeScript / Урок 20. Оператор keyof
Просмотров 1,2 тыс.Год назад
TypeScript / Урок 20. Оператор keyof
TypeScript / Урок 26. Как работает оператор infer
Просмотров 2,1 тыс.Год назад
TypeScript / Урок 26. Как работает оператор infer
Инструменты / Выполняем код на TypeScript в Node (tsx, ts-node)
Просмотров 733Год назад
Инструменты / Выполняем код на TypeScript в Node (tsx, ts-node)
Задачи с собеседований / Алгоритмы. Two Pointers (два указателя)
Просмотров 3,2 тыс.Год назад
Задачи с собеседований / Алгоритмы. Two Pointers (два указателя)
Деплой SPA (Vite + React + Router) на GitHub Pages
Просмотров 8 тыс.Год назад
Деплой SPA (Vite React Router) на GitHub Pages
Опциональная цепочка в JavaScript / Optional Chaining
Просмотров 2,1 тыс.Год назад
Опциональная цепочка в JavaScript / Optional Chaining
Оператор нулевого слияния в JavaScript / Nullish coalescing operator
Просмотров 2,5 тыс.Год назад
Оператор нулевого слияния в JavaScript / Nullish coalescing operator
Разные зависимости в package.json / dev, optional, peer, bundle
Просмотров 2,2 тыс.Год назад
Разные зависимости в package.json / dev, optional, peer, bundle
Как установить несколько версий Node.js в системе / Менеджеры управления версиями (nvm, volta, n)
Просмотров 3 тыс.Год назад
Как установить несколько версий Node.js в системе / Менеджеры управления версиями (nvm, volta, n)
Как скопировать объект в JavaScript? / Поверхностное и глубокое копирование
Просмотров 4,1 тыс.Год назад
Как скопировать объект в JavaScript? / Поверхностное и глубокое копирование
Мой путь в IT / Как я учился программировать 20 лет назад
Просмотров 956Год назад
Мой путь в IT / Как я учился программировать 20 лет назад
Chrome DevTools / Методы объекта console
Просмотров 2,3 тыс.Год назад
Chrome DevTools / Методы объекта console
Всё про деструктуризацию в JavaScript / от объектов до Map
Просмотров 4,8 тыс.Год назад
Всё про деструктуризацию в JavaScript / от объектов до Map
Chrome DevTools / На что способна консоль?
Просмотров 4 тыс.Год назад
Chrome DevTools / На что способна консоль?
Что будет в консоли / Разбираем ['1', '2', '3'].map(parseInt)
Просмотров 2,2 тыс.Год назад
Что будет в консоли / Разбираем ['1', '2', '3'].map(parseInt)
Объекты в JavaScript / Порядок ключей
Просмотров 3 тыс.Год назад
Объекты в JavaScript / Порядок ключей
Что почитать / Большой обзор книг по JavaScript
Просмотров 15 тыс.Год назад
Что почитать / Большой обзор книг по JavaScript
Как вызвать функцию в JavaScript / 5 способов
Просмотров 4 тыс.Год назад
Как вызвать функцию в JavaScript / 5 способов
3.5 года назад проходил обучение в HTML академии. Антон был преподавателем на курсе JS и React. Очень рад снова попасть на Ваш урок уже в качестве разработчика) Ваша подача материала как всегда на высоте!
Спасибо вам огромное. Потратил весь день пока разобрался с этим, а потом нашёл ваш ролик и все за 5 минут сделал🎉
Рад помочь!
в первой задачке лучше заранее создать новый массив длинны входяшего массива и, по разности индексов указателей, присваивать значение этому массиву. function getSquare(arr) { const resultArr = Array(arr.length); for (let leftIndex = 0, rightIndex = arr.length - 1; leftIndex <= rightIndex;) { const leftSquare = arr[leftIndex] ** 2; const rightSquare = arr[rightIndex] ** 2; if (rightSquare >= leftSquare) { resultArr[rightIndex - leftIndex] = rightSquare; rightIndex--; continue; } resultArr[rightIndex - leftIndex] = leftSquare; leftIndex++; } return resultArr; }
Всё верно. Это отличная идея, избавимся от перестановки. Надо будет обновить видос. Спасибо!
"Как я вижу TypeScript в начале обучения: короче, создаешь тип, потом туда передаешь тип, и в него тоже какой-нибудь тип. Чтобы прям всё типизировано, а не то, что ваш JS..."
Типы-типы, повсюду типы
Спасибо!
Спасибо!
Игорь, здравствуйте. Подскажите пожалуйста, возможно ли сделать деплой проекта с картой leaflet?
Приветствую. Да, возможно. Разницы нет. Нужно только проверить, что ресурс карты подключается корректно. Можно включить в сборку, как вариант. И проверить, что путь к тайтлам правильный
@@antonov_i Спасибо большое за ответ, попробую залить.
ИДЕшку лучше на весь экран. С телефона неудобно, мелко. А лицезреть рабочий стол - так себе занятие)
Спасибо! В новом видео попробовал. Сделал заодно шрифт побольше. Должно быть комфортней смотреть с телефона
Игорь здравствуйте, а где еще можно вас смотреть, ютуб нестабильно работает.. Спасибо за ваши уроки
Приветствую! Я дублирую и на другие площадки. Удобней всего будет подписаться на канал в телеграмме: t.me/antonovjs. В каждом анонсе есть ссылки на альтернативные площадки (VK, RuTube и Платформа)
Так, так, так, я тоже немного фронтю и мне нужно подрасти в js и ts. Тебя буду смотреть, потому что у тебя на заднем плане гитары😊
Гитары популяризируют TypeScript 😂
Так приятно что Вы начали чаще снимать обучающий контент 😀❤ Благодарность❤
Спасибо за поддержку! Буду продолжать
Благодарю за полезный контент ❤
Soviet Unon Type
Доброго времени суток! Подскажите, где можно найти все уроки по TypeScript, а то в данном плейлисте какая-то странная нумерация уроков?
Уроки в процессе записи/монтажа. Выкладываю по мере готовности. Планирую завершить до конца этого года
Очень круто объяснили, лайк! Продолжайте в том же духе, как и писали ранее ребята - у вас ДАР)
Спасибо!
Болтовни много лишней. И не надо в реалтайме печатать примеры - их надо заранее готовить. Тогда ролик сократится раза 2-3.
Очень толково. Спасибо Вам.
Игорь, замечательноге видео. Расскажите как через volta удалить установленные версии node? OS Windows
Привет. Спасибо! По идее volta uninstall <node@ver>. Разом удалить все нельзя по идее, но можно написать свой скрипи
с отсылками к превоисточникам, с примерами, с простыми объяснениями. Спасибо, отличный материал
Спасибо огромное!
Игорь ағай рақмет сізге үлкен!
9:25 почему возвращается undefined, а не false? Не понятно.
Так в DevTools -> Elements есть специальная вкладка DOM Properties, и там все свойства выделенного элемента видны без лишней писанины.🤔
У меня браузер тормознутый, поэтому без разницы, мышью там по вкладкам или клавишами😁
13:30 я пожалел что их покупал😅. Я взял 4
Большое спасибо. Давно уже не встречал настолько познавательных роликов.
Спасибо!
приятно объясняете спасибо
так и не понял, почему сдвиг всего массива внутри цикла это O{n)?
потому что ты создаешь новый массив и копируешь туда элементы ( если я правильно понял о чем ты )
Спасибо!
"repository" обязательно должен быть "Public" ?
Very good
Очень странно, что у канала так мало подписчиков. Замечательная подача
Считаю алгоритмы полезными в двух случаях 1. Собесы 2. Когда(очень редко как правило) всетаки в бизнесе случается чтото нестандартное то меньше тупишь
думаю во второй задаче должно быть while(leftPointer < rightPointer), так как, например, для ([1,2,4,8], 16) будет true при while(leftPointer <= rightPointer)
Спасибо!
моё почтение, снимаю шляпу.
Игорь, буквально 1 модуль назад я совсем не понимал ваши видео. Даже писал, что не понял, извиняюсь за такие комментарии. Просто нужно было поднабрать хоть какой-то опыт(ну, или мне тогда было просто не интересно, а сейчас прям ждал старт 2 модуля)! Вы правда интересно объясняете, у вас хороший звук, качество. Удачи в продвижении канала
Хотел сегодня начать учить язык, в итоге долго потратил время на настройку vs code, вылезает непонятный для меня json при выполении команды Run и Debug, на него пришлось потратить время
Большое тебе спасибо. Я в самом начале пути.
Всё обязательно получится 🙌 Даже самое большое путешествие начинается с первого шага!
Здравствуйте, хочу спросить у вас, по сути тут у вас практически все книги перечислены, которые для начинающих и вы по сути зная уже, допустим те же функции, переменные и тд. тп. все равно каждый раз начиная новую книгу перечитывали все заново про это?
Привет 🤝 Всё зависит от изначальной цели. Многие книги по JS прочитал с целью перенять подходы к передачи знаний. Мне приходилось читать много лекций, хотелось чтобы они приносили максимум пользы. Было интересно как другие авторы преподносят эти же знания. Каждый автор рассказывает одну и ту же тему по-разному. Можно перенять опыт и попробовать улучшить его. Вот здесь помогает повторное чтение. А так, если тема знакома, то либо пролистываю, либо по диагонали пробегаюсь. Если изучаю что-то принципиально новое, то обычно читаю сразу несколько авторов/источников. В моём случае, с таким подходом знания быстрей закрепляются.
Vs code легкий , его советуют больше
Да и хорошо развивается. На этапе обучения - идеальный вариант.
To entendendo nada!
А что именно непонятно?
To entendendo nada.
?
что с порядком и нумерацией уроков Игорь Антонов?
Привет. Видео в процессе записи. Публикуются по мере готовности
Похоже я скорее состарюсь, чем загружу свой первый проект на гитхаб)
Благодарю
Спасибо большое ! Понятно , не затянуто , интересно 👍🏻
Спасибо, добрый человек!
Почему реакт супер популярен, но такие базовые проблемы с роутингом решаются какими-то костылями?
В данном случае это особенность хостинга, GitHub Pages
@@antonov_i а на других, например netlify, таких проблем не будет?