Архитектура Docker, если убрать лишнее, выглядит очень просто:
Есть образ (image) - это слепок приложения с зависимостями.
Один раз собрал - запускаешь где угодно.
Есть контейнер (container) - это уже запущенный образ.
По сути изолированный процесс с файловой системой, сетью и настройками.
Docker Engine - сердце всей системы.
Он принимает команды через CLI/API и управляет контейнерами.
Docker Daemon - фоновый процесс, который:
• создаёт контейнеры
• запускает их
• следит за состоянием
Docker Client - то, через что ты работаешь (docker CLI).
Docker Hub / Registry - место, где хранятся образы.
Оттуда ты делаешь pull, туда - push.
Как это работает в реальности:
Ты пишешь Dockerfile →
docker build → получаешь image
docker push → отправляешь в registry
На сервере:
docker pull → скачал
docker run → запустил контейнер
Зачем это:
Одинаковая среда везде (dev = prod)
быстрый деплой без «у меня работает»
изоляция сервисов
масштабирование через контейнеры
Если упростить до одной мысли:
Docker - это не про контейнеры.
Это про предсказуемый запуск кода в любой среде.
Есть образ (image) - это слепок приложения с зависимостями.
Один раз собрал - запускаешь где угодно.
Есть контейнер (container) - это уже запущенный образ.
По сути изолированный процесс с файловой системой, сетью и настройками.
Docker Engine - сердце всей системы.
Он принимает команды через CLI/API и управляет контейнерами.
Docker Daemon - фоновый процесс, который:
• создаёт контейнеры
• запускает их
• следит за состоянием
Docker Client - то, через что ты работаешь (docker CLI).
Docker Hub / Registry - место, где хранятся образы.
Оттуда ты делаешь pull, туда - push.
Как это работает в реальности:
Ты пишешь Dockerfile →
docker build → получаешь image
docker push → отправляешь в registry
На сервере:
docker pull → скачал
docker run → запустил контейнер
Зачем это:
Одинаковая среда везде (dev = prod)
быстрый деплой без «у меня работает»
изоляция сервисов
масштабирование через контейнеры
Если упростить до одной мысли:
Docker - это не про контейнеры.
Это про предсказуемый запуск кода в любой среде.
👍8❤1
Claude Code — это уже не просто инструмент. Это система разработки с памятью, автоматизацией и агентами.
Коротко по сути:
• CLAUDE.md — мозг проекта
Хранит архитектуру, правила и контекст. Загружается автоматически.
• Skills — навыки
Позволяют автоматизировать ревью, тесты, деплой и любые процессы.
• Hooks — автодействия
Запускают проверки и действия без твоего участия.
• Agents — параллельная работа
Разбивают задачи и выполняют их одновременно.
• Workflow
plan → execute → auto
Минимум ручной работы, максимум результата.
• Структура
.claude / skills / commands / agents
Всё как у полноценной инженерной системы.
• Безопасность
permissions, sandbox, контроль доступа.
Это уже не про «спросить у ИИ».
Это про «дать задачу и получить результат».
Сохрани себе - пригодится.
Коротко по сути:
• CLAUDE.md — мозг проекта
Хранит архитектуру, правила и контекст. Загружается автоматически.
• Skills — навыки
Позволяют автоматизировать ревью, тесты, деплой и любые процессы.
• Hooks — автодействия
Запускают проверки и действия без твоего участия.
• Agents — параллельная работа
Разбивают задачи и выполняют их одновременно.
• Workflow
plan → execute → auto
Минимум ручной работы, максимум результата.
• Структура
.claude / skills / commands / agents
Всё как у полноценной инженерной системы.
• Безопасность
permissions, sandbox, контроль доступа.
Это уже не про «спросить у ИИ».
Это про «дать задачу и получить результат».
Сохрани себе - пригодится.
👍6❤3
Уязвимость проявляется через зависимости: в одном из кейсов пакет подтянулся через googleworkspace/cli, использовавшийся для работы с Gmail и Google Calendar. При этом установленная версия оказалась безопасной — 1.13.5. Однако зависимость не была зафиксирована (unpinned), и при установке в другое время могла подтянуться уже заражённая версия.
Это ключевая проблема всей экосистемы: если версии не закреплены, сборка может в любой момент «подхватить» компрометированный релиз.
Частично защититься можно локальными мерами — например:
ограничивать минимальный «возраст» релизов, использовать контейнеры, проверять зависимости.
Но системно проблему должны решать сами пакетные менеджеры (pip, npm и др.), меняя дефолтное поведение. Иначе одна заражённая версия, даже если её быстро находят и удаляют, успевает разойтись по тысячам проектов через незакреплённые зависимости.
Подробный разбор:
https://stepsecurity.io/blog/axios-compromised-on-npm-malicious-versions-drop-remote-access-trojan
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
⚡️ 8 хуков Claude Code, которые автоматизируют то, что вы вечно забываете
Вы говорите Claude Code отформатировать файл, а он этого не делает. Просите не трогать .env, а он лезет туда первым делом. Напоминаете прогнать тесты перед завершением, а он забывает.
Знакомо?
Все потому, что CLAUDE.md по сути является рекомендацией. Claude читает его и следует ему примерно в 80% случаев. Хуки работают иначе.
Это автоматические действия, которые срабатывают каждый раз, когда Claude редактирует файл, выполняет команду или завершает задачу.
Ниже разберем 8 готовых хуков, которые можно скопировать прямо в settings.json и больше о них не вспоминать.
https://uproger.com/8-hukov-claude-code-kotorye-avtomatiziruyut-to-chto-vy-vechno-zabyvaete/
Вы говорите Claude Code отформатировать файл, а он этого не делает. Просите не трогать .env, а он лезет туда первым делом. Напоминаете прогнать тесты перед завершением, а он забывает.
Знакомо?
Все потому, что CLAUDE.md по сути является рекомендацией. Claude читает его и следует ему примерно в 80% случаев. Хуки работают иначе.
Это автоматические действия, которые срабатывают каждый раз, когда Claude редактирует файл, выполняет команду или завершает задачу.
Ниже разберем 8 готовых хуков, которые можно скопировать прямо в settings.json и больше о них не вспоминать.
https://uproger.com/8-hukov-claude-code-kotorye-avtomatiziruyut-to-chto-vy-vechno-zabyvaete/
🔥3👍1