LearnJavaScript Beggom · 14-Авг-25 10:15(2 месяца 2 дня назад, ред. 14-Авг-25 19:02)
Python Developer. Professional | Разработчик Python. Продвинутый курс Год выпуска: 2020 Производитель: OTUS Сайт производителя: https://otus.ru/lessons/python-professional/ Продолжительность: 56ч 30м 6с Тип раздаваемого материала: Видеоурок Язык: Русский Субтитры: Отсутствуют Описание: Для кого этот курс?
Для опытных разработчиков на Python, для выпускников курса Python Developer. Basic: углубите знания в области паттернов проектирования, изучите асинхронное программирование и метапрограммирование, повысите производительность и безопасность кода
Для опытных разработчиков на других языках программирования (со знанием Python): узнаете о тонкостях программирования на Python, об устройстве экосистемы языка, прокачаете навыки работы с другими языками программирования
Для веб-разработчиков: научитесь создавать масштабируемые и безопасные веб-приложения, изучите особенности построения RESTful API на примере FastAPI; поработаете с Django, популярным фреймворком для веб-разработки
Для дата-сайентистов и ML-разработчиков: научитесь использовать Python для обработки и анализа больших объёмов данных; сможете практиковаться в сфере машинного обучения, работать с библиотеками Pandas, NumPy, Matplotlib и другими инструментами для анализа данных и построения предсказательных моделей
Необходимые знания
уверенно программируете на Python
имеете представление о сетевом взаимодействии и реляционных СУБД
умеете обращаться с Linux, Git и другими стандартными инструментами разработчика
знаете HTML, CSS, JavaScript
понимаете стандартные сетевые протоколы и web в целом
понимаете, как хранить добытое в БД представление о примитивах ОС - алгоритмы
можете сделать простой поисковый движок
Что вам даст этот курс?
Вы сформируете основные компетенции в программной инженерии, сможете прагматично подходить к решению задач, погрузитесь в современную «промышленную» разработку на Python
Высокая производительность: вы научитесь анализировать производительность инструментов и ресурсов, профилировать код, проектировать и реализовывать высокопроизводительные приложения
Анализ данных: вы научитесь визуализировать данные, понимать особенности ПО, работающего с данными, использовать аналитические библиотеки
Веб-разработка: вы научитесь понимать особенности устройства веб-приложений, разбираться в работе фреймворков, проектировать веб-приложения
Создание ПО: вы научитесь работать с базовыми концепциями и моделями, исследовать устройство стороннего ПО, поддерживать собственное ПО, проектировать архитектуру
Программа курса
База Этот модуль посвящен рассмотрению фундаментальных основ языка на продвинутом уровне, а также применению общих практик разработки ПО в контексте «экосистемы» Python. Целью является достижение единого понятийного аппарата, формирование представления о внутреннем устройстве языка, его возможностях, ограничениях, недостатках и области применимости. В модуле рассматриваются нюансы настройки окружения разработчика, аспекты функционального, процедурного и ООП программирования на Python, особенности устройства виртуальной машины, вопросы обеспечения качества ПО и автоматизации инфраструктурных задач. Тема 1: Структура проекта, управление зависимостями, настройка окружения: обзор и лучшие практики // ДЗ
Тема 2: Дистрибуция кода и развертывание: путь от лэпота до кластера
Тема 3: Аннотации типов: уровень nightmare! // ДЗ
Тема 4: Внутренности: байткод, его исполнение и виртуальная машина
Тема 5: Внутренности: устройство основных типов, управление памятью и GIL
Тема 6: ООП: Объектная модель и особенности ООП в Python // ДЗ
Тема 7: ООП: Дескрипторы и метапрограммирование
Тема 8: Тестирование: pytest и как писать тесты // ДЗ
Тема 9: Тестирование: (анти)паттерны и инструменты
Тема 10: Дизайн кода и архитектура: абстракции, модульность, SOLID
Тема 11: Дизайн кода и архитектура: domain driven design, чистая архитектура // ДЗ
Тема 12: Дизайн кода и архитектура: event driven архитектура, микросервисы
Тема 13: Дизайн кода и архитектура: паттерны проектирования Web-программирование Этот модуль посвящен веб-разработке, тому, какой она выглядит со стороны Python программиста и какими особенностями обладает. Целью является рассмотрение нюансов и лучших практик по созданию и эксплуатации веб-сервисов. В модуле рассматривается Django, внутреннее устройство его ORM и других его составляющих, обсуждаются особенности построения REST API на примере FastAPI, масштабирования веб-проектов. Тема 1: Сетевое взаимодействие и архитектура web-серверов // ДЗ
Тема 2: Создание динамических страниц: от CGI до ASGI
Тема 3: MVC/MVT фреймворки на примере Django // ДЗ
Тема 4: ORM: хорошее, плохое и злое
Тема 5: Работа с БД: транзакции, репликация, шардирование и даже NoSQL
Тема 6: API: что такое настоящий REST и как создавать RESTful приложения
Тема 7: FastAPI: основы // ДЗ
Тема 8: FastAPI: взаимодействие с БД и SQLAlchemy
Тема 9: Аутентификация и авторизация // ДЗ
Тема 10: API: (g)RPC, GraphQL
Тема 11: Безопасность: обзор распространенных проблем, уязвимостей и лучших практик ML Engineering Этот модуль посвящен знакомству с фундаментальными библиотеками, применяемыми для анализа данных, а также обзору современной big data экосистемы. Python является де-факто стандартом при решении аналитических задач, поэтому данный аспект языка нельзя обойти стороной. При этом целью модуля является не погружение в математические дебри, а рассмотрение таких инструментов, как jupyter, numpy, pandas и matplotlib, и области их применения в инженерной и аналитической деятельности. Тема 1: Высокопроизводительные вычисления с NumPy // ДЗ
Тема 2: Исследовательский анализ данных c Pandas
Тема 3: Инструменты работы с данными: IPython, matplotlib, seaborn
Тема 4: Оркестрация задач: jenkins, luigi, airflow
Тема 5: Нейронки: PyTorch, TensorFlow, HuggingFace и LLM // ДЗ
Тема 6: Обзор big data экосистемы: хранение и обработка данных, обучение и inference, model serving Highload Этот модуль посвящен высокопроизводительным вычислениям на Python. В модуле рассматриваются особенности конкурентного и асинхронного программирования и то, как на это влияет устройство виртуальной машины языка. Также внимание уделяется превратностям написания расширений на С и вопросам профилирования кода. В качестве бонуса происходит знакомство с языком Go, который часто используется Python-программистами для решения performance-critical задач. Тема 1: Профилирование производительности
Тема 2: Concurrency: многопоточное программирование и примитивы синхронизации // ДЗ
Тема 3: Concurrency: процессы и межпроцессное взаимодействие (IPC)
Тема 4: Ускорение с помощью C: расширения
Тема 5: Ускорение с помощью C: Cython, Pypy и FFI
Тема 6: asyncio: происхождение и основы // ДЗ
Тема 7: asyncio: event loop, внутренности async/await, низко- и высокоуровневое API
Тема 8: asyncio: инструменты и лучшие практики
Тема 9: Golang: зачем он Python разработчику + тур по языку // ДЗ
Тема 10: Golang: горутины, планировщик, конкурентная обработка
Тема 11: Обзор новинок и изменений из свежих версий Python Проектная работа Заключительный месяц курса посвящен разработке проекта. В качестве темы выбирается то, что интересно писать студенту, и то, что потенциально можно будет потом включить в свое резюме. Участие в разработке некоего open source продукта тоже может рассматриваться в качестве выпускного проекта. При этом не обязательно закончить его за месяц. В процессе написания проекта можно получить консультации преподавателей.
Примеры тем проекта:
- система мониторинга ПК в корпоративной сети;
- свой ORM;
- web-приложение по поиску групп с целевой аудиторией в ВК;
- исследование dataset’а с визуализацией. Тема 1: Выбор темы и организация проектной работы
Тема 2: Консультация по проектам и домашним заданиям
Тема 3: Защита проектных работ
General
Complete name : E:\[OTUS] Разработчик Python. Продвинутый курс (2020)\23.Concurrency. Часть 1\Concurrency. Часть 1.mp4
Format : MPEG-4
Format profile : Base Media / Version 2
Codec ID : mp42 (isom/mp42)
File size : 261 MiB
Duration : 2 h 1 min
Overall bit rate mode : Variable
Overall bit rate : 300 kb/s
Frame rate : 25.000 FPS
Encoded date : 2020-05-25 19:11:19 UTC
Tagged date : 2020-05-25 19:11:19 UTC Video
ID : 2
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L5
Format settings : CABAC / 11 Ref Frames
Format settings, CABAC : Yes
Format settings, Reference frames : 11 frames
Format settings, Slice count : 4 slices per frame
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 2 h 1 min
Bit rate : 245 kb/s
Width : 1 440 pixels
Height : 900 pixels
Display aspect ratio : 16:10
Frame rate mode : Constant
Frame rate : 25.000 FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.008
Stream size : 213 MiB (82%)
Title : H.264/AVC video
Writing library : AVC Coding
Encoded date : 2020-05-25 19:11:19 UTC
Tagged date : 2020-05-25 19:11:19 UTC
Codec configuration box : avcC Audio
ID : 1
Format : AAC LC
Format/Info : Advanced Audio Codec Low Complexity
Codec ID : mp4a-40-2
Duration : 2 h 1 min
Bit rate mode : Variable
Bit rate : 53.4 kb/s
Maximum bit rate : 126 kb/s
Channel(s) : 1 channel
Channel layout : M
Sampling rate : 32.0 kHz
Frame rate : 31.250 FPS (1024 SPF)
Compression mode : Lossy
Stream size : 46.4 MiB (18%)
Title : AAC audio
Encoded date : 2020-05-25 19:11:19 UTC
Tagged date : 2020-05-25 19:11:19 UTC