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