Чеининг функций и объектов, обработка ошибок в JavaScript

  Рет қаралды 13,709

Timur Shemsedinov

Timur Shemsedinov

Күн бұрын

Пікірлер: 47
@anatolykobzisty9827
@anatolykobzisty9827 5 жыл бұрын
-------------------------------------------------------------- Чеининг ---------------------------------------------------------- 00:00:00 Введение 00:01:10 Чеининг через синтаксис вызова функций 00:02:12 Prototype 00:05:45 Сlass 00:06:11 Functor 00:11:54 Mutable 00:16:34 Iterator 00:26:18 Promise 00:26:35 Test 00:37:08 Compare 00:39:45 Benchmark 00:40:48 Запуск и анализ тестов ---------------------------------------------------- Обработка ошибок -------------------------------------------------- 01:03:48 Первый способ возвращение ошибок в синхронном коде 01:09:24 Второй способ возвращение ошибок в синхронном коде 01:12:26 Возвращение ошибок в асинхронном коде 01:16:14 Корректное возвращение ошибок 01:20:03 Обработка ошибок c promise 01:23:58 Обработка ошибок c async-await
@ИгорьКудряков-л3я
@ИгорьКудряков-л3я 3 жыл бұрын
Во время просмотра всегда ловлю себя на мысли - насколько Вы точно, коротко и ясно выражаетесь. Нет ни одного слова или фразы, которая была бы лишней или путала своей двусмысленностью. Прекрасные лекции. Высший класс!!!
@TimurShemsedinov
@TimurShemsedinov 3 жыл бұрын
Это же не первая читка лекций, годами выверенные фразы ) Спасибо!
@kazbekelmurzaev9600
@kazbekelmurzaev9600 7 ай бұрын
Это полтора часа концентрированной информации. Тут пятнадцать минут бы усидеть слушая внимательно. На секунду отвлекся мыслями и пропустил важную информацию. По этим лекциям можно просто стенограмму сделать и вот вам готовый учебник.
@91Days-
@91Days- 2 жыл бұрын
Благодарю Вас за труды, ваш курс - лучший из тех, что мне встречались
@TimaGixe
@TimaGixe Жыл бұрын
Дякую, дуже корисна інформація, класні приклади і зрозумілі пояснення!
@АльбертРубцов
@АльбертРубцов 4 жыл бұрын
Вот это прямо кладязь ) Благодарю .
@TheTexPro
@TheTexPro 2 жыл бұрын
Спасибо большое! Про чейнинг очень понравилось, рассматриваемые примеры с разными вариантами реализации заставляют пересмотреть привычные модели и способы написания кода. Огромное сенкью)
@tanyasuntulip7008
@tanyasuntulip7008 2 жыл бұрын
Спасибо огромное, классная лекция, особенно интересно было по ошибкам
@alexeylozenko6093
@alexeylozenko6093 2 жыл бұрын
Мне очень нравится, во время лекции по Javascript-у Тимур поднимает такие фундаментальные такие как ф-ное программирование, монады, контракты, итераторы. Как я понял по теме чейнинга, цепочка вызовов позволяет строить некий пайп операций над данными. Видел так же что с помощью цепочек в Метархии настраиваются некоторые абстракции. Лично для себя увидел несколько примеров, которые могу применить на практике. После каждой лекции пересматриваю свои знания в Javascripte. Огромное спасибо.
@vanja7610
@vanja7610 5 жыл бұрын
Contents: Chaining - 0:06 Error handling - 1:03:48
@TimurSevimli
@TimurSevimli Жыл бұрын
Ощущения после ролика => 🤯
@ruslanmuraha6454
@ruslanmuraha6454 Жыл бұрын
01:03:40 Обработка ошибок
@jamjam3337
@jamjam3337 Жыл бұрын
💥💥💥
@Antonio-fm1sq
@Antonio-fm1sq 3 жыл бұрын
Спасибо!
@TimurSevimli
@TimurSevimli Жыл бұрын
Походу выражение `${ ... }` вызывает метод toString переданному ему значений под капотом. Если смотреть лекции сосредоточенным то можно уловить и разные фичи 😅
@404Negative
@404Negative Ай бұрын
вот это да, ничего себе. попробуй еще конкатенацию с пустой строкой, вообще охренеешь.
@тимур_атмосферный
@тимур_атмосферный 2 ай бұрын
1:05:56 в этом случае семантичнее было бы выбросить TypeError вместо более общего Error
@rtfmetal
@rtfmetal 5 жыл бұрын
10-35 Там опечатка, кажется? text.line() не сработает, так как text - функция.
@TimurShemsedinov
@TimurShemsedinov 5 жыл бұрын
Да, txt.line()
@TimaGixe
@TimaGixe Жыл бұрын
А як знайти лекцію, яка згадується на цьому моменті kzbin.info/www/bejne/hpfYdpl_nrGLaZY? Лекція про те, як провіряти з якою швидкістю працює код.
@alexeylozenko6093
@alexeylozenko6093 2 жыл бұрын
код в контексте бизнес логики я генерирую ошибку при нарушении инварианта абстракции. Не всегда понятно когда стоит или нет генерировать ошибку. Насколько мне известно из теории контрактного программирования генерируется ошибку при assert утверждении. Подскажите литературу, фундаментальный материал на эту тему, спасибо. Насколько я понимаю начинающему программисту достаточно уметь перехватывать ошибку и их обрабатывать.
@legioner9mix
@legioner9mix 4 жыл бұрын
Вопрос к случаю uncaughtException - стоит ли при создании функции попутно класть в нее подписку на событие которое будет эмититься внутри вызова uncaughtException - что бы колбек этого эмиттера обеспечивал корректную парковку функции а не просто exit(1) ?
@nikitasobolev8288
@nikitasobolev8288 4 жыл бұрын
Можете подсказать, в примере "Обработка ошибок c async-await" при запуске у вас вывелось 5. Почему 5, если функции async/await всегда возвращают Promise, и по идее мы должны были написать: sum(2, 5).then(data => console.log(data)); ?
@UniBreakfast
@UniBreakfast 5 жыл бұрын
сложность просто заоблачная... Не представляю себе тех, кто это поймёт.
@TimurShemsedinov
@TimurShemsedinov 5 жыл бұрын
Смотрите курс последовательно, студенты 1 курса 1 семестра осваивают github.com/HowProgrammingWorks/Index/blob/master/Courses/Fundamentals.md
@UniBreakfast
@UniBreakfast 5 жыл бұрын
@@TimurShemsedinov Последовательно и смотрю. Так я сам уже два года репетиторствую, пишу по-немногу... то есть, я, в принципе, могу в этом разобраться, но новички... ой-ли. просто вспоминаю это чувство когда сидишь на лекции (в 2001-ом), а преподаватель наворачивает такое, что у всей аудитории глаза на лоб... Короче, я просто удивился вслух.
@TimurShemsedinov
@TimurShemsedinov 5 жыл бұрын
@@UniBreakfast Ну лекции этого года я добавил для более плавного вхождения для начинающих и это массово работает. Скажем так, сначала лекций 10 все смотрят большими глазами, а потом у половины будто что-то включается и они начинают понимать тебя, и въезжать уже, пересматривают старое и нормально к экзамену выходят.
@AlexDia
@AlexDia 3 жыл бұрын
@@TimurShemsedinov где взять вопросы на ваш экзамен
@СергейЖданов-э5р
@СергейЖданов-э5р 2 жыл бұрын
Про чейнинг плохо объяснили. Код его разных реализаций довольно сложный, и он был просто быстренько пролистан, хотя элементарный код про обработку ошибок был подробно разжеван
@DimitarRad
@DimitarRad 2 жыл бұрын
Спасибо, но для меня это уже ниндзя-код - особенно функторы.
@Wra-ij8yk
@Wra-ij8yk Жыл бұрын
Может кто-нибудь объяснить почему прототипы быстрее в итоге выполняются?
@TimurShemsedinov
@TimurShemsedinov Жыл бұрын
Чем что?
@Wra-ij8yk
@Wra-ij8yk Жыл бұрын
@@TimurShemsedinov, 43:58 ну вот же реализации чеининга на прототипах обогнала все остальные реализации на промисах, функторе
@TimurShemsedinov
@TimurShemsedinov Жыл бұрын
​@@Wra-ij8ykну тут явно проблема в доступе к идентификаторам, но этим вообще не нужно париться, в большинстве программ это несущественно
@Wra-ij8yk
@Wra-ij8yk Жыл бұрын
@@TimurShemsedinov, ок спасибо
@TimurShemsedinov
@TimurShemsedinov Жыл бұрын
@@Wra-ij8yk посмотрите еще kzbin.info/www/bejne/iavEiYeNZ9aWgKc
@TravelingsEngineer
@TravelingsEngineer 2 жыл бұрын
ни у кого нетполучилось выполнить 5 задание? я распарсил строску через split в symbol.iterator, но ни как не получаеться каждый элемент массива запихивать в value и вызывать next для каждого элемента массива. мучаюсь несколько дней, хотя думаю, что решение на поверхности
@SilverStormAndGoldenRain
@SilverStormAndGoldenRain 5 жыл бұрын
Пример 4 это кошмар, кому такое в голову пришло написать ))
@TimurShemsedinov
@TimurShemsedinov 5 жыл бұрын
Ну это во всем ооп такой подход с мутабильным состоянием, и люди норм воспронимают. А я сделал то же на функциях, ни чем не хуже ооп
@SilverStormAndGoldenRain
@SilverStormAndGoldenRain 5 жыл бұрын
@@TimurShemsedinov Сделано все красиво, просто очень непривычно и даже в голову бы не пришло такое написать, видимо надо изучать больше языков для расширения сознания ))
@TimurShemsedinov
@TimurShemsedinov 5 жыл бұрын
@@SilverStormAndGoldenRain ну это же курс не по js, а по программированию с примерами на js. Так что, пришлось показывать и неестественные для js практики. Благо, что js позволяет почти все.
@masterguyver84
@masterguyver84 5 жыл бұрын
Тяжело все заходит, придется пересматривать не раз. Даже надо на блоки делить, правда информации много как остальное успевать ... МАСТЕРСТВО ОПЫТА
@legioner9mix
@legioner9mix 4 жыл бұрын
@@masterguyver84 я пропускаю все что с третьего раза не могу до конца понять - все равно полную глубину и красоту можно начать понимать только начав изучение лекций ПО ВТОРОМУ кругу от первой до последней
@alexeylozenko6093
@alexeylozenko6093 2 жыл бұрын
process.on('uncaughtException', cb) Gracefull shutdown ?
FOREVER BUNNY
00:14
Natan por Aí
Рет қаралды 30 МЛН
Accompanying my daughter to practice dance is so annoying #funny #cute#comedy
00:17
Funny daughter's daily life
Рет қаралды 17 МЛН
This Game Is Wild...
00:19
MrBeast
Рет қаралды 177 МЛН
Proxy и Symbol в JavaScript
48:29
Timur Shemsedinov
Рет қаралды 10 М.
JWT авторизация. Основы JWT - механизма.
6:45
Хочу вАйти
Рет қаралды 17 М.
Необработанные ошибки в промисах на Node.js
31:32