10. Асинхронное программирование. Лекция 1 - Эдуард Жук

แชร์
ฝัง
  • เผยแพร่เมื่อ 16 ต.ค. 2024

ความคิดเห็น • 63

  • @EugeneErmolov
    @EugeneErmolov 4 ปีที่แล้ว +32

    Прямо приятное и простое объяснение async/await. Спасибо Эдуарду, что съекономил время на Beazley

  • @benyomin94
    @benyomin94 4 ปีที่แล้ว +17

    Отличнейший доклад просто, харизма автора так и прет
    Спасибо!

  • @АлександрИванов-ъ7р6ч
    @АлександрИванов-ъ7р6ч 2 ปีที่แล้ว +2

    Очень востребованная тема, хороший доклад. Автору - спасибо.

  • @ipabogdanov
    @ipabogdanov ปีที่แล้ว +1

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

  • @KirillKravitz
    @KirillKravitz 4 ปีที่แล้ว +5

    Спасибо. С удовольствием посмотрел.
    Из за карантина немного странно видеть людей, сидящих менее 2х метров друг от друга =)))

    • @TheRevengencer7Sc
      @TheRevengencer7Sc 4 ปีที่แล้ว

      это записи с 2019 года

    • @KirillKravitz
      @KirillKravitz 4 ปีที่แล้ว +1

      @@TheRevengencer7Sc эт понятно то

    • @СергейНазаров-з3о
      @СергейНазаров-з3о 3 ปีที่แล้ว

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

  • @silicodance
    @silicodance 2 ปีที่แล้ว

    Офигеть, я так-же интуитивно делал эти колбэки и цикл событий в микроконтроллерных прошивках на Си, и отдельные колбэки для ошибок, и даже не подозревал, что это так где-то ещё делается и не знал что оно так называется)

  • @yodapunishes
    @yodapunishes 4 ปีที่แล้ว +2

    Потрясающая лекция!

  • @FoodMaks
    @FoodMaks 3 ปีที่แล้ว +1

    Очень крутой и внятный доклад. Спасибо большое

  • @samharrison7791
    @samharrison7791 2 ปีที่แล้ว

    Самый крутой лектор из всех!

  • @dmitrys5289
    @dmitrys5289 ปีที่แล้ว

    Видишь сервер?
    Нет.
    И я не вижу, а он есть)))
    А вообще отличная лекция

  • @antonkot6250
    @antonkot6250 3 ปีที่แล้ว

    Спасибо за отличную лекцию. Сам то я джавист, но убедили попробовать Spring Reactor =)

  • @viacheslavfeno1475
    @viacheslavfeno1475 3 ปีที่แล้ว

    Это божественно.

  • @jeromewicks3896
    @jeromewicks3896 3 ปีที่แล้ว +1

    19:58, вообще-то мы хотим обрабатывать несколько запросов НЕЗАВИСИМО, а не одновременно (хотя не исключаем это). Это вопрос про concurrency vs parallelism. Кому интересно можете глянуть лекцию Роба Пайка "Concurrency is not parallelism"

  • @non5309
    @non5309 ปีที่แล้ว

    Ссылку в чатик с пайкона где 2-х часовая версия вместо 4-х видимо не кинули?

  • @vladimirshitov2160
    @vladimirshitov2160 4 ปีที่แล้ว +2

    А что плохого в том, что Инстаграм использует джанго? Или речь о том, что джанго не поддерживал асинхронное программирование?

    • @NickRossik
      @NickRossik 4 ปีที่แล้ว +1

      Джанго - легаси без асинка. Не знаю как сейчас, а год-два назад некоторые модули были написаны на python2.

  • @bloodielie7280
    @bloodielie7280 4 ปีที่แล้ว +1

    Спасибо !

  • @senioreasy
    @senioreasy 4 ปีที่แล้ว +4

    Не плохо было бы указать в теме, что примеры на "питоне". Я на плюсах пишу, и лекция интересна постольку поскольку

  • @pavel_trpn
    @pavel_trpn 4 ปีที่แล้ว +16

    Дайте чуваку стакан воды

    • @l3VGV
      @l3VGV 3 ปีที่แล้ว +2

      И отодвиньте микрофон от рта, подальше

  • @ostrov11
    @ostrov11 4 ปีที่แล้ว +2

    Жжжж Жук ))

  • @Ignat99Ignatov
    @Ignat99Ignatov 3 ปีที่แล้ว

    Короче говоря на каждом процессоре реализация select разная. Где то она по принципу GIL устроена но на аппаратном уровне. Где то работает быстро, где то возникают конги от неправильной конфигурации. Поэтому если выкинуть весь Питон и библиотеки GCC и реализацию в Ядре Линукс и реализацию на уровне ASM без учета архитектуры и сделать все под конкретный новый чип (желательно прямо в железе), то все будет работать раз 10-100 быстрее.
    А select я использовал в 2000 году и у меня на обычном 486 компьютере 500 соединений в 1 секунду обслуживал один веб-сервер. Прошло 20 лет а воз и ныне там же.

    • @boobatrustahimmortal
      @boobatrustahimmortal 2 ปีที่แล้ว

      Люблю таких специалистов. Разбираются поверхностно, но зато знают, что надо выкидывать. Свои знания лучше выкинь😂😂😂

    • @Ignat99Ignatov
      @Ignat99Ignatov 2 ปีที่แล้ว

      @@boobatrustahimmortal Именно, если кроме Питона ни чего не знаете, ваше место, вероятно, на помойке истории. Как и многих "дата сайтсев". И всех выпускников ускоренных курсов "вай, вай тишников" и пи... от IT.

  • @АнатолийИванов-й5щ9л
    @АнатолийИванов-й5щ9л 3 ปีที่แล้ว

    По ядру неплохой материал это ostep

  • @Drak0sha13
    @Drak0sha13 3 ปีที่แล้ว

    Мне больше понравился доклад Андрея Часовских собираем грабли. Там не так затянуто.

  • @smith-o6c
    @smith-o6c 4 ปีที่แล้ว

    что за ад с 31 по 42 минуты для чего это?...

  • @wasp_qa
    @wasp_qa 4 ปีที่แล้ว

    (не) случился спектр, о чем он?

    • @wadyn95
      @wadyn95 4 ปีที่แล้ว

      Уязвимость Spectre
      ru.wikipedia.org/wiki/Spectre_(%D1%83%D1%8F%D0%B7%D0%B2%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C)

  • @MAKSIM24251
    @MAKSIM24251 3 ปีที่แล้ว

    14:11 поток-это объект внутри процесса. "потоки они крутые, они тратят меньше памяти чем процессы" это собственно к чему?

    • @ИванИванов-н9т9ъ
      @ИванИванов-н9т9ъ 3 ปีที่แล้ว

      Макс, ну не барагозь. Давай я тебе объясню. Это к тому, что у разных процессов отдельная память.. Когда вы создаёте новый процесс вы имеете дополнительный расход памяти для каждого процесса (а если вы создадите сотни тысяч процессов?). Потоки же используют одну и туже память в рамках запустившего их процесса. Надеюсь теперь понятно.

    • @MAKSIM24251
      @MAKSIM24251 3 ปีที่แล้ว

      @@ИванИванов-н9т9ъ это все понятно, но все же ключевой момент: без процессов потоков быть не может. поэтому так и не понял к чему эту фразу вставили…

    • @ИванИванов-н9т9ъ
      @ИванИванов-н9т9ъ 3 ปีที่แล้ว +1

      @@MAKSIM24251 Речь идёт о двух альтернативах - о создании множества потоков или же о создании множества процессов.
      P. S. Даже пользовательский процесс (не то что поток) не может быть создан без основного процесса ОС.

    • @ИванИванов-н9т9ъ
      @ИванИванов-н9т9ъ 3 ปีที่แล้ว

      @Max Gacrux Да и ещё могу предложить посмотреть серию видео по теме у Олега Молчанова "Асинхронность в Python". Если вникнешь, то сможешь глубже разобраться, и все это будет казаться менее магическим. Когда будешь смотреть в отладке, как работают примеры кода (некоторые примеры без этого наверное не понять), ставь брейкпоинткты в каждой функции и в разных местах (генераторе/сопрограмме), т. к. поток выполнения программы работает в асинхронном коде не так прямолинейно, как в синхронном. А потом посмотри 7 лекцию курса "Прикладной Python" (лектор Вадим Пуштаев).

  • @user-vg2np2si5k
    @user-vg2np2si5k 2 ปีที่แล้ว

    Это чавкание, конечно, очень отвлекает

  • @5elll960
    @5elll960 4 ปีที่แล้ว

    ++

  • @Ignat99Ignatov
    @Ignat99Ignatov 3 ปีที่แล้ว +1

    Алиллуя! Изобрели милениалы DOS 1.0 с драйверами и дискриптерами драйверов... Подождем еще немного - освоят ASM, потом еще подождать несколько лет и разберутся, наконец, с архитектурой процессора и встроенными контроллерами аппаратными и шинами.

  • @АристархЗловредович
    @АристархЗловредович 3 ปีที่แล้ว

    гыгыг за шарпом повторяют,ваш питон фигня

    • @garrygaller2853
      @garrygaller2853 3 ปีที่แล้ว +2

      А ты хоть знаешь с кого шарп все слизал? Нет? Ну так сиди тихо... гы-гы-гы

    • @АристархЗловредович
      @АристархЗловредович 3 ปีที่แล้ว

      @@garrygaller2853 и у кого же?)

    • @garrygaller2853
      @garrygaller2853 3 ปีที่แล้ว +3

      @@АристархЗловредович То есть поискать было не судьба? Из F# 2007-го года. А что касается разработчиков F#, то они, естественно, не пустом месте все придумали (сам F# - клон OCaml, если что): "According to Don Syme, on his blog (2007), F# async workflows take inspiration from the implementation of asynchronous monad for haskell. In particular Peng Li's paper (2007) and Koen Claessen's "A Poor Man's Concurrency Monad" paper (1999)". Сами же понятия coroutine, subroutine, легковесных потоков, мультизадачности еще более стары. Про корутины писал еще Кнут в 1958 году. Те или иные концепты асинхронного программирования были реализованы в ряде других языков про которые ты вряд ли что-то слышал... В 80-x - ADA. 1995 был LIMBO в котором также было реализовано concurrent programming, в в 2009 его идеи позаимствовал язык Go (впрочем, автор обоих языков один и тот же человек :-)).
      Кстати, асинхронное программирование на корутинах было в Python еще до введения ключевых слов async\await в 2015-м.
      В С++ их добавили только в 2020-м.... Фигня ваш С++, да?
      И чтобы ты знал, сейчас никого не волнует вопрос заимствования : это настолько естественный процесс, когда одни языки вбирают в себя концепции из других, что только школьники могут как-то странно реагировать на это.... (гы-гы-гы).

    • @АристархЗловредович
      @АристархЗловредович 3 ปีที่แล้ว

      @@garrygaller2853 у тебя там стул не прожгло )) ты через чур серьезно все воспринимаешь,

    • @garrygaller2853
      @garrygaller2853 3 ปีที่แล้ว +2

      @@АристархЗловредович У меня кресло. Непрожигаемое. Я воспринимаю все так, как оно того заслуживает. Не больше и не меньше.

  • @Ignat99Ignatov
    @Ignat99Ignatov 3 ปีที่แล้ว

    Современные специалисты не изучали отличия архитектуры и реализации оператора С select в контексте конкретного процессора. С их слов выходит что ранее не было асинхронных библиотек, потому что предыдущее поколение программистов было не такое продвинутое как теперешнее.
    А все совсем наоборот. Раньше были хорошие программисты. А асинхронного програмирования не было, так как не было механизмов в микропроцессорах, которые дали бы выйгрыш с таким подходом. Но когда такие процессоры появились, не нашлось специалистов, которые быстро смогли воспользоваться такими изменениями внеся изменение во все основные языки и компиляторы (да да я знаю , они типа должны быть переносимы - то есть на Ардвино должны работать так же как на AMD под гипервизором).
    Во первых слишком сложные спецификации, например UTF-8 и другие протоколы, что не позволяет все это быстро переделать, а во вторых ни кто уже не знает языков низкого уровня.
    И тут уже появилось следствие этой ситуации, языки низкого уровня стали делать (в новых процессорах) по типу языков вернего уровня в ущерб общей логике аппаратной и архитектуре самих микропроцессорах. Так как ахитекторы микропроцессоров поняли, что настоящие программисты перевелись.
    На данный момент решение только одно - все реализовать аппаратно, а всех програмистов на Питоне переучить на дворников (которыми 50% и являются по своей сути) :-) пусть в реальном мире подметают и вычищают пространства. :-) Да жестоко, зато мусорых фреймворков не будет.
    Правда есть риск, получить мусор на улицах в реальном пространстве :-) Уверен, что бывшие мусорные программисты и на улице не смогут убрать мусор как следует.

    • @KARyzhkov
      @KARyzhkov 3 ปีที่แล้ว +1

      как вы сюда попали, если вы такой продвинутый?

    • @Ignat99Ignatov
      @Ignat99Ignatov 3 ปีที่แล้ว

      @@KARyzhkov Догадайтесь кто делал полицейскую систему с AI для отлова террористов в соц. сетях для основных полицейских офисов в Европе и паре офисов в Калифорнии и Израиле?

    • @KARyzhkov
      @KARyzhkov 3 ปีที่แล้ว +1

      @@Ignat99Ignatov Вы не ответили на мой вопрос. Я, например, делаю первые шаги в программировании, поэтому я здесь...

    • @Ignat99Ignatov
      @Ignat99Ignatov 3 ปีที่แล้ว

      @@KARyzhkov Я вам ответил на ваш вопрос на вашем канале, смотрите внимательно. А то ведете себя как пьяный интернет тролль. Вы так же на мой вопрос не ответили. Поэтому все ваши дальнейшие сообщения тут будут проигнорированы.

    • @АнатолийИванов-й5щ9л
      @АнатолийИванов-й5щ9л 3 ปีที่แล้ว +4

      Бубубу, какие все тупые, бубубу, какие сложные спецификации понаделали тупые программисты, бубубу, догадайтесь какой токсик делал крутую систему по отлову бабушек на митингах. Слова, слова, слова. Если ты такой умный, то почему у тебя всего 42 подписчика?)

  • @Ignat99Ignatov
    @Ignat99Ignatov 3 ปีที่แล้ว +2

    Ужастный доклад. Не знание русского языка. Использование английских слов (из за незнания русского языка). В докладе куча смыслового мусора, нет ссылки на гитхаб. Тупое решение - замена одного тупого фреймворка на другой тупой фреймворк.
    Единственное что было полезное в этом докладе это ссылка на другой адекватный доклад на языке, которым тот докладчик умеет пользоватся.

    • @АнатолийИванов-й5щ9л
      @АнатолийИванов-й5щ9л 3 ปีที่แล้ว +3

      Токсик токсик где ты был?)

    • @АнатолийИванов-й5щ9л
      @АнатолийИванов-й5щ9л 3 ปีที่แล้ว +2

      Радетель соблюдения правил русского языка за собой-то не проверил)

    • @АнатолийИванов-й5щ9л
      @АнатолийИванов-й5щ9л 3 ปีที่แล้ว +4

      У меня с русским вообще труба, я насчитал целых 3 ошибки в тривиальном тексте, который имеет наглость критиковать других за отсутствие грамматики. Дожили. Напиши в железе спелчекер себе на ассемблере. Если ненравится слово спелчекер, то напиши проверятельошибок

    • @австриец
      @австриец 2 ปีที่แล้ว

      >Тупое решение - замена одного тупого фреймворка на другой тупой фреймворк.
      Тут цель доклада не дать решение а просто рассказать про тему, чтобы зритель имел более глубокое понимание

  • @nckph0n0v11
    @nckph0n0v11 ปีที่แล้ว

    Звук сушняка докладчика..