Делаем сайты за футболку
На выходных 12-13 апреля поучаствовали в хакфесте Рамблера по созданию стартапа за 24 часа. Команда состояла из 3 человек из нашей перловой юзергруппы. Немного впечатлений.Процесс
Собрались в 6 часов, приготовили доску для рисования, настроили инет на машинах, стали ждать часа X — 7 вечера. Время как-то незаметно подошло и организаторы прислали нам 2 темы: мобильный коммуникационный сервис и информационно-справочный сервис с UGC (user generated content, как нам любезно подсказал гугл). Первую тему сразу отбросили, т.к. никаких wml и прочих специфичных штук мы не знали и опыта разработки сайтов под мобильники небыло. По второй теме родились 2 идеи: сайт с инфой о железяках для великов с рейтингами, отзывами и тд. и сайт рецептов, главной фишкой которого был бы поиск по продуктам: мы пишем, что у нас в холодильнике, а наша умная машина определяет, что из этого можно сделать. В итоге остановились на рецептах.
Илья пишет письмо организаторам, мы с Ромой рисуем схему БД на доске. Сделали, начинаем кодить. Тут вылазит баг с каталистом, который попортил нам не мало крови: помимо того, что мы потратили время на его поиск, так мы потом из-за него не смогли нормально код задеплоить на сервер. Каталист неправильно определял путь до проекта. В процессе разработки мы просто встроили путь руками в тестовом серваке. Так проходит несколько часов. Около 3 ночи начал писать AJAX, который в процессе ввода рецепта долбится на сервер и пытается определить продукты, используемые в рецепте. В целом нам эта фишка удалась, только нужно было добавить больше вариантов склонений/спряжений продуктов в БД. BTW кто-нить знает открытый словарь склонений/спряжений слов?
В районе 7 утра пошли прогулятся, чтобы провентелировать мозги и отдохнуть от компов и непрерывного сидения. Вернулись и запостили в коммунити хакфеста тизер с анонсом проекта. Для этого была найдена клевая картинка, ссылки на скачивание ее в большом разрешении вели на deviantart, но автор арта решил его уничтожить по какой-то причине и нам пришлось юзать превьюшку. Что из этого вышло, можете посмотреть в коммунити. Все участники восприняли это как призыв покушать, но наша рекламная кампания в новомодном стиле, когда не понятно, что рекламируют, удалась :) Мы хоть повеселились.
После бессонной ночи пришло время тупняка и мы стали продвигаться вперед довольно медленно. После обеда оживились и стали работать по активнее. Самая высокая продуктивность началась около 6 часов. Илья вносит финальные правки в дизайн, я фиксю регистрацию, делаю тупое голосование за рецепты. Рома пытается задеплоить код на сервере, но вылазит опять чертов баг с неправильным путем. Решаем задеплоить версию для организаторов через тестовый перловый сервак, отчего и поплатились — во время проверки сайтов жюри, наш сервак упал и многие члены жюри просто не смогли оценить наш проект. В последние минуты доводим до ума голосование, коммитим. В принципе до последней секунды мы не бились, минут за 5 до конца уже не напрягались. Отдыхаем :)
Впечатления
Сам процесс написания проекта и т.п. понравился. Не понравились приколы организаторов, с переносом оглашения результатов на сутки. Также разочаровали некоторые участники. Одни за неприятный им комментарий заддосили проект других участников, другие стали поливать говном организаторов и участников. Третьи стали в нелицеприятном виде защищаться и говорить, что они мол молодцы, а все остальные идут на ***. Граждане, будьте терпимей, мы же во всем этом для удовольствия участвуем, а не для разборок и взаимных н абросов на ветилятор.
Инструменты
Писали мы все на перле с использованием фрэймворка Каталист. Код на JavaScript написан с помощью Prototype.js. Нарекания у нас возникли только с каталистом.
Мне жутко не понравился ORM DBIx::Class, который в каталисте по дефолту рекомендуют юзать. Абсолютно жуткая штука ИМХО, проще писать SQL руками. Вообще сложилось впечатление, что для перла нет нормальных ORM'ов.
Потом уже озвученная трабла с каталистом. Причину мы так и не нашли, другие каталистовы проекты на тех же машинах чудесно работают. Мистика, нужен шаман с бубном.
В остальном к нему нареканий нет.Вообще мероприятие понравилось, надо и в следующем году поучаствовать. Ссылка на проект будет позже, когда мы его доработаем и нормально развернем на сервере. Фотографии выложил в галерею.
P.S. Команда 43 и Vladivostok.PM — это как раз мы.