Быстрый старт
Пару месяцев назад я запустил pianoramaradio.ru за один день. Если бы я не управился за день, то не запустил проект вообще. Расскажу о том, что я понял о запуске личных проектов.
Делайте минимум
Пианорама делает ровно одну вещь: рандомно проигрывает фортепианную музыку по плейлисту из полутора сотен записей. В ней нет отображения названия композиции, нет перемотки и переключения, нет рекламы. Если бы я начал реализовывать разные сложные вещи вроде плейлиста, вывода информации о треке, статистики — потратил бы много времени и в итоге не запустился бы вообще.
Для стриминга музыки я использовал Icecast + Ices — самое простое, что можно использовать. Можно было бы использовать более продвинутое ПО, но на его поиск, настройку и отладку ушло бы время.
Все улучшения можно сделать потом. Сначала нужно запустить минимальный рабочий вариант.
Упрощайте процесс
Когда я выбирал музыку, то не закачивал её на сервер по одному файлу. Вместо этого я собрал все подходящее и залил на сервер одной командой через scp.
Конфиг Nginx я скопировал из другого проекта и подправил под свои нужды, вместо написания с нуля, а конфиг Ices скопировал с первого попавшегося форума и подправил в нужных местах.
Копируйте, переиспользуйте, тащите код из других проектов вместо того, чтобы все делать с нуля. Хорошо и красиво можно сделать потом, если будет желание.
Параллелизуйте
Многие процессы стоит делать параллельно. Скажем, делегирование домена после регистрации занимает несколько часов, поэтому первым делом я оплатил домен, а уже потом занялся остальным. Аналогичная история с DNS-записями.
Пока на сервере устанавливалось нужное ПО, я верстал страницу, локально проверяя внешний вид. Пока закачивалась музыка — рылся на Ансплеше, выбирая картинку на фон.
Определите, какие процессы не требуют вашего внимания и запустите их параллельно. Это тоже сэкономит вам время и поможет запуститься вовремя.
Ставьте ограничения
Я поставил цель: запускаюсь сегодня или никогда. Если бы я этого не сделал, был бы велик соблазн профилонить на каком-нибудь этапе и в итоге ничего не сделать.
Например, сразу после запуска в плейлисте было всего два десятка записей. Остальные я докачал в следующие несколько дней. Для запуска было достаточно и этого. Возможно, если бы я увлекся отбором композиций, то в итоге выбирал бы их зря.
Четко и конкретно определяйте, что вы хотите сделать и в какие сроки. Цель поможет не сбиться с пути.
Мотивируйте себя
Вы не сможете запустить то, в чем не нуждаетесь. У меня была необходимость в Пианораме: я любил слушать её раньше, и мне было обидно, что её закрыли. Поэтому я пошел и запустил свою версию.
Многие мои проекты так и останутся в виде проектов, пока я не увижу в них реальную необходимость. Я даже не пытаюсь делать то, что мне не нужно — это обречено на провал.
Знайте свою мотивацию, даже если это учебный проект для портфолио.
Памятка
- Делайте меньше, проще и быстрее. Сперва запуск, потом доработки.
- Ставьте цель и ограничения, и придерживайтесь их.
- Делайте проекты, в которых заинтересованы. Не пишите в стол.
Всем запусков!