Sergei Konik's Blog

Sergei Konik's Blog

Aiobotocore. Как переименовать 500 тысяч объектов в AWS S3
AWS S3

Aiobotocore. Как переименовать 500 тысяч объектов в AWS S3

Возникла необходимость переименовать несколько сотен тысяч объектов, хранящихся в AWS S3.  Можно нагуглить документацию и примеры на boto3, решив задачу синхронным способом. Такой скрипт работал безостановочно 4 дня, а затем остановился по моей же ошибке. Запускать скрипт снова – слишком долго, да и нет гарантии, что все файлы пройдут обработку. Работа
4 min read

JWT авторизация. Часть 2. Реализация аутентификации в drf

В предыдщей части мы познакомились с понятием и структурой JWT токенов и узнали, как закодировать токены с помощью стандартной библиотеки python.  В этой части мы реализуем систему аутентификации и авторизации в django-rest-framework на базе пакета PyJWT. PyJWT это простая библиотека для кодированяи и декодирования JWT токенов. Интерфейс использования достаточно прост.
4 min read
JWT авторизация. Часть 1. Понятие и устройство JWT токенов

JWT авторизация. Часть 1. Понятие и устройство JWT токенов

Json Web Tokens (JWT) представляют собой разновидность токенов, которые хранят данные в виде json и используются в основном для авторизации пользователя. Такие токены также возможно использовать для передачи информации между микросервисами. Как правило, при такой схеме JWT авторизации после ввода логина и пароля выдаются два токена – access и refresh. Браузер
4 min read
Скачивание 1000 файлов. Asyncio vs Golang
asyncio Featured

Скачивание 1000 файлов. Asyncio vs Golang

В этой статье сравним скорость работы и реализацию скачивания 1000 файлов с помощью Python Asyncio и Golang. Файлы загружены на минио, запущенном локально на mac OS 2,3 GHz Intel Core i5, 8 GB 2133 MHz LPDDR3 hw.physicalcpu: 4 hw.logicalcpu: 8 Каждый файл имеет размер 6 мегабайт, а
2 min read
Указатели в Golang
Golang

Указатели в Golang

Для работы с указателями существуют два оператора - & и * Оператор & Оператор & позволяет получить адрес ячейки памяти переменной. Объявив переменную var value int = 1 можно получить ее адрес с помощью конструкции &value var value int = 1 fmt.Println(&value) // Выведет 0xc000094008 Объявление переменной типа указателя Но что если нам необходимо записать
3 min read