Комментарии 13
Напомнило книги из серии «Стань гуру веб-разработки за 24 часа» :-) Спасибо.
Mojolicious вам в помощь.
Интересная штука, спасибо.
Когда я делал тот веб-сервис, perl был ещё 5.005, ничего такого не было.
Если буду делать что-то для web, посмотрю на Mojolicious в первую очередь.
Когда я делал тот веб-сервис, perl был ещё 5.005, ничего такого не было.
Если буду делать что-то для web, посмотрю на Mojolicious в первую очередь.
Одно из основных достижений сообщества Perl – это CPAN, огромная библиотека готовых решений для самых разных задач.
eval строк обычно не рекомендуется использовать, т.к. он запускает отдельный экземпляр компилятора, плюс есть версия, что при определённых обстоятельствах он течёт по памяти.
eval строк обычно не рекомендуется использовать, т.к. он запускает отдельный экземпляр компилятора, плюс есть версия, что при определённых обстоятельствах он течёт по памяти.
Про cpan знаю и использую когда есть возможность.
К сожалению, при использовании модулей с cpan приложение резко теряет в мобильности.
Поэтому если к скрипту главное требование — чтобы он работал везде, где его запустят, cpan с собой уже таскать не стоит.
Кроме этого, при апгрейде системы скомпилированные модули могут поломаться и всё придётся пересобирать, всё это связанно с проблемами при поддержке.
А с бандлами в perl, к сожалению, до сих пор не всё гладко.
Этот скрипт — абсолютно переносим.
В этом его главное преимущество.
Недостатки тоже есть и они известны.
Ну а насчёт течки по памяти… к сожалению, в perl текут и более насущные места кроме eval.
К сожалению, при использовании модулей с cpan приложение резко теряет в мобильности.
Поэтому если к скрипту главное требование — чтобы он работал везде, где его запустят, cpan с собой уже таскать не стоит.
Кроме этого, при апгрейде системы скомпилированные модули могут поломаться и всё придётся пересобирать, всё это связанно с проблемами при поддержке.
А с бандлами в perl, к сожалению, до сих пор не всё гладко.
Этот скрипт — абсолютно переносим.
В этом его главное преимущество.
Недостатки тоже есть и они известны.
Ну а насчёт течки по памяти… к сожалению, в perl текут и более насущные места кроме eval.
Mojolicious не имеет никаки зависимостей, кроме Perl 5.8.7, так что его не нужно собирать в системе, достаточно скопировать модули и сделать use lib.
>> Ну а насчёт течки по памяти… к сожалению, в perl текут и более насущные места кроме eval.
?
?
Точного ответа у меня нет, но есть жизненный пример.
Некий сетевой сервис, который должен работать 24/7/365 пришлось перестартовывать по cron раз в сутки, иначе он раз в несколько месяцев при всплеске нагрузки терял файловые дескрипторы сокетов (или пайпов) и переставал работать.
Какой именно модуль тут оказался кривым — сказать сложно, из специфики могу сказать, что интенсивно использовались DBI (MySQL), LWP::Simple, локальные сокеты и fork().
С другой стороны, ещё на Perl 5.005 в каких-то лохматых годах я написал специфичный web-сервер, который именно работал круглосуточно и без перезапусков месяцами и годами — его аптайм всегда был равен аптайму сервера.
Как настоящий гик, наверно, я должен был кинуться и найти, что именно и куда утекает, но ежедневные задачи не дали мне этого сделать :) или попросту было лень :)
Некий сетевой сервис, который должен работать 24/7/365 пришлось перестартовывать по cron раз в сутки, иначе он раз в несколько месяцев при всплеске нагрузки терял файловые дескрипторы сокетов (или пайпов) и переставал работать.
Какой именно модуль тут оказался кривым — сказать сложно, из специфики могу сказать, что интенсивно использовались DBI (MySQL), LWP::Simple, локальные сокеты и fork().
С другой стороны, ещё на Perl 5.005 в каких-то лохматых годах я написал специфичный web-сервер, который именно работал круглосуточно и без перезапусков месяцами и годами — его аптайм всегда был равен аптайму сервера.
Как настоящий гик, наверно, я должен был кинуться и найти, что именно и куда утекает, но ежедневные задачи не дали мне этого сделать :) или попросту было лень :)
кодобред, говнокод, устаревшее говно мамонта, мазохизм, шизофрения.
Ни для кого сейчас уже не секрет, что шаблонный движок должен быть полноценным языком программирования.
Не в этой вселенной.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Универсальный шаблонный движок за 1 минуту из подручных материалов