Обновить
0

Пользователь

1
Подписчики
Отправить сообщение

Вся эта чехарда со слоями хороша до тех пор, пока у вас билд не уезжает в гитлаб раннеры. Они чистятся, да и, как правило, их больше одного, так что вероятность даже просто запустить билд после изменения кода на том же раннере может быть заметно ниже 1. Так что можно считать, что мы начинаем всегда с нуля.

Я для себя эту проблему решил созданием для проекта базового образа, куда упихана установка нужных системных библиотек и тех пакетов из зависимостей, которые вряд ли будут обновлены (ну, застряли вы на старом marshmallow, например...)

Этот образ со своим докерфайлом и отдельной джобой сборки. Собранное пушится в хранилище и потом используется через FROM в образе приложения.

А остальные зависимости и сам код приложения как раз в отдельном докерфайле с минимумом слоев.

Немного громоздко, но куда деваться, если раннер чист? Да и пересобрать базовый образ пару-тройку раз в год несложно.

pip давно умеет работать с pyproject.toml и тащить список пакетов оттуда. С опциональными пакетами тоже нет проблем, через pip install -e .[dev] все пакеты из одноимённой секции pyproject.toml поставятся. Да и резолв сложных зависимостей тоже вроде не вызывает уже боли, за последние пару лет не припомню никаких проблем с этим

если js отключен пользователем, отрабатывает кусок кода внутри <noscript>

Он просто идет за лежащей по определенному url картинкой - прозрачным png размером 1*1px. Факт запроса логируется nginx'ом и дальше обрабатывается как обычное событие pv (page view) с минимумом данных

«Зарегистрируйте почту на Рамблере – и вам не придется мучительно вспоминать свой e-mail»

По-моему, наоборот, таки придется, в силу выросшего количества вариантов.
Хотя больше вариантов — это гут, да.
Полезный девайс, и сделан толково.
Boomburum'у — спасибо за обзор, кратенько и ясно. Приятно читать такие обзоры :)
Способ действительно хороший. Очевидный и простой. От штатных ботов защитит, да. Ну, а с более продвинутыми стоит, ИМХО, разбираться в индивидуальном порядке: универсальной защиты от всего все равно не бывает (а как хотелось бы! :) )
Да, интересная идея, полезная.
Надо будет взять на вооружение, в работе пригодится. :)

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность