Каталог материалов курса
Здесь собраны рекомендованные материалы по курсу «Проектирование веб-приложений»: книги, видеокурсы, документация и онлайн-курсы.
Книги
1. Проектирование данных (Designing Data-Intensive Applications)
Автор: Мартин Клепман
Тема: проектирование высоконагруженных систем
Уровень: продвинутый
Книга про то, как проектировать системы с большими объёмами данных: хранение, обработка, распределённые системы, согласованность. Полезно, когда уже есть базовое понимание БД и архитектуры и хочется углубиться в высоконагруженные системы.
2. Проектирование Enterprise-приложений (Enterprise Application Architecture)
Автор: Мартин Фаулер
Тема: проектирование корпоративных приложений
Уровень: продвинутый
Паттерны и практики проектирования корпоративных приложений: доменное моделирование, архитектурные паттерны. Имеет смысл после того, как вы уверенно чувствуете себя в ООП и базовой архитектуре.
3. Web Application Architecture: Principles, Protocols and Practices
Автор: Leon Shklar, Rich Rosen
Тема: разработка, архитектура веб-приложений
Уровень: средний–продвинутый
Обзор архитектуры веб-приложений: клиент-серверное взаимодействие, веб-сервисы, RESTful API и связанные темы. Подойдёт, когда есть базовые знания веб-разработки и хочется систематизировать понимание архитектуры.
4. The Mythical Man-Month: Essays on Software Engineering
Автор: Fred Brooks
Тема: разработка ПО, управление проектами
Уровень: любой
Первое издание: 1975
Классическая книга об разработке ПО и управлении проектами. Основная идея: добавление людей в отстающий проект часто замедляет его ещё сильнее (закон Брукса). Также про второй системный эффект и пользу прототипирования. Полезно и разработчикам, и тем, кто хочет понимать организацию проектов.
5. Грокаем алгоритмы (Grokking Algorithms)
Автор: Адитья Бхаргава
Тема: алгоритмы
Уровень: начальный–средний
Доступное введение в алгоритмы и структуры данных — по сути «алгоритмы для чайников»: сортировка, поиск, графы, динамическое программирование. Подойдёт, если вы уже немного программируете и хотите разобраться в основах без лишней математики.
6. Принципы юнит-тестирования
Автор: Владимир Хориков
Тема: unit-тестирование
Уровень: средний–продвинутый
Для тех, кто уже пишет юнит-тесты и хочет делать это качественно: как проектировать тесты, использовать моки, организовывать код тестов, подходить к TDD. Нужен хотя бы небольшой опыт юнит-тестирования.
7. Чистый код (Clean Code)
Автор: Роберт Мартин
Тема: разработка, качество кода
Уровень: средний
Про то, как писать понятный и поддерживаемый код: именование, организация кода, рефакторинг, принципы SOLID. Имеет смысл, когда уже есть опыт программирования и хочется систематизировать практики качества кода.
Видеокурсы
1. Курс МФТИ «Высоконагруженные системы»
Преподаватель: Бунин О. В.
Тема: высоконагруженные системы
Уровень: продвинутый
Длительность: около 40 часов
Стоимость: бесплатно
ФПМИ МФТИ, Highload (4 курс, весна 2022). Курс по проектированию и архитектуре высоконагруженных систем: оптимизация, масштабируемость. Подойдёт тем, кто уже разбирается в архитектуре и хочет углубиться в высокие нагрузки.
Где смотреть: Сайт МФТИ — там есть ссылки на записи лекций.
2. Школа бэкенд-разработки 2023
Провайдер: Яндекс
Тема: бэкенд
Уровень: средний–продвинутый
Длительность: около 60 часов
Стоимость: бесплатно
Яндекс — Школа бэкенд-разработки 2023 (в том числе на YouTube). Серверная архитектура, БД, API, микросервисы. Рассчитан на тех, у кого уже есть база в программировании.
Где смотреть: Яндекс.Практикум — программа и материалы; записи также доступны на YouTube.
3. Школа разработки интерфейсов 2023
Провайдер: Яндекс
Тема: фронтенд
Уровень: средний–продвинутый
Длительность: около 50 часов
Стоимость: бесплатно
Яндекс — Школа разработки интерфейсов 2023 (в том числе на YouTube). React, Vue, современный JavaScript, CSS, UI/UX. Имеет смысл, когда уже есть базовые знания HTML, CSS и JavaScript.
Где смотреть: Яндекс.Практикум — программа и материалы; записи также доступны на YouTube.
Документация
1. Documents & RFCs (MDN)
Тема: веб
Уровень: любой
Официальная документация по веб-технологиям и стандартам: HTML, CSS, JavaScript, веб-API, RFC. Удобно использовать как справочник при разработке и изучении веба.
Где смотреть: MDN Web Docs
Онлайн-курсы
1. Full Stack Open
Тема: разработка, fullstack
Уровень: средний
Стоимость: бесплатно
Курс по полноценной (fullstack) разработке веб-приложений: от фронтенда до бэкенда и развёртывания. Подойдёт, когда уже есть база в программировании и хочется собрать целостную картину веб-разработки.
Где проходить: Full Stack Open.