Проверяет понимание переменных окружения, их назначения и практического применения в разработке и деплое приложений.
Переменные окружения — это глобальные параметры, которые доступны процессам, запущенным в операционной системе. Они представляют собой пары «ключ=значение» и используются для передачи информации приложению без необходимости изменять его исходный код. Например, переменная PORT может указывать, на каком порту должен слушать веб-сервер.
Основная цель — разделение конфигурации и кода. Это критически важно для безопасности (не хранить секреты в репозитории), гибкости (одна кодовая база для разных окружений) и простоты управления. Без переменных окружения разработчикам пришлось бы менять код при каждом деплое или использовать хардкод, что приводит к ошибкам и утечкам данных.
В большинстве языков есть встроенная поддержка. В Node.js доступ к переменным осуществляется через объект process.env. Пример:
// config.js
const port = process.env.PORT || 3000;
const dbUrl = process.env.DATABASE_URL;
if (!dbUrl) {
console.error('DATABASE_URL не задан!');
process.exit(1);
}
console.log(`Сервер запущен на порту ${port}`);В Python используется модуль os:
import os
port = int(os.getenv('PORT', 3000))
db_url = os.getenv('DATABASE_URL')
if not db_url:
raise ValueError('DATABASE_URL не задан')export PORT=8080 (Linux/macOS) или set PORT=8080 (Windows)..env (с помощью библиотек вроде dotenv).Никогда не храните секреты (пароли, токены) в коде или в файлах, которые попадают в git. Используйте переменные окружения и добавляйте .env в .gitignore. Для разных окружений создавайте отдельные файлы конфигурации, но не дублируйте код.
Переменные окружения — это стандартный и безопасный способ управления конфигурацией приложения. Они обязательны для любого серьезного проекта, так как позволяют легко менять параметры без пересборки кода и защищают чувствительные данные. Используйте их всегда, когда нужно передать настройки, зависящие от среды запуска.