Доступно

[TalkPython] Асинхронные методы и примеры в Python

Тема в разделе "Курсы по программированию", создана пользователем floki, 26 сен 2018.

Цена: 2900р.-88%
Взнос: 320р.
100%

Основной список: 23 участников

Резервный список: 2 участников

Статус обсуждения:
Комментирование ограничено.
  1. 26 сен 2018
    #1
    floki
    floki ОргОрганизатор

    Складчина: [TalkPython] Асинхронные методы и примеры в Python

    Асинхронные методы и примеры в Python
    Async Techniques and Examples in Python

    Краткое описание курса
    Поддержка асинхронного и параллельного программирования Python сильно недооценена. В этом курсе вы узнаете весь спектр параллельных API-интерфейсов Python. Мы начнем с изучения новых и мощных асинхронных и ожидающих ключевых слов вместе с базовым модулем: asyncio. Затем мы перейдем к потокам Python для параллелизации более старых операций и многопроцессорности для операций с привязкой к ЦП. Мы закроем курс с множеством дополнительных асинхронных тем, таких как async Flask, координация задач, безопасность потоков и параллелизм на основе C с Cython.

    Для кого этот курс?
    Любой, кто хотел бы написать код Python, который делает больше, масштабируется лучше и лучше использует современные многоядерные процессоры. Независимо от того, являетесь ли вы веб-разработчиком или учеными-исследователями данных, вы найдете множество методов для работы быстрее.

    Курс не является начинающим курсом Python, поэтому ученики с минимальным опытом работы на Python сначала должны получить основополагающий курс. Мы рекомендуем наш Python Jumpstart путем создания приложений 10 в качестве необходимого условия, если это необходимо.

    Что вы узнаете на этом курсе?
    Это окончательный курс параллельного программирования в Python. Он охватывает проверенные и основанные на основах концепции, такие как потоки и многопроцессорность, а также самые современные функции async, основанные на Python 3.7+ с асинхронным и ожидающим.

    В дополнение к основным концепциям и API для параллельного программирования вы узнаете о лучших практиках и о том, как выбирать между различными API-интерфейсами, а также как использовать их вместе для самого большого преимущества.

    В этом курсе вы:
    • Узнайте, как параллелизм позволяет повысить производительность и масштабируемость
    • Создайте асинхронный код с новыми асинхронными и ожидающими ключевыми словами
    • Добавьте асинхронность в приложение без дополнительных потоков или процессов
    • Работа с несколькими потоками для работы в режиме ввода-вывода в Python
    • Используйте блокировки и механизмы защиты потоков для защиты общих данных
    • Распознать блокировку и посмотреть, как предотвратить их в потоках Python
    • В полной мере использовать многоядерные процессоры с многопроцессорной обработкой
    • Унифицируйте API потоков и процессов с пулами выполнения
    • Добавьте мощные ускорения с потоками Cython и Python
    • Создание методов просмотра async в веб-приложениях Flask
    • И многое другое
    Welcome to the course
    Course introduction
    Async for taking full advantage of modern CPUs
    Topics covered
    Student prerequisites
    Meet your instructor
    Video player: A quick feature tour​
    Setup and following along
    Do you have Python 3?
    Getting Python 3
    Recommended text editor
    Hardware requirements
    Get the source code​
    Why async?
    Async for computational speed
    Demo: Why you need async for speed
    An upper bound for async speed improvement
    Async for scalability
    Concept: Visualizing a synchronous request
    Concept: Visualizing an asynchronous request
    Python's async landscape
    Why threads don't perform in Python​
    async and await with asyncio
    Python async landscape: asyncio
    I/O-driven concurrency
    Demo: Understanding basic generators
    Demo: The producer-consumer app
    Demo: Make the producer-consumer async
    Demo: Make the producer-consumer async (methods)
    Concept: asyncio
    Performance improvements of producer consumer with asyncio
    Faster asyncio loops with uvloop
    Let's do some real work
    Synchronous web scraping
    async web scraping
    Concept: async web scraping
    Other async-enabled libraries​
    Threads
    Python async landscape: Threads
    Visual of thread execution
    How to choose between asyncio and threads
    Demo: hello threads
    Demo: Waiting on more than one thread
    Demo: Something productive with threads
    Concept: Thread API
    Concept: Tips for multiple threads
    Cancelling threads with user input
    Concept: Timeouts
    Demo: Attempting to leverage multiple cores with threads​
    Thread safety
    Python async landscape: Thread Safety landscape
    Threads are dangerous
    Visualizing the need for thread safety
    Demo: An unsafe bank
    Demo: Make the bank safe (global)
    Demo: A missed lock in our bank (global)
    Demo: Make the bank safe (fine-grained)
    Demo: Breaking a deadlock
    Concept: Basic thread safety​
    Leveraging CPU cores with multiprocessing
    Python async landscape: multiprocessing
    Introduction to scaling CPU-bound operations
    Demo: Scaling CPU-bound operations with multiprocessing
    Concept: Scaling CPU-bound operations
    Multiprocessing return values
    Concept: Return values​
    Common APIs with execution pools
    Python async landscape: Execution pools
    Demo: Executor app introduction
    Demo: Executor app (threaded-edition)
    Demo: Executor app (process-edition)
    Concept: Execution pools​
    Built on asyncio
    Python async landscape: asyncio derivatives
    Why do we need more libraries?
    Introducing unsync
    Demo: unsync app introduction
    Demo: unsync app for mixed-mode parallelism
    Concept: Mixed-mode parallelism with unsync
    Introducing Trio
    Demo: Starter code for Trio app
    Demo: Converting from asyncio to Trio
    Demo: Cancellation with Trio
    Concept: Trio nurseries
    The trio-async package​
    asyncio-based web frameworks
    Python async landscape: Async web
    Review: Request latency again
    Demo: Introducing our Flask API
    There is no async support for Flask
    Demo: Introducing Quart for async Flask
    Demo: Converting from Flask to Quart
    Demo: Making our API async
    Demo: An async weather endpoint
    Concept: Flask to Quart
    Load testing web apps with wrk
    A note about rate limiting with external services
    Performance results
    Remember to run on an ASGI server​
    Parallelism in C with Cython
    Python async landscape: Cython
    C and Python are friends
    Why Cython
    Cython syntax compared
    Demo: Hello Cython
    Concept: Getting started with Cython
    Demo: Fast threading with cython (app review)
    Demo: Fast threading with Cython (hotspot)
    Demo: Fast threading with Cython (conversion)
    Demo: Fast threading with Cython (GIL-less)
    Demo: Fast threading with Cython (int overflow issues)
    Concept: Cython's nogil​
    Course conclusion and review
    The finish line
    Review: Why async?
    Review: asyncio
    Review: Threads
    Review: Thread safety
    Review: multiprocessing
    Review: Execution pools
    Review: Mixed-mode parallelism
    Review: Coordination with Trio
    Review: Async Flask
    Review: Cython
    Thanks and goodbye​

     
    Последнее редактирование: 4 ноя 2018
    4 пользователям это понравилось.
  2. Последние события

    1. skladchik.com
      Складчина доступна.
      3 окт 2018
    2. dima39
      dima39 участвует.
      3 окт 2018
    3. fleisch87
      fleisch87 участвует.
      3 окт 2018
    4. skladchik.com
      Взнос составляет 160р.
      2 окт 2018

    Последние важные события

    1. skladchik.com
      Складчина доступна.
      3 окт 2018
    2. skladchik.com
      Взнос составляет 160р.
      2 окт 2018
    3. skladchik.com
      Складчина активна.
      2 окт 2018
    4. skladchik.com
      Сбор взносов начинается 02.10.2018.
      30 сен 2018
  3. Обсуждение
  4. 27 сен 2018
    #2
    rasswet
    rasswet ЧКЧлен клуба
    TalkPython - одна из наиболее качественных контор, вписываемся смело!
     
    4 пользователям это понравилось.
Статус обсуждения:
Комментирование ограничено.