Упаковка Python: uv, Poetry, виртуальные окружения и минимальные образы
Как перестать страдать от упаковки Python: виртуальные окружения, lock-файлы, современные инструменты (uv, Poetry), воспроизводимые сборки и минимальные Docker-образы
Как перестать страдать от упаковки Python: виртуальные окружения, lock-файлы, современные инструменты (uv, Poetry), воспроизводимые сборки и минимальные Docker-образы
Интеграционные тесты Go-сервиса шли 22 минуты и случайно падали по таймауту — списывали на медленную машину. Причина оказалась арифметической: 266 вызовов тестового хелпера поднимали 266 контейнеров Postgres. Разбираем переход на один контейнер и CREATE DATABASE … TEMPLATE, замеры до и после (×10 и ×36), воспроизводимый стенд, границы приёма — права, FORCE, размер шаблона, параллельность пакетов — и честную границу между тем, что измерено, и тем, что осталось правдоподобной гипотезой
Как собрать и упаковать JVM-сервис: Gradle (Kotlin DSL) vs Maven, fat-jar vs jlink-рантайм, GraalVM native image и минимальные Docker-образы — что реально влияет на старт, размер и память
Сборка из нестандартного Dockerfile, тег с адресом реестра и почему без него push уйдёт не туда
hadolint запускается из контейнера и читает Dockerfile со stdin — ни установки, ни следов в системе
Полный цикл со своим файлом compose — и разница между down и down -v, которая стоит данных
Сначала посмотреть, что именно занимает, и понимать разницу между анонимными и именованными томами — иначе prune заберёт данные
Оболочка внутри контейнера, обращение по короткому ID, запуск клиента напрямую и копирование файлов внутрь
Как запускать недоверенный бинарник, скрипт или сборку в песочнице без root с помощью Bubblewrap, что он изолирует, а что нет, и когда bwrap уместнее Docker, Podman или Firejail
Как собирать Rust-сервисы в минимальные Docker-образы: multi-stage builds, musl vs glibc, cross-compilation, оптимизация размера. Практические рецепты для CI/CD