В процессе занятия фрилансом мне периодически попадаются на препарирование сайты написанные на Perl. Глядя на код, я понимаю, откуда появилась дурная слава Perl в области Web разработки. Но не будем углубляться в холивар.
Вчера мне в руки попал движок X1-forge. Надо особо отметить что он активно продаётся и весьма нескромно расхваливается на
сайте. Итак, что же с ним не так?
10 февраля 2012, 11:52
11
Куда танцует перл? Да никуда он не танцует, просто сегодня я хочу написать о веб-фреймворке Dancer. Сразу небольшой дисклеймер: если вы знакомы с темой, не ожидайте от топика невиданных глубин, сегодня только hello world, только введение.
От меня: во-первых, я не знал, что craigslist работает на Perl (чем я увлечен на данный момент). Во-вторых, такое большое и важное пожертвование во благо всему и всех мотивировало меня «отдать должное» craigslist, распространив эту новость. Надеюсь, Вам всем будет интересно. P.S. Я не обладаю должным опытом переводчика. Я разработчик. Поэтому прошу быть чуть полегче с критикой перевода.
Фонд Perl с гордостью
сообщает, что Благотворительный Фонд craigslist оказал поддержку Perl сообщества, сделав пожертвование в размере 100,000 долларов на поддержку Perl5, которые могут быть также использованы в общих целях Фонда Perl.
По словам генерального директора craigslist и бывшего Perl хакера Джима Бакмастера: «craigslist получил большую популярность, в то время как большинство его программного обеспечения разрабатываются на Perl уже более чем десять лет. Благотворительный Фонд craigslist с гордостью признает волшебство и щедрость всего сообщества Perl, и посему готов гарантировать дальнейшую поддержку Perl5, внеся вклад в будущее развитие Perl». Он также добавил: «Поначалу не было ясно, как и что можно лучше всего дать взамен Perl. К счастью, было несколько способов, как можно это сделать.»
Карен Поули, Президент Фонда Perl заявила: «Я чрезмерно благодарна Благотворительному Фонду craigslist за их невероятно щедрое пожертвование. Какой же фантастический способ для Perl Foundation начать 2012 год!»
Радости
Прошло 5 конференций по perl:
- Perlburg-2 Екатеринбург, 2 апреля 2011;
- YAPC::Russia «May Perl + Perl Mova» Moscow, 13–15 May 2011;
- YAPC::Europe Riga, 15–17 August 2011;
- Black Perl Black Sea, 30 September – 2 October 2011;
- Saint Perl — 3 Saint Petersburg, 18 December 2011
прослушан 99 раз
Думаю многие понимают значение баззвордов Inversion of Control (Ioc) и Dependency Injection (DI). Если не очень, но интересно — на хабре было несколько статей на эту тему, очень познaвательно и доступно изложено.
Методики отличные, но применить их в настоящей жизни как-то не получалось.
Под катом — небольшой обзор плачевного состояния дел в Perl и самостийное «кажется» решение.
В данной статье предложена реализация механизма сигналов и слотов в языке Perl посредством модуля EV («perl-биндинг» к libev).
Предисловие
Я один из тех людей, которые часто подвержены стрессовым ситуациям. Избавиться от стресса можно разными способами. В данном топике я покажу вам, как это делаю я.
Преамбула
В процессе самостоятельной разработки «Умного дома» ( далее по тексту УД) периодически возникала необходимость в написании небольших, но очень нужных утилит-программ-скриптов, в том или ином виде уже написанных и доступных на просторах интернет, но по тем или иным причинам непригодных для использования в проекте. «Почему непригодных?», спросит опытный Разработчик, может я просто «Не люблю кошек, потому, что не умею их готовить?».
14 октября 2011, 14:49
48

Самый большой недостаток экосистемы языка
Perl — управление модулями (другой кандидат на эту роль — долгострой
Perl6, но не будем о нём). Что любопытно, самое большое достоинство этой же экосистемы — наличие единого архива модулей
CPAN. Поразительно, собрать и организовать модули смогли, а реализовать удобную установку/обновление/удаление — нет.
Богатство выбора… или очередное TIMTOWTDI

Существует множество альтернативных подходов к этой задаче (и их количество тоже косвенно указывает на то, что ни один из них не решает проблему достаточно хорошо):
cpan,
cpanplus,
cpanminus,
pip,
cpansite,
minicpan/
mcpani,
perlbrew,
cpan-outdated,
cpan-listchanges,
local::lib, …
Итак, у нас может быть:
- Несколько версий самого perl (разумеется, каждая со своими глобальными модулями), в т.ч. установленные в домашний каталог юзера (см. perlbrew).
- Глобальные (доступные при запуске perl) и локальные (подключаемые из любого каталога/каталогов, обычно располагающиеся внутри отдельного проекта или в домашнем каталоге пользователя) модули.
- Глобальные модули бывают трёх типов: core (идущие вместе с perl), site (устанавливаемые вручную админом) и vendor (устанавливаемые менеджером пакетов вашей ОС).
- Все глобальные модули находятся в подкаталогах «номер.версии.perl/», и эти каталоги никто автоматически не чистит. А при установке новой версии perl создаются новые аналогичные каталоги. И perl подгружает модули из каталогов всех доступных предыдущих версий. Так что умножьте core+site+vendor на количество обновлений perl — вот в таком количестве каталогов/вариантов находятся ваши глобальные модули.
- Источники модулей тоже бывают разные: CPAN, локальные зеркала-оверлеи CPAN с приватными модулями, просто свои или скачанные из инета модули отсутствующие в CPAN-совместимой системе.
И всю эту радость надо администрировать: устанавливать, обновлять, … В Gentoo для упрощения администрирования глобальных Perl-модулей есть утилитка
g-cpan, вот о ней я и хочу немного рассказать.
23 сентября 2011, 21:50
19