Web-приложение на низком уровне: сокеты и роутинг
Вставка
- Опубліковано 10 лют 2025
- Мои курсы:
Boosty:
boosty.to/omol...
Patreon:
/ karty-vsekh-41011404
Пишем эскиз веб-фреймворка на Python на низком уровне.
Смотрим на работу с сокетами, на то, как осуществляется маршрутизация (роутинг) запроса от клиента (браузера) на сервере, генерируем ответ сервера (заголовки и тело).
Составляем представление о том, как Django и Flask обрабатывают запросы и осуществляют роутинг "под капотом".
** ИСХОДНЫЙ КОД **
Основных проектов доступен в Patreon:
/ iskhodnyi-kod-26640469
***
_____
Поддержите канал!
🔷 Для донатов. Всегда очень признателен за это:
www.donational...
Thumbnail photo:
Author: Maria Ly
Source: www.flickr.com...
License: Creative Commons 2.0
Олега спасибо за видео. Пожалуйста продолжайте делать видео. Они одни из лучших в рунете. Вы отличный преподаватель.
Подписываюсь под каждым словом!
Спасибо :)
Поддерживаю. Отличная подача информации.
you all probably dont give a damn but does anybody know a method to log back into an Instagram account??
I was stupid forgot the password. I love any tips you can give me
@Brodie Onyx instablaster :)
Я начал у вас асинхронность смотреть, понял, что не знаю о сокетах. Сейчас картина стала вырисовывается, большое благодарю!
Самое главное видео на тему обработки URL-запросов во всём ютубе
Обалдеть, я давно искал информацию от том как на низком уровне обрабатываются запросы, а тут все в одном видео собрано да и еще и на русском. Браво, премного благодарен вам!!!
Прочитал как "переменные благодарны вам"...
Пойду посплю.
Олег, огромное спасибо. Не в первый раз выручаете своими видео. Было бы здорово, если вы бы рассказали о том, как на низах работают flask-login, flask-security. Сессии, куки, безопасность, токены и т.п. Нет проблем с использованием этих штук, но думаю многим было бы интересно и полезно узнать о том, как это работает на низах. Спасибо!
Отличная идея!
Олег, присоединяюсь к предложению Ивана - расскажите как логины и безопасность работают на низах, создание своего yet-another-flask без этих знаний совсем никак ;))
+
+
Я просто в шоке!!!
Потрясающий урок!! Ничего прежде не видел на youtube подобного. Очень интересная тема!!! Автору огромное спасибо.
Это лучшее объяснение! Огромное спасибо за труд🫶
Классно, спасибо. Концовка с урлами и темлпейтс шикарная.
Олег, если бы не вы... я бы крышей поехал! Столько моментов в процессе изучения python были непонятны ( как не гуглил ) и только ваши видео плавно, интересно и максимально доступно доносили до меня понимание! Спасибо большое за ваш труд и талант объяснить сложные вещи очень простым языком! Каждый раз когда открываю ваше видео, сначала ставлю лайк, а потом смотрю)
Алгоритмы ютуба радуют. Я знал, что это видео существует, но руки не доходили до него добраться. И тут оно на главной у меня.
Подобных руководств не где не встречал!
Спасибо
Офигеть - свой Flask за 39 мин)
Спасибо за урок, очень полезно для понимания работы фреймворков
Спасибо! Как всегда, очень доходчиво.
Спасибо большое! Вы молодец! Хорошо преподаете, все понятно, четко и по делу.
Олег, спасибо большое за видео! Очень чётко и понятно.
Очень доступная подача, спасибо большое)
Самые лучшие видео с объяснениями что я видел
Большое спасибо за видео. Спустя 4ре года все еще актуально и... действительно лучшая подача, что встречал.
Жаль что со всеми санкциями до патреона проблематично достучаться.
Огромное спасибо за урок.Вы очень хороший преподаватель,теперь буду стараться постоянно смотреть ваши уроки!
Спасибо, Олег! Вы лучший, потому что подробно и доходчиво объясняете любые мелочи. Этим не могут похвастаться 90 процентов онлайн преподавателей. Часто после своих платных курсов приходилось пересматривать ваш контент 😁 удачи вам и продолжайте в том же духе!
ОЧЕНЬ нужная инфа, на любом собесе пригодится
це було корисно, дякую за урок)
Очень интересно, Олег! Большое спасибо, так локанично, быстро (но в достататочном уровне полно) дать понимание того как работают веб-фреиймворки - это гениально!
Автор, спасибо большое, сразу видно что делаете от души и с большим посылом!
спасибо
Большое спасибо, только начал вникать в тему серверного программирования, из-за чего не мог найти ответы на некоторые интересующие меня вопросы, которые я получил здесь :3
ПОТРЯСАЮЩЕ!!! Спасбо, Олег, превосходная подача материала. Очень интересно!
Спасибо огромное! Очень доступно. Теперь материалы по тому-же джанго воспринимать куда легче.
Спасибо! Это лучшее объяснение, которое я встречал.
Спасибо огромное за труды. Жаль что Вы не продолжаете делится опытом и знаниями.
есть англоязычный канал у Олега, поищите Red Eyed Coder Club
Ох, я уж думал, сейчас будем распаковывать IP-пакет и писать TCP-хэндшэйк)))
Видео интересное, спасибо, посмотрел целиком и воспроизвёл)
Очень понравилось, спасибо большое! Всегда интересно поковыряться на низком уровне
Спасибо, Олег! Как всегда круто!
Олег спасибо за ваш труд, пожалуйста продолжайте
Отличное видео! Спасибо большое! Лично мне хотелось бы узнать больше о сокетах и их использования не только в веб сервисах, но и например в играх на python))
Олег спасибо большое за видео. Прошел ваши уроки на патриоте по логированию, парсингу и ООП. Ваша подача материала десять из десяти.
Жаль что вы больше не выпускаете видео.
Стало понятнее, что происходит под капотом у фреймворков.
Спасибо.
это божественно. то как вы преподаете! спасибо вам за ваш труд!
Круто. Буду пересматривать просто для удовольствия.
Очень внятно и доходчиво. Спасибо!
Насколько же всё понятно!!! Спасибо!
Очень многое стало на своим места, спасибо большое!
Спасибо, все просто и понятно рассказано.
Очень крутой видос! Сенкъю вери мач!!
Респект тебе за хороший английский, за детальное разъяснение и просто за то, что ты есть)
Отличное видео, все понятно. Спасибо!
Огромное спасибо за подробный разбор данной темы!
Отличный урок, все предельно понятно обьясненено. Лайк :c
Мне очень понравилось, многое прояснилось
Автор, спасибо тебе огромное!
Огромное спасибо, много полезного для себя подчеркнул
Олег, спасибо!
спасибо за видео, очень доступно все объясняешь, и темы интересные
Спасибо
очень хороший ролик. Спасибо, вы хорошо объясняете
Очень крутое видео
Спасибо большое
Супер. Лайк, подписка!
Без этого видоса я бы ещё очень долго вникал в устройство Flask, огромное спасибо Олег =)
Классное объяснение
Непонятный момент. Пишем SOL_SOCKET для server_socket. Ясно же, что мы для него обозначаем опцию, раз пишем server_socket=. Какие ещё бывают ситуации? 17:23
Аналогия с макдаком - зачёт!)
В момент когда автор открыл меню пуск (13:58) я потянулся к кнопке ескейп потому что подумал что это у меня окрылось меню, лол
Спасибо! Очень крутое видео. Узнал много полезного!
Благодарочка
🙏
Спасибо большое! Были проблемы но я справился
Спасибо за контент! Я правильно понимаю, что в целом можно выделить в этом видео 2 части: 1 часть - создаем субъект на сервере (web-сокет на стороне сервера), который будет прослушивать порт, принимать данные 2 часть- делаем так, чтобы субъект на сервере, возвращал http-ответ и код состояние в зависимости от полученного htttp-запроса ?
Отличный видос
Жаль, что Олег с ютуба ушёл. После таких видео действительно начинаешь верить во что-то)
Спасибо за контент
Что называется человек понимает то, что объясняет!
Spasibo vam bolshoe!
Олег, я вас уважаю, вы хороший профессионал своего дела ! У вас есть платный курс по парсингу сайтов, я уверен что он высочайшего качества, мне его очень хотелось бы приобрести, но к сожалению из-за тотальной нищеты, я не смог оплатить даже столь скромную сумму за ваш титанический труд, по этому я его "спёр" с ближайшего торрента за что и каюсь перед вами, но обещаю как только начну "зашибать" деньги как Python разработчик я обязательно оплачу его со временем в двойне ...
А пока от всей души прошу прощения !
Ну что ж.... зато честно. Желаю вам терпения и успеха.
"тотальной нищеты", понимаю тебя бро, удачи. Олег - спасибо, как всегда
@Олег Молчанов, удалили бы вы этот коммент, а-то многие так и полезут на торренты.
Круто рассказал и показал.
спасибо
спасибо)
Всем привет!
Отличный видос, все толково, все по делу, так держать!
Теперь пару слов у кого винда и кто пытался написать (и вывести) html файл с кириллицей.
И у вас ничего не получилось а в браузере вы увидели кракозябры?
идем в файл views.py
когда вы читаете файл надо принудительно указывать кодировку, т.е. :
with open('templates/index.html', encoding="utf-8") as template:
должно получиться!
спасибо за видос! you are the best!
Великолепное видео
Супер!
СПАСИБО
отличный видос
какой же каеф!!!
Чувак ты крут, спасибо тебе. Буду рад если ты расскажешь про асинхроный фреймворки. типо aioHttp tornado и.т.д.
Спасибо. Да, когда-нибудь я до них доберусь
Большое человеческое спасибо. Не подскажете материала конкретно по модулю Socket?
Хочу заметить, что время 7 утра!
Супер, только я чай поставлю
Офигенный видос. Олег, ты это все в голове держишь или подглядываешь?))
Конкретно в этом видео нет ничего сложного.
Олег, а может посоветуешь книгу либо другой ресурс что бы в веб на "низком" уровне разобраться, протоколы сокеты и пр.
Спасибо!
Олег, вернитесь на Ютуб))) у вас отличные видео
Молодцом! Не то что гикбрейнсы, скилбоксы, яндексы и прочее хуё-моё.
В каком видео подробнее рассматривается "чтение" запросов? Прикрепляйте, пожалуйста, если упоминаете.
огненно, пламенно
Хотелось бы понять как можно передать данные из формы ...
В питоновскую функцию
какой тайм аут на полторы минуты на 16.51 ? нужно было посмотреть список процессов и занятых (tcp) портов. Убить процесс который слушает занятый 5000 порт. из Скрипта вы не вышли а отключились (отпочковались) от его ввода/вывода и провалились в консоль (в bash в родителя скрипта)
почему не могу ставить несколько лайков под видео?
perfect
На 37:05 вы удалили отправку заголовка.
грамотная речь
А как общаются браузер(клиент) и сервер с помощью http протокола? Наш сервер по сути же не умеет работать с http, лишь с TCP
При запуске кода, через какое-то время браузер, видимо, отправляет пустой запрос и из-за этого в коде функции parse_request возникает ошибка: IndexError: list index out of range
Большое спасибо за урок!
Подскажите, пожалуйста, 1 вещь.
В html файле есть тег link с ссылкой на .css файл, который лежит в той же папке. При попытке перейти на страницу сервера, то загружается только html файл, а потом сервер падает с ошибкой "KeyError: '/style.css'" при этом в DevTools видно GET запрос на localhost:5000/style.css. Аналогичное падение происходит спустя пару минут посл запуска, т.к. браузер почему-то делает GET запрос за файлом favicon.ico, хотя в коде и намека на него не было. Пользуюсь последним Google Chrome.
Метод get_content() модифицировал - удалил условия проверки кода ответа. В теле этого метода у меня единственная строка return URLS[url]()
Большое спасибо!
Олег как понимаю вы запустили веб сервер? А в каком месте кода это?