Python Junior подкаст. Про асинхронность в питоне

Ғылым және технология

Михаил Корнеев (сооснователь MoscowPython, CTO Ingenix), Алексей Штырняев (преподаватель LearnPython), Григорий Петров (евангелист MoscowPython) и Валентин Домбровский (сооснователь MoscowPython) рассказывают, как устроена асинхронность в питоне и как с ней жить.
Все выпуски: podcast.python.ru
Митапы MoscowPython: moscowpython.ru
Курс Learn Python: learn.python.ru
Конференция Moscow Python Conf: conf.python.ru

Пікірлер: 51

  • @user-yi3ud1ld8c
    @user-yi3ud1ld8c5 жыл бұрын

    Григорий выразил всю мою боль от использования асинхронности

  • @voynere
    @voynere3 жыл бұрын

    Вы лучшие, Григорий - мастер Йода))

  • @artyomvashkevich602
    @artyomvashkevich6025 жыл бұрын

    Видео про то как Григорий решил завалить двух джунов на собеседовании. Чуваки хоть и программеры, но внятно отвечать не умеют). Так улыбнуло это. А кто-то потом говорит про то что приходят незнающие джуны. Хорошо говорить когда ты на стороне собеседующего, а не собеседуемого.

  • @Psycho250785

    @Psycho250785

    5 жыл бұрын

    Ну не собеседования решают, кстати, а практика (кстати, на эту тему: m.kzread.info/dash/bejne/hq6a08mEhsqep6g.html). К слову, именно этому мы учим на курсах learn.python.ru, после которых успешно помогаем новичкам найти работу. ;)

  • @developers-drink-coffee

    @developers-drink-coffee

    5 жыл бұрын

    У Григория бесспорно огромный опыт в выступлениях, и вещания на большие и малые аудитории, может заговорить кого угодно)) такой мастодонт может затмить любого))) Григорий рассказывал про асинхроность и GIL ещё тогда.... kzread.info/dash/bejne/c4uMlqyncdHQcqg.html

  • @grigoryvp

    @grigoryvp

    5 жыл бұрын

    Походу я перегнул планку, когда рассказывал, что асинхронность это сложно ^_^

  • @viktor3512
    @viktor35124 жыл бұрын

    Я новичок в питоне, и блять, понимаю эти темы лучше, чем эти двое....

  • @developers-drink-coffee
    @developers-drink-coffee5 жыл бұрын

    PythonPetrovPodcast ;-)

  • @Psycho250785
    @Psycho2507855 жыл бұрын

    Если есть ссылки на материалы: где тема объясняется лучше, будем благодарны за ссылки в комментариях.

  • @hound406
    @hound4065 жыл бұрын

    По поводу обертки чтобы "сделать из синхронного кода асинхронный" пара вопросов (если, конечно, можно Григорию): 1. Использования декоратора @coroutine не рекомендуется, в новых версиях его обещали выпилить. 2. Раз уж без создания нового потока никак не обойтись, то почему бы тогда не воспользоваться методом run_in_executor? Как например указано в доке: docs.python.org/3/library/asyncio-eventloop.html#executing-code-in-thread-or-process-pools Заранее благодарен за ответ.

  • @user-bf2iw8id4v
    @user-bf2iw8id4v5 жыл бұрын

    есть люди которые умеют программировать, а есть люди которые умеют об этом говорить. Но да, согласен с коментариями о собеседованиях. Те кто собеседуют задают вопрос и ждут конкретный ответ, а тот кому задаёт вопрос пытается понять чего от него хотят.

  • @albrehtdurer557
    @albrehtdurer5575 жыл бұрын

    С макдональдсом пример -грамотный. Единственное , что операционка не оптимизирует ваш асинхронный вызов, она его также ставит в очередь , (как перед кассой) только вы идете в это время посидеть за столик))

  • @ruChode
    @ruChode5 жыл бұрын

    Вот это зум, охеунный зум

  • @fddf55ff
    @fddf55ff5 жыл бұрын

    В начале выглядит словно Гриша проводит собес и нападает на коллег. Давайте поинформативнее)

  • @developers-drink-coffee

    @developers-drink-coffee

    5 жыл бұрын

    Всем бы на таком информативном собеседование побывать :)

  • @viplark
    @viplark5 жыл бұрын

    Ничего не понял, но очень интересно...

  • @developers-drink-coffee

    @developers-drink-coffee

    5 жыл бұрын

    С програмистскими подкастами так всегда)))

  • @6E3KOMAPOB

    @6E3KOMAPOB

    4 жыл бұрын

    1-й всех представил и слился, 2-й тему понимает "по своему", объяснить толком не может, 3-й ловко мечет стрелы, вопросы понимает с трудом, нить разговора удержать не может, 4-й тему понимает, накидывает всем остальным не вентиль, от чего предыдущие субъекты жмутся в кирпич )))) Раскрыта ли тема для ждунов? Очевидно нет, краткий вывод: В пустую потрачено время, не лезьте под капот, вы лохи ничего не поймете, пользуйте синтаксис последней версии, библиотек под асинхрон почти нет (и нахер бы они были нужны кроме IO) ибо ...... аминь. А если серьезно, тема очень глубокая, здесь вы будете собирать тину с поверхности. Учите змеюку? Асинхрон нужен для вызова емкой по времени операций, которые вы можете заАвейтить (т.е. вызвать функцию, оставить обрабатываться, вернуть управление в основной поток, и получить данные позже, не блокируя основной поток, все!) Что не понятного :) Учите матчасть, понимание глобального придет только на почве понимания работы простых примеров. Начинайте с матчасти, толкайтесь от ваших задач.

  • @asterixtyumen
    @asterixtyumen5 жыл бұрын

    Nginx получает запрос, проксирует его в gunicorn. Gunicorn передает запрос по протоколу wsgi, в свободный процесс (worker) с джангой. Джанга синхронно выполняет наш код и возвращает ответ gunicorn-у. Количество одновременно обрабатываемых запросов, ровно количеству воркеров. Создавать много процессов дорого (надо много памяти), поэтому если мы не можем быстро ответить, используем celery или асинхронные фреймворки. Nginx получает запрос, проксирует его в gunicorn. Gunicorn передает запрос в свободный процесс (worker) с aiohttp. Aiohttp же, передает запрос в event_loop. В очереди может быть тысячи запросов. Когда до запроса доходит очередь, запрос передается коллбеку, который не спеша что-то делает (качает файл по сети, ждет ответ от бд, ждет когда ответит другой коллбек и т. д.) используя не блокирующие библиотеки.

  • @asterixtyumen

    @asterixtyumen

    5 жыл бұрын

    Я правильно понял суть асинхронной работы?

  • @anton6643

    @anton6643

    5 жыл бұрын

    @@asterixtyumen Не совсем, но очень близко

  • @laser_beard
    @laser_beard5 жыл бұрын

    где Злата? (:

  • @TheDeatgod
    @TheDeatgod5 жыл бұрын

    Странно смотреть видео "Про асинхронность в питоне", если по факту из числа гостей про асихнронность знает один Григорий Петров (Судя по первым 10 минутам), немного антиреклама курсов Learn Python. Смотрю ваши подкасты с большим удовольствием. UPD0. С лицами у вас всё нормально. UPD1. Раз уж на то пошло, то суть подкаста на 34:56

  • @Psycho250785

    @Psycho250785

    5 жыл бұрын

    Ну аснихронное программирование - не совсем уровень курсов для начинающих, о чём мы и сказали в подкасте. С «антирекламой» не соглашусь - скажем так, мы показали, что не боимся браться за сложные темы и искать решение вопросов практически в оноайн-режиме. Такой вот «мастер-класс» - продолжение на learn.python.ru :D Спасибо за лица. :D

  • @MrPavelFrolov
    @MrPavelFrolov5 жыл бұрын

    Давно присматриваюсь к асинхронности в питоне, но что то никак не проклюнется. Наверное задачи нет соответствующей. Ну и как правильно заметил Григорий - питон не JS, и, по сути, нет необходимости писать асинхронный код. Понятно, что конкурентность и параллельность - разные вещи, но, из своего скромного опыта: и io и cpu задачи, если это однотипные и массовые задачи - решаются параллельностью, под капотом или над капотом. И асинхронность в этом случае - это техника ускорения на мелких задачах. Я ковырялся с родными библиотеками, пришел к celery по итогу, остальные попытки до продакшена не доехали. А вот реальная необходимость написать конкурентный код, на не асинхронном языке, была лишь раз: писал программу, которая одновременно должна была: ожидать изменений файловой системы (inotify), писать и читать файлы, запускать и общаться через пайпы с десктоп-интерфейсом, и по сети с апишкой общаться. При чем нагрузок вообще никаких. Но писал тогда на перле, заюзал anyevent, результат был шикарен - никакого гемора с форками и подобным, и предсказуемая работа.

  • @shuaization
    @shuaization5 жыл бұрын

    Очень... асинхронно

  • @billyd5696
    @billyd56965 жыл бұрын

    Наконец-то полочки на заднем плане починили, а то кривые были.

  • @Anna_Porosenok
    @Anna_Porosenok4 жыл бұрын

    Помоему надо приглашать не специалистов , специалистов и умеющих обьяснять. Так как програмисты как правило люди необщительные и коммуникация не их конёк

  • @user-13520sdf
    @user-13520sdf4 жыл бұрын

    блин, и эти ребята понимают якобы асинхронное и параллельное программирование? Чувак справа давит на них, потому что видит, что они не шарят.

  • @moscowdjangoru

    @moscowdjangoru

    4 жыл бұрын

    Так асинхронное или параллельное? :)

  • @albrehtdurer557
    @albrehtdurer5575 жыл бұрын

    У лысого (извиняюсь не знаю имени) - борщь в глове из асинхронности и параллельности- эти принципы работают в связке...Да пример то как запутать простое понятие, а жирный в очках вообще ....эдиот

  • @ellynix

    @ellynix

    5 жыл бұрын

    У кого-то только лысый на уме. Пошли бы учебник почитали, по русскому языку для начала. Потом уже можно к питону переходить.

  • @albrehtdurer557

    @albrehtdurer557

    5 жыл бұрын

    @@ellynix Мальчик , вас так учили питону? )) Вы наверное не догадываетесь, что многие знают питон и слабо представляют , что такое русские язык?))

  • @ellynix

    @ellynix

    5 жыл бұрын

    Сказали бы спасибо, что я вам позволяю всё ещё высказываться. Вы свой культурный уровень продемонстрировали уже достаточно, чтобы получить бан. Поясню: на этом канале недопустимо оскорблять друг друга, тем более, гостей подкаста.

  • @albrehtdurer557

    @albrehtdurer557

    5 жыл бұрын

    @@ellynix Прошу прощения . Я на самом деле неудачно пошутил. (был нетрезв)

  • @artyomvashkevich602
    @artyomvashkevich6025 жыл бұрын

    В итоге все равно скатились до лексики программистов. Хотя как мне кажется могли бы все объяснить и на примере Макдональдса. Иногда, казалось, что люди научились использовать библиотеку и теперь - ура! Они программируют асинхронно. И их определение асинхронного программирования сводится к наличию какой-то библиотеки. Улыбнуло.

  • @moscowdjangoru

    @moscowdjangoru

    5 жыл бұрын

    Нам правда очень жаль вас разочаровывать, но мы не преследуем цель что-либо разжевать. Это не обучающее видео. Для подробных объяснений есть курсы. Мы ведём беседу с использованием лексики, с которой любой разработчик, в том числе начинающий, столкнется в реальной жизни.

  • @Psycho250785

    @Psycho250785

    5 жыл бұрын

    Пример Макдональдса прозвучал.- чем вас не устроил этот факт? Или ничего, кроме этого примера, было не нужно?

  • @Enerdzizer
    @EnerdzizerАй бұрын

    Пример с макдональдсом неточный. Там есть асинхронность в том , что заказ после получения начинает готовиться, и касса готова к получению следующего заказа А так, дело совсем не в том как они говорят, эти два джуна просто не понимают базовых концепций 7:19 🤦‍♂️ просто позорище😮

  • @6E3KOMAPOB
    @6E3KOMAPOB4 жыл бұрын

    1-й всех представил и слился, 2-й тему понимает "по своему", объяснить толком не может, 3-й ловко мечет стрелы, вопросы понимает с трудом, нить разговора удержать не может, 4-й тему понимает, накидывает всем остальным не вентиль, от чего предыдущие субъекты жмутся в кирпич )))) Раскрыта ли тема для ждунов? Очевидно нет, краткий вывод: В пустую потрачено время, не лезьте под капот, вы лохи ничего не поймете, пользуйте синтаксис последней версии, библиотек под асинхрон почти нет (и нахер бы они были нужны кроме IO) ибо ...... аминь. А если серьезно, тема очень глубокая, здесь вы будете собирать тину с поверхности. Учите змеюку? Асинхрон нужен для вызова емких по времени операций, которые вы можете заАвейтить (т.е. вызвать функцию, оставить обрабатываться, вернуть управление в основной поток, и получить данные позже, не блокируя основной поток, все!) Что не понятного :) Учите матчасть, понимание глобального придет только на почве понимания работы простых примеров. Начинайте с матчасти, толкайтесь от ваших задач.

  • @user-xg8qt8ky1s
    @user-xg8qt8ky1s5 жыл бұрын

    Человек который 10 лет писал что то параллельное путает конкурентность и параллелизм. Жаль...

  • @akolchanov83
    @akolchanov835 жыл бұрын

    А чо вы таки грустные на вид?

  • @anton6643
    @anton66435 жыл бұрын

    Парни, вы не обижайтесь, но если выключить звук и просто смотреть на вас - вы похожи на собрание клуба анонимных алкоголиков. Сутулые спины, вымученные улыбки. А если включить звук, то кажется, что вас под угрозой расстрела заставили говорить. Где харизма Петрова и его энергия? Надо выспаться что ли перед такими съемками, кофейку там бахнуть.

  • @akolchanov83

    @akolchanov83

    5 жыл бұрын

    ebanoe.it )))

  • @akolchanov83

    @akolchanov83

    5 жыл бұрын

    очередной парень с грустным лицом зовет всех на очередной МЕГАСУПЕРПУПЕРкурс

  • @Psycho250785

    @Psycho250785

    5 жыл бұрын

    Очередной в какой очереди? :) Сообщество MoscowPython существует с 2012-го года, курсы проводим с 2016-го. «Очердными» не являемся. Заглядывайте в гости. ;)

  • @Psycho250785

    @Psycho250785

    5 жыл бұрын

    Anton, тема сложная - сами видите. ;)

  • @albrehtdurer557
    @albrehtdurer5575 жыл бұрын

    К слову - радмин помойка еще та...Гриша ты бы пол года на конвеере автоваза постоял, и все бы четко смог объяснить, а так ...многобкув. Учись - Скорость решения задачи -пропорциональна количеству потоков запущенных на одном конвеере и обратно пропорциональна времени такта))

  • @theproshin9986
    @theproshin99864 жыл бұрын

    Сложно воспринимать речь спикера, сидящего крайне справа. Он медленно выражает свою мысль. Становиться скучно.

Келесі