Одна привычка отличает любителя от профи и спасает от дорогих ошибок: секреты не хранят в коде. Освоим её сразу, на фундаменте, чтобы дальше во всех проектах делать правильно на автомате.
🎯 После урока сможешь: хранить секреты в .env, а не в коде.
Что такое секрет
Секрет — это то, что даёт доступ и не должно попасть чужим: токен бота, API-ключ, пароль базы данных. Если секрет утёк — им могут воспользоваться и потратить твои деньги или навредить клиенту.
Правило: секреты — в файл .env
Секреты складывают в отдельный файл .env (от «environment» — окружение). В коде их не пишут — код читает значения из .env.
BOT_TOKEN=сюда-твой-токен
API_KEY=сюда-твой-ключ

Прячем .env от Git через .gitignore
Если проект попадёт в Git (например, на GitHub), .env не должен уехать вместе с ним. Чтобы Git его игнорировал, добавляют строку в файл .gitignore:
.env
Проверить, что .env действительно скрыт, можно командой:
git check-ignore .env
.env
Если команда вернула
.env— значит Git его игнорирует, всё правильно. Пусто в ответ —.envещё не в.gitignore, добавь строку.
Как передать проект клиенту: .env.example
Клиенту нужен сам проект, но не твои секреты. Поэтому рядом кладут .env.example — тот же список строк, но без значений. Клиент скопирует его в свой .env и впишет свои ключи.
Контрольный вопрос. Разбор чужой ошибки. Джун вписал токен прямо в код и печатает его в лог. Отметь ВСЕ проблемы.
Исходный код для этого задания:
BOT_TOKEN = "12345:AbCdEf..." print("Запускаю бота с токеном", BOT_TOKEN)Выберите все верные варианты.
Подсказка: Секрет не должен быть ни в коде, ни в логах, ни в репозитории.
Онлайн-проверка ответа появится позже
Контрольный вопрос. В какой файл кладут секреты (токены, ключи)? Впиши имя файла.
Подсказка: Короткое имя, начинается с точки, от слова «окружение».
Онлайн-проверка ответа появится позже
Контрольный вопрос. Какой файл прячет .env от Git, чтобы секрет не уехал в репозиторий? Впиши имя файла.
Подсказка: Тоже начинается с точки, в имени есть слово «ignore».
Онлайн-проверка ответа появится позже
Что дальше
Ты освоил главную привычку безопасности: секреты — в .env, .env — в .gitignore, клиенту — .env.example. Дальше подключим Claude API: получим ключ, отправим первый запрос и научимся считать, сколько это стоит.
