?

Log in

No account? Create an account
Mojolicious - Меркантильный гуру

> Recent Entries
> Archive
> Friends
> Profile
> knutov.com

November 2nd, 2016


Previous Entry Share Next Entry
04:03 pm - Mojolicious
При всей моей прежней нелюбви к Mojolicious я таки должен признаться, что сейчас это мегачудесный инструмент для быстрого прототипирования и все новые микросервисы я сейчас делаю на нем.
Tags:

(12 comments | Leave a comment)

Comments:


[User Picture]
From:plumqqz
Date:November 2nd, 2016 01:28 pm (UTC)
(Link)
Чего же в нем теперь мегачудесного?
Я, честно говоря, так и не понял, зачем он нужен.
[User Picture]
From:shoorick
Date:November 2nd, 2016 01:57 pm (UTC)

Зачем

(Link)
Чтоб быстро слепить что-то несложное — вполне подходит. И хватает даже лёгкого Mojolicious::Lite

Edited at 2016-11-02 02:10 pm (UTC)
[User Picture]
From:knutov
Date:November 2nd, 2016 01:57 pm (UTC)
(Link)
Писать на нем (читать: "решить задачу") много быстрее. Особенно в контексте микросервисов, которые суть апи.

Mojolicious::Lite, конечно.

Edited at 2016-11-02 01:58 pm (UTC)
[User Picture]
From:plumqqz
Date:November 2nd, 2016 03:54 pm (UTC)
(Link)
Ну так я вот смотрю на примеры:

my $route = any '/:foo' => sub {...};
my $route = any '/:foo' => sub {...} => 'name';
my $route = any '/:foo' => {foo => 'bar'} => sub {...};
my $route = any '/:foo' => [foo => qr/\w+/] => sub {...};
my $route = any ['GET', 'POST'] => '/:foo' => sub {...};
my $route = any ['GET', 'POST'] => '/:foo' => [foo => qr/\w+/] => sub {...};
my $route = any
['GET', 'POST'] => '/:foo' => (agent => qr/Firefox/) => sub {...};

и это, воля ваша, ровно то же самое, что и какой-нибудь девяностолохматый с незабвенным

my $uri = request_uri();
if($uri =~ m!^/usr/(\d+)/!$){
my $usr_id = $1;
...
}elsif($uri =~ m!^/forum/(\d+)/$){
my $forum_id = $1;
...
}

Разница исключительно синтаксическая - ну и чуток медленнее.
[User Picture]
From:knutov
Date:November 2nd, 2016 07:29 pm (UTC)
(Link)
У меня в более, чем в половине микросервисов есть только /

Зато дальше - всякие гет/пост запросы с json и т.д. - в моджолайте это сильно меньше букв, и это пишется намного быстрее.

Т.е. да, DSL был бы еще лучше, но никто не мешает сделать моджо::суперлайт с дсл снизив количество букв до уровня дансера.
[User Picture]
From:plumqqz
Date:November 3rd, 2016 10:22 am (UTC)
(Link)
Честно говоря, короче cgi-шного варианта вряд ли получится, да и непонятно, надо ли.
[User Picture]
From:norguhtar
Date:November 3rd, 2016 05:09 am (UTC)
(Link)
Фреймворк удобен, тем что есть куча народа которая его уже умеет. Плюс облегчает "хуяк хуяк и в продакшон".
[User Picture]
From:plumqqz
Date:November 3rd, 2016 09:55 am (UTC)
(Link)
Да вот пример выше - там неважно, умеет или нет.
[User Picture]
From:norguhtar
Date:November 3rd, 2016 10:11 am (UTC)
(Link)
А теперь тоже самое но с PSGI
[User Picture]
From:plumqqz
Date:November 3rd, 2016 10:21 am (UTC)
(Link)
Если оставить в стороне традиционный вопрос, нахера нужен этот PSGi, не вижу особой разницы.
[User Picture]
From:norguhtar
Date:November 3rd, 2016 10:39 am (UTC)
(Link)
Для того чтобы не использовать CGI режим, и не грузить и инициализировать каждый раз кучу всего.
[User Picture]
From:plumqqz
Date:November 3rd, 2016 12:33 pm (UTC)
(Link)
Так это уже двадцать лет как не надо делать.

> Go to Top
LiveJournal.com