В вакансиях для Python программистов часто требуют асинхронность. Эта технология упрощает архитектуру ПО и позволяет создавать сложные проекты, не теряя в скорости разработки. Асинхронность — это светлое будущее веба.
Пока мало кто умеет писать асинхронный код. На рынке труда такие программисты в дефиците: они легко находят работу и просят больше денег. Вы можете стать одним из них. Познакомьтесь с технологиями, освойте best-practices и дополните своё резюме асинхронными проектами. Все что нужно включено в курс.
В этом уроке вы напишете свою консольную игру. Будем летать на ракете и любоваться звёздным небом. А заодно познакомимся с асинхронностью.
Мы не будем использовать готовые движки, а напишем свой. Если вы захотите заменить ракету на динозаврика, а астероиды на кактусы — вы сделаете это в несколько строк кода.
Корутины — это функции из мира асинхронности. Как обычный код состоит из функций, так и асинхронный собирается из корутин. Без них никуда.
Игра получилась расслабляющей, но любители экшена назовут её скучной. Пора добавить режим с пушками: взрывы, астероиды, спутники, горящие куски обшивки. В такой игре уже не заскучаешь.
В предыдущем уроке вы писали только асинхронные функции и вызывали их. Здесь же вы хлебнёте корутин по полной: одна корутина создаёт другие корутины, а другая их уничтожает …
Друзьям не похвастаешься сортировкой или переворотом бинарного дерева. А вот игрой про космос, да ещё со звуком — уже можно!
Что происходит, когда вы нажимаете кнопку «Скачать» в Дропбоксе? Как ему удаётся в одно мгновение сжать гигабайты в архив и начать загрузку на ваш компьютер? В этой задаче вы сами напишете код для кнопки «Скачать», узнаете всё на собственном опыте.
В этой задаче вы поднимете свой сервер на aiohttp. Это самый популярный фреймворк с поддержкой асинхронного кода.
А вы знали, что HTTP-ответ необязательно готовить целиком? В этой задаче вы будете архивировать файлы «на лету», по кусочкам, и тут же отдавать эти кусочки клиенту на скачивание.
В этом уроке вы будете писать клиент для анонимного чата. Да, чат будет о Майнкрафте, и очень секретный. Коды для Майнкрафта — дело серьёзное, такое в обычных чатах не обсуждают.
Чаты — это не так-то просто! Сообщения должны приходить мгновенно, а если вдруг отключится интернет, то приложение должно само переподключиться.
В этом уроке вы станете одним из избранных, тем самым, кто знает о сокетах. Они помогут развить такие скорости, о которых c HTTP нельзя и мечтать.
Подключиться к чату — полдела. Куда сложнее сделать полноценный чат-клиент, удобный рядовому пользователю.
В чатах сидят подолгу. Чтобы было приятно, нужен удобный интерфейс, похожий на Телеграмм. Вы сделаете как раз такой.
Очереди — это краеугольный камень в мире асинхронного кода. С их помощью корутины могут обмениваться данными, даже если работают параллельно.
Вам надоели фейковые новости в интернете? Теперь есть шанс с ними поквитаться. Вы напишете краулер, который пройдет по сайтам и составит свой рейтинг желтушности. Благодаря асинхронности он наберет огромную скорость, ограниченную лишь сетевым соединением.
Поисковые роботы Гугл и Яндекс безустали парсят сайты и ранжируют страницы по популярности. Вы сделаете то же самое. Если смог Сергей Брин, чем вы хуже?
Все слышали про магические event loop и корутины, но мало кто с ними по-настоящему работал. Вы будете одним из немногих, кто знает о чем говорит.
Вы знали, что на общественном транспорте установлены GPS датчики? Их координаты можно узнать и отобразить на карте в браузере. Но вы сделаете больше — покажете перемещение транспорта в реальном времени.
В этом уроке вы загляните под капот известного сервиса и набьете те же шишки, что и программисты Яндекса.
Чтобы автобусы перемещались по карте, нужны не только координаты, но и постоянное их обновление. Более того, обновлять придется положение сразу 20 тысяч автобусов. Узнайте как сделать это надёжно, без лагов и зависаний.
Заслуженный бэкендер России. Александр пишет на Python уже 10 лет. За это время он разрабатывал и десктопные приложения, и многопоточные, и асинхронные, и web. А ещё устранял неполадки на программном уровне у томографов после удара молнии.
Задачи модуля Асинхронный Python созданы на основе реальных кейсов из практики Александра. В них расставлены ловушки на типичные ошибки, описанные экспертом, и включены ссылки на best practices. Одним словом, сплошная польза и настоящий боевой опыт, который украсит любое резюме.
Каждый урок — это новый учебный проект с пошаговыми инструкциями и практическими советами.
Преподаватель прочитает ваш код и расскажет, как сделать лучше.
Занимайтесь в любое удобное время, в своем темпе.
Можно купить курс сейчас, а к занятиям приступить позже, когда будете готовы.
‣ Владение Python: написать программу в 200 строк кода, структурировать и отладить.
‣ Запуск программ из командной строки: cmd.exe на Windows или bash на Mac / Linux
‣ Размещение кода на GitHub
‣ Чтение документации на английском со словарем
Рекомендуем начать подготовку с более простых курсов: