Если проект работает только локально - он не работает
Самая обидная стадия разработки наступает не тогда, когда ты видишь красную ошибку
Она наступает тогда, когда у тебя все идеально
Локально сайт открывается API отвечает База работает Кнопки нажимаются Сборка проходит
Ты уже почти мысленно отправил заказчику сообщение "готово"
А потом выкатываешь проект на сервер И начинается цирк
Переменная окружения не подхватилась Linux внезапно чувствителен к регистру в названии файла Порт занят На сервере другая версия Node CORS решил напомнить о своем существовании SSL смотрит на тебя как на врага народа А какой-нибудь файл Image.png, который Windows спокойно находила как image.png, внезапно исчезает из вселенной
И вот именно в этот момент проект впервые становится настоящим
Мне кажется, начинающие разработчики слишком сильно зацикливаются на самом написании кода
Будто задача заканчивается на:
"npm run dev"
Но пользователю вообще все равно, насколько красиво проект работает у тебя на localhost
Для него существует только одна версия продукта - та, которую он открыл по ссылке
Поэтому деплой очень быстро лечит синдром "ну у меня же работает"
Он заставляет думать уже не только как программист, но и как человек, который отвечает за конечный результат
- Логи - окружение - HTTPS - домены - процессы - резервные копии - права доступа - обновления - мониторинг
И в какой-то момент понимаешь забавную вещь
Написать приложение и заставить приложение стабильно жить - это две разные профессии, которые почему-то часто достаются одному человеку
Так что мое новое определение законченного проекта простое:
Если я выключил свой компьютер, а продукт продолжил работать - вот теперь действительно готово