Цифровое образование

Академия Яндекса: Асинхронное программирование. Лекция 1 - видео HD

Академия Яндекса: Асинхронное программирование. Лекция 1 - видео
01:14:55
Лекции из курсов различных школ Яндекса, записи мастер-классов, семинаров и докладов на мероприятиях — для специалистов IT-отрасли, студентов технических вузов и даже школьников.

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

Во время лекции рассмотрим, в чём проблема синхронных приложений и что с этим можно сделать.Обсудим, что происходит с точки зрения ОС при HTTP-запросе, как обрабатывать несколько запросов одновременно и какие есть преимущества, недостатки у процессов и потоков в веб-серверах. Вы узнаете об особенностях потоков в Python. Обсудим неблокирующий ввод-вывод: как обрабатывать несколько запросов в одном потоке. Поговорим о том, что такое event-loop и зачем он нужен. Затронем тему выбора между синхронным и асинхронным решением.Презентация: yadi.sk/i/OhqXMEOKzNlK6g Полезные ссылки: Linux System Programming: www.oreilly.com/library/view/linux-system-programming/9781449341527A Web Crawler With asyncio Coroutines: www.aosabook.org/en/500L/a-web-crawler-with-asyncio-coroutines.htmlDavid Beazley: Generators: The Final Frontier: www.youtube.com/watch?v=D1twn9kLmYgВесь плейлист: www.youtube.com/playlist?list=PLQC2_0cDcSKBHamFYA6ncnc_fYuEQUy0s
RSS
Владимир Степанов
21:16
что за ад с 31 по 42 минуты для чего это?..
Vladimir Shitov
09:46
А что плохого в том, что Инстаграм использует джанго? Или речь о том, что джанго не поддерживал асинхронное программирование?
Аристарх Зловредович
22:05
гыгыг за шарпом повторяют, ваш питон фигня
Ignat Ignatov
22:25
Современные специалисты не изучали отличия архитектуры и реализации оператора С select в контексте конкретного процессора. С их слов выходит что ранее не было асинхронных библиотек, потому что предыдущее поколение программистов было не такое продвинутое как теперешнее.

А все совсем наоборот. Раньше были хорошие программисты. А асинхронного програмирования не было, так как не было механизмов в микропроцессорах, которые дали бы выйгрыш с таким подходом. Но когда такие процессоры появились, не нашлось специалистов, которые быстро смогли воспользоваться такими изменениями внеся изменение во все основные языки и компиляторы (да да я знаю, они типа должны быть переносимы — то есть на Ардвино должны работать так же как на AMD под гипервизором).

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

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

На данный момент решение только одно — все реализовать аппаратно, а всех програмистов на Питоне переучить на дворников (которыми 50% и являются по своей сути) smile пусть в реальном мире подметают и вычищают пространства. smile Да жестоко, зато мусорых фреймворков не будет.

Правда есть риск, получить мусор на улицах в реальном пространстве smile Уверен, что бывшие мусорные программисты и на улице не смогут убрать мусор как следует.
Ignat Ignatov
03:03
Короче говоря на каждом процессоре реализация select разная. Где то она по принципу GIL устроена но на аппаратном уровне. Где то работает быстро, где то возникают конги от неправильной конфигурации. Поэтому если выкинуть весь Питон и библиотеки GCC и реализацию в Ядре Линукс и реализацию на уровне ASM без учета архитектуры и сделать все под конкретный новый чип (желательно прямо в железе), то все будет работать раз 10-100 быстрее.

А select я использовал в 2000 году и у меня на обычном 486 компьютере 500 соединений в 1 секунду обслуживал один веб-сервер. Прошло 20 лет а воз и ныне там же.
Ignat Ignatov
03:11
Алиллуя! Изобрели милениалы DOS 1.0 с драйверами и дискриптерами драйверов… Подождем еще немного — освоят ASM, потом еще подождать несколько лет и разберутся, наконец, с архитектурой процессора и встроенными контроллерами аппаратными и шинами.
Ignat Ignatov
03:52
+1
Ужастный доклад. Не знание русского языка. Использование английских слов (из за незнания русского языка). В докладе куча смыслового мусора, нет ссылки на гитхаб. Тупое решение — замена одного тупого фреймворка на другой тупой фреймворк.

Единственное что было полезное в этом докладе это ссылка на другой адекватный доклад на языке, которым тот докладчик умеет пользоватся.
Ivan Booba
14:42
зачем чета переводить… попу морщить… евент луп, а может ивент, а может евинт? а может лоп а может еще какое неприличное слово?.. айо… поллинг… а может пулинг? а может поплинг? зачем нахер нам чота переводить… просто читай как в голову взбредет!!! англицизмы зло! попробуйте переводить на русский язык… а то уже неприличные слова образовываютцо… что стоит ваше квё… ДА! и после ПЕРЕВОДА появляется ОДНОЗНАЧНОСТЬ… а так позорище одно… мало того что произносишь не правильно…
Clement Frost
14:28
19:58, вообще-то мы хотим обрабатывать несколько запросов НЕЗАВИСИМО, а не одновременно (хотя не исключаем это). Это вопрос про concurrency vs parallelism. Кому интересно можете глянуть лекцию Роба Пайка «Concurrency is not parallelism»
FoodMaks
18:29
Очень крутой и внятный доклад. Спасибо большое
Загрузка...