При разработке проектов на
Mojo (а правильно уже говорить
Mojolicious) столкнулся с
третьим критичным багом (размер новой презентации по Mojo/Mojolicious растёт на глазах, третья версия скоро :), который связан с загрузкой файлов через форму. Серверная часть на
Mojolicious уходила в цикл и отдавала несколько ответов на один запрос, плюс не все файлы, переданные через форму, принимались.
К сожалению, я времени не нашел, чтобы разобраться в чем баг, написал о нём в
IRC-канал #mojo,
Себастьян Ридель (автор
Mojolicious) очень хотел патч, т. к. планировал сделать новый релиз. Я написал
котороткий пример, который демонстрировал баг (баг проявлялся при загрузке только больших файлов). Но мир не без хороших людей :)
Вячеслав Тихановский (активный mojo-разработчик) нашел, что проблема в ограничение длины запроса, написал
тест. И спустя день Себастьян написал мне в
твиттер, что найденный баг
пофиксен. Ура!
Новый релиз почти готов, размеры
change-лога внушают: многобагфиксов, много изменений, много новшеств и самое главное – реализация
WebSocket-протокола. Ура!
Как же круто все получается: передовые технологии и социализация решает,
open source – это очень круто.
Mojo/Mojolicious – лучший тому пример. Не зря, один из девизов
"Viva la revolution!"Теперь о переменных окружения, они есть в Mojo/Mojolicious и очень полезны, нужно их знать и знать как ими можно управлять.
Поиск всех переменных окружения в
дистрибутиве mojo:
find ~/mojo/lib/ -type f -print0 | xargs -0 grep -on -E --colour 'MOJO_[A-Z_]+'
Всего
23 переменных окружения, обычно я использую
MOJO_APP, MOJO_MAX_MESSAGE_SIZE, MOJO_MODE, MOJO_TMPDIR и MOJO_RELOAD.
ЗЫ: Я почти на месяц ушел в отпуск от
Iron Man, отдохнул и начинаю опять писать про
Perl, на
Perl и в блоге :)
ЗЫЗЫ: Только что Себастьян
добавил в дистрибутив описание к переменным окружения. Ура!
Viva la revolution!use Perl or die;JFDI
Original post
http://sharifulin.livejournal.com/54914.html