в сторону статики ++идеи: 1. X-Accel-Redirect (это для nginx проксирующего, и поддержку других прокси веб серверов), т.к. сказать унифицировать 2. empty_gif -> _.gif
2016-12-02 17:23 GMT+02:00 Konstantin Cherednichenko < [email protected]>: > Пример: Mojolicious::Plugin::OpenAPI > > Или уже готовая реализация Raisin > > Все смотреть на metacpan... > > On Dec 2, 2016 16:54, "Konstantin S. Uvarin" <[email protected]> wrote: > >> Приветствую. >> >> Как какой? Не догоню, так согреюсь! Там полдюжины ссылок на prior work, и >> это я ещё забыл Catalyst и PSGI, на которые тоже смотрел в процессе. >> >> А вот про OpenAPI хотелось бы подробнее, пока что нагуглил вот что: >> >> https://metacpan.org/pod/OpenAPI - какая-то ещё не написанная >> спецификация в версии 0.001 >> https://vk.com/dev/openapi - API вконтакта. >> >> А Вы что имели в виду? >> >> С уважением, >> >> >> 2016-12-02 16:45 GMT+02:00 Konstantin Cherednichenko < >> [email protected]>: >> >>> IMHO Лучше смотреть в сторону OpenAPI... Какой смысл изобретать >>> велосипед с роутами и валидацией данных? >>> >>> On Dec 2, 2016 16:40, "Konstantin S. Uvarin" <[email protected]> wrote: >>> >>>> Приветствую всех! >>>> >>>> Сегодня я бы хотел представить веб-фреймворк на перл 5 собственного >>>> сочинения, Ниф (Not Even A Framework). Написан он больше для >>>> самообразования, т.к. и так их как собак нерезаных, но мне кажется, в нём >>>> есть некие здравые идеи. Суть такова: >>>> >>>> 1. Приложение разбивается на маленькие процедуры-хэндлеры, привязанные >>>> к пути в URI (см. тж. https://metacpan.org/pod/Dancer ) >>>> >>>> 2. Хэндлер получает на вход объект запроса, из которого потом достаются >>>> параметры, куки, заголовки и т.д. (см. тж. >>>> https://metacpan.org/pod/Kelp ) >>>> >>>> 3. Параметры и куки нельзя достать без валидации, например, при помощи >>>> регулярного выражения: >>>> >>>> $req->param( foo => qr/\d+/ ); >>>> >>>> См. тж. perl -T >>>> >>>> В качестве альтернативы есть самовалидирующиеся формы на базе >>>> Validator::LIVR или самописного каличного движка (но ЛИВР лучше). >>>> >>>> См. тж. https://metacpan.org/pod/Validator::LIVR и >>>> https://metacpan.org/pod/Data::CGIForm >>>> >>>> 4. Хэндлер может вернуть ссылку на хэш с какими угодно параметрами, >>>> которая затем передаётся в шаблонизатор для рендеринга. На данный момент >>>> поддерживается Template::Toolkit и JSON/JSONP >>>> >>>> Также есть ограниченный набор ключей с минусом, которые используются >>>> для управления самим фреймворком - -template, -status и т.п >>>> >>>> 5. Хэндлер может выбросить исключение: die 404 - легальный способ >>>> вернуть настраиваемую страницу not found. Все нормальные исключения (не >>>> трёхцифренные и не специальные объекты самого Neaf) трактуются как error >>>> 500. >>>> >>>> 6. Один и тот же код может в неизменном виде запускаться как cgi, psgi >>>> и под Apache2 + mod_perl (с некоторым бубном). Также поддерживается дебаг >>>> из командной строки: >>>> >>>> perl myapp.pl --help >>>> perl myapp.pl --list >>>> >>>> 7. Кроме этого есть поддержка статических страниц (не надо держать >>>> отдельно нормальный веб-сервер, чтобы проверить CSS или логотип), сессий в >>>> несколько недоделанном виде (планируется улучшение), отложенные действия, >>>> выполняемые после запроса, ну и по мелочи ещё. >>>> >>>> Пример кода: >>>> >>>> use strict; >>>> use warnings; >>>> use MVC::Neaf; >>>> >>>> MVC::Neaf->route( "/" => sub { >>>> my $req = shift; >>>> >>>> return { >>>> -template => \'Hello, [% name %]!', >>>> -type => 'text/plain', >>>> name => $req->param( name => qr/\w+/, "Stranger" ), >>>> }, >>>> }); >>>> >>>> На каждую фичу есть небольшой пример, они же используются как >>>> дополнительные смоук-тесты к 80% покрытию юнит-тестами. см. >>>> https://github.com/dallaylaen/perl-mvc-neaf/tree/master/example >>>> >>>> Собственно фреймворк: >>>> >>>> https://metacpan.org/pod/MVC::Neaf >>>> >>>> Буду рад обратной связи, критике, багрепортам и запросам новых фич (см. >>>> тж. https://github.com/dallaylaen/perl-mvc-neaf/blob/master/TODO ) >>>> >>>> С уважением, >>>> >>>> -- >>>> Konstantin S. Uvarin >>>> jabber: see <from> >>>> skype: kuvarin >>>> http://github.com/dallaylaen >>>> >>>> _______________________________________________ >>>> Kiev-pm mailing list >>>> [email protected] >>>> http://mail.pm.org/mailman/listinfo/kiev-pm >>>> >>>> >>> _______________________________________________ >>> Kiev-pm mailing list >>> [email protected] >>> http://mail.pm.org/mailman/listinfo/kiev-pm >>> >>> >> >> >> -- >> Konstantin S. Uvarin >> jabber: see <from> >> skype: kuvarin >> http://github.com/dallaylaen >> >> _______________________________________________ >> Kiev-pm mailing list >> [email protected] >> http://mail.pm.org/mailman/listinfo/kiev-pm >> >> > _______________________________________________ > Kiev-pm mailing list > [email protected] > http://mail.pm.org/mailman/listinfo/kiev-pm > > -- Varyanick I. Alex skype: cono.. [email protected]
_______________________________________________ Kiev-pm mailing list [email protected] http://mail.pm.org/mailman/listinfo/kiev-pm
