Как погоня за скоростью изменила фундаментальный протокол интернета. Мы проследим путь развития HTTP, протокола, лежащего в основе веба. Каждый шаг в его эволюции - это ответ на растущие требования к скорости, эффективности и безопасности. Это история о решении одних проблем, которые неизбежно приводили к появлению новых, более сложных вызовов. Протокол HTTP (Hypertext Transfer Protocol) прошел путь от механизма передачи простых гипертекстовых документов до статуса «магистрали веба», обеспечивающей функционирование сложных API, видеостриминга и облачных микросервисов...
Self Study
Контекстные менеджеры в Python
Контекстные менеджеры в Python - это объекты, которые позволяют управлять контекстом выполнения блока кода. Они используются с оператором with и имеют два специальных метода: __enter__ и __exit__. Метод __enter__ вызывается при входе в блок with и может возвращать значение, которое присваивается переменной после ключевого слова as. Метод __exit__ вызывается при выходе из блока with и получает три аргумента: тип исключения, само исключение и трассировку стека. Пример использования контекстного менеджера...
Конструкция yield from в Python
Введение Конструкция yield from используется для делегирования работы другому генератору. Она позволяет «вкладывать» один генератор в другой, то есть создавать субгенераторы. Это позволяет упростить код и избежать лишних циклов. Сравнение for + yield с yield from В самом простом случае, выражение yield from iterable - это просто сокращенная форма for item in iterable: yield item. Пример: Использование yield from с range Еще один пример использования yield from: Обход узлов бинарного дерева Конструкция yield from также может оказаться полезной при обходе узлов бинарного дерева...
Использование memoryview в Python
Класс memoryview в Python позволяет получать прямой доступ к внутренним данным объекта, который поддерживает протокол буфера обмена, без копирования. Это может быть полезно для работы с большими массивами данных или бинарными файлами. Пример 1. Байтовый массив Пример использования класса memoryview с байтовым массивом: Пример 2. Срезы Вы также можете использовать срезы при работе с memoryview. Для того, чтобы создать срез из объекта memoryview, вам сначала потребуется создать объект memoryview, который охватывает весь исходный массив...
