All posts by good girl

Использование inspect.getcallargs() в декораторах python

Зачастую, в декораторе необходимо получить один из аргументов декорируемой функции, например, для проверки. Не всегда мы знаем является ли искомый параметр позиционным аргументом или аргументом ключевого слова. Конечно мы можем это проверить, а можем воспользоваться...

Простое дефолтное значение для collections.defaultdict python

В python collections есть удобный инструмент defaultdict, похожий на обычный dict, но с дефолтными значениями для несуществующих ключей: class collections.defaultdict([default_factory[, ...]]) default_factory - то значение, которое будет использовано по умолчанию (идет None из...

Команды для composer когда что-то идет не так

Случается, что вроде пакет есть, а в autoload не загружается или проблемы с версиями у разных людей в рамках проекта. Всякое бывает. начать стоит со списка всех установленных пакетов: composer show потом потом собрать информацию об интересующем пакете и его версии composer...

Удаление файлов с некорректным именем в unix

Возникла необходимость удалить файл с проблемным именем, содержащим в себе -, например, -qwqw Команда rm неверно интерпретировала - в имени файла, что бы избавится от проблемы следует указать -- перед именем файла, тогда команда rm не будет...

Кумулятивная сумма в Redshift

Очень часто для аналитических отчетов необходимо посчитать кумулятивную (накапливаемую) сумму элементов, например по мере увеличения времени (или другого критерия), таким образом можно просматривать общий вклад показателя в рамках критерия. Redshift имеет прекрасный...

Классика жанра OSError: [Errno 48] Address already in use

Бывает запустили какой-то процесс и забыли, а потом другой надо запустить и тут: OSError: [Errno 48] Address already in use. Простое решение, найти процесс и остановить, ищем grepом по процессам: [crayon-633b146956575807198900/] Нашли, PID 96070.Завершаем. [crayon-633b146956582845792581/] ...

Перерасход памяти и использование memoryview python

При работе с массивами байтов (большими данными) в python возникает проблема перерасхода памяти при разделении, а после отправки/копировании, как делать не стоит 1) классический пример с отправкой данных через сокет [crayon-633b146956920768163628/] 2) классический...

debug celery worker в PyCharm

Отладка celery worker в PyCharm вещь нужная, полезная и удобная. 1) в Edit Configuration добавляем новую конфигурацию Python 2) в поле Script path указываем путь до celery 3) в поле Parameters параметры для запуска, в моем случае сам worker и имя очереди orders_worker - имя...

Python неоднозначное время

При переводе часов на зимнее время возникают случаи неоднозначного времени: один и тот же час может встречаться дважды. Например, в Берлине переход с летнего времени на зимнее в 2020 году пройдет 25 октября 2020 года в 3 часа ночи (Oct 25 at 3:00 am), и после перехода часы снова будут...