Skip to content

Latest commit

 

History

History
103 lines (87 loc) · 6.95 KB

README.ru.md

File metadata and controls

103 lines (87 loc) · 6.95 KB

Индекс репозиториев HowProgrammingWorks

| English | Русский | Українська |

Базовые концепции

  1. Абстракции как сущность программирования и инженерии
  2. Переменные и типы данных, скалярные и ссылочные типы, объекты, массивы и структуры данных
  3. Функции включая анонимные и лямбда-выражения, чистые функции и побочные эффекты
  4. Суперпозиция и конпозиция функций, частичное применение, каррирование и функции-обертки
  5. Функции высшего порядка включая колбеки и замыкания
  6. Итерирование и циклы
  7. Строковые операции
  8. Коллекции: Set и WeakSet, Map и WeakMap

Вспомогательные темы

  1. Инструменты разработки и конфигурация среды разработки
  2. Системы управления версиями и групповая работа
  3. Стиль кода и конвенции
  4. Исследование производительности и скорости кода
  5. Заготовка проекта

Структуры данных

  1. Списки: односвязные, двусвязный, кольцо
  2. Деревья: классификация, реализация, обход
  3. Графы и ориентированные графы

Файлы, потоки, буферы и сокеты

  1. Буферы
  2. Работа с файлами: дескриптор, синхронные и асинхронные операции, наблюдение за файловой системой
  3. Файловые потоки
  4. Сокеты: TCP и UDP, client и server

Продвинутые темы

  1. Функторы, аппликативные функторы и монады
  2. Кеширование и мемоизация
  3. Примеси как декораторы и непрямое наследование
  4. Итераторы и генераторы
  5. Асинхронное исполнение, ввод/вывод и параллелизм
  6. События и EventEmitter
  7. Promises и чеининг
  8. Сериализация и десериализация
  9. Регулярные выражения

Программная архитектура

  1. Модульность и зависимости
  2. Инверсия управления
  3. Внедрение зависимостей
  4. Межпроцессовое взаимодействие
  5. Песочницы
  6. Многослойные и многозвенные архитектуры
  7. Слой доступа к данным, курсоры и объектно-реляционное отображение
  8. Сервера приложений, тонкие и толстые клиенты
  9. Интроспекция, рефлексия и скаффолдинг

Комплексные примеры

  1. Маршрутизация для HTTP сервера
  2. Чат на Websocket-ах
  3. Интерактивные многопользовательские, живые таблицы
  4. Проекция данных

Парадигмы и техники программирования

  1. Императивное, неструктурное, структурное и процедурное программирование
  2. Функциональное программирование
  3. Логическое, декларативное и автоматное программирование
  4. Language-oriented программирование и языки, специализированные для предметной области
  5. Объектно-ориентированное и прототипное программирование
  6. Асинхронное, реактивное и событийное программирование
  7. Вероятностное программирование
  8. Программирование управляемое данными
  9. Метапрограммирование