Спасибо за курс лекций! Теперь это мой любимый сериал :)
@Bobronium5 жыл бұрын
Лекция супер крута. Очень жаль, что не увидел когда начинал изучать async.
@Bobronium5 жыл бұрын
И да, когда будет видео с мастер-класса?
@ПавелШмаков-ш5ч5 жыл бұрын
На моменте 1:04:36 проверка if not events: выполняется после events = sel.select(). Может это особенности KqueueSelector (у меня Epoll, а на Windows 10 вообще работать не будет WinError 10093 WSAStartup failed), но select (если ей не передавать аргументов) функция блокирующая. Следовательно когда будут unregister все fileobj, начнется новая итерация цикла где select-у нечего будет выбирать и он заблокирует всю программу. Можно добавить if not len(sel.get_map()): break перед вызовом select.
@andrii-marynets6 жыл бұрын
А видео мастер класа будет?
@pushtaev5 жыл бұрын
Увы, нет.
@Zanozin5 жыл бұрын
1:07:57 itertools, а не functools.
@ЮрийТакаев-ч5ы5 жыл бұрын
Очень интересная лекция, впрочем как и весь курс. Вадим, почему при написании серверной части Вы написали if name is not None. Думаю можно было бы просто if name: Надеюсь на Ваш ответ.
@pushtaev5 жыл бұрын
Я предпочитаю всегда делать явную проверку на None. Это семантически точнее, и не надо думать о том, какие еще возможные ложные значения могут быть у объекта. Кстати, до 3.5 datetime.time() был ложным, если хранил полночь.
@ivanaaa60495 жыл бұрын
Треды в Python работают не параллельно, потому что все потоки выполняются в одном общем потоке Python-а. Так что независимо от количества ядер все они выполняются на одном ядре последовательно. А вот процессы в Python действительно параллельны.
@pushtaev5 жыл бұрын
Это неправда. Треды настоящие, но могут работать последовательно из-за GIL (зависит от того, какой код выполняется).
@BohdanKokovych5 жыл бұрын
Навальный все-таки выучил python, вон даже лекции читает