Skip to content

Commit 29b40f2

Browse files
Translate index to Russian
Co-authored-by: Timur Shemsedinov <timur.shemsedinov@gmail.com>
1 parent 25a1be0 commit 29b40f2

File tree

1 file changed

+111
-0
lines changed

1 file changed

+111
-0
lines changed

content/Index.ru.md

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,112 @@
11
# Оглавление
2+
3+
1. Введение
4+
1.1. Подход к изучению программирования
5+
1.2. Примеры на языках JavaScript, Python и C
6+
1.3. Моделирование: абстракции и повторное использование
7+
1.4. Алгоритм, программа, синтаксис, язык
8+
1.5. Декомпозиция и разделение ответственности
9+
1.6. Обзор специальности инженер-программист
10+
1.7. Обзор парадигм программирования
11+
2. Базовые концепты
12+
2.1. Значение, идентификатор, переменная и константа, литерал, присвоение
13+
2.2. Типы данных, скалярные, ссылочные и структурные типы
14+
2.3. Контекст и лексическое окружение
15+
2.4. Оператор и выражение, блок кода, функция, цикл, условие
16+
2.5. Процедурная парадигма, вызов, стек и куча
17+
2.6. Функция высшего порядка, чистая функция, побочные эффекты
18+
2.7. Замыкания, функции обратного вызова, обертки и события
19+
2.8. Исключения и обработка ошибок
20+
2.9. Мономорфный код в динамических языках
21+
3. Состояние приложения, структуры данных и коллекции
22+
3.1. Подходы к работе с состоянием: stateful and stateless
23+
3.2. Структуры и записи
24+
3.3. Массив, список, множество, кортеж
25+
3.4. Словарь, хэш-таблица и ассоциативный массив
26+
3.5. Стек, очередь, дэк
27+
3.6. Деревья и графы
28+
3.7. Проекции и отображения наборов данных
29+
3.8. Оценка вычислительной сложности
30+
4. Расширенные концепции
31+
4.1. Что такое технологический стек
32+
4.2. Среда разработки и отладка кода
33+
4.3. Итерирование: рекурсия, итераторы и генераторы
34+
4.4. Структура приложения: файлы, модули, компоненты
35+
4.5. Объект, прототип и класс
36+
4.6. Частичное применение и каррирование, композиция функций
37+
4.7. Чеининг для методов и функций
38+
4.8. Примеси (mixins)
39+
4.9. Зависимости и библиотеки
40+
5. Распространенные парадигмы программирования
41+
5.1. Императивный и декларативный подход
42+
5.2. Структурированное и неструктурированное программирование
43+
5.3. Процедурное программирование
44+
5.4. Функциональное программирование
45+
5.5. Объектно-ориентированное программирование
46+
5.6. Прототипное программирование
47+
6. Антипаттерны
48+
6.1. Общие антипаттерны для всех парадигм
49+
6.2. Процедурные антипаттерны
50+
6.3. Объектно-ориентированные антипаттерны
51+
6.4. Функциональные антипаттерны
52+
7. Процесс разработки
53+
7.1. Жизненный цикл ПО, анализ предметной области
54+
7.2. Соглашения и стандарты
55+
7.3. Тестирование: юниттесты, системное и интеграционное тестирование
56+
7.4. Проверка кода и рефакторинг
57+
7.5. Оценка ресурсов, план и график развития
58+
7.6. Анализ рисков, слабые стороны, не функциональные требования
59+
7.7. Координация и корректировка процесса
60+
7.8. Непрерывная интеграция и развертывание
61+
7.9. Оптимизация множества аспектов
62+
8. Расширенные концепции
63+
8.1. События, таймеры и EventEmitter
64+
8.2. Интроспекция и рефлексия
65+
8.3. Сериализация и десериализация
66+
8.4. Регулярные выражения
67+
8.5. Мемоизация
68+
8.6. Фабрики и пулы
69+
8.7. Типизированные массивы
70+
8.8. Проекции
71+
8.9. I/O(ввод-вывод) и файлы
72+
9. Архитектура
73+
9.1. Декомпозиция, именование и связывание
74+
9.2. Взаимодействие между компонентами ПО
75+
9.3. Связывание через пространства имен
76+
9.4. Взаимодействие с вызовами и колбэками
77+
9.5. Взаимодействие с событиями и сообщениями
78+
9.6. Интерфейсы, протоколы и контракты
79+
6.7. Луковая (onion) или слоеная архитектура
80+
10. Основы параллельных вычислений
81+
10.1. Асинхронное программирование
82+
10.2. Параллельное программирование, общая память и примитивы синхронизации
83+
10.3. Асинхронные примитивы: Thenable, Promise, Future, Deferred
84+
10.4. Сопрограммы, горутины, async/await
85+
10.5. Адаптеры между асинхронными контрактами
86+
10.6. Асинхронная и параллельная совместимость
87+
10.7. Подход к передаче сообщений и модель акторов
88+
10.8. Асинхронная очередь и асинхронные коллекции
89+
10.8. Lock-free структуры данных
90+
11. Дополнительные парадигмы программирования
91+
11.1. Обобщенное программирование
92+
11.2. Событийное и реактивное программирование
93+
11.3. Автоматное программирование: конечные автоматы (машины состояний)
94+
11.4. Специализированные языки для предметных областей (DSL)
95+
11.5. Программирование на потоках данных
96+
11.6. Метапрограммирование
97+
11.7. Динамическая интерпретация метамодели
98+
12. Базы данных и постоянное хранение
99+
12.1. История баз данных и навигационные базы данных
100+
12.2. Ключ-значение и другие абстрактные структуры данных
101+
12.3. Реляционная модель данных и ER-диаграммы
102+
12.4. Бессхемные, объектно- и документо-ориентированные базы данных
103+
12.5. Иерархическая модель данных и графовые базы данных
104+
12.6. Колоночные базы данных и in-memory базы данных
105+
12.7. Распределенные базы данных
106+
13. Распределенные системы
107+
13.1. Межпроцессное взаимодействие
108+
13.2. Бесконфликтные реплицированные типы данных (CRDT)
109+
13.3. Согласованность, доступность и распределенность
110+
13.4. Стратегии разрешения конфликтов
111+
13.5. Протоколы консенсуса
112+
13.6. CQRS, EventSourcing

0 commit comments

Comments
 (0)