home.social

#uvicorn — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #uvicorn, aggregated by home.social.

  1. HTTP-кеширование изнутри: ETag, Last-Modified и эвристика браузера

    Как браузер принимает решение о кешировании? Что такое условный HTTP-запрос? Как возникает 304 Not Modified? Как устроен принудительный запрос ресурса, минуя кеш? Если эти вопросы для вас актуальны, прошу на огонёк. Изложение намеренно подробное: статья адресована и тем, кто только начинает путь в веб-разработке, и тем, кто просто хочет закрыть отдельные пробелы в понимании механизма кеширования. Скажем "нет" слепому копированию заголовков кеширования. Погружаемся

    habr.com/ru/articles/1010594/

    #сети #http #кеширование #кэширование #rfc9111 #starlette #uvicorn #httpсервер #браузеры #rfc9110

  2. HTTP-кеширование изнутри: ETag, Last-Modified и эвристика браузера

    Как браузер принимает решение о кешировании? Что такое условный HTTP-запрос? Как возникает 304 Not Modified? Как устроен принудительный запрос ресурса, минуя кеш? Если эти вопросы для вас актуальны, прошу на огонёк. Изложение намеренно подробное: статья адресована и тем, кто только начинает путь в веб-разработке, и тем, кто просто хочет закрыть отдельные пробелы в понимании механизма кеширования. Скажем "нет" слепому копированию заголовков кеширования. Погружаемся

    habr.com/ru/articles/1010594/

    #сети #http #кеширование #кэширование #rfc9111 #starlette #uvicorn #httpсервер #браузеры #rfc9110

  3. HTTP-кеширование изнутри: ETag, Last-Modified и эвристика браузера

    Как браузер принимает решение о кешировании? Что такое условный HTTP-запрос? Как возникает 304 Not Modified? Как устроен принудительный запрос ресурса, минуя кеш? Если эти вопросы для вас актуальны, прошу на огонёк. Изложение намеренно подробное: статья адресована и тем, кто только начинает путь в веб-разработке, и тем, кто просто хочет закрыть отдельные пробелы в понимании механизма кеширования. Скажем "нет" слепому копированию заголовков кеширования. Погружаемся

    habr.com/ru/articles/1010594/

    #сети #http #кеширование #кэширование #rfc9111 #starlette #uvicorn #httpсервер #браузеры #rfc9110

  4. HTTP-кеширование изнутри: ETag, Last-Modified и эвристика браузера

    Как браузер принимает решение о кешировании? Что такое условный HTTP-запрос? Как возникает 304 Not Modified? Как устроен принудительный запрос ресурса, минуя кеш? Если эти вопросы для вас актуальны, прошу на огонёк. Изложение намеренно подробное: статья адресована и тем, кто только начинает путь в веб-разработке, и тем, кто просто хочет закрыть отдельные пробелы в понимании механизма кеширования. Скажем "нет" слепому копированию заголовков кеширования. Погружаемся

    habr.com/ru/articles/1010594/

    #сети #http #кеширование #кэширование #rfc9111 #starlette #uvicorn #httpсервер #браузеры #rfc9110

  5. От WSGI к ASGI: как Python научился работать с асинхронным вебом

    WSGI и ASGI — то, на чем стоит весь современный веб на Python. Это стандарты, которые описывают интерфейс между веб-сервером и приложением. Благодаря им сервер и фреймворк не образуют жесткую пару: любой WSGI-сервер запускает любое WSGI-приложение, любой ASGI-сервер любое ASGI-приложение. Uvicorn не знает ничего о FastAPI, FastAPI не знает ничего о Uvicorn, они знают только о том, что передать на вход и что ожидать на выходе. Разберем, как все это устроено. Погружаемся

    habr.com/ru/articles/1003282/

    #python #asgi #wsgi #вебсервер #asyncio #starlette #uvicorn

  6. Ваша LLM стримит в никуда: разбираемся, как работать с дисконнектами в FastAPI

    Что делает ваше FastAPI-приложение, когда клиент неожиданно закрывает соединение? По умолчанию — ничего. Если сервису важно экономить ресурсы (например, при работе с LLM), дисконнекты приходится обрабатывать явно, иначе GPU продолжит генерировать токены в пустоту. В FastAPI есть встроенные механизмы отмены обработки запроса при дисконнекте клиента. Однако просто включить их недостаточно: нужно подготовить ваш код к этому. Иначе возможны проблемы: зависшие транзакции и сломанный пул соединений с БД.

    habr.com/ru/companies/tochka/a

    #fastapi #starlette #uvicorn #стримминг #sse #дисконнекты #отмена_запроса #asgi

  7. Python (FastAPI) vs Go: нагрузочный тест и анализ производительности

    Выбор backend-языка часто сводится к компромиссу между скоростью разработки и производительностью. Python с FastAPI ценят за простоту и быстрый старт, а Go — за высокую производительность и предсказуемость работы под нагрузкой. Но что если взглянуть на реальные цифры, а не на общие тезисы? В этой статье я провёл нагрузочный тест двух минимальных серверов: Go (net/http) и Python (FastAPI + Uvicorn) с использованием Locust. Мы тестировали один endpoint под 1000 одновременных пользователей, с высокой скоростью добавления новых, чтобы увидеть пределы производительности и стабильности откликов. Статья полезна всем, кто разрабатывает API, оптимизирует серверы и хочет принимать решения на основе фактических данных, а не слухов. Результаты эксперимента наглядно показывают, где Python подходит для быстрого старта, а где Go выигрывает в производительности и стабильности.

    habr.com/ru/articles/981176/

    #Go #Python #FastAPI #Uvicorn #нагрузочное_тестирование #Locust #RPS #производительность #серверная_оптимизация

  8. Python (FastAPI) vs Go: нагрузочный тест и анализ производительности

    Выбор backend-языка часто сводится к компромиссу между скоростью разработки и производительностью. Python с FastAPI ценят за простоту и быстрый старт, а Go — за высокую производительность и предсказуемость работы под нагрузкой. Но что если взглянуть на реальные цифры, а не на общие тезисы? В этой статье я провёл нагрузочный тест двух минимальных серверов: Go (net/http) и Python (FastAPI + Uvicorn) с использованием Locust. Мы тестировали один endpoint под 1000 одновременных пользователей, с высокой скоростью добавления новых, чтобы увидеть пределы производительности и стабильности откликов. Статья полезна всем, кто разрабатывает API, оптимизирует серверы и хочет принимать решения на основе фактических данных, а не слухов. Результаты эксперимента наглядно показывают, где Python подходит для быстрого старта, а где Go выигрывает в производительности и стабильности.

    habr.com/ru/articles/981176/

    #Go #Python #FastAPI #Uvicorn #нагрузочное_тестирование #Locust #RPS #производительность #серверная_оптимизация

  9. Python (FastAPI) vs Go: нагрузочный тест и анализ производительности

    Выбор backend-языка часто сводится к компромиссу между скоростью разработки и производительностью. Python с FastAPI ценят за простоту и быстрый старт, а Go — за высокую производительность и предсказуемость работы под нагрузкой. Но что если взглянуть на реальные цифры, а не на общие тезисы? В этой статье я провёл нагрузочный тест двух минимальных серверов: Go (net/http) и Python (FastAPI + Uvicorn) с использованием Locust. Мы тестировали один endpoint под 1000 одновременных пользователей, с высокой скоростью добавления новых, чтобы увидеть пределы производительности и стабильности откликов. Статья полезна всем, кто разрабатывает API, оптимизирует серверы и хочет принимать решения на основе фактических данных, а не слухов. Результаты эксперимента наглядно показывают, где Python подходит для быстрого старта, а где Go выигрывает в производительности и стабильности.

    habr.com/ru/articles/981176/

    #Go #Python #FastAPI #Uvicorn #нагрузочное_тестирование #Locust #RPS #производительность #серверная_оптимизация

  10. Python (FastAPI) vs Go: нагрузочный тест и анализ производительности

    Выбор backend-языка часто сводится к компромиссу между скоростью разработки и производительностью. Python с FastAPI ценят за простоту и быстрый старт, а Go — за высокую производительность и предсказуемость работы под нагрузкой. Но что если взглянуть на реальные цифры, а не на общие тезисы? В этой статье я провёл нагрузочный тест двух минимальных серверов: Go (net/http) и Python (FastAPI + Uvicorn) с использованием Locust. Мы тестировали один endpoint под 1000 одновременных пользователей, с высокой скоростью добавления новых, чтобы увидеть пределы производительности и стабильности откликов. Статья полезна всем, кто разрабатывает API, оптимизирует серверы и хочет принимать решения на основе фактических данных, а не слухов. Результаты эксперимента наглядно показывают, где Python подходит для быстрого старта, а где Go выигрывает в производительности и стабильности.

    habr.com/ru/articles/981176/

    #Go #Python #FastAPI #Uvicorn #нагрузочное_тестирование #Locust #RPS #производительность #серверная_оптимизация

  11. Обзор WSGI, ASGI и RSGI: лидеры среди веб-серверов в 2025 году

    Любому веб-приложению нужен веб-сервер для доступа извне. На самом деле, многие даже не уделяют выбору веб-сервера для своего приложения достаточного внимания: на Django берут "популярный" Gunicorn (а кто-то ещё и обвязывает его Uvicorn'ом), а для FastAPI Uvicorn практически стандарт. Тут "на сцену" выходит Granian, представляющий впечатляющие результаты производительности с простой настройкой. В своём проекте "Код на салфетке" я использовал uWSGI, но недавно узнал про новый Granian и мне стало интересно на что он способен. Так появилась идея для этой статьи. В этой статье узнаем:

    habr.com/ru/articles/948190/

    #WSGI #ASGI #RSGI #вебсервер_python #сравнение_веб_серверов #django #fastapi #uvicorn #granian

  12. Обзор WSGI, ASGI и RSGI: лидеры среди веб-серверов в 2025 году

    Любому веб-приложению нужен веб-сервер для доступа извне. На самом деле, многие даже не уделяют выбору веб-сервера для своего приложения достаточного внимания: на Django берут "популярный" Gunicorn (а кто-то ещё и обвязывает его Uvicorn'ом), а для FastAPI Uvicorn практически стандарт. Тут "на сцену" выходит Granian, представляющий впечатляющие результаты производительности с простой настройкой. В своём проекте "Код на салфетке" я использовал uWSGI, но недавно узнал про новый Granian и мне стало интересно на что он способен. Так появилась идея для этой статьи. В этой статье узнаем:

    habr.com/ru/articles/948190/

    #WSGI #ASGI #RSGI #вебсервер_python #сравнение_веб_серверов #django #fastapi #uvicorn #granian

  13. Обзор WSGI, ASGI и RSGI: лидеры среди веб-серверов в 2025 году

    Любому веб-приложению нужен веб-сервер для доступа извне. На самом деле, многие даже не уделяют выбору веб-сервера для своего приложения достаточного внимания: на Django берут "популярный" Gunicorn (а кто-то ещё и обвязывает его Uvicorn'ом), а для FastAPI Uvicorn практически стандарт. Тут "на сцену" выходит Granian, представляющий впечатляющие результаты производительности с простой настройкой. В своём проекте "Код на салфетке" я использовал uWSGI, но недавно узнал про новый Granian и мне стало интересно на что он способен. Так появилась идея для этой статьи. В этой статье узнаем:

    habr.com/ru/articles/948190/

    #WSGI #ASGI #RSGI #вебсервер_python #сравнение_веб_серверов #django #fastapi #uvicorn #granian

  14. Обзор WSGI, ASGI и RSGI: лидеры среди веб-серверов в 2025 году

    Любому веб-приложению нужен веб-сервер для доступа извне. На самом деле, многие даже не уделяют выбору веб-сервера для своего приложения достаточного внимания: на Django берут "популярный" Gunicorn (а кто-то ещё и обвязывает его Uvicorn'ом), а для FastAPI Uvicorn практически стандарт. Тут "на сцену" выходит Granian, представляющий впечатляющие результаты производительности с простой настройкой. В своём проекте "Код на салфетке" я использовал uWSGI, но недавно узнал про новый Granian и мне стало интересно на что он способен. Так появилась идея для этой статьи. В этой статье узнаем:

    habr.com/ru/articles/948190/

    #WSGI #ASGI #RSGI #вебсервер_python #сравнение_веб_серверов #django #fastapi #uvicorn #granian

  15. Хватит тестировать на «кошках»! Разворачиваем циничный API на FastAPI за 5 минут для реальных AQA-задач

    Привет, Хабр! Меня зовут Ваня, и я AQA-инженер. Как и многие из вас, я занимаюсь обучением будущих покорителей Postman и Pytest. И, как многие из вас, я столкнулся с проблемой: все существующие тестовые API — невыносимо скучные. Todo-листы, интернет-магазины с товарами Item 1 , Item 2 , API для управления книгами... Серьезно? После пятого GET /todos начинаешь сомневаться не только в своей карьере, но и в смысле бытия. Данные в них стерильны, как операционная, а сценарии предсказуемы, как сюжет российского сериала. Моим ученикам было скучно. Мне было скучно. Я понял, что нужен свой API. С блэкджеком и... ну, вы поняли. С API, который будет не просто функциональным, но и забавным. Который захочется «потыкать» просто ради того, чтобы увидеть очередной перл в ответе сервера. Так родился "Cynical Circle API" — API для тех, кто понял жизнь и устал от ванильных примеров. (Так выглядит наша интерактивная документация. Уже интригует, не правда ли?)

    habr.com/ru/articles/937716/

    #API #тестирование_API #AQA #автоматизация_тестирования #Python #fastapi #swagger #uvicorn #itюмор #обучение_программированию

  16. Хватит тестировать на «кошках»! Разворачиваем циничный API на FastAPI за 5 минут для реальных AQA-задач

    Привет, Хабр! Меня зовут Ваня, и я AQA-инженер. Как и многие из вас, я занимаюсь обучением будущих покорителей Postman и Pytest. И, как многие из вас, я столкнулся с проблемой: все существующие тестовые API — невыносимо скучные. Todo-листы, интернет-магазины с товарами Item 1 , Item 2 , API для управления книгами... Серьезно? После пятого GET /todos начинаешь сомневаться не только в своей карьере, но и в смысле бытия. Данные в них стерильны, как операционная, а сценарии предсказуемы, как сюжет российского сериала. Моим ученикам было скучно. Мне было скучно. Я понял, что нужен свой API. С блэкджеком и... ну, вы поняли. С API, который будет не просто функциональным, но и забавным. Который захочется «потыкать» просто ради того, чтобы увидеть очередной перл в ответе сервера. Так родился "Cynical Circle API" — API для тех, кто понял жизнь и устал от ванильных примеров. (Так выглядит наша интерактивная документация. Уже интригует, не правда ли?)

    habr.com/ru/articles/937716/

    #API #тестирование_API #AQA #автоматизация_тестирования #Python #fastapi #swagger #uvicorn #itюмор #обучение_программированию

  17. Хватит тестировать на «кошках»! Разворачиваем циничный API на FastAPI за 5 минут для реальных AQA-задач

    Привет, Хабр! Меня зовут Ваня, и я AQA-инженер. Как и многие из вас, я занимаюсь обучением будущих покорителей Postman и Pytest. И, как многие из вас, я столкнулся с проблемой: все существующие тестовые API — невыносимо скучные. Todo-листы, интернет-магазины с товарами Item 1 , Item 2 , API для управления книгами... Серьезно? После пятого GET /todos начинаешь сомневаться не только в своей карьере, но и в смысле бытия. Данные в них стерильны, как операционная, а сценарии предсказуемы, как сюжет российского сериала. Моим ученикам было скучно. Мне было скучно. Я понял, что нужен свой API. С блэкджеком и... ну, вы поняли. С API, который будет не просто функциональным, но и забавным. Который захочется «потыкать» просто ради того, чтобы увидеть очередной перл в ответе сервера. Так родился "Cynical Circle API" — API для тех, кто понял жизнь и устал от ванильных примеров. (Так выглядит наша интерактивная документация. Уже интригует, не правда ли?)

    habr.com/ru/articles/937716/

    #API #тестирование_API #AQA #автоматизация_тестирования #Python #fastapi #swagger #uvicorn #itюмор #обучение_программированию

  18. Хватит тестировать на «кошках»! Разворачиваем циничный API на FastAPI за 5 минут для реальных AQA-задач

    Привет, Хабр! Меня зовут Ваня, и я AQA-инженер. Как и многие из вас, я занимаюсь обучением будущих покорителей Postman и Pytest. И, как многие из вас, я столкнулся с проблемой: все существующие тестовые API — невыносимо скучные. Todo-листы, интернет-магазины с товарами Item 1 , Item 2 , API для управления книгами... Серьезно? После пятого GET /todos начинаешь сомневаться не только в своей карьере, но и в смысле бытия. Данные в них стерильны, как операционная, а сценарии предсказуемы, как сюжет российского сериала. Моим ученикам было скучно. Мне было скучно. Я понял, что нужен свой API. С блэкджеком и... ну, вы поняли. С API, который будет не просто функциональным, но и забавным. Который захочется «потыкать» просто ради того, чтобы увидеть очередной перл в ответе сервера. Так родился "Cynical Circle API" — API для тех, кто понял жизнь и устал от ванильных примеров. (Так выглядит наша интерактивная документация. Уже интригует, не правда ли?)

    habr.com/ru/articles/937716/

    #API #тестирование_API #AQA #автоматизация_тестирования #Python #fastapi #swagger #uvicorn #itюмор #обучение_программированию

  19. And... Uvicorn 0.32.0 released! 😎

    ✅ Officially support for Python 3.13

    github.com/encode/uvicorn

  20. Should I add the `async` keyword to my API methods that call opensearch, redis, postgres, & other microservices?

    context:
    #connexion + #starlette + #uvicorn + #gunicorn + supervisord, #python 3.12

    #asyncio