Чему вы научитесь
- Создавать сложные объектно-ориентированные программы с использованием классов и магических методов.
- Правильно проектировать код, применяя принципы наследования, инкапсуляции и полиморфизма.
- Анализировать и понимать технические задания, переводя их в работающий код.
- Оптимизировать производительность программ, используя массивы, списки, деревья и хеш-таблицы.
- Оценивать сложность алгоритмов с помощью Big O и выбирать лучшие структуры данных под задачу.
- Применять знания о структурах данных для решения алгоритмических задач и подготовки к собеседованиям.
- Работать с потоками, создавая быстрые и отзывчивые программы.
- Избегать ошибок конкурентного доступа и правильно использовать механизмы синхронизации.
- Использовать библиотеки concurrent.futures, queue и threading для управления потоками.
- Запускать и управлять процессами для параллельного выполнения ресурсоемких задач.
- Настраивать межпроцессное взаимодействие через разделяемую память и очереди.
- Использовать библиотеки multiprocessing и concurrent.futures для эффективного распределения нагрузки.
О курсе
Для кого этот курс
Начальные требования
Курс рассчитан на разработчиков, знакомых с основами Python. Перед началом рекомендуется:
✅ Уметь работать с переменными, циклами, коллекциями (списки, словари, множества).
✅ Знать, как определять и вызывать функции, передавать аргументы.
✅ Понимать принципы работы исключений и использовать конструкцию try/except.
✅ Уметь работать с файлами и импортировать модули.
Преподаватели курса
Как проходит обучение
Программа состоит из четырех отдельных курсов, которые рекомендуется проходить последовательно:
- Добрый, добрый Python ООП - обучающий курс от Сергея Балакирева — освоение объектно-ориентированного подхода и структуры программ.
- Добрые, добрые структуры данных с Сергеем Балакиревым — понимание алгоритмов, хранилищ данных и оценка сложности.
- Многопоточность в Python. Multithreading — работа с потоками и конкурентный доступ к данным.
- Многопроцессность в Python. Multiprocessing — использование процессов для распределенной обработки задач.
Курсы включают текстовые лекции, видео, примеры кода, задачи на программирование и тесты.
Что вы получите
- Глубокое понимание ООП и умение применять его в реальных проектах.
- Навык работы с основными структурами данных для написания быстрого и эффективного кода.
- Опыт разработки многопоточных приложений и устранения проблем конкурентности.
- Знание многопроцессности и способов распределения вычислений по ядрам процессора.
- Подготовку к техническим собеседованиям и уверенность в своих силах как Python-разработчика.