72 added
34 removed
Original
2026-01-01
Modified
2026-02-26
1
-
<p>1</p>
1
+
<p>Каррирование</p>
2
-
<a>Информатика как наука</a><p>Обсуждаем, что такое информатика и чем занимается эта наука</p>
2
+
<p>частичное применение</p>
3
-
<p>2</p>
3
+
<p>Диспетчеризация</p>
4
-
<a>Примитивные выражения, комбинирование и абстракция</a><p>Знакомимся с языком Lisp, рассматриваем примитивные выражения, комбинирование, процедуры и абстракции</p>
4
+
<p>ленивые вычисления</p>
5
-
<p>3</p>
5
+
<p>мемоизация</p>
6
-
<a>Процедуры как абстракции</a><p>Изучаем "процедуры как абстракции" - важный подход при программировании</p>
6
+
<p>Навык понимать программы на фундаментальном уровне, уверенно проходить собеседования и решать сложные задачи</p>
7
-
<p>4</p>
7
+
<p>Дмитрий Горохов</p>
8
-
<a>Процедуры и порождаемые ими процессы 1</a><p>Знакомимся с процедурами, процессами, линейной рекурсией и итерациями</p>
8
+
<p>выпускник пайтон</p>
9
-
<p>5</p>
9
+
<h2>Программа обучения</h2>
10
-
<a>Процедуры и порождаемые ими процессы</a><p>Продолжаем изучать процедуры, процессы, линейную рекурсию и итерации</p>
10
+
<p>Guard Expression</p>
11
-
<p>6</p>
11
+
<p>Уменьшение сложности функций через разделение логики на условия</p>
12
-
<a>Древовидная рекурсия</a><p>Рассматриваем вычисление последовательности чисел Фибоначчи как пример древовидной рекурсии</p>
12
+
<p>Параметры по умолчанию</p>
13
-
<p>7</p>
13
+
<p>Синтаксис задания параметров по умолчанию в функциях, влияние параметров по умолчанию на поведение функции при отсутствии аргументов, использование параметров по умолчанию для упрощения вызова функций</p>
14
-
<a>Порядки роста</a><p>Знакомимся с понятием "порядок роста", которое дает общую оценку необходимых ресурсов при увеличении входных данных процессов</p>
14
+
<p>Выполнение функций</p>
15
-
<p>8</p>
15
+
<p>Порядок выполнения функций в составных выражениях</p>
16
-
<a>Возведение в степень</a><p>Рассматриваем возведение числа в степень для лучшего понимания порядков роста</p>
16
+
<p>Объекты первого класса</p>
17
-
<p>9</p>
17
+
<p>Понятие функций как объектов первого класса, передача функций в качестве аргументов другим функциям, возврат функций как результата выполнения других функций</p>
18
-
<a>Наибольший общий делитель</a><p>Изучаем алгоритм поиска наибольшего общего делителя и реализуем его на языке программирования Scheme (LISP)</p>
18
+
<p>Лексическое окружение</p>
19
-
<p>10</p>
19
+
<p>Понятие лексического окружения и его роль в работе замыканий, взаимосвязь между лексическим окружением и областью видимости</p>
20
-
<a>Проверка на простоту</a><p>Реализуем алгоритм проверки числа на простоту на языке программирования Scheme (LISP)</p>
20
+
<p>Частичное применение и каррирование</p>
21
-
<p>11</p>
21
+
<p>Техника частичного применения для фиксации части аргументов функции, понятие каррирования и его преимущества для создания специализированных функций, сравнение частичного применения и каррирования в реальных сценариях</p>
22
-
<a>Процедуры в качестве аргументов</a><p>Рассматриваем важную особенность языка - возможность передачи процедуры как аргумента в другую процедуру</p>
22
+
<p>Моделирование предметной области</p>
23
-
<p>12</p>
23
+
<p>Создание моделей предметной области для представления данных и отношений, использование моделей для создания абстракций и сокрытия деталей реализации</p>
24
-
<a>Построение процедур с помощью lambda</a><p>Учимся создавать процедуры на лету с помощью lambda</p>
24
+
<p>Барьеры абстракции</p>
25
-
<p>13</p>
25
+
<p>Понятие барьеров абстракции и их роль в разделении уровней системы, примеры повышения уровня абстракции для упрощения взаимодействия между компонентами, влияние барьеров абстракции на поддерживаемость и расширяемость кода</p>
26
-
<a>Создание локальных переменных</a><p>Учимся создавать локальные переменные в процедурах</p>
26
+
<p>Составные данные</p>
27
-
<p>14</p>
27
+
<p>Создание составных данных для представления сложных структур данных, использование составных данных для создания эффективного и масштабируемого кода</p>
28
-
<a>Метод половинного деления</a><p>Рассматриваем реализацию метода половинного деления - простого, но мощного способа нахождения корней уравнений с непрерывными функциями</p>
28
+
<p>Пары</p>
29
-
<p>15</p>
29
+
<p>Создание пар и других составных данных для представления отношений между данными, использование пар и других составных данных для создания модульного и гибкого кода</p>
30
-
<a>Нахождение неподвижных точек функций</a><p>Знакомимся с понятием "неподвижные точки функции" и учимся искать их</p>
30
+
<p>Рациональные числа</p>
31
-
<p>16</p>
31
+
<p>Представление рациональных чисел как абстракции на основе пар, реализация операций над рациональными числами,</p>
32
-
<a>Процедуры как возвращаемые значения</a><p>Добиваемся еще большей выразительной силы, создавая процедуры, возвращаемые значения которых сами являются процедурами</p>
32
+
<p>Моделирование сложных систем</p>
33
-
<p>17</p>
33
+
<p>Представление сложных структур данных на базе более простых, создание последовательностей на основе пар, обработка последовательностей</p>
34
-
<a>Метод Ньютона</a><p>Рассматриваем и реализуем общий случай поиска корня с помощью метода Ньютона</p>
34
+
<p>Инверсия</p>
35
+
<p>Изучение принципа инверсии зависимостей и его применение для улучшения тестируемости</p>
36
+
<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>