Курс · Python-трек
Python · ООП и архитектура приложений
Научитесь развивать приложение без цепочки случайных правок и хрупких зависимостей.
Разберётесь, где нужны классы, а где достаточно простой функции. Освоите SOLID и паттерны через изменения требований к одному приложению. Получите архитектурный кейс с тестами и объяснением принятых решений.
Основные занятия ведёт Сергей Валерьевич Герасименко — практикующий разработчик и основатель ТЕРАКОР и ТЕРАКОР Digital.
- Python 3
- dataclasses
- typing / Protocol
- abc
- functools
- pytest
- Git
- SOLID
- Factory
- Observer
Главные преимущества курса
✨ Мастер-класс по архитектуре промышленного ПО на Python
SOLID архитектура
5 принципов устойчивого проектирования, Dependency Injection, инверсия зависимостей
Метапрограммирование
Декораторы, вызываемые объекты, декораторы классов, библиотека декораторов
Паттерны GoF
Фабричный метод, Абстрактная фабрика, Строитель, Наблюдатель
Событийная модель
Pub/Sub, Observer, событийно-ориентированное взаимодействие
О курсе
Продвинутый Python от ООП до архитектурных паттернов промышленного уровня
Объём программы
📚 Объём программы: 120 академических часов
• 40 академ/часов — занятия с преподавателем (лекции + практика)
• 80 академ/часов — самостоятельная работа, домашние задания, проекты
Формат
Онлайн
До 8 человек в группе
Индивидуальные консультации
Результат
Сертификат + Портфолио
10 модулей с лабораторными
Архитектурный проект
🛠 Технологический стек
🐍 Python 3.12+ 📐 PyCharm IDE 🧩 Mypy / ABC 🔄 functools / itertools 🧪 pytest / unittest 📁 Git / GitHub 🏗️ SOLID / DI 🎨 Декораторы 📡 Observer / Pub-Sub🎯 Кому подойдет этот курс?
- Python-разработчикам с опытом от 6 месяцев
- Выпускникам курсов по основам Python
- Тем, кто хочет освоить продвинутый OOP и SOLID
- Разработчикам для перехода на архитектурные позиции
- Для подготовки к техническим собеседованиям Senior уровня
Отзывы о курсе
Мнения выпускников курса «Python: продвинутый OOP и архитектура»
Обучение лично у основателя ТЕРАКОР
Сергей Валерьевич Герасименко
Руководитель ТЕРАКОР Digital · ведущий преподаватель
Ближайший поток стартует в первый понедельник следующего месяца · осталось 4 места
Возможны вечерние занятия и обучение в выходные.
Все основные программы центра ведёт Сергей Валерьевич Герасименко — практикующий full-stack разработчик, технический директор и основатель ТЕРАКОР и ТЕРАКОР Digital.
Вы обучаетесь не у преподавателя-теоретика, а у специалиста, который сам разрабатывает программные системы и применяет технологии в коммерческих проектах.
Один руководитель.Два направления.Единая инженерная практика.
Сергей Герасименко — ведущий преподаватель и практикующий разработчик с многолетним опытом преподавания в ведущих учебных центрах страны. Проектирует современные программные системы и переносит рабочие инженерные практики в обучение.
-
17+
лет в Enterprise-разработке
-
25 000+
специалистов подготовил
-
5 000+
технических собеседований провёл
Enterprise-опыт, а не пересказ документации
Создавал программное обеспечение для Управления ОАО «РЖД» и спроектировал корпоративную систему «САОС» для массовых опросов. Система победила в конкурсе инновационных проектов РЖД и сегодня используется в крупных организациях. На занятиях Сергей разбирает именно те задачи, с которыми разработчики сталкиваются в реальных коммерческих компаниях.
Знает требования рынка изнутри
Проводит tech-собеседования для банков и IT-команд. На курсе — Spring Boot 4, Kafka 4, Core, SQL и архитектура. Mock-собеседования для выпускников включены.
Программа курса выстроена на основе реальных требований работодателей — именно тех, которые Сергей проверяет на собеседованиях каждый день.
Ключевые компетенции
-
Enterprise-архитектура — проектирование высоконагруженных систем (опыт в ОАО «РЖД»)
-
Java-экосистема — Java 21, Spring Boot 4, Spring AI: от основ до production-паттернов
-
Распределённые системы — практический опыт с Kafka 4 и микросервисной архитектурой
-
Базы данных — PostgreSQL на уровне production: оптимизация запросов, проектирование схем
-
System Design — подготовка к архитектурным секциям собеседований уровня Middle+
-
Техническое интервью — 5 000+ проведённых собеседований для банков и IT-компаний
Состав программы
Что входит в программу
40 ак. ч. с преподавателем · 80 ак. ч. самостоятельно · всего 120 ак. ч. Каждый модуль — проектный этап с критериями приёмки.
Объектная модель и окружение
- Структура пакета, окружение и тестовый запуск
- Классы, экземпляры, self и модель ссылок
- dataclasses и различие данных и поведения
- Доменные сущности и простые инварианты
Проект этапа
Модель заказа
Задача: Создать Order и OrderItem с расчётом суммы и примерами использования.
Критерии приёмки
- Состояние экземпляров независимо
- Недопустимое количество отклоняется
- Сумма проверена
Инкапсуляция и жизненный цикл
- Свойства, методы изменения состояния и @property
- Публичный контракт и внутренние детали реализации
- Валидация и доменные исключения
- Name mangling без иллюзии защиты доступа
Проект этапа
Жизненный цикл заказа
Задача: Реализовать создание, подтверждение и отмену заказа с ограничениями переходов.
Критерии приёмки
- Нельзя подтвердить пустой заказ или изменить отменённый
- Ошибки объясняют причину
Протоколы объектов и итерация
- __str__, __repr__, __eq__ и понятное поведение
- Контейнерные протоколы и итераторы
- Генераторы для последовательной обработки
- Композиция вместо ненужного наследования
Проект этапа
Каталог и выборка заказов
Задача: Создать коллекцию с поиском и ленивой выборкой по условию.
Критерии приёмки
- Повторный обход работает предсказуемо
- Выборка не меняет исходную коллекцию
Функции и декораторы
- Функции первого класса и замыкания
- functools.wraps и параметры декоратора
- Логирование, измерение времени и ограничения кэширования
- Тестирование обёрток и сохранение контракта
Проект этапа
Набор диагностических декораторов
Задача: Добавить измерение времени и безопасный журнал вызовов без изменения бизнес-функций.
Критерии приёмки
- Метаданные сохранены
- Исключения не скрыты
- Чувствительные аргументы не попадают в журнал
SOLID и внедрение зависимостей
- SRP и разделение бизнес-логики и инфраструктуры
- OCP, LSP и ISP на изменении требований
- DIP, ручной DI, Protocol и ABC
- Тестовые двойники и проверка контрактов
Проект этапа
Сервис заказов с заменяемым хранилищем
Задача: Отделить use cases от хранения и подставить in-memory реализацию в тестах.
Критерии приёмки
- Сервис не создаёт хранилище внутри себя
- Тесты бизнес-правил работают без внешней БД
Наследование и прикладные паттерны
- Композиция, наследование, super и обзор MRO
- Strategy для изменяемых правил
- Factory для выбора реализации
- Builder только для сложной пошаговой сборки
Проект этапа
Модуль расчёта стоимости
Задача: Добавить стратегии скидок и фабрику выбора правила по конфигурации.
Критерии приёмки
- Новая стратегия подключается без правок существующих
- Проверены минимум два сценария
События и слабая связанность
- Observer и внутрипроцессный Pub/Sub
- События, подписчики и явные контракты
- Обработка ошибок и повторных вызовов
- Границы локальной шины и отличие от брокера сообщений
Проект этапа
Событийные уведомления
Задача: Подключить журнал и уведомления к событию подтверждения заказа.
Критерии приёмки
- Подписчики тестируются отдельно
- Поведение при сбое задано
- Повтор не создаёт лишнее действие
Рефакторинг и защита архитектуры
- Регрессионные тесты перед изменениями
- Сборка пакета и конфигурация приложения
- README, схема зависимостей и решения
- Демонстрация расширения без переписывания ядра
Проект этапа
OrderDesk
Задача: Собрать приложение, добавить новый обработчик события и объяснить архитектуру.
Критерии приёмки
- Тесты проходят
- Зависимости направлены к контрактам
- Показано изменение требований. 07
Итоговый проект: OrderDesk: расширяемая система заказов
Приложение управляет заказами, рассчитывает стоимость по сменным правилам и отправляет события подключаемым обработчикам. Хранилище и уведомления передаются через явные зависимости.
- Бизнес-правила отделены от интерфейса и хранения.
- Добавлены две стратегии расчёта и два обработчика событий.
- Контракт хранилища проверен на основной и тестовой реализации.
- Запрещённые переходы состояния и ошибки обработчиков проверены тестами.
- README объясняет архитектуру и демонстрирует добавление нового компонента.
Чему вы научитесь
Результаты программы — то, что проверяется на защите итогового проекта
Моделировать предметную область и защищать инварианты объектов.
Выбирать композицию, наследование и протоколы под конкретную задачу.
Подменять внешние зависимости и тестировать бизнес-логику отдельно.
Добавлять способы хранения и уведомления без переписывания ядра.
Портфолио
Практические работы
5 лабораторных для портфолио
Доменные типы
Проектирование классовИнкапсуляция
@property, дескрипторыКастомный итератор
__iter__, __next__Библиотека декораторов
@log, @cache, @validateОфициальный сертификат
Знак качества, который ценят работодатели
Наш сертификат — это не просто бумага за прослушивание курса. Это подтверждение того, что вы прошли строгую проверку знаний, написали работающий код и готовы к реальным коммерческим задачам.
- Два языка: Выдается на русском и английском языках для работы в РФ и за рубежом.
- Уникальный номер: Каждый документ имеет свой номер для проверки подлинности работодателем.
- Интеграция с резюме: Идеально дополняет профиль на hh.ru, Хабр Карьере и LinkedIn.
- Лицензия: Выдается лицензированным учебным центром.
Стоимость обучения
Базовый
Оплата за весь курс
- Доступ ко всем лекциям
- Практические задания
- Доступ к материалам 6 месяцев
- Индивидуальные консультации
⭐ Стандарт
Оплата за весь курс
- Доступ ко всем лекциям
- Практические задания
- Доступ к материалам 1 год
- 4 индивидуальные консультации
Премиум
Оплата за весь курс
- Доступ ко всем лекциям
- Практические задания
- Доступ к материалам 2 года
- 8 индивидуальных консультаций
- Помощь с трудоустройством
Индивидуальное обучение
Персональная программа под ваш уровень знаний и цели
Темы можно выбирать из программы курса: берём только нужные разделы, разбираем ваш проект и двигаемся в удобном темпе.
-
Подстроимся под ваши знания
Начнём с того уровня, на котором вы находитесь -
Гибкий график
Занятия в удобное для вас время -
Только актуальные темы
Количество часов пересчитывается — платите только за нужные модули -
Персональный темп
Изучайте материал в комфортной скорости без спешки -
Максимум внимания
Все вопросы разбираются детально, без ограничений по времени
Гос. лицензия
Лицензия № Л035-01279-64/05620299. Выдана Министерством образования.
Возврат 13%
Вы можете оформить налоговый вычет за обучение и вернуть 13% от стоимости.
Сертификат
Официальный документ об окончании обучения, подтверждающий ваши навыки.
Отзывы выпускников
Алексей Кузнецов
SOLID и паттерны наконец-то стали понятными! Особенно понравилась тема декораторов и метапрограммирования. Сергей объясняет сложные вещи на живых примерах.
Мария Волкова
После курса начала проектировать системы с учётом SOLID. MRO и Mixin-классы теперь не вызывают страха. Спасибо за практику!
Игорь Соколов
Проект на Observer и Pub/Sub — лучшее, что я делал в обучении. Полностью ручное управление зависимостями, без фреймворков — понимаешь, как всё работает изнутри.
ТЕРАКОР · ул. Каланчёвская, д. 15, м. Каланчёвская (по предварительной записи)
Открыть на Яндекс.Картах