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

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

Timur Shemsedinov

Timur Shemsedinov

5 жыл бұрын

Чеининг: github.com/HowProgrammingWork...
Обработка ошибок: github.com/HowProgrammingWork...
Курс «Основы программирования» с примерами на JavaScript habr.com/ru/post/464023/
#чеининг #программирование #javascript #лекции #js #кпи

Пікірлер: 45
@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
@91Days-
@91Days- Жыл бұрын
Благодарю Вас за труды, ваш курс - лучший из тех, что мне встречались
@user-nk2cx8mn5r
@user-nk2cx8mn5r 4 жыл бұрын
Вот это прямо кладязь ) Благодарю .
@TimaGixe
@TimaGixe Жыл бұрын
Дякую, дуже корисна інформація, класні приклади і зрозумілі пояснення!
@TheTexPro
@TheTexPro 2 жыл бұрын
Спасибо большое! Про чейнинг очень понравилось, рассматриваемые примеры с разными вариантами реализации заставляют пересмотреть привычные модели и способы написания кода. Огромное сенкью)
@user-lq8uq1od7g
@user-lq8uq1od7g 3 жыл бұрын
Во время просмотра всегда ловлю себя на мысли - насколько Вы точно, коротко и ясно выражаетесь. Нет ни одного слова или фразы, которая была бы лишней или путала своей двусмысленностью. Прекрасные лекции. Высший класс!!!
@TimurShemsedinov
@TimurShemsedinov 3 жыл бұрын
Это же не первая читка лекций, годами выверенные фразы ) Спасибо!
@kazbekelmurzaev9600
@kazbekelmurzaev9600 2 ай бұрын
Это полтора часа концентрированной информации. Тут пятнадцать минут бы усидеть слушая внимательно. На секунду отвлекся мыслями и пропустил важную информацию. По этим лекциям можно просто стенограмму сделать и вот вам готовый учебник.
@tanyasuntulip7008
@tanyasuntulip7008 2 жыл бұрын
Спасибо огромное, классная лекция, особенно интересно было по ошибкам
@vanja7610
@vanja7610 5 жыл бұрын
Contents: Chaining - 0:06 Error handling - 1:03:48
@TimurSevimli
@TimurSevimli Жыл бұрын
Ощущения после ролика => 🤯
@alexeylozenko6093
@alexeylozenko6093 2 жыл бұрын
Мне очень нравится, во время лекции по Javascript-у Тимур поднимает такие фундаментальные такие как ф-ное программирование, монады, контракты, итераторы. Как я понял по теме чейнинга, цепочка вызовов позволяет строить некий пайп операций над данными. Видел так же что с помощью цепочек в Метархии настраиваются некоторые абстракции. Лично для себя увидел несколько примеров, которые могу применить на практике. После каждой лекции пересматриваю свои знания в Javascripte. Огромное спасибо.
@jamjam3337
@jamjam3337 Жыл бұрын
💥💥💥
@Antonio-fm1sq
@Antonio-fm1sq 3 жыл бұрын
Спасибо!
@TimurSevimli
@TimurSevimli Жыл бұрын
Походу выражение `${ ... }` вызывает метод toString переданному ему значений под капотом. Если смотреть лекции сосредоточенным то можно уловить и разные фичи 😅
@ruslanmuraha6454
@ruslanmuraha6454 Жыл бұрын
01:03:40 Обработка ошибок
@nikitasobolev8288
@nikitasobolev8288 4 жыл бұрын
Можете подсказать, в примере "Обработка ошибок c async-await" при запуске у вас вывелось 5. Почему 5, если функции async/await всегда возвращают Promise, и по идее мы должны были написать: sum(2, 5).then(data => console.log(data)); ?
@legioner9mix
@legioner9mix 4 жыл бұрын
Вопрос к случаю uncaughtException - стоит ли при создании функции попутно класть в нее подписку на событие которое будет эмититься внутри вызова uncaughtException - что бы колбек этого эмиттера обеспечивал корректную парковку функции а не просто exit(1) ?
@alexeylozenko6093
@alexeylozenko6093 2 жыл бұрын
код в контексте бизнес логики я генерирую ошибку при нарушении инварианта абстракции. Не всегда понятно когда стоит или нет генерировать ошибку. Насколько мне известно из теории контрактного программирования генерируется ошибку при assert утверждении. Подскажите литературу, фундаментальный материал на эту тему, спасибо. Насколько я понимаю начинающему программисту достаточно уметь перехватывать ошибку и их обрабатывать.
@rtfmetal
@rtfmetal 4 жыл бұрын
10-35 Там опечатка, кажется? text.line() не сработает, так как text - функция.
@TimurShemsedinov
@TimurShemsedinov 4 жыл бұрын
Да, txt.line()
@TimaGixe
@TimaGixe Жыл бұрын
А як знайти лекцію, яка згадується на цьому моменті kzfaq.info/get/bejne/hsyleMl6zrK8Y2g.html? Лекція про те, як провіряти з якою швидкістю працює код.
@UniBreakfast
@UniBreakfast 4 жыл бұрын
сложность просто заоблачная... Не представляю себе тех, кто это поймёт.
@TimurShemsedinov
@TimurShemsedinov 4 жыл бұрын
Смотрите курс последовательно, студенты 1 курса 1 семестра осваивают github.com/HowProgrammingWorks/Index/blob/master/Courses/Fundamentals.md
@UniBreakfast
@UniBreakfast 4 жыл бұрын
@@TimurShemsedinov Последовательно и смотрю. Так я сам уже два года репетиторствую, пишу по-немногу... то есть, я, в принципе, могу в этом разобраться, но новички... ой-ли. просто вспоминаю это чувство когда сидишь на лекции (в 2001-ом), а преподаватель наворачивает такое, что у всей аудитории глаза на лоб... Короче, я просто удивился вслух.
@TimurShemsedinov
@TimurShemsedinov 4 жыл бұрын
@@UniBreakfast Ну лекции этого года я добавил для более плавного вхождения для начинающих и это массово работает. Скажем так, сначала лекций 10 все смотрят большими глазами, а потом у половины будто что-то включается и они начинают понимать тебя, и въезжать уже, пересматривают старое и нормально к экзамену выходят.
@AlexDia
@AlexDia 3 жыл бұрын
@@TimurShemsedinov где взять вопросы на ваш экзамен
@user-sl2sp8jy7b
@user-sl2sp8jy7b Жыл бұрын
Про чейнинг плохо объяснили. Код его разных реализаций довольно сложный, и он был просто быстренько пролистан, хотя элементарный код про обработку ошибок был подробно разжеван
@DimitarRad
@DimitarRad 2 жыл бұрын
Спасибо, но для меня это уже ниндзя-код - особенно функторы.
@Wra-ij8yk
@Wra-ij8yk 8 ай бұрын
Может кто-нибудь объяснить почему прототипы быстрее в итоге выполняются?
@TimurShemsedinov
@TimurShemsedinov 8 ай бұрын
Чем что?
@Wra-ij8yk
@Wra-ij8yk 8 ай бұрын
@@TimurShemsedinov, 43:58 ну вот же реализации чеининга на прототипах обогнала все остальные реализации на промисах, функторе
@TimurShemsedinov
@TimurShemsedinov 8 ай бұрын
​@@Wra-ij8ykну тут явно проблема в доступе к идентификаторам, но этим вообще не нужно париться, в большинстве программ это несущественно
@Wra-ij8yk
@Wra-ij8yk 8 ай бұрын
@@TimurShemsedinov, ок спасибо
@TimurShemsedinov
@TimurShemsedinov 8 ай бұрын
@@Wra-ij8yk посмотрите еще kzfaq.info/get/bejne/ieCRi7eIl9fHenk.html
@user-zq8np1if9q
@user-zq8np1if9q Жыл бұрын
ни у кого нетполучилось выполнить 5 задание? я распарсил строску через split в symbol.iterator, но ни как не получаеться каждый элемент массива запихивать в value и вызывать next для каждого элемента массива. мучаюсь несколько дней, хотя думаю, что решение на поверхности
@SilverStormAndGoldenRain
@SilverStormAndGoldenRain 4 жыл бұрын
Пример 4 это кошмар, кому такое в голову пришло написать ))
@TimurShemsedinov
@TimurShemsedinov 4 жыл бұрын
Ну это во всем ооп такой подход с мутабильным состоянием, и люди норм воспронимают. А я сделал то же на функциях, ни чем не хуже ооп
@SilverStormAndGoldenRain
@SilverStormAndGoldenRain 4 жыл бұрын
@@TimurShemsedinov Сделано все красиво, просто очень непривычно и даже в голову бы не пришло такое написать, видимо надо изучать больше языков для расширения сознания ))
@TimurShemsedinov
@TimurShemsedinov 4 жыл бұрын
@@SilverStormAndGoldenRain ну это же курс не по js, а по программированию с примерами на js. Так что, пришлось показывать и неестественные для js практики. Благо, что js позволяет почти все.
@masterguyver84
@masterguyver84 4 жыл бұрын
Тяжело все заходит, придется пересматривать не раз. Даже надо на блоки делить, правда информации много как остальное успевать ... МАСТЕРСТВО ОПЫТА
@legioner9mix
@legioner9mix 4 жыл бұрын
@@masterguyver84 я пропускаю все что с третьего раза не могу до конца понять - все равно полную глубину и красоту можно начать понимать только начав изучение лекций ПО ВТОРОМУ кругу от первой до последней
@alexeylozenko6093
@alexeylozenko6093 2 жыл бұрын
process.on('uncaughtException', cb) Gracefull shutdown ?
Итерирование, циклы и итераторы в JavaScript
44:13
ОСКАР ИСПОРТИЛ ДЖОНИ ЖИЗНЬ 😢 @lenta_com
01:01
孩子多的烦恼?#火影忍者 #家庭 #佐助
00:31
火影忍者一家
Рет қаралды 50 МЛН
БОЛЬШОЙ ПЕТУШОК #shorts
00:21
Паша Осадчий
Рет қаралды 9 МЛН
Консоль и командная строка в JavaScript и Node.js
55:28
Реактивное программирование на JavaScript
36:59
Обработка ошибок #0: Проблема
11:47
JavaScript.Ninja
Рет қаралды 8 М.
Коллекции, множества, хештаблицы в JavaScript
50:42