HTML Diff
72 added 37 removed
Original 2026-01-01
Modified 2026-02-26
1 - <h2>Описание</h2>
1 + <p>Каррирование</p>
2 - <p>На этом курсе вы изучите функции. Вы узнаете, что такое объекты первого рода, безымянные лямбда-функции и функции высшего порядка. Вы научитесь использовать функции внутри других функций, использовать встроенные операции map, filter, reduce и писать обертки для расширения функционала. Знания из этого курса помогут проектировать лаконичные и эффективные программы, отделять побочные эффекты от чистого кода.</p>
2 + <p>частичное применение</p>
3 - <h2>Программа</h2>
3 + <p>Диспетчеризация</p>
4 - <p>1</p>
4 + <p>ленивые вычисления</p>
5 - <a>О курсе</a><p>Знакомимся с целями и задачами курса</p>
5 + <p>мемоизация</p>
6 - <p>2</p>
6 + <p>Навык понимать программы на фундаментальном уровне, уверенно проходить собеседования и решать сложные задачи</p>
7 - <a>Чистые функции</a><p>Знакомимся с понятиями "детерминированность" и "побочные эффекты"</p>
7 + <p>Дмитрий Горохов</p>
8 - <p>3</p>
8 + <p>выпускник пайтон</p>
9 - <a>Область видимости и замыкания</a><p>Изучаем поиск значений и три связанные с ним концепции: окружение, область видимости и замыкания</p>
9 + <h2>Программа обучения</h2>
10 - <p>4</p>
10 + <p>Guard Expression</p>
11 - <a>Разделение команд и запросов</a><p>Знакомимся с принципом CQS</p>
11 + <p>Уменьшение сложности функций через разделение логики на условия</p>
12 - <p>5</p>
12 + <p>Параметры по умолчанию</p>
13 - <a>Оператор Rest (упаковка аргументов)</a><p>Выясняем, как с помощью rest-оператора упаковывать аргументы функции в массив</p>
13 + <p>Синтаксис задания параметров по умолчанию в функциях, влияние параметров по умолчанию на поведение функции при отсутствии аргументов, использование параметров по умолчанию для упрощения вызова функций</p>
14 - <p>6</p>
14 + <p>Выполнение функций</p>
15 - <a>Оператор Spread (распаковка аргументов)</a><p>Выясняем, как использовать spread-оператор при вызове функции</p>
15 + <p>Порядок выполнения функций в составных выражениях</p>
16 - <p>7</p>
16 + <p>Объекты первого класса</p>
17 - <a>Деструктуризация параметров</a><p>Учимся применять технику дестракчеринга для параметров функции</p>
17 + <p>Понятие функций как объектов первого класса, передача функций в качестве аргументов другим функциям, возврат функций как результата выполнения других функций</p>
18 - <p>8</p>
18 + <p>Лексическое окружение</p>
19 - <a>Объекты первого класса</a><p>Знакомимся с анонимными функциями и смотрим на функции, как на данные</p>
19 + <p>Понятие лексического окружения и его роль в работе замыканий, взаимосвязь между лексическим окружением и областью видимости</p>
20 - <p>9</p>
20 + <p>Частичное применение и каррирование</p>
21 - <a>Функции высшего порядка</a><p>Учимся строить абстракции с помощью функций</p>
21 + <p>Техника частичного применения для фиксации части аргументов функции, понятие каррирования и его преимущества для создания специализированных функций, сравнение частичного применения и каррирования в реальных сценариях</p>
22 - <p>10</p>
22 + <p>Моделирование предметной области</p>
23 - <a>Отображение (map)</a><p>Учимся пользоваться методом `map`</p>
23 + <p>Создание моделей предметной области для представления данных и отношений, использование моделей для создания абстракций и сокрытия деталей реализации</p>
24 - <p>11</p>
24 + <p>Барьеры абстракции</p>
25 - <a>Фильтрация (filter)</a><p>Учимся пользоваться методом `filter`</p>
25 + <p>Понятие барьеров абстракции и их роль в разделении уровней системы, примеры повышения уровня абстракции для упрощения взаимодействия между компонентами, влияние барьеров абстракции на поддерживаемость и расширяемость кода</p>
26 - <p>12</p>
26 + <p>Составные данные</p>
27 - <a>Агрегация (reduce)</a><p>Учимся пользоваться методом `reduce`</p>
27 + <p>Создание составных данных для представления сложных структур данных, использование составных данных для создания эффективного и масштабируемого кода</p>
28 - <p>13</p>
28 + <p>Пары</p>
29 - <a>Цепочка операций</a><p>Знакомимся с концепцией стандартных интерфейсов</p>
29 + <p>Создание пар и других составных данных для представления отношений между данными, использование пар и других составных данных для создания модульного и гибкого кода</p>
30 - <p>14</p>
30 + <p>Рациональные числа</p>
31 - <aарадигмы программирования</a><p>Знакомимся с понятием "парадигма" и рассматриваем отличия императивной и декларативной парадигм</p>
31 + <p>Представление рациональных чисел как абстракции на основе пар, реализация операций над рациональными числами,</p>
32 - <p>15</p>
32 + <p>Моделирование сложных систем</p>
33 - <a>Рекурсия</a><p>Разбираемся в одной из самых важных и интересных базовых концепций - рекурсии и рекурсивных вызовах</p>
33 + <p>Представление сложных структур данных на базе более простых, создание последовательностей на основе пар, обработка последовательностей</p>
34 - <p>16</p>
34 + <p>Инверсия</p>
35 - <aтеративный процесс</a><p>Знакомимся с другим видом применения рекурсии, без откладывания вычислений до самого конца</p>
35 + <pзучение принципа инверсии зависимостей и его применение для улучшения тестируемости</p>
36 - <p>17</p>
36 + <p>Помеченные данные</p>
37 - <a>Абстракция с помощью функций</a><p>Обобщаем знания о функциях и знакомимся с абстракциями</p>
37 + <p>Изучение концепции помеченных данных и их роли в управлении состоянием программы</p>
 
