Хоть сам использую Mojolicious и при всем уважении к автору, его стиль не рекомендовал бы, он подходит лишь в определенных случаях.
Одно дело внутренности Mojolicious, который автор по сути единолично только и разрабатывает (хотя сообщество и большое). А другое дело веб-приложение, которое не только вы программируете (или потом будет поддерживать кто-то другой). Тем более не стоит ориентироваться на исходный код Mojo::DOM например…
sub find { $_[0]->_collect(@{$_[0]->_css->select($_[1])}) }
Потом будет трудно вспомнить что в $_[0], а что в $_[1]. А кому-то другом еще труднее. И в одну строчку тяжелее читать.
$_ eq $child ? last : $i++ for @$parent[$i .. $#$parent];
flaresun уже написал, что это только затрудняет читаемость.
Да, столько лет прошло, а Себастьян всё тот же… :) Действительно, остаются только тесты, мониторинг Changes и carton для «стабилизации» (по крайней мере можно корректно работающую версию Mojolicious (и плагинов) установить и использовать — но тогда придется жить с багами старых версий, если такие обнаруживаются и исправляются в новых версиях). Если у вас пара проектов, то это не страшно, но когда их много — тогда удовольствия от исправления приложений убавляется. =)
Mojolicious хоть как-то стабилизировался (если можно так сказать), но ломание совместимости в Mojo::IOLoop — отдельная песня (возникнут мысли об использовании AnyEvent). Да и Mojo::DOM…
Не сказать, что альтернативы нет, есть. Да и тот же старый добрый Catalyst. Но всё-таки приходится мирится с этими «выходками» автора
OpenVPN прекрасен, только порой надо направить через прокси траффик одного приложения, а не всей системы. Или нескольких приложений через разные прокси. :)
Да, proxychains хороший. Кстати, только у меня с опцией proxy_dns DNS запросы идут через 4.2.2.2, а не через socks?
% proxychains curl habr.ru
ProxyChains-3.1 (http://proxychains.sf.net)
|DNS-request| habr.ru
|S-chain|-<>-1.2.3.4:5-<><>-4.2.2.2:53-<><>-OK
|DNS-response| habr.ru is 62.213.71.224
|S-chain|-<>-1.2.3.4:5-<><>-62.213.71.224:80-<><>-OK
Одно дело внутренности Mojolicious, который автор по сути единолично только и разрабатывает (хотя сообщество и большое). А другое дело веб-приложение, которое не только вы программируете (или потом будет поддерживать кто-то другой). Тем более не стоит ориентироваться на исходный код Mojo::DOM например…
Потом будет трудно вспомнить что в $_[0], а что в $_[1]. А кому-то другом еще труднее. И в одну строчку тяжелее читать.
flaresun уже написал, что это только затрудняет читаемость.
Здесь даже тернарный оператор нагляднее:
и т.п.
То есть я не в качестве критики, а как альтернативный взгляд именно с позиции чтения кода и его поддержки.
Книга Perl Best Practics и Perl::Tidy / Perl::Critic очень помогают в этом плане.
Советую еще посмотреть код модулей представленный в Task::Kensho, а не ограничиваться исходным кодом Mojolicious.
Mojolicious хоть как-то стабилизировался (если можно так сказать), но ломание совместимости в Mojo::IOLoop — отдельная песня (возникнут мысли об использовании AnyEvent). Да и Mojo::DOM…
Не сказать, что альтернативы нет, есть. Да и тот же старый добрый Catalyst. Но всё-таки приходится мирится с этими «выходками» автора
Интересно, а национальная библиотека Чили почему в немилость попала? :)
pixlr.com/editor/
www.sumopaint.com/app/
% proxychains curl habr.ru
ProxyChains-3.1 (http://proxychains.sf.net)
|DNS-request| habr.ru
|S-chain|-<>-1.2.3.4:5-<><>-4.2.2.2:53-<><>-OK
|DNS-response| habr.ru is 62.213.71.224
|S-chain|-<>-1.2.3.4:5-<><>-62.213.71.224:80-<><>-OK