Skip to content

Commit 9b8cb2f

Browse files
committed
Move timecodes for Functional prog to separate file
1 parent 6faae4f commit 9b8cb2f

File tree

2 files changed

+165
-165
lines changed

2 files changed

+165
-165
lines changed

Courses/Functional-timecodes.md

Lines changed: 165 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,165 @@
1+
# Таймкоды к курсу "Функциональное программирование"
2+
3+
Общее оглавление курса тут: https://github.com/HowProgrammingWorks/Index/blob/master/Courses/Functional.md
4+
5+
## [Функции, лямбды (стрелочные функции), контексты, замыкания в JavaScript](https://youtu.be/pn5myCmpV2U)
6+
7+
- [00:00:00 Введение ](https://youtu.be/pn5myCmpV2U?t=0)
8+
- [00:11:22 Функция объявление (Declaration)](https://youtu.be/pn5myCmpV2U?t=682)
9+
- [00:12:46 Функция выражение (Expression)](https://youtu.be/pn5myCmpV2U?t=766)
10+
- [00:16:07 Лямбда-выражение (Lambda expression) или функция-стрелка (Arrow function) ](https://youtu.be/pn5myCmpV2U?t=967)
11+
- [00:16:43 Лямбда-функция (Lambda function) ](https://youtu.be/pn5myCmpV2U?t=1003)
12+
- [00:18:45 Область видимости (Scope)](https://youtu.be/pn5myCmpV2U?t=1125)
13+
- [00:25:00 Функции, как абстракции](https://youtu.be/pn5myCmpV2U?t=1500)
14+
- [00:26:43 Методы функции (name, length, toString( ) )](https://youtu.be/pn5myCmpV2U?t=1603)
15+
- [00:31:26 Значения по умолчанию у функции ](https://youtu.be/pn5myCmpV2U?t=1886)
16+
- [00:36:46 Rest-оператор (...args)](https://youtu.be/pn5myCmpV2U?t=2206)
17+
- [00:41:49 Способ определения функции, через new Function](https://youtu.be/pn5myCmpV2U?t=2509)
18+
- [00:44:46 Функции внутри объекта](https://youtu.be/pn5myCmpV2U?t=2686)
19+
- [00:50:42 Обращение к полям объекта из привязанной функции, через this](https://youtu.be/pn5myCmpV2U?t=3042)
20+
- [00:55:24 История синтаксиса создания контекстов, через самовызывающиеся функции ( IIFE)](https://youtu.be/pn5myCmpV2U?t=3324)
21+
- [00:58:30 Методы функции, наследуемой от объекта (call, apply)](https://youtu.be/pn5myCmpV2U?t=3510)
22+
- [01:00:53 Комментирование функций](https://youtu.be/pn5myCmpV2U?t=3653)
23+
- [01:01:27 Задание декомпозиции функции](https://youtu.be/pn5myCmpV2U?t=3687)
24+
- [01:04:24 Замыкание: context ](https://youtu.be/pn5myCmpV2U?t=3864)
25+
- [01:08:41 Замыкание: chainning ](https://youtu.be/pn5myCmpV2U?t=4121)
26+
- [01:11:55 Замыкание: summator ](https://youtu.be/pn5myCmpV2U?t=4315)
27+
- [01:14:16 Замыкание: recursion](https://youtu.be/pn5myCmpV2U?t=4456)
28+
29+
## [Частичное применение и каррирование в JavaScript ( Partial application )](https://youtu.be/ND8KQ5xjk7o)
30+
31+
- [00:00:00 Замыкание ](https://youtu.be/ND8KQ5xjk7o?t=0)
32+
- [00:04:54 Лямбда- функция ](https://youtu.be/ND8KQ5xjk7o?t=294)
33+
- [00:06:06 Метод bind ](https://youtu.be/ND8KQ5xjk7o?t=366)
34+
- [00:08:30 Абстрагированный пример функции ](https://youtu.be/ND8KQ5xjk7o?t=510)
35+
- [00:13:42 Абстрагированный пример функции (расширение) ](https://youtu.be/ND8KQ5xjk7o?t=822)
36+
- [00:15:47 Неправильная реализация каррирования ](https://youtu.be/ND8KQ5xjk7o?t=947)
37+
- [00:22:22 Правильная реализация каррирования ](https://youtu.be/ND8KQ5xjk7o?t=1342)
38+
- [00:28:54 Правильная реализация каррирования (расширение)](https://youtu.be/ND8KQ5xjk7o?t=1734)
39+
- [00:31:41 Функциональные абстракции (superposition)](https://youtu.be/ND8KQ5xjk7o?t=1901)
40+
- [00:38:02 Функциональные абстракции, с сохранением выражений (composition)](https://youtu.be/ND8KQ5xjk7o?t=2282)
41+
- [00:45:05 Композиция с 2 функциями](https://youtu.be/ND8KQ5xjk7o?t=2705)
42+
- [00:46:05 Композиция с n - функциями, при помощи метода reduce](https://youtu.be/ND8KQ5xjk7o?t=2765)
43+
- [00:51:25 Композиция с n - функциями, при помощи цикла ](https://youtu.be/ND8KQ5xjk7o?t=3085)
44+
- [00:54:29 Композиция с n - функциями, при помощи рекурсии](https://youtu.be/ND8KQ5xjk7o?t=3269)
45+
- [00:57:40 Композиция асинхронных функций ](https://youtu.be/ND8KQ5xjk7o?t=3460)
46+
- [01:01:27 Обобщение](https://youtu.be/ND8KQ5xjk7o?t=3687)
47+
48+
## [Функции высшего порядка, колбеки, события на JavaScript (HigherOrderFunctions, callbacks, events)](https://youtu.be/1vqATwbGHnc)
49+
50+
- [00:00:00 Определение ](https://youtu.be/1vqATwbGHnc?t=0)
51+
- [00:02:03 Математическая функция ](https://youtu.be/1vqATwbGHnc?t=123)
52+
- [00:05:57 Функция обратного вызова (callback) ](https://youtu.be/1vqATwbGHnc?t=357)
53+
- [00:09:33 Замыкание ](https://youtu.be/1vqATwbGHnc?t=573)
54+
- [00:10:51 Цепочка вызовов ](https://youtu.be/1vqATwbGHnc?t=651)
55+
- [00:12:40 Сохранение кэша с помощью замыкания](https://youtu.be/1vqATwbGHnc?t=760)
56+
- [00:18:29 Добавление функции поведение логирования](https://youtu.be/1vqATwbGHnc?t=1109)
57+
- [00:21:45 Обобщение ](https://youtu.be/1vqATwbGHnc?t=1305)
58+
- [00:22:45 Сallback](https://youtu.be/1vqATwbGHnc?t=1365)
59+
- [00:25:32 Сallback асинхронной функции считывание файла](https://youtu.be/1vqATwbGHnc?t=1532)
60+
- [00:28:36 Сallback именованный](https://youtu.be/1vqATwbGHnc?t=1716)
61+
- [00:33:01 Сallback-timer ](https://youtu.be/1vqATwbGHnc?t=1981)
62+
- [00:36:20 Сallback-timer-curry](https://youtu.be/1vqATwbGHnc?t=2180)
63+
- [00:38:59 Listener](https://youtu.be/1vqATwbGHnc?t=2339)
64+
- [00:41:10 Listener-timer](https://youtu.be/1vqATwbGHnc?t=2470)
65+
- [00:46:59 Event](https://youtu.be/1vqATwbGHnc?t=2819)
66+
- [00:53:45 Event-imitter ](https://youtu.be/1vqATwbGHnc?t=3225)
67+
- [00:57:48 Deferred object (отложенный объект)](https://youtu.be/1vqATwbGHnc?t=3468)
68+
- [01:01:31 Errors](https://youtu.be/1vqATwbGHnc?t=3691)
69+
70+
## [Примеси, обертки, декораторы, мемоизация в JavaScript (Wrappers)](https://youtu.be/oRQ0kQr1N-U)
71+
72+
- [00:00:00 Синхронная функция-обертка ](https://youtu.be/oRQ0kQr1N-U?t=0)
73+
- [00:02:55 Синхронная универсальная функция-обертка ](https://youtu.be/oRQ0kQr1N-U?t=175)
74+
- [00:08:28 Асинхронная универсальная функция-обертка ](https://youtu.be/oRQ0kQr1N-U?t=508)
75+
- [00:15:50 Синхронная функция-обертка, которая добавляет поведение (timeout)](https://youtu.be/oRQ0kQr1N-U?t=950)
76+
- [00:22:45 Асинхронная функция-обертка, которая добавляет поведение (timeout)](https://youtu.be/oRQ0kQr1N-U?t=1365)
77+
- [00:25:38 Функция-обертка, которая ограничивает вызов функции до одного вызова (once) ](https://youtu.be/oRQ0kQr1N-U?t=1538)
78+
- [00:27:36 Функция-обертка, которая ограничивает вызов функции до n-го вызова (limit)](https://youtu.be/oRQ0kQr1N-U?t=1656)
79+
- [00:29:50 Функция-обертка, которая отменяет вызов функции (cancel)](https://youtu.be/oRQ0kQr1N-U?t=1790)
80+
- [00:32:29 Функция-обертка с методами timeout, limit, cancel](https://youtu.be/oRQ0kQr1N-U?t=1949)
81+
- [00:39:03 Функция-обертка с методами timeout, limit, cancel (оптимизированная)](https://youtu.be/oRQ0kQr1N-U?t=2343)
82+
- [00:42:28 Функция-обертка, которая ограничивает один вызов за 200 мс (throttle)](https://youtu.be/oRQ0kQr1N-U?t=2548)
83+
- [00:45:47 Примесь поля через точку ](https://youtu.be/oRQ0kQr1N-U?t=2747)
84+
- [00:51:35 Примесь поля через функцию extend](https://youtu.be/oRQ0kQr1N-U?t=3095)
85+
- [00:57:35 Примесь поля через object.assign( )](https://youtu.be/oRQ0kQr1N-U?t=3455)
86+
- [00:59:18 Примесь поведения ](https://youtu.be/oRQ0kQr1N-U?t=3558)
87+
- [01:02:23 Примесь изменения класса](https://youtu.be/oRQ0kQr1N-U?t=3743)
88+
- [01:06:50 Определение](https://youtu.be/oRQ0kQr1N-U?t=4010)
89+
- [01:07:30 Реализация простой мемоизации ](https://youtu.be/oRQ0kQr1N-U?t=4050)
90+
- [01:14:43 Реализация простой мемоизации с проверкой скорости ](https://youtu.be/oRQ0kQr1N-U?t=4483)
91+
- [01:20:43 Удаление накопленного кэша ](https://youtu.be/oRQ0kQr1N-U?t=4843)
92+
- [01:25:35 Асинхронная мемоизация ](https://youtu.be/oRQ0kQr1N-U?t=5135)
93+
- [01:31:10 Преобразование аргументов и ключей в hash-функцию](https://youtu.be/oRQ0kQr1N-U?t=5470)
94+
- [01:33:32 Реализация сложной мемоизации](https://youtu.be/oRQ0kQr1N-U?t=5612)
95+
96+
## [Чеининг функций и объектов, обработка ошибок в JavaScript](https://youtu.be/PfuEfIiLX34)
97+
98+
- [00:00:00 Введение ](https://youtu.be/PfuEfIiLX34?t=0)
99+
- [00:01:10 Чеининг через синтаксис вызова функций ](https://youtu.be/PfuEfIiLX34?t=70)
100+
- [00:02:12 Prototype ](https://youtu.be/PfuEfIiLX34?t=132)
101+
- [00:05:45 Сlass](https://youtu.be/PfuEfIiLX34?t=345)
102+
- [00:06:11 Functor](https://youtu.be/PfuEfIiLX34?t=371)
103+
- [00:11:54 Mutable](https://youtu.be/PfuEfIiLX34?t=714)
104+
- [00:16:34 Iterator](https://youtu.be/PfuEfIiLX34?t=994)
105+
- [00:26:18 Promise ](https://youtu.be/PfuEfIiLX34?t=1578)
106+
- [00:26:35 Test](https://youtu.be/PfuEfIiLX34?t=1595)
107+
- [00:37:08 Compare ](https://youtu.be/PfuEfIiLX34?t=2228)
108+
- [00:39:45 Benchmark](https://youtu.be/PfuEfIiLX34?t=2385)
109+
- [00:40:48 Запуск и анализ тестов ](https://youtu.be/PfuEfIiLX34?t=2448)
110+
- [01:03:48 Первый способ возвращение ошибок в синхронном коде ](https://youtu.be/PfuEfIiLX34?t=3828)
111+
- [01:09:24 Второй способ возвращение ошибок в синхронном коде ](https://youtu.be/PfuEfIiLX34?t=4164)
112+
- [01:12:26 Возвращение ошибок в асинхронном коде ](https://youtu.be/PfuEfIiLX34?t=4346)
113+
- [01:16:14 Корректное возвращение ошибок ](https://youtu.be/PfuEfIiLX34?t=4574)
114+
- [01:20:03 Обработка ошибок c promise ](https://youtu.be/PfuEfIiLX34?t=4803)
115+
- [01:23:58 Обработка ошибок c async-await](https://youtu.be/PfuEfIiLX34?t=5038)
116+
117+
## [Функциональное программирование на JavaScript](https://youtu.be/0JxSs_GcvbQ)
118+
119+
## [Функциональные объекты, функторы и монады в JavaScript](https://youtu.be/3Z7f0Gi8pxw)
120+
121+
- [00:00:00 Определение функтора ](https://youtu.be/3Z7f0Gi8pxw?t=0)
122+
- [00:01:40 Функтор из прототипа ](https://youtu.be/3Z7f0Gi8pxw?t=100)
123+
- [00:08:17 Функтор из прототипа (упрощенный) ](https://youtu.be/3Z7f0Gi8pxw?t=497)
124+
- [00:09:14 Функтор из замыкания ](https://youtu.be/3Z7f0Gi8pxw?t=554)
125+
- [00:11:49 Функтор из замыкания с тернарным оператором](https://youtu.be/3Z7f0Gi8pxw?t=709)
126+
- [00:12:44 Аппликативный функтор из прототипа ](https://youtu.be/3Z7f0Gi8pxw?t=764)
127+
- [00:18:08 Аппликативный функтор из замыкания (монада)](https://youtu.be/3Z7f0Gi8pxw?t=1088)
128+
- [00:23:11 Пример применения монады ](https://youtu.be/3Z7f0Gi8pxw?t=1391)
129+
- [00:28:37 Функциональный объект ](https://youtu.be/3Z7f0Gi8pxw?t=1717)
130+
- [00:39:44 Пример применения функционального объекта](https://youtu.be/3Z7f0Gi8pxw?t=2384)
131+
- [00:45:27 Обобщение](https://youtu.be/3Z7f0Gi8pxw?t=2727)
132+
133+
## [Отмена асинхронных операций, cancellable callback and Promise в JavaScript](https://youtu.be/T8fXlnqI4Ws)
134+
135+
## [Future: Асинхронность на фьючерах без состояния](https://youtu.be/22ONv3AGXdk)
136+
137+
## [Примеси, обертки, декораторы, мемоизация](https://youtu.be/2h9syXN5wO0)
138+
139+
- [00:00:00 Синхронная функция-обертка ](https://youtu.be/2h9syXN5wO0?t=0)
140+
- [00:02:55 Синхронная универсальная функция-обертка ](https://youtu.be/2h9syXN5wO0?t=175)
141+
- [00:08:28 Асинхронная универсальная функция-обертка ](https://youtu.be/2h9syXN5wO0?t=508)
142+
- [00:15:50 Синхронная функция-обертка, которая добавляет поведение (timeout)](https://youtu.be/2h9syXN5wO0?t=950)
143+
- [00:22:45 Асинхронная функция-обертка, которая добавляет поведение (timeout)](https://youtu.be/2h9syXN5wO0?t=1365)
144+
- [00:25:38 Функция-обертка, которая ограничивает вызов функции до одного вызова (once) ](https://youtu.be/2h9syXN5wO0?t=1538)
145+
- [00:27:36 Функция-обертка, которая ограничивает вызов функции до n-го вызова (limit)](https://youtu.be/2h9syXN5wO0?t=1656)
146+
- [00:29:50 Функция-обертка, которая отменяет вызов функции (cancel)](https://youtu.be/2h9syXN5wO0?t=1790)
147+
- [00:32:29 Функция-обертка с методами timeout, limit, cancel](https://youtu.be/2h9syXN5wO0?t=1949)
148+
- [00:39:03 Функция-обертка с методами timeout, limit, cancel (оптимизированная)](https://youtu.be/2h9syXN5wO0?t=2343)
149+
- [00:42:28 Функция-обертка, которая ограничивает один вызов за 200 мс (throttle)](https://youtu.be/2h9syXN5wO0?t=2548)
150+
- [00:45:47 Примесь поля через точку ](https://youtu.be/2h9syXN5wO0?t=2747)
151+
- [00:51:35 Примесь поля через функцию extend](https://youtu.be/2h9syXN5wO0?t=3095)
152+
- [00:57:35 Примесь поля через object.assign( )](https://youtu.be/2h9syXN5wO0?t=3455)
153+
- [00:59:18 Примесь поведения ](https://youtu.be/2h9syXN5wO0?t=3558)
154+
- [01:02:23 Примесь изменения класса](https://youtu.be/2h9syXN5wO0?t=3743)
155+
- [01:06:50 Определение](https://youtu.be/2h9syXN5wO0?t=4010)
156+
- [01:07:30 Реализация простой мемоизации ](https://youtu.be/2h9syXN5wO0?t=4050)
157+
- [01:14:43 Реализация простой мемоизации с проверкой скорости ](https://youtu.be/2h9syXN5wO0?t=4483)
158+
- [01:20:43 Удаление накопленного кэша ](https://youtu.be/2h9syXN5wO0?t=4843)
159+
- [01:25:35 Асинхронная мемоизация ](https://youtu.be/2h9syXN5wO0?t=5135)
160+
- [01:31:10 Преобразование аргументов и ключей в hash-функцию](https://youtu.be/2h9syXN5wO0?t=5470)
161+
- [01:33:32 Реализация сложной мемоизации](https://youtu.be/2h9syXN5wO0?t=5612)
162+
163+
## [Мемоизация функций: memoize в JavaScript](https://youtu.be/H6S8QJo2Qxg)
164+
165+
## [Композиция функций (pipe, compose) в JavaScript](https://youtu.be/xS9FicVrOTI)

0 commit comments

Comments
 (0)