Лекция № 9 в курсе "Программирование на Python ", осень 2018 Преподаватель курса: Алексей Александрович Кладов Страница лекции на сайте CS центра: bit.ly/2zDyZKC
34:47 - Threading пользоваться можно, если Вашей программе хватит 100 потоков. Польза async/await начинается только дальше на 1000, 10 000 и миллионах потоков, ждущих чего-то.
Живое изложение, хороший обзор. Причина, почему добавили (в начале лекции) - в начале 1990-х годов multitasking реализовывался на уровне операционной системы, либо его вовсе не было (MS DOS). В том же Gamedev были различные ноу-хау для встраивания псевдомногозадачности в игры, работающие в Real Mode. Симуляция многозадачности была довольно хитрой вещью. Со временем компьютеры стали быстрее, и многозадачность с блокирующими операциями была абстрагирована до уровня ОС в Windows / Linux. Но расплодилась куча библиотек поверх системных вызовов. Видимо, с целью унификации в рамках каждого языка это и делается.
Верно с точки зрения на потоки и процессы. Asyncio работает на юзер уровне. А треды и потоки это системный ресурс и каждый раз когда поток управления передаётся системе она делает "дорогие" операции. Делать условно то же что и система на юзер уровне гораздо "дешевле"
@Computer Science Center Алексей, в какой среде показываете примеры? Можете накидать список горячих клавиш и другие фишки, которые помогут разрабатывать минимально прикасаясь к мыши?
Лекция интересная и полезная, но изложение явно хромает(( хотелось бы более размеренного изложения, такое ощущение что мы куда-то бежим, петляя при этом
На мой взгляд пару слайдов перед тем как писать код не повредили бы. Да и вообще, лучше снипетты копировать и их объяснять, чем код писать. Про паузы уже говорили. Возможно required readings перед курсом (вроде не видел чтобы было) помогло бы с усваиванием материала. А то тут если человек не слышал про автоматы, сокеты, селекторы то ему будет тяжело Ну а контент хорош 💪
Назовите видео как-нибудь по-другому. Типа "Машины состояния, генераторы и все, что не вошло в другие разделы". До последней минуты ждал полезной информации про async/await, а оказалось, что это будет домашнее задание. (((
Asyncio это механизм Не вытесняющей многозадачности с одним потоком, при котором функции могут по своему выбору приостанавливается и передавать управления другим функциям (каким именно решает специальный Цикл)
@@veirant5004 Причём тут программирование? Чел кинул статью с английской вики, которую даже не каждый переводчик осилит. ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BD%D0%B5%D1%87%D0%BD%D1%8B%D0%B9_%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82 Вот кстати та же самая статья на русском.
Да и здесь в target можно передать лямбду. Громоздкие только лямбды в питоне, когда уже коротенькие стрелочки подвезут как у всех) И андерскоры как в скале.
Есть nginx и apache они обрабатывают сотни тысяч запросов в секунду и не нужно изобретать велосипеды. Любой из них с обычным php скриптом работающим через CGI обработает запросов больше и быстрее чем все ваши питоновские и JS костыли.
Лектор, Вы меня извините, но подача материала никакая. Ясно одно, что Вы ясно понимающий специалист, профи, НО как учитель - человек, надеюсь, жаждущий прокачать себя на поприще преподавания. Успеха в этом нелёгком деле, если конечно Вам это надо. Думаю, что методично организованные лекции от Вас будут реально бомбой. Искренне желаю успехов.
Лучше делать лекцию со схемами и диаграммами чем с кодом. За кодом трудно визуально следить. Студенты не понимают что делает чел просто печатает и пиздец. А озвучка процесса не позволяет понимать происходящее. Оно и понятно. Писать код и грамотно озвучивать трудно.
Убогонько. После употребления слова фича дальше можно не смотреть. Объяснения асинхронных процессов аховое. Кроме фича этот прохвессор не знает ничего.
Если ты понимаешь все о чем говорит преподаватель, то и asyncio ты поймёшь без проблем
Лучшее объяснение async/awaite, что я нашел в интернете.
Все предметно, без воды и без ухода в другие темы.
Спасибо за лекцию.
Меньше всего в лекции было про async/await как таковой.
34:47 - Threading пользоваться можно, если Вашей программе хватит 100 потоков. Польза async/await начинается только дальше на 1000, 10 000 и миллионах потоков, ждущих чего-то.
После написания класса Enum (13:45) неплохо бы сразу упомнянуть - как это связано с await / async, чтобы не загромождать память у слушателей.
Живое изложение, хороший обзор. Причина, почему добавили (в начале лекции) - в начале 1990-х годов multitasking реализовывался на уровне операционной системы, либо его вовсе не было (MS DOS). В том же Gamedev были различные ноу-хау для встраивания псевдомногозадачности в игры, работающие в Real Mode. Симуляция многозадачности была довольно хитрой вещью. Со временем компьютеры стали быстрее, и многозадачность с блокирующими операциями была абстрагирована до уровня ОС в Windows / Linux. Но расплодилась куча библиотек поверх системных вызовов. Видимо, с целью унификации в рамках каждого языка это и делается.
Верно с точки зрения на потоки и процессы. Asyncio работает на юзер уровне. А треды и потоки это системный ресурс и каждый раз когда поток управления передаётся системе она делает "дорогие" операции. Делать условно то же что и система на юзер уровне гораздо "дешевле"
@Computer Science Center
Алексей, в какой среде показываете примеры? Можете накидать список горячих клавиш и другие фишки, которые помогут разрабатывать минимально прикасаясь к мыши?
vim
@@riserlarens7634 Не похоже на vim. Среда вроде Pycharm
@@user-dw1zi7bs3l PyCharm с плагином IdeaVIM.
Приятная лекция, спасибо!
Добрый день! Подскажите, пожалуйста, как увидеть эту статистику, как после девятой минуты отображается? Куда там в пайчарме надо залезть?
Отличная лекция, очень помогла, спасибо за старания!
Лекция интересная и полезная, но изложение явно хромает(( хотелось бы более размеренного изложения, такое ощущение что мы куда-то бежим, петляя при этом
Лекция про async\await - нафигачу ка я программку с тредами
У класса Launch есть проблема: у него всего 2 метода, один из которых __init__ ))
запутано, на доске ничего нет
На мой взгляд пару слайдов перед тем как писать код не повредили бы. Да и вообще, лучше снипетты копировать и их объяснять, чем код писать.
Про паузы уже говорили. Возможно required readings перед курсом (вроде не видел чтобы было) помогло бы с усваиванием материала.
А то тут если человек не слышал про автоматы, сокеты, селекторы то ему будет тяжело
Ну а контент хорош 💪
Если знаешь материал - всё понятно. Если не знаешь - вы вряд-ли что-то поймёте из этой лекции.
Подскажите, пожалуйста, каким шеллом пользуется лектор?
это обертка - поищи ConEmu
класс
Назовите видео как-нибудь по-другому. Типа "Машины состояния, генераторы и все, что не вошло в другие разделы". До последней минуты ждал полезной информации про async/await, а оказалось, что это будет домашнее задание. (((
Слишком абстрактный код, сильно отвлекает от самой сути лекции.
Странное замечание, абстрактный код на то и абстрактный, чтобы не отвлекать от сути.
Обьяснения так себе и самое интересное(асинхронный http сервер) препод обьяснять не стал - ценность курса стремится к 0.
Asyncio это механизм Не вытесняющей многозадачности с одним потоком, при котором функции могут по своему выбору приостанавливается и передавать управления другим функциям (каким именно решает специальный Цикл)
Вы чо хлеб у автора отнимаете. О чем он будет после такого 2 часа объяснять?
Ну хоть кто-то на пальцах понятно смог объяснить как сделать yield для работы с асинхронной функцией
может (мне) лучше пойти изучать гоу?
Автору надо выделять основное, делая паузы. А так получается сплошной текст, и слушающему непонятно на чем заострять внимание.
в конце какая-то лажа
курс называется async / await.
Ну и где?
А изложение вполне норм, но над формулировками надо поработать...
на 15-й минуте понял, что ничего не понимаю
Скорее всего вы просто не знаете, что это такое → en.wikipedia.org/wiki/Deterministic_finite_automaton
Молодец, выебнулся, кинул статью с английской вики. У всех же технический английский развит аж настолько))
@@veirant5004 Причём тут программирование? Чел кинул статью с английской вики, которую даже не каждый переводчик осилит. ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BD%D0%B5%D1%87%D0%BD%D1%8B%D0%B9_%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82
Вот кстати та же самая статья на русском.
@@veirant5004 мало того, вопрощающий не знаком с самим явлением, предлагаете ещё в три раза дольше со словарём сидеть?)
@@veirant5004 Вот только сравни документацию по django например или самому пайтону, да вообще любым отдельным модулям, и то что скинули с вики.
7:30 В джаве потоку не передаются аргументы, нет такого API. Только замыкание и можно (ну или если извещенец имплементировать интерфейс Runnable).
Да и здесь в target можно передать лямбду. Громоздкие только лямбды в питоне, когда уже коротенькие стрелочки подвезут как у всех) И андерскоры как в скале.
Чет перемудрил.. Можно же проще, зачем усложнять
жаль примеры маленькие. надо было сразу на 500 строк отжарить. материал так усвоится надёжнее )
Зашел чтоб узнать что такое async await, досмотрел до 52:52 , ага, await ето тоже что и ёлд... пошол искать видео про ёлду ету.
а йилд как раз в предыдущей лекции
АААА ушиииии
7:45 Ну да, это шляпа. Это зря передрали. Лучше бы многопоточность полноценную передрали.
какой то доклад за полчаса на перемене, чтобы хоть что-то сдать, пофиг, что не по теме. кому лекция помогла расскажите, чем, может я что то упустил
Пустая программа тратит дофига CPU. Если написать тоже на С++, то будет примерно 0% CPU
Есть nginx и apache они обрабатывают сотни тысяч запросов в секунду и не нужно изобретать велосипеды. Любой из них с обычным php скриптом работающим через CGI обработает запросов больше и быстрее чем все ваши питоновские и JS костыли.
Эксперт с дивана, как обычно уж…
Чо скрипит, слушать тяжело
Это похоже на какой-то лохотрон.
самое худшее объяснение async/await, больше запутала эта пустая болтовня
Лектор, Вы меня извините, но подача материала никакая. Ясно одно, что Вы ясно понимающий специалист, профи, НО как учитель - человек, надеюсь, жаждущий прокачать себя на поприще преподавания. Успеха в этом нелёгком деле, если конечно Вам это надо. Думаю, что методично организованные лекции от Вас будут реально бомбой. Искренне желаю успехов.
Что у докладчика с тембром голоса?
@12345 6789 просто ему никто не объяснил, как публично говорить
Много видео по c# сейчас снимаю
Лучше делать лекцию со схемами и диаграммами чем с кодом. За кодом трудно визуально следить. Студенты не понимают что делает чел просто печатает и пиздец. А озвучка процесса не позволяет понимать происходящее. Оно и понятно. Писать код и грамотно озвучивать трудно.
У парня проблемы с гармонами, надеюсь это не изза Rust
В джава нормальная концепция многопоточности, если не удаётся понять "интерфейс" класса и как его применять - это наверное диагноз!
Стоило бы получше объяснять.
мде. Может это хороший кодер, но "иногда лучше жевать, чем говорить". Препод ниже принтуса.
ужасТно .. для неподготовленного слушателя .. нуль в квадрате .. для знающего человека .. нуль информации полезной .. кому этот треш предназначен ????
Как же тяжело Кладова слушать. Бе ме пук, чего то жуёт
Убогонько. После употребления слова фича дальше можно не смотреть. Объяснения асинхронных процессов аховое. Кроме фича этот прохвессор не знает ничего.
собственно я так и сделал, глянуть 2 минуты, потом спустился в коменты и понял что смотреть почти 2 часа не стоит
ужос .. языка не знает своего .. одни англоцизмы .. как его допустили .. в итоге я что то не заметил этого ясинг ио ..