#uvicorn — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #uvicorn, aggregated by home.social.
-
HTTP-кеширование изнутри: ETag, Last-Modified и эвристика браузера
Как браузер принимает решение о кешировании? Что такое условный HTTP-запрос? Как возникает 304 Not Modified? Как устроен принудительный запрос ресурса, минуя кеш? Если эти вопросы для вас актуальны, прошу на огонёк. Изложение намеренно подробное: статья адресована и тем, кто только начинает путь в веб-разработке, и тем, кто просто хочет закрыть отдельные пробелы в понимании механизма кеширования. Скажем "нет" слепому копированию заголовков кеширования. Погружаемся
https://habr.com/ru/articles/1010594/
#сети #http #кеширование #кэширование #rfc9111 #starlette #uvicorn #httpсервер #браузеры #rfc9110
-
HTTP-кеширование изнутри: ETag, Last-Modified и эвристика браузера
Как браузер принимает решение о кешировании? Что такое условный HTTP-запрос? Как возникает 304 Not Modified? Как устроен принудительный запрос ресурса, минуя кеш? Если эти вопросы для вас актуальны, прошу на огонёк. Изложение намеренно подробное: статья адресована и тем, кто только начинает путь в веб-разработке, и тем, кто просто хочет закрыть отдельные пробелы в понимании механизма кеширования. Скажем "нет" слепому копированию заголовков кеширования. Погружаемся
https://habr.com/ru/articles/1010594/
#сети #http #кеширование #кэширование #rfc9111 #starlette #uvicorn #httpсервер #браузеры #rfc9110
-
HTTP-кеширование изнутри: ETag, Last-Modified и эвристика браузера
Как браузер принимает решение о кешировании? Что такое условный HTTP-запрос? Как возникает 304 Not Modified? Как устроен принудительный запрос ресурса, минуя кеш? Если эти вопросы для вас актуальны, прошу на огонёк. Изложение намеренно подробное: статья адресована и тем, кто только начинает путь в веб-разработке, и тем, кто просто хочет закрыть отдельные пробелы в понимании механизма кеширования. Скажем "нет" слепому копированию заголовков кеширования. Погружаемся
https://habr.com/ru/articles/1010594/
#сети #http #кеширование #кэширование #rfc9111 #starlette #uvicorn #httpсервер #браузеры #rfc9110
-
HTTP-кеширование изнутри: ETag, Last-Modified и эвристика браузера
Как браузер принимает решение о кешировании? Что такое условный HTTP-запрос? Как возникает 304 Not Modified? Как устроен принудительный запрос ресурса, минуя кеш? Если эти вопросы для вас актуальны, прошу на огонёк. Изложение намеренно подробное: статья адресована и тем, кто только начинает путь в веб-разработке, и тем, кто просто хочет закрыть отдельные пробелы в понимании механизма кеширования. Скажем "нет" слепому копированию заголовков кеширования. Погружаемся
https://habr.com/ru/articles/1010594/
#сети #http #кеширование #кэширование #rfc9111 #starlette #uvicorn #httpсервер #браузеры #rfc9110
-
От WSGI к ASGI: как Python научился работать с асинхронным вебом
WSGI и ASGI — то, на чем стоит весь современный веб на Python. Это стандарты, которые описывают интерфейс между веб-сервером и приложением. Благодаря им сервер и фреймворк не образуют жесткую пару: любой WSGI-сервер запускает любое WSGI-приложение, любой ASGI-сервер любое ASGI-приложение. Uvicorn не знает ничего о FastAPI, FastAPI не знает ничего о Uvicorn, они знают только о том, что передать на вход и что ожидать на выходе. Разберем, как все это устроено. Погружаемся
-
Ваша LLM стримит в никуда: разбираемся, как работать с дисконнектами в FastAPI
Что делает ваше FastAPI-приложение, когда клиент неожиданно закрывает соединение? По умолчанию — ничего. Если сервису важно экономить ресурсы (например, при работе с LLM), дисконнекты приходится обрабатывать явно, иначе GPU продолжит генерировать токены в пустоту. В FastAPI есть встроенные механизмы отмены обработки запроса при дисконнекте клиента. Однако просто включить их недостаточно: нужно подготовить ваш код к этому. Иначе возможны проблемы: зависшие транзакции и сломанный пул соединений с БД.
https://habr.com/ru/companies/tochka/articles/992134/
#fastapi #starlette #uvicorn #стримминг #sse #дисконнекты #отмена_запроса #asgi
-
Python (FastAPI) vs Go: нагрузочный тест и анализ производительности
Выбор backend-языка часто сводится к компромиссу между скоростью разработки и производительностью. Python с FastAPI ценят за простоту и быстрый старт, а Go — за высокую производительность и предсказуемость работы под нагрузкой. Но что если взглянуть на реальные цифры, а не на общие тезисы? В этой статье я провёл нагрузочный тест двух минимальных серверов: Go (net/http) и Python (FastAPI + Uvicorn) с использованием Locust. Мы тестировали один endpoint под 1000 одновременных пользователей, с высокой скоростью добавления новых, чтобы увидеть пределы производительности и стабильности откликов. Статья полезна всем, кто разрабатывает API, оптимизирует серверы и хочет принимать решения на основе фактических данных, а не слухов. Результаты эксперимента наглядно показывают, где Python подходит для быстрого старта, а где Go выигрывает в производительности и стабильности.
https://habr.com/ru/articles/981176/
#Go #Python #FastAPI #Uvicorn #нагрузочное_тестирование #Locust #RPS #производительность #серверная_оптимизация
-
Python (FastAPI) vs Go: нагрузочный тест и анализ производительности
Выбор backend-языка часто сводится к компромиссу между скоростью разработки и производительностью. Python с FastAPI ценят за простоту и быстрый старт, а Go — за высокую производительность и предсказуемость работы под нагрузкой. Но что если взглянуть на реальные цифры, а не на общие тезисы? В этой статье я провёл нагрузочный тест двух минимальных серверов: Go (net/http) и Python (FastAPI + Uvicorn) с использованием Locust. Мы тестировали один endpoint под 1000 одновременных пользователей, с высокой скоростью добавления новых, чтобы увидеть пределы производительности и стабильности откликов. Статья полезна всем, кто разрабатывает API, оптимизирует серверы и хочет принимать решения на основе фактических данных, а не слухов. Результаты эксперимента наглядно показывают, где Python подходит для быстрого старта, а где Go выигрывает в производительности и стабильности.
https://habr.com/ru/articles/981176/
#Go #Python #FastAPI #Uvicorn #нагрузочное_тестирование #Locust #RPS #производительность #серверная_оптимизация
-
Python (FastAPI) vs Go: нагрузочный тест и анализ производительности
Выбор backend-языка часто сводится к компромиссу между скоростью разработки и производительностью. Python с FastAPI ценят за простоту и быстрый старт, а Go — за высокую производительность и предсказуемость работы под нагрузкой. Но что если взглянуть на реальные цифры, а не на общие тезисы? В этой статье я провёл нагрузочный тест двух минимальных серверов: Go (net/http) и Python (FastAPI + Uvicorn) с использованием Locust. Мы тестировали один endpoint под 1000 одновременных пользователей, с высокой скоростью добавления новых, чтобы увидеть пределы производительности и стабильности откликов. Статья полезна всем, кто разрабатывает API, оптимизирует серверы и хочет принимать решения на основе фактических данных, а не слухов. Результаты эксперимента наглядно показывают, где Python подходит для быстрого старта, а где Go выигрывает в производительности и стабильности.
https://habr.com/ru/articles/981176/
#Go #Python #FastAPI #Uvicorn #нагрузочное_тестирование #Locust #RPS #производительность #серверная_оптимизация
-
Python (FastAPI) vs Go: нагрузочный тест и анализ производительности
Выбор backend-языка часто сводится к компромиссу между скоростью разработки и производительностью. Python с FastAPI ценят за простоту и быстрый старт, а Go — за высокую производительность и предсказуемость работы под нагрузкой. Но что если взглянуть на реальные цифры, а не на общие тезисы? В этой статье я провёл нагрузочный тест двух минимальных серверов: Go (net/http) и Python (FastAPI + Uvicorn) с использованием Locust. Мы тестировали один endpoint под 1000 одновременных пользователей, с высокой скоростью добавления новых, чтобы увидеть пределы производительности и стабильности откликов. Статья полезна всем, кто разрабатывает API, оптимизирует серверы и хочет принимать решения на основе фактических данных, а не слухов. Результаты эксперимента наглядно показывают, где Python подходит для быстрого старта, а где Go выигрывает в производительности и стабильности.
https://habr.com/ru/articles/981176/
#Go #Python #FastAPI #Uvicorn #нагрузочное_тестирование #Locust #RPS #производительность #серверная_оптимизация
-
Обзор WSGI, ASGI и RSGI: лидеры среди веб-серверов в 2025 году
Любому веб-приложению нужен веб-сервер для доступа извне. На самом деле, многие даже не уделяют выбору веб-сервера для своего приложения достаточного внимания: на Django берут "популярный" Gunicorn (а кто-то ещё и обвязывает его Uvicorn'ом), а для FastAPI Uvicorn практически стандарт. Тут "на сцену" выходит Granian, представляющий впечатляющие результаты производительности с простой настройкой. В своём проекте "Код на салфетке" я использовал uWSGI, но недавно узнал про новый Granian и мне стало интересно на что он способен. Так появилась идея для этой статьи. В этой статье узнаем:
https://habr.com/ru/articles/948190/
#WSGI #ASGI #RSGI #вебсервер_python #сравнение_веб_серверов #django #fastapi #uvicorn #granian
-
Обзор WSGI, ASGI и RSGI: лидеры среди веб-серверов в 2025 году
Любому веб-приложению нужен веб-сервер для доступа извне. На самом деле, многие даже не уделяют выбору веб-сервера для своего приложения достаточного внимания: на Django берут "популярный" Gunicorn (а кто-то ещё и обвязывает его Uvicorn'ом), а для FastAPI Uvicorn практически стандарт. Тут "на сцену" выходит Granian, представляющий впечатляющие результаты производительности с простой настройкой. В своём проекте "Код на салфетке" я использовал uWSGI, но недавно узнал про новый Granian и мне стало интересно на что он способен. Так появилась идея для этой статьи. В этой статье узнаем:
https://habr.com/ru/articles/948190/
#WSGI #ASGI #RSGI #вебсервер_python #сравнение_веб_серверов #django #fastapi #uvicorn #granian
-
Обзор WSGI, ASGI и RSGI: лидеры среди веб-серверов в 2025 году
Любому веб-приложению нужен веб-сервер для доступа извне. На самом деле, многие даже не уделяют выбору веб-сервера для своего приложения достаточного внимания: на Django берут "популярный" Gunicorn (а кто-то ещё и обвязывает его Uvicorn'ом), а для FastAPI Uvicorn практически стандарт. Тут "на сцену" выходит Granian, представляющий впечатляющие результаты производительности с простой настройкой. В своём проекте "Код на салфетке" я использовал uWSGI, но недавно узнал про новый Granian и мне стало интересно на что он способен. Так появилась идея для этой статьи. В этой статье узнаем:
https://habr.com/ru/articles/948190/
#WSGI #ASGI #RSGI #вебсервер_python #сравнение_веб_серверов #django #fastapi #uvicorn #granian
-
Обзор WSGI, ASGI и RSGI: лидеры среди веб-серверов в 2025 году
Любому веб-приложению нужен веб-сервер для доступа извне. На самом деле, многие даже не уделяют выбору веб-сервера для своего приложения достаточного внимания: на Django берут "популярный" Gunicorn (а кто-то ещё и обвязывает его Uvicorn'ом), а для FastAPI Uvicorn практически стандарт. Тут "на сцену" выходит Granian, представляющий впечатляющие результаты производительности с простой настройкой. В своём проекте "Код на салфетке" я использовал uWSGI, но недавно узнал про новый Granian и мне стало интересно на что он способен. Так появилась идея для этой статьи. В этой статье узнаем:
https://habr.com/ru/articles/948190/
#WSGI #ASGI #RSGI #вебсервер_python #сравнение_веб_серверов #django #fastapi #uvicorn #granian
-
Хватит тестировать на «кошках»! Разворачиваем циничный API на FastAPI за 5 минут для реальных AQA-задач
Привет, Хабр! Меня зовут Ваня, и я AQA-инженер. Как и многие из вас, я занимаюсь обучением будущих покорителей Postman и Pytest. И, как многие из вас, я столкнулся с проблемой: все существующие тестовые API — невыносимо скучные. Todo-листы, интернет-магазины с товарами Item 1 , Item 2 , API для управления книгами... Серьезно? После пятого GET /todos начинаешь сомневаться не только в своей карьере, но и в смысле бытия. Данные в них стерильны, как операционная, а сценарии предсказуемы, как сюжет российского сериала. Моим ученикам было скучно. Мне было скучно. Я понял, что нужен свой API. С блэкджеком и... ну, вы поняли. С API, который будет не просто функциональным, но и забавным. Который захочется «потыкать» просто ради того, чтобы увидеть очередной перл в ответе сервера. Так родился "Cynical Circle API" — API для тех, кто понял жизнь и устал от ванильных примеров. (Так выглядит наша интерактивная документация. Уже интригует, не правда ли?)
https://habr.com/ru/articles/937716/
#API #тестирование_API #AQA #автоматизация_тестирования #Python #fastapi #swagger #uvicorn #itюмор #обучение_программированию
-
Хватит тестировать на «кошках»! Разворачиваем циничный API на FastAPI за 5 минут для реальных AQA-задач
Привет, Хабр! Меня зовут Ваня, и я AQA-инженер. Как и многие из вас, я занимаюсь обучением будущих покорителей Postman и Pytest. И, как многие из вас, я столкнулся с проблемой: все существующие тестовые API — невыносимо скучные. Todo-листы, интернет-магазины с товарами Item 1 , Item 2 , API для управления книгами... Серьезно? После пятого GET /todos начинаешь сомневаться не только в своей карьере, но и в смысле бытия. Данные в них стерильны, как операционная, а сценарии предсказуемы, как сюжет российского сериала. Моим ученикам было скучно. Мне было скучно. Я понял, что нужен свой API. С блэкджеком и... ну, вы поняли. С API, который будет не просто функциональным, но и забавным. Который захочется «потыкать» просто ради того, чтобы увидеть очередной перл в ответе сервера. Так родился "Cynical Circle API" — API для тех, кто понял жизнь и устал от ванильных примеров. (Так выглядит наша интерактивная документация. Уже интригует, не правда ли?)
https://habr.com/ru/articles/937716/
#API #тестирование_API #AQA #автоматизация_тестирования #Python #fastapi #swagger #uvicorn #itюмор #обучение_программированию
-
Хватит тестировать на «кошках»! Разворачиваем циничный API на FastAPI за 5 минут для реальных AQA-задач
Привет, Хабр! Меня зовут Ваня, и я AQA-инженер. Как и многие из вас, я занимаюсь обучением будущих покорителей Postman и Pytest. И, как многие из вас, я столкнулся с проблемой: все существующие тестовые API — невыносимо скучные. Todo-листы, интернет-магазины с товарами Item 1 , Item 2 , API для управления книгами... Серьезно? После пятого GET /todos начинаешь сомневаться не только в своей карьере, но и в смысле бытия. Данные в них стерильны, как операционная, а сценарии предсказуемы, как сюжет российского сериала. Моим ученикам было скучно. Мне было скучно. Я понял, что нужен свой API. С блэкджеком и... ну, вы поняли. С API, который будет не просто функциональным, но и забавным. Который захочется «потыкать» просто ради того, чтобы увидеть очередной перл в ответе сервера. Так родился "Cynical Circle API" — API для тех, кто понял жизнь и устал от ванильных примеров. (Так выглядит наша интерактивная документация. Уже интригует, не правда ли?)
https://habr.com/ru/articles/937716/
#API #тестирование_API #AQA #автоматизация_тестирования #Python #fastapi #swagger #uvicorn #itюмор #обучение_программированию
-
Хватит тестировать на «кошках»! Разворачиваем циничный API на FastAPI за 5 минут для реальных AQA-задач
Привет, Хабр! Меня зовут Ваня, и я AQA-инженер. Как и многие из вас, я занимаюсь обучением будущих покорителей Postman и Pytest. И, как многие из вас, я столкнулся с проблемой: все существующие тестовые API — невыносимо скучные. Todo-листы, интернет-магазины с товарами Item 1 , Item 2 , API для управления книгами... Серьезно? После пятого GET /todos начинаешь сомневаться не только в своей карьере, но и в смысле бытия. Данные в них стерильны, как операционная, а сценарии предсказуемы, как сюжет российского сериала. Моим ученикам было скучно. Мне было скучно. Я понял, что нужен свой API. С блэкджеком и... ну, вы поняли. С API, который будет не просто функциональным, но и забавным. Который захочется «потыкать» просто ради того, чтобы увидеть очередной перл в ответе сервера. Так родился "Cynical Circle API" — API для тех, кто понял жизнь и устал от ванильных примеров. (Так выглядит наша интерактивная документация. Уже интригует, не правда ли?)
https://habr.com/ru/articles/937716/
#API #тестирование_API #AQA #автоматизация_тестирования #Python #fastapi #swagger #uvicorn #itюмор #обучение_программированию
-
And... Uvicorn 0.32.0 released! 😎
✅ Officially support for Python 3.13
-
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