38 + <p>Диспетчеризация по типу и аддитивность</p>
 
39 + <p>Понятие аддитивных программ и их преимущества для построения модульных систем, изучение механизма динамической диспетчеризации и его роли в управлении поведением программы</p>
 
40 + <p>Объекты</p>
 
41 + <p>Основные принципы работы с объектами в контексте ООП, роль динамической диспетчеризации в работе с объектами и их методами, создание и использование объектов</p>
 
42 + <p>Нативные объекты</p>
 
43 + <p>Изучение объектов, встроенных в JavaScript, таких как Object, Array, Date и других, разбор особенностей изменяемости объектов, даже если они объявлены как константы, работа с нативными объектами</p>
 
44 + <p>Классы и полиморфизм</p>
 
45 + <p>Классы как структуры для создания объектов, механизм создания объектов с помощью new, изучение понятия полиморфизма и его трех типов: параметрического, ad-hoc и подтипов, примеры использования полиморфизма для создания гибкой и расширяемой системы</p>
 
46 + <p>Массивы</p>
 
47 + <p>Основные операции с массивами: добавление, удаление, поиск. особенности работы с массивами в JavaScript, примеры использования массивов для хранения и обработки данных</p>
 
48 + <p>Map и Set</p>
 
49 + <p>Структура данных Map для хранения пар ключ-значение, структура данных Set для хранения уникальных значений</p>
 
50 + <p>Fluent Interface</p>
 
51 + <p>Паттерн Fluent Interface для создания цепочек вызовов методов, примеры реализации Fluent Interface в JavaScript, преимущества и недостатки использования Fluent Interface</p>
 
52 + <p>Неизменяемость</p>
 
53 + <p>Понятие неизменяемости и её роль в функциональном программировании, примеры использования неизменяемых структур данных, влияние неизменяемости на производительность и безопасность кода</p>
 
54 + <p>Ленивые вычисления</p>
 
55 + <p>Понятие ленивых вычислений и их применение в JavaScript, примеры использования ленивых вычислений для оптимизации работы с коллекциями, сравнение ленивых и строгих вычислений</p>
 
56 + <p>Операции rest, spread и деструктуризация</p>
 
57 + <p>Операция rest для работы с переменным количеством аргументов, операция spread для объединения и копирования данных, деструктуризация массивов и объектов для извлечения данных</p>
 
58 + <h2>Как проходит обучение</h2>
 
59 + <p>Теория в удобном текстовом формате - легко читать даже с телефона. Живые примеры помогают понять, как всё работает. Материал выстроен так, чтобы вы двигались шаг за шагом, не упуская важных деталей</p>
 
60 + <p>Подписка от 2 400 ₽/мес</p>
 
61 + <p>Этот навык уже входит в подписку. Оформи доступ и открывай все навыки сразу (50+)</p>
 
62 + <p><a>Подписаться →</a></p>
 
63 + <ul><li><p>50+ навыков в одной подписке</p>
 
64 + </li>
 
65 + <li><p>Пожизненный доступ к теории</p>
 
66 + </li>
 
67 + <li><p>Обучение с ИИ-ассистентом</p>
 
68 + </li>
 
69 + <li><p>Отмена в любой момент</p>
 
70 + </li>
 
71 + </ul><h2>Нам доверяют обучение своих сотрудников</h2>
 
72 + <h2>Отзывы о Хекслете на площадках</h2>