Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 64 additions & 0 deletions Courses/Paradigms-timecodes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# Таймкоды к курсу "Парадигмы программирования"

Общее оглавление курса тут: https://github.com/HowProgrammingWorks/Index/blob/master/Courses/Paradigms.md

## [Объектно-ориентированное программирование](https://youtu.be/r4ReQlVtfgQ)

- [00:00 Введение](https://youtu.be/r4ReQlVtfgQ?t=0)
- [01:32 Основные понятия](https://youtu.be/r4ReQlVtfgQ?t=92)
- [16:42 Принципы ООП](https://youtu.be/r4ReQlVtfgQ?t=1002)
- [16:49 Принципы GRASP](https://youtu.be/r4ReQlVtfgQ?t=1009)
- [29:04 Принципы SOLID](https://youtu.be/r4ReQlVtfgQ?t=1744)
- [41:29 Паттерны GoF](https://youtu.be/r4ReQlVtfgQ?t=2489)

## [Структуры (struct) или записи (record)](https://youtu.be/Wb7o_kK4aH4)


## [Дженерики и обобщенное программирование](https://youtu.be/r6W2z3DQhoI)


## [Have Objects Failed? Или что не так с ООП?](https://youtu.be/4yO5OS0vPSw)

- [1:46 Присвоенные идеи ООП](https://youtu.be/4yO5OS0vPSw?t=106)
- [11:47 Притянутые достоинства ООП](https://youtu.be/4yO5OS0vPSw?t=707)
- [22:06 Проблемы ООП](https://youtu.be/4yO5OS0vPSw?t=1326)
- [39:56 Как жить с ООП](https://youtu.be/4yO5OS0vPSw?t=2396)
- [56:44 Подходящие области для ООП](https://youtu.be/4yO5OS0vPSw?t=3404)
- [1:03:51 Неподходящие области для ООП](https://youtu.be/4yO5OS0vPSw?t=3831)
- [1:11:30 Заключение](https://youtu.be/4yO5OS0vPSw?t=4290)

## [Функциональное программирование на JavaScript](https://youtu.be/0JxSs_GcvbQ)


## [Реактивное программирование на JavaScript](https://youtu.be/7MH8-qQc-48)

- [0:00 введение](https://youtu.be/7MH8-qQc-48?t=0)
- [3:00 imperative.js](https://youtu.be/7MH8-qQc-48?t=180)
- [4:00 set-get.js](https://youtu.be/7MH8-qQc-48?t=240)
- [7:15 proxy.js](https://youtu.be/7MH8-qQc-48?t=435)
- [23:07 observer.js](https://youtu.be/7MH8-qQc-48?t=1387)

## [Асинхронное программирование в Node.js и JavaScript](https://youtu.be/hY6Z6qNYzmc)

- [5:45 Callbacks](https://youtu.be/hY6Z6qNYzmc?t=345)
- [10:00 Async.js or analogues](https://youtu.be/hY6Z6qNYzmc?t=600)
- [15:47 Events](https://youtu.be/hY6Z6qNYzmc?t=947)
- [18:00 Promise](https://youtu.be/hY6Z6qNYzmc?t=1080)
- [25:20 async/await](https://youtu.be/hY6Z6qNYzmc?t=1520)
- [27:10 Functor + Chaining + composition](https://youtu.be/hY6Z6qNYzmc?t=1630)
- [30:49 Problems of callback, async.js, Proimise, async/await](https://youtu.be/hY6Z6qNYzmc?t=1849)
- [34:00 Add timeout to any function](https://youtu.be/hY6Z6qNYzmc?t=2040)
- [36:55 Make function cancelable](https://youtu.be/hY6Z6qNYzmc?t=2215)
- [37:59 More wrappers](https://youtu.be/hY6Z6qNYzmc?t=2279)
- [39:22 Promisify and Callbackify](https://youtu.be/hY6Z6qNYzmc?t=2362)
- [48:47 Sync function to async](https://youtu.be/hY6Z6qNYzmc?t=2927)
- [41:43 Sync function to Promise](https://youtu.be/hY6Z6qNYzmc?t=2503)
- [43:17 Convertors](https://youtu.be/hY6Z6qNYzmc?t=2597)
- [43:31 Metasync](https://youtu.be/hY6Z6qNYzmc?t=2611)
- [45:26 Function composition](https://youtu.be/hY6Z6qNYzmc?t=2726)
- [47:09 Adynchronous function composition](https://youtu.be/hY6Z6qNYzmc?t=2829)
- [47:58 Flow communication like in electronics](https://youtu.be/hY6Z6qNYzmc?t=2878)
- [50:06 Collectors](https://youtu.be/hY6Z6qNYzmc?t=3006)
- [59:17 Queue](https://youtu.be/hY6Z6qNYzmc?t=3557)

## [Модель акторов для параллельных вычислений](https://youtu.be/xp5MVKEqxY4)
4 changes: 4 additions & 0 deletions Courses/Paradigms.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Парадигмы программирования

[Таймкоды и подробное оглавление для части лекций](Paradigms-timecodes.md)

## Видео-лекции

- Процедурное программирование
- [Объектно-ориентированное программирование](https://youtu.be/r4ReQlVtfgQ)
- [Структуры (struct) или записи (record)](https://youtu.be/Wb7o_kK4aH4)
Expand Down
74 changes: 74 additions & 0 deletions Courses/Patterns-timecodes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# Таймкоды к курсу "Шаблоны проектирования"

Общее оглавление курса тут: https://github.com/HowProgrammingWorks/Index/blob/master/Courses/Patterns.md

## [Шаблон Singleton (синглтон) в JavaScript](https://youtu.be/qdJ5yikZnfE)

- [00:00:00 Singleton через конструктор прототипа](https://youtu.be/qdJ5yikZnfE?t=0)
- [00:03:27 Singleton через замыкания](https://youtu.be/qdJ5yikZnfE?t=207)
- [00:06:10 Пример singleton через замыкания](https://youtu.be/qdJ5yikZnfE?t=370)
- [00:08:15 Пример singleton через замыкания в функциональном стиле](https://youtu.be/qdJ5yikZnfE?t=495)
- [00:09:23 Пример singleton через замыкания в функциональном стиле (упрощенный)](https://youtu.be/qdJ5yikZnfE?t=563)
- [00:10:32 Создание singleton в JS](https://youtu.be/qdJ5yikZnfE?t=632)

## [Фабрики и пулы объектов в JavaScript, factorify, poolify](https://youtu.be/Ax_mSvadFp8)

- [00:00:00 Введение](https://youtu.be/Ax_mSvadFp8?t=0)
- [00:02:38 Фабрика ( factory )](https://youtu.be/Ax_mSvadFp8?t=158)
- [00:05:44 Фабрика прототипов](https://youtu.be/Ax_mSvadFp8?t=344)
- [00:10:48 Фабрика классов](https://youtu.be/Ax_mSvadFp8?t=648)
- [00:12:28 Фабрика функций](https://youtu.be/Ax_mSvadFp8?t=748)
- [00:15:55 Фабричные методы](https://youtu.be/Ax_mSvadFp8?t=955)
- [00:16:55 Превращение функций в фабрику ( factorify)](https://youtu.be/Ax_mSvadFp8?t=1015)
- [00:19:44 Пул ( pool )](https://youtu.be/Ax_mSvadFp8?t=1184)
- [00:23:05 Работа с пулом](https://youtu.be/Ax_mSvadFp8?t=1385)
- [00:23:04 Обобщенный пул](https://youtu.be/Ax_mSvadFp8?t=1384)
- [00:24:55 Пулифицирование фабрики ( poolify )](https://youtu.be/Ax_mSvadFp8?t=1495)
- [00:28:50 Улучшеная пулифицированная фабрика](https://youtu.be/Ax_mSvadFp8?t=1730)
- [00:32:10 Ассинхронная работа с пулом](https://youtu.be/Ax_mSvadFp8?t=1930)
- [00:45:25 Одновременное использование factorify и poolify](https://youtu.be/Ax_mSvadFp8?t=2725)
- [00:51:54 Обобщение](https://youtu.be/Ax_mSvadFp8?t=3114)

## [Фасад - петтерн для скрытия сложности](https://youtu.be/oJtBO7CystE)


## [Адаптер (Adapter) - паттерн достижения совместимости](https://youtu.be/cA65McLQrR8)

- [0:00 введение](https://youtu.be/cA65McLQrR8?t=0)
- [1:30 adapter на prototype](https://youtu.be/cA65McLQrR8?t=90)
- [3:57 adapter на class](https://youtu.be/cA65McLQrR8?t=237)
- [4:23 adapter на function](https://youtu.be/cA65McLQrR8?t=263)
- [6:15 adapter на классе-обертке (boxing)](https://youtu.be/cA65McLQrR8?t=375)
- [7:08 adapter на замыканиях (closure)](https://youtu.be/cA65McLQrR8?t=428)
- [8:10 adapter на interface](https://youtu.be/cA65McLQrR8?t=490)
- [13:45 adapter на events](https://youtu.be/cA65McLQrR8?t=825)
- [16:00 выводы](https://youtu.be/cA65McLQrR8?t=960)

## [Стратегия (Strategy) - выбор взаимозаменяемого поведения](https://youtu.be/hO8VSVv0NqM)

- [0:00 введение](https://youtu.be/hO8VSVv0NqM?t=0)
- [3:40 strategy на class](https://youtu.be/hO8VSVv0NqM?t=220)
- [15:04 strategy на prototype](https://youtu.be/hO8VSVv0NqM?t=904)
- [16:14 strategy на function](https://youtu.be/hO8VSVv0NqM?t=974)
- [20:22 strategy с примером работы над массивом](https://youtu.be/hO8VSVv0NqM?t=1222)
- [24:07 обобщение](https://youtu.be/hO8VSVv0NqM?t=1447)

## [Паттерн Команда (Command) действие и параметры как объект](https://youtu.be/vER0vYL4hM4)


## [Паттерн Revealing Constructor - открытый конструктор](https://youtu.be/leR5sXRkuJI)


## [Паттерн Наблюдатель (Observer + Observable)](https://youtu.be/_bFXuLcXoXg)


## [Принцип единственной ответственности и закон Конвея](https://youtu.be/o4bQywkBKOI)


## [Ассоциация, агрегация и композиция объектов в JavaScript](https://youtu.be/tOIcBrzezK0)


## [Принцип подстановки Барбары Лисков](https://youtu.be/RbhYxygxroc)


## [Антипаттерны ООП (часть 1) c примерами на JavaScript](https://youtu.be/9d5TG1VsLeU)
4 changes: 4 additions & 0 deletions Courses/Patterns.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Шаблоны проектирования

[Таймкоды и подробное оглавление для части лекций](Patterns-timecodes.md)

## Видео-лекции

- [Шаблон Singleton (синглтон) в JavaScript](https://youtu.be/qdJ5yikZnfE)
- Примеры кода: https://github.com/HowProgrammingWorks/Singleton
- [Фабрики и пулы объектов в JavaScript, factorify, poolify](https://youtu.be/Ax_mSvadFp8)
Expand Down