Среда, 4 марта

PerlNews.Ru: Выложены первые видеозаписи Perl-докладов на FOSDEM 2015

На сайте с видеозаписями конференции FOSDEM 2015 появились первые девять записей докладов, проходившие в зале Perl.

Темы: FOSDEM

Понедельник, 2 марта

Сообщество ru_perl в LiveJournal: Двадцать пятый выпуск журнала о современном Perl

pp Выпуск 25. Март 2015

http://pragmaticperl.com/issues/25

В этом номере:

- От редактора. Два года журналу, Вячеслав Тихановский
http://pragmaticperl.com/a/5de89ad5

- Подключение в Mojolicious модели для бизнес-логики, Александр Ружников
Рассмотрен вариант автоматического подключения классов моделей из указанной директории
http://pragmaticperl.com/a/ff47b001

- Мутационное тестирование, Вячеслав Тихановский
Еще один способ сделать Perl-код качественнее — мутировать тесты для нахождения непротестированного кода
http://pragmaticperl.com/a/ed9ba38f

- Про переменные и сигнатуры в Perl 6, Андрей Шитов
В этой статье описаны интересные синтаксические возможности Perl 6, о которых не было упомянуто в прошлый раз
http://pragmaticperl.com/a/07728152

- Модули в Perl 6, Андрей Шитов
Краткий обзор основных моментов, которые полезно знать при работе с модулями в Perl 6
http://pragmaticperl.com/a/3afcabf9

- Обзор CPAN за февраль 2015 г., Владимир Леттиев
Рубрика с обзором интересных новинок CPAN за прошедший месяц.
http://pragmaticperl.com/a/790238d5

- Интервью с Владимиром Леттиевым, Вячеслав Тихановский
Владимир Леттиев (crux) — постоянный автор журнала, модулей на CPAN, основатель perlnews.ru
http://pragmaticperl.com/a/540eafc7

Мини-портал Perl на Opennet: Двадцать пятый выпуск журнала Pragmatic Perl

Представлен двадцать пятый выпуск Pragmatic Perl, русскоязычного журнала о современном программировании на языке Perl.

PerlNews.Ru: Встреча moscow.pm 5 марта 2015 г.

Анонсирована встреча Moscow.pm 5 марта в 19.30 в офисе Mail.Ru Group.

Тема встречи целиком посвящена Perl 6. После доклада Ларри Уолла на Фосдеме, Perl 6 вновь обратил на себя пристальное внимание со стороны всего сообщества. На встрече ожидаются два доклада:

  • «Perl 6 2.0», Андрей Шитов, организатор Perl-конференций;
  • «Perl 6 сегодня: 8 лет спустя», Алексей Капранов, Яндекс.

Не пропустите встречу!

Темы: moscow.pm

PerlNews.Ru: Юбилейный 25-й выпуск журнала Pragmatic Perl

Вышел 25-й выпуск журнала о современном Perl на русском Pragmatic Perl.

Pragmatic Perl 25

В этом номере:

Темы: PragmaticPerl

Суббота, 28 февраля

Сообщество ru_perl в LiveJournal: Запуск PSGI скриптов как CGI (Apache)

из
perlmaven_com getting-started-with-psgi

имеем скрипт

#!/usr/bin/perl
use strict;
use warnings;

my $app = sub {
return [
'200',
[ 'Content-Type' => 'text/html' ],
[ time() ],
];
};

можно его запустить как скрипт в папке /cgi-bin/ apache web сервера. и как? какие то модули CGI::PSGI нашел но не понял - вроде они для запуска CGI на PSGI сервере а мне надо наоборот.
хочется начать писать скрипты под новый стандарт, но оставить возможность деплоя под cgi :3

тут вроде бы пишут что можно:
Tatsuhiko Miyagawa created PSGI and Plack. That allows developers to write their code once and deploy in many ways including CGI, mod_perl, FastCGI, nginx and Starman.
но как?

Четверг, 26 февраля

Меркантильный гуру: File::Slurp

http://blogs.perl.org/users/leon_timmermans/2013/05/why-you-dont-need-fileslurp.html

Интересное обсуждение. В основном - про то, как все плохо. Понять, что именно хорошо - мне так и не удалось.

upd: а началось все с того, что вместо моих собственных функций я решил взять что-то стандартное и сходу напоролся на, похоже, https://rt.cpan.org/Public/Bug/Display.html?id=83126

Что они там fixed я не понял, но экспешенов wide characters in print я получил кучу, где совсем не ожидал.

upd2: решил не лениться и сделал сравнение разных методов https://gist.github.com/knutov/8c9077790f925f1e336f

Какие еще есть хорошие варианты?

PerlNews.Ru: Обновление безопасности Request Tracker 4.0.23 и 4.2.10

Сегодня вышли обновления популярного баг-трекера и хелп-деска Request Tracker, который в частности используется для инфраструктуры открытых проектов, таких как Perl, OpenSSL, а также множества коммерческих организаций.

Обновлена старая поддерживаемая версия 4.0.23 и новая стабильная версия 4.2.10. Обновление содержит исправление трёх уязвимостей:

  • CVE-2014-9472 — атака на отказ в обслуживание против почтового шлюза RT, который настроен на приём писем из любых источников. В зависимости от настроек логирования удалённый атакующий может вызвать высокую нагрузку на процессор или дисковую подсистему.
  • CVE-2015-1165 — раскрытие URL RSS-ленты и соответственно данных в заявках
  • CVE-2015-1164 — URL RSS-ленты позволяет перехватить сессию пользователя, который создал эту ленту

Темы: security

Вторник, 24 февраля

PerlNews.Ru: Выпущен Strawberry Perl 5.20.2.1

Хорошая новость для пользователей Windows: выпущен релиз дистрибутива Perl для Windows Strawberry Perl 5.20.2.1.

Доступны msi-пакеты для установки: 32-битной и 64-битной версии.

Новые версии содержат обновлённый стабильный релиз Perl 5.20.2. Кроме того были обновлены сопутствуюище версии библиотек, компилятора gcc. Полная информация о релизах соотвественно 32 и 64.

К сожалению, msi-пакеты не подписаны, поэтому проверяйте sha1 отпечаток.

Темы: Perl windows

Понедельник, 23 февраля

PerlNews.Ru: Ускорение сигнатуры функции в Perl

Функции с экспериментальной поддержкой сигнатур, которые появились в Perl 5.20 работали медленнее, чем обычные функции. Например, если сравнить функции plain и sig, то функции с сигнатурой потребуется выполнить на 60% больше инструкций:

sub plain {
    my ($a, $b, $c) = @_;
    ...
}

sub sig ($a, $b, $c) { ... }

Дейв Митчелл провёл большую работу по оптимизации сигнатур и, в частности, по присвоению значений по умолчанию, например:

sub foo ($a, $b, $c = 1) {
    ...
}

В результате этой работы появилась новая операция OP_SIGNATURE, которая призвана заменить множество отдельных операций по присвоению значений параметров. Далее чуть подробнее о том, что это даёт.

Читать дальше →

Темы: Perl

Воскресенье, 22 февраля

Pilat66 blog: perl5i — современные улучшения perl5 в одном флаконе

Программа на перле сейчас начинается с простыни подгрузки модулей, причём их уже дессятки!!! (мы все умрём!!!). Возникает вопрос что делать. Ответ — использовать один из нескольких модулей, делающих всё водной строке. Остановимся на самом, наверно, навороченнном — perl5i.

perl5i — практически неизвестный модуль (если вообще модуль), переделывающий перл в новый язык. Чем-то он напоминает по [...]

Суббота, 21 февраля

PerlNews.Ru: Вышел Perl 5.21.9

Вышел десятый релиз Perl ветки 5.21 для разработчиков. Новый релиз содержит изменения в порядка 160 000 строках исходного кода, не считая изменений в автогенерируемых файлах. Как обычно, полный список изменений содержится в perldelta. Далее обзор наиболее заметных изменений.

Читать дальше →

Темы: Perl

Пятница, 20 февраля

PerlNews.Ru: Существенное изменение в CGI.pm

Lee Johnson уведомляет о выходе экспериментальной версии модуля CGI 4.13_02. В данной версии полностью удалена оптимизация с использованием AUTOLOAD, появившаяся в CGI.pm ещё 20 лет назад. Как известно, код практически всех функций модуля подгружается и выполняется только в момент первого использования. Это позволяло выиграть несколько миллисекунд при загрузке модуля, что имело определённый смысл раньше, когда технология CGI была доминирующей. На сегодняшний день поддержка модуля существенно затруднена из-за формата исходного кода, неработающих метрик покрытия кода тестами и излишней магии автозагрузки.

Соответственно произойдёт несколько существенных изменений, которые могут затронуть существующий код: модульCGI::Pretty объявляется устаревшим, как и прагма -compile (или метод compile). Если вы используете прагму -any при загрузке модуля для поддержки произвольных тегов, то ваш код скорее всего окажется сломанным.

Майнтейнер модуля призывает к широкому обсуждению изменения. Открыта заявка на GitHub для обсуждения.

Темы: CPAN

Среда, 18 февраля

PerlNews.Ru: Выложены доклады moscow.pm от 5 февраля 2015

На официальном YouTube-канале moscow.pm появились записи докладов группы от 5 февраля 2015 года:

Темы: moscow.pm

Понедельник, 16 февраля

PerlNews.Ru: Обсуждение на p5p: флаги регулярных выражений

На прошлой неделе в рассылке perl5-porters была затронута тема флагов регулярных выражений. В Perl 5.14 появился флаг /a, который ограничивал поиск совпадений для \d, \s и \w символами ASCII, а удвоенный флаг /aa усиливал эффект и исключал поиск совпадений между ASCII и не-ASCII символами (например, k перестаёт совпадать с \N{KELVIN SIGN}).

regexp

Карл Уильямсон предложил признать устаревшим возможность указывать такие флаги в перемешку с другими флагами, например, вместо /aa писать /ama. Также предложено запретить возможность множественного использования флага /i, чтобы в будущем появилась возможность задавать /ii как вариант для задания более простого варианта поиска без учёта регистра (без учёта фолдинга). Это должно улучшить читаемость регулярных выражений. Но...

Читать дальше →

Темы: regexp

Воскресенье, 15 февраля

PerlNews.Ru: Выпущен Perl 5.20.2

После 5 месяцев разработки выпущен второй корректирующий релиз стабильной версии 20 Perl 5. Полный список изменений доступен в perldelta.

Читать дальше →

Темы: Perl

Четверг, 12 февраля

PerlNews.Ru: Вышли обновления безопасности MovableType 6.0.7 и 5.2.12

Вышли обновления, исправляющие ошибку в безопасности, для известной системы управления контентом MovableType версии 6.0.7 и 5.2.12 (и в частности Movable Type Open Source). Как указано в отчёте уязвимости подвержены ветки 6.0.x и 5.2.x.

Уязвимость позволяла производить атаку LFI (local file inclusion — подключение локального файла) из-за использования модуля Storable (метод thaw нельзя использовать использовать на недоверенном контенте).

Как отметили в рассылке oss-security, уязвимость может быть легко использована и для удалённого выполнения произвольного кода неаутентифицированным пользователем.

Темы: security

PerlNews.Ru: Выложены новые видеозаписи докладов moscow.pm

На официальном YouTube-канале moscow.pm появились новые записи докладов группы от 6 февраля, 2 октября и 6 ноября 2014 года:

Темы: moscow.pm

Среда, 11 февраля

PerlNews.Ru: Проблемы со сборкой Perl 5 с помощью GCC 5

RedHat, стоящий на острие разработки, провёл тестовую пересборку всех пакетов в Fedora Rawhide с помощью новейшей версии компилятора GCC 5. По результатам пересборки выявились некоторые пакеты, которые этого не пережили, в том числе и Perl 5.20.1.

Как выяснил Petr Pisar, это произошло вследствие изменений в выводе препроцессора, из-за чего перестал правильно генерироваться Errno.pm. Патч уже доступен, хотя, скорее всего, он уже не успевает попасть в грядущий релиз Perl 5.20.2.

Темы: Perl

Вторник, 10 февраля

PerlNews.Ru: В библиотеке libc Apple использовался Perl для реализации wordexp

HackerNews сегодня повторил уже мелькавшую новость о том, что по крайне мере до 2011 года в реализации функции wordexp() в библиотеке libc Apple использовался Perl, как внешняя программа, производящая разбор аргументов и собирающая их в строку с разделителем нуль-символом \0:

  char *cmd = "/usr/bin/perl -e 'print join(chr(0), @ARGV), chr(0)' -- ";

Оригинальный исходный код можно увидеть здесь.

Темы: Perl

PerlNews.Ru: В Pod::Simple по умолчанию будет кодировка CP-1252

Дэвид Уилер анонсировал, что в следующем релизе Pod::Simple (парсер POD-документации, используемый в том числе для perldoc) будет изменена кодировка по-умолчанию с Latin-1 на CP-1252. Утверждается, что это будет особенно полезно для POD-документов, созданных на платформе Windows, где эта кодировка и встречается. Соответствующие изменения будут внесены и в спецификацию POD Perl.

Темы: CPAN facepalm

Воскресенье, 8 февраля

PerlNews.Ru: Расширенный тип границ в регулярных выражениях

Карл Уильямсон работает над реализацией выражения \b{...}, как расширенного варианта \b для задания типа границ в регулярных выражениях.

В Perl 5.22 появятся три варианта таких конструкций:

  1. \b{gcb} — граница кластера графемы (кластер графемы, это две или более кодовых точек образующих один символ, например , состоящий из латинской g и знака двух точек)
  2. \b{cb} — граница предложений. Будет срабатывать там, где по правилам Юникода происходит разделение предложений. Правда предложение Mr. Jones всё равно будет считаться двумя предложениями.
  3. \b{wb} — граница слова.

Кроме того Юникод определяет и перенос строки и его можно реализовать как \b{lb}, но на CPAN уже есть Unicode::LineBreak.

Простое выражение \b определяет границу между символами \w и \W. Хотя большинство новичков почему-то считают, что это граница между \s и \S. Есть мысль реализовать такое как \b{space}, но на самом деле скорее всего имеется ввиду \b{wb}, который действительно хорошо ищет границы для естественных языков, например, он правильно выделит слово don't в предложении ... don't., включив апостроф, но исключив точку.

В этой связи Карл предлагает задать новый флаг для прагмы re

  use re "/w"

который бы по умолчанию рассматривал обычный \b как \b{wb} в своей области определения.

Темы: Perl regexp

Суббота, 7 февраля

PerlNews.Ru: cpanpr хакатон в BlueHost

Хостинговая компания BlueHost провела сегодня внутренний хакатон, посвящённый соревнованию CPAN Pull Request (#cpanpr). Участвовало более 20 человек и было сделано 25 запросов на слияние.

hackaton

Чтобы каким-то образом фиксировать всю эту работу, один из участников хакатона Роб Ван Дам подготовил страничку с последними запросами и их статусом (пока ещё не обновляется в реальном времени, но над этим работают). Используется модуль Net::GitHub, запрашиваются модули, которые участвовали в соревновании в январе-феврале. Цветом выделены PR отправленные участниками сегодняшнего хакатона.

Уже сейчас организаторы думают о проведении следующего хакатона в ближайшие несколько месяцев, а также проведении такого же мероприятия в локальной группе перловиков.

PerlNews.Ru благодарит Вячеслава Тихановского за информацию о хакатоне

Темы: CPAN cpanpr

Пятница, 6 февраля

PerlNews.Ru: Интервью Ларри Уолла в подкасте rebuild.fm

Вслед за Рикардо Сигнесом Тацухико Миягава взял интервью у создателя Perl — Ларри Уолла. Подкаст также проходил в Бельгии после крупнейшей европейской конференции FOSDEM, на которой Ларри Уолл сделал давно обещанный анонс выпуска стабильного релиза Perl 6 в 2015 году. Темой выпуска естественно стал Perl 6.

Запись интервью на английском языке доступна на сайте подкаста rebuild.fm. Далее последует краткое изложение беседы.

Читать дальше →

Темы: Perl6 FOSDEM

PerlNews.Ru: Следующий стабильный релиз Moo 2.0

Грэм Ноп оповещает о грядущем мажорном релизе ООП-фреймворка Moo 2.0.

Основное изменение в новой версии — Moo больше не делает предупреждения фатальными для классов, которые его загружают. Поскольку Moo всё больше используется на CPAN, становится очевидно, что разлом, который будет происходить при появлении новых предупреждений и затронет прежде всего ничего не подозревающих пользователей, не стоит тех перфекционистких целей, которые ставят фатальные предупреждения. Стремление уйти от внезапных поломок даже выразилось в появление такого костыля как Moo::Lax.

На данный момент модуль доступен на CPAN как пробный релиз Moo 1.999_01.

Темы: CPAN

Четверг, 5 февраля

Shoor/нал: Перловые модули вставали не туда

Только сейчас обнаружил интересную штуковину: если в убунте выполнять общесистемную установку перловых модулей командой

sudo cpan Имя::Модуля

то модуль встаёт куда надо — в моём случае это /usr/local/share/perl/5.18.2 (а мануалы ложатся в /usr/local/man/man3), но если сначала взять себе рутовую консоль командой
sudo bash

и из такой консоли запускать cpan — модули встанут в ~/perl5/lib/perl5, чего я не ожидал.

P. S. Про sudo apt-get install libимя-модуля-perl я в курсе.

Хабрахабр: Метки / perl: Авторинг Perl модулей


При разработке перл-модулей приходится делать много работы, которая практически не связана с задачами и кодом модуля — начиная от создания десятка типовых файлов/каталогов и заканчивая выполнением десятка одинаковых операций необходимых для выпуска новой версии.

Помимо того, что это скучно, лениво, и часто приводит к ошибкам (из-за необходимости обновлять мета-информацию — вроде номера версии — в нескольких файлах или нечаянного пропуска части команд при релизе) всё дополнительно осложняется перловским TIMTOWTDI — существует несколько разных систем сборки, у всех есть свои достоинства и недостатки (но нет простой таблички с их перечислением), и ни одна из них не является рекомендуемой ни официально ни сообществом.

Кроме того, многие из нас пишут на перле очень много лет, и последний раз читали perlnewmod когда изучали перл. В результате, когда создаются новые модули это нередко делается в стиле 15-ти летней давности, причём система сборки выбирается практически случайным образом — либо древний, но знакомый и точно умеющий что угодно EUMM, либо одна из других (не потому, что нужна именно она, а просто в надежде что она окажется проще и удобнее EUMM, не создав при этом новых проблем… которые она всё-таки со временем создаёт).

Далее кратко описаны имеющиеся на начало 2015 года средства, которые могут облегчить процесс разработки перл-модулей, сделать ваши модули более современными, и упростить другим разработчикам доработку ваших модулей. Я постарался перечислить их основные плюсы и минусы, но т.к. сам пользовался не всеми то буду дополнять/исправлять этот список в соответствии с вашими комментариями.

Читать дальше →

Среда, 4 февраля

Мини-портал Perl на Opennet: Двадцать четвёртый выпуск журнала Pragmatic Perl

Представлен двадцать четвёртый выпуск Pragmatic Perl, русскоязычного журнала о современном программировании на Perl.

Сообщество ru_perl в LiveJournal: Двадцать четвертый выпуск журнала о современном Perl

pp Выпуск 24. Февраль 2015

http://pragmaticperl.com/issues/24

В этом номере:

- От редактора. Опрос и Форум, Вячеслав Тихановский
http://pragmaticperl.com/a/1943a7a7

- Тестирование черного ящика, Вячеслав Тихановский
Рассмотрены особенности тестирования приложений в целом как черного ящика
http://pragmaticperl.com/a/714c6571

- Реализация удаленного вызова процедур (RPC) в Perl с помощью Thrift, Олеся Кузьмина
Рассмотрены основы работы со Thrift в Perl
http://pragmaticperl.com/a/67d2e8e0

- Fuzzing-тестирование perl-интерпретатора с помощью afl, Владимир Леттиев
Закончились новогодние каникулы. Кто-то ездил отдыхать в жаркие страны, кто-то смотрел телевизор и не вылезал из-за(под) стола. Но были и те, кому было интересно провести бесчеловечные эксперименты с Perl. Об одном таком эксперименте и пойдёт речь.
http://pragmaticperl.com/a/a96a82dd

- Каналы в Perl 6, Андрей Шитов
Первая часть обзора возможностей Perl 6 для параллельных и конкуррентных вычислений
http://pragmaticperl.com/a/099cda34

- Perl 6, или Get ready to party, Андрей Шитов
Заметки с выступления Ларри Уолла на Фосдеме
http://pragmaticperl.com/a/22a4331e

- Обзор CPAN за январь 2015 г., Владимир Леттиев
Рубрика с обзором интересных новинок CPAN за прошедший месяц.
http://pragmaticperl.com/a/929564f0

- Интервью с Нилом Бауэрсом (Neil Bowers), Вячеслав Тихановский
Нил Бауэрс (Neil Bowers) — британский Perl-программист, инициатор соревнования CPAN Pull Request Challenge
http://pragmaticperl.com/a/f3253fe7

Вторник, 3 февраля

Сообщество ru_perl в LiveJournal: Новости из мира Perl

http://perlnews.ru — новостной блог о всех заметных событиях мира Perl на
русском языке.

Понедельник, 2 февраля

Moscow.pm 2.0: Техническая офлайн-встреча № 30

Мы снова приглашаем всех единомышленников на очередную встречу Perl-программистов, Moscow.pm. Эта традиция поддерживается уже почти 8 лет. За это время мы сменили немало мест и форматов встреч, остановившись на гостеприимном и комфортном офисе Mail.Ru Group. Наши встречи — это не «клуб для своих», мы открыты как для ветеранов Moscow.pm, так и для новичков. Мы собираемся для того, чтобы обменяться опытом и знаниями, а заодно пообщаться с теми, кто разделяет наши интересы. Например, был случай, когда выступление, на которое отводилось 40 минут, переросло в трёхчасовую дискуссию, в которой участвовали все присутствующие.

Наша ближайшая встреча будет интересна не только программистам, но и специалистам в e-commerce, а также всем, кто при слове «очередь» непроизвольно тянется за маузером. Интересную информацию из доклада о генерации кода смогут почерпнуть и программисты, которые стараются всячески оптимизировать свой труд и не делать лишнюю работу.

Наталья Савенкова, бывшая CTO проекта SHOP2YOU.RU, поведает о работе с документам .xls, .xlsx и .rtf. Экселевские файлы являются наиболее популярным способом обмена данными в e-commerce. Их использует множество компаний как для внутреннего документооборота, так и для предоставления информации клиентам. Доклад Натальи будет посвящён тонкостям и нюансам работы с подобными файлами: как записывать и считывать документы с разной структурой, какие могут быть сложности, в том числе неочевидные. В первую очередь речь будет идти о формате Excel 1997-2003 (XLS) и о модулях: Spreadsheet::ParseExcel, Spreadsheet::WriteExcel и Excel::Template.


Иван Соколов, teamlead REG.RU, выступит с докладом «FastQueue — как мы сделали свою очередь на Perl и Redis». Он расскажет об одном из наиболее популярных инструментов в программировании — об очереди. В частности, очереди применяются для обработки загружаемого пользовательского медиаконтента, для работы с платёжными системами и т.д. У REG.RU давно возникла потребность найти подходящее решение для работы с очередями. К сожалению, подавляющее большинство существующих решений не удавалось интегрировать в бизнес-процессы компании из-за специфики её рода деятельности. Поэтому они решили сделать всё сами. В своём докладе Иван расскажет: об архитектуре очереди, её возможностях, и о том, для каких задач она используется.


И третий доклад в рамках нашей встречи будет называться «Пластилиновый код: как перестать кодить и начать жить». Его автор Елена Шишкина, ведущий программист проекта Деньги Mail.Ru. Она расскажет о том, как можно бороться с необходимостью писать однотипный и неоднотипный код, а также о самых разных ситуациях, с которыми сталкиваются программисты, не желающие делать ненужную или лишнюю работу. Наталья подскажет, какие есть выходы и профессиональные приёмы в тех или иных случаях.


Встреча состоится 5 февраля в офисе Mail.Ru Group по адресу Ленинградский проспект, 39, стр. 79, не забудьте загерестрироваться! Начало в 19:30. Обязательно возьмите с собой паспорт или водительские права!

Хабрахабр: Метки / perl: Приглашаем на Moscow.pm 5 февраля




Мы снова приглашаем всех единомышленников на очередную встречу Perl-программистов, Moscow.pm. Эта традиция поддерживается уже почти 8 лет. За это время мы сменили немало мест и форматов встреч, остановившись на гостеприимном и комфортном офисе Mail.Ru Group. Наши встречи — это не «клуб для своих», мы открыты как для ветеранов Moscow.pm, так и для новичков. Мы собираемся для того, чтобы обменяться опытом и знаниями, а заодно пообщаться с теми, кто разделяет наши интересы. Например, был случай, когда выступление, на которое отводилось 40 минут, переросло в трёхчасовую дискуссию, в которой участвовали все присутствующие. Читать дальше →

Мини-портал Perl на Opennet: Первый релиз Perl 6 ожидается до конца 2015 года

В своём выступлении на конференции FOSDEM 2015, Ларри Уолл (Larry Wall), создатель языка программирования Perl, сообщил, что разработчики постараются выпустить первый релиз языка программирования Perl 6 в этом году до рождественских праздников. Первый тестовый выпуск Perl 6 1.0 ожидается 27 сентября, в этот день Ларри исполнится 61 год. Следует отметить, что обещание выпустить Perl 6 к рождеству является традиционной шуткой Ларри, которой он уже около 10 лет отвечает на вопросы о дате финального релиза ("Дата релиза давно известна – это канун Рождества, в тайне пока остается только год этого события.").

Пятница, 30 января

Чтобы не искать: Программирование на Perl, 4-е издание.



Купил свежее издание, 2014 год.

Сразу печаль - переплет отвратительный, просто слёзы. Мягкая обложка, причем тоненькая и без ламинирования. Корешок - клееный, что при объеме книги в 1000 с лишним страниц создает серьезные проблемы при открывании книги. Она просто не открывается нормально, а при попытке открыть пошире становится страшно, что корешок сейчас разорвется.

Тем не менее, новость всё-равно хорошая. Предыдущее издание вышло 10 лет назад, с тех пор Перл сильно изменился, появились новые классные штуки. Миягава написал Плак, Ридель написал Моджо, Леманн написал Коро, и много всякого другого появилось. Один только Юникод чего стоит - в Перле теперь самая полная поддержка Юникода в мире:)

Среди соавторов появился брайан ди фой. Еще бы Конвея пригласили и Хроматика, было бы вообще круто.

Забавно, в книге есть маленькая сноска, в которой упоминается другая книга - "Perl: изучаем глубже, 3-е издание". Написано, что перевод выполнен в 2014 году тем же самым издательством - "Символ-плюс". Но на сайте издательства этой книги нет.

Среда, 28 января

Блог программиста — Perl, Ruby, C#: Функции perl для получения информации о сети

Функции perl для получения информации о сети Функции: endhostent, endnetent, endprotoent, endservent, gethostbyaddr, gethostbyname, gethostent, getnetbyaddr, getnetbyname, getnetent, getprotobyname, getprotobynumber, getprotoent, getservbyname, getservbyport, getservent, sethostent, setnetent, setprotoent, setservent. Примеры кода.   Функции для получения информации о хостах endhostent endhostent Закрытие файла хостов после завершения обработки его содержимого.   gethostbyaddr gethostbyaddr(ADDR, ADDRTYPE); Возвращает описание интернет-узла по […]

Четверг, 22 января

Shoor/нал: Танцы с зависимостями

Про перловый веб-фреймворк Catalyst когда-то говорили, что он за собой тянет чуть ли не половину CPAN :-)

Решил я в дополнение к Каталисту и Моджо писать и на Дансере — так сложилось. На perldancer.org пишут:

Key features:
...
Few dependencies - Dancer depends on as few CPAN modules as possible making it easy to install.

Ставлю Dancer — и где эти самые few depencies? Утром модули ставил, сейчас — ставлю, а они всё не кончаются и не кончаются...

http://shoorick.ru/2015/01/23/dancer-depencies/

Среда, 21 января

Хабрахабр: Метки / perl: Введение в разработку web-приложений на PSGI/Plack. Часть 4. Асинхронность


С разрешения автора и главного редактора журнала PragmaticPerl.com я публикую эту статью.
Оригинал статьи можно прочитать здесь.

Продолжение цикла статей посвященных разработке PSGI/Plack. Разбираемся с асинхронностью.
В предыдущий статьях мы рассмотрели основные аспекты разработки под PSGI/Plack, которых, в принципе, достаточно для разработки приложений практически любой сложности.

Мы разобрались, что такое PSGI, разобрались как устроен Plack, затем мы разобрались, как устроены основные компоненты Plack (Plack::Builder, Plack::Request, Plack::Middleware). Затем мы подробно рассмотрели Starman, который является хорошим PSGI-сервером, готовым для использования в production.
Читать дальше →

Меркантильный гуру: .

Ох. Делаю один проект с использованием Dancer::Plugin::Database::Core::Handle. Я знал, что это плохо с точки зрения теории, но это еще и на столько неудобно на практике...

Как же я благодарен xfyre за fetchall_arrayref({}) || []

upd: А еще, оказывается, ужасно работать не по собственным кодинг стандартам.

Понедельник, 19 января

Хабрахабр: Метки / perl: Введение в разработку web-приложений на PSGI/Plack. Часть 3. Starman


Продолжение цикла статей о PSGI/Plack. Рассмотрен более подробно preforking PSGI-сервер Starman.

С разрешения автора статьи и главного редактора журнала PragmaticPerl.com. Оригинал статьи расположен здесь

Starman?


Автор данного сервера (Tatsuhiko Miyagawa) говорит про него следующее:

«Название Starman взято из из песни Star H. A. Otoko японской рок-группы Unicorn (Да, Unicorn). У David Bowie тоже есть одноименная песня, Starman — имя персонажа культовой японской игры Earthbound, название музыкальной темы из Super Mario Brothers.

Я устал от именования Perl-модулей наподобие HTTP::Server::PSGI::How::Its::Written::With::What::Module, а в результате люди называют это HSPHIWWWM в IRC. Это плохо произносится и создает проблемы новичкам. Да, может быть я упорот. Время покажет.»

С названием разобрались. Теперь будем разбираться с самим сервером.
Читать дальше →

Суббота, 17 января

Сообщество ru_perl в LiveJournal: Шаблонизатор перл как в PHP

есть ли вменяемый шаблонизатор как PHP?
чтобы писать <% перл код %> или <%= перл код %> и т.п.
смешивать html и перл код. не хочу изучать какие-то левые синтаксисы с ограничениями или тащить фрейморки целые.
надо просто функцию или пакет без зависимостей. или быстрый конвертор в perl-функцию.
чтобы при вызове template "файл" -> вывел в stdout.

Среда, 14 января

Сообщество ru_perl в LiveJournal: Вакансия

Ищу программиста. Удаленно.
Задача - переписать крупный проект с нуля.
Подробности: aleksandr.khasanov@gmail.com

Понедельник, 12 января

Хабрахабр: Метки / perl: Введение в разработку web-приложений на PSGI/Plack. Часть 2


С разрешения автора и главного редактора журнала PragmaticPerl.com я продолжаю публикацию цикла статей.
Оригинальная статья тут.
Продолжение статьи о PSGI/Plack. Рассмотрены более подробно Plack::Builder, а также Plack::Middleware.

В прошлой статье мы рассмотрели спецификацию PSGI, как она появилась, почему ей стоит пользоваться. Рассмотрели Plack — реализацию PSGI, основные его компоненты и написали простейшее API, которое выполняло поставленные перед ним задачи, вскользь рассмотрели основные PSGI сервера.

Во второй части статьи мы рассмотрим следующие моменты:

  • Plack::Builder — мощный маршрутизатор и не только.
  • Plack::Middleware — расширяем наши возможности при помощи «прослоек».

Читать дальше →

crux's blog: Разница между all и everything

Иногда в разрабатываемую версию Perl проталкивают решения, от которых хочется поднести ладони к лицу -_\
В этот раз под раздачу попал механизм предупреждений, когда из соображений обратной совместимости отвергается здравый смысл...
Комментарии(0)

Суббота, 10 января

Хабрахабр: Метки / perl: Введение в разработку web-приложений на PSGI/Plack


Автор: Дмитрий Шаматрин.
С разрешения автора оригинальных статей цикла я публикую цикл на Хабре.
Оригинальная статья на сайте журнала pragmaticperl.com

PSGI/Plack — современный способ написания web-приложений на Perl. Практически каждый фреймворк так или иначе поддерживает или использует эту технологию. В статье представлено краткое введение, которое поможет быстро сориентироваться и двигаться дальше.


Мы живем в такое время, когда технологии и подходы в области web-разработки меняются очень быстро. Сначала был CGI, потом, когда его стало недостаточно, появился FastCGI. FastCGI решал главную проблему CGI. В CGI при каждом обращении было необходимо перезапускать серверную программу, обмен данными происходил при помощи STDIN и STDOUT. В FastCGI взаимодействие с сервером происходит через TCP/IP или Unix Domain Socket. Теперь у нас есть PSGI.

Читать дальше →

Среда, 7 января

Сообщество ru_perl в LiveJournal: Странности с EPIC

Стоял Eclipse Kepler, последний EPIC. Всё это давно работало под минтом, от 15 до последнего. И захотелось мне дебиана :) Не вопрос, заменил на LMDE. Поставил заново Eclipse (3.8.1, debbuild), EPIC, добил нужные ему перловые модули, пошаманил с Subclipse (с Wheezy идёт svn 1.7, а все проекты были под 1.8). Всё взлетело, всё работает.

И тут заметил, что одиночные файлы перестали отлаживаться. Ну вот хоть ты тресни, в Run->Debug предлагается только Ant Build, Run->Debug As->Perl Local присутствует, но никакой реакции в принципе нет. Стоит только обернуть этот один-единственный файл в проект - отладчик появляется. До того так не было. И диагностики никакой, ни в консоли, ни в логах.

Не понимаю: так и должно быть в этом самом debbuild, или где-то глюк?

Понедельник, 5 января

Сообщество ru_perl в LiveJournal: Двадцать третий выпуск журнала о современном Perl

pp Выпуск 23

http://pragmaticperl.com/issues/23

В этом номере:

- От редактора. Опрос, Вячеслав Тихановский
Промежуточные результаты опроса читателей журнала
http://pragmaticperl.com/a/16b20b96

- Взгляд на 2014 г., Андрей Шитов
Краткий обзор заметных событий в мире Perl за прошедший год
http://pragmaticperl.com/a/74a5ead3

- Тестирование с помощью Mock-объектов, Вячеслав Тихановский
Рассмотрены основные задачи Mock-объектов и их разновидности в Perl
http://pragmaticperl.com/a/0e803ca9

- Tapper — система тестирования ПО полного цикла, Сергей Бронников
Рассмотрена экосистема для автоматического тестирования
http://pragmaticperl.com/a/66e8f345

- Как нанять Perl-программиста, Алексей Варяник
Про один удачный эксперимент по найму программистов
http://pragmaticperl.com/a/bb11df34

- Использование TLS в Perl, Владимир Леттиев
Ликбез по криптографии и практика применения TLS (Transport Layer Security — безопасность транспортного уровня) в Perl.
http://pragmaticperl.com/a/0381571e

- Обзор CPAN за декабрь 2014 г., Владимир Леттиев
Рубрика с обзором интересных новинок CPAN за прошедший месяц
http://pragmaticperl.com/a/6ce579ce

- Интервью с Рикардо Сигнесом (Ricardo Signes), Вячеслав Тихановский
Рикардо Сигнес (Ricardo Signes) — американский Perl-программист, в настоящее время pumpking, ответственный за выпуск релизов perl
http://pragmaticperl.com/a/f8076b6e

Мини-портал Perl на Opennet: Двадцать третий выпуск журнала Pragmatic Perl

Представлен 23-й выпуск журнала о современном Perl.

Среда, 31 декабря

Меркантильный гуру: Dancer::Plugin::Redis

Подозрения у меня закрались еще когда читал документацию, но посмотрел в исходники и оказался прав.

Коннектиться на сокет Dancer::Plugin::Redis даже не предполагает.

Но, мне же надо кешировать результаты sql запросов. И мне не очень критично, чтобы Redis, подумал я. Ок - есть CHI, и есть Dancer::Plugin::Cache::CHI и кешировать можно в памяти, в данном случае, с разделением между процессами для начала.

Ну ок, допустим. Работает. Но возникает проблема - для некоторых вещей кеширование на 60 секунд неудобно, а у каждого процесса свой кеш в памяти (кейс - в админке добавили запись на сайте - почти все кеши надо сбросить).

Ок, пробуем использовать CHI с драйвером Redis. И это даже не сюрпрайз, это на столько предсказуемо...

1) если оно не может соединиться с Redis - оно падает. Redis - некритичный сервис и он может умереть. Но если незапущенный редис приводит к недоступности всего приложения целиком...

2) Редис той версии, что в убунте 12.04, еще не умеет unixsocketperm. Отчего простой юзер подключиться к сокету не может. Но, к счастью, оказалось, что оно есть в PPA

3) Но это всё было бы слишком просто, если бы CHI::Driver::Redis умел коннектится к сокету. Разумеется, он не умеет.

[Тут был вопрос риторический и еще один не риторический, но всё тлен.]

Воскресенье, 28 декабря

Блог программиста — Perl, Ruby, C#: Как скачивать файлы в Catalyst-приложении

Как организовать скачивание файлов в Catalyst-приложении. Работа с форматами csv, tsv, txt, xml в Catalyst. Использование модуля Catalyst::View::Download . Добавление собственных форматов файлов. Достаточно часто встречаются ситуации, когда необходимо позволить пользователю скачать файл с сайта. Например, прайс-листы в xls-формате, шаблоны договоров, отчеты о продажах в csv, бланки квитанций для платежей и т.п. Catalyst::View::Download — создает […]

Пятница, 26 декабря

Блог программиста — Perl, Ruby, C#: Что такое файловый дескриптор

Где хранится файловый дескриптор и что из себя представляет? Как просмотреть список файловых дескрипторов для процесса? Что такое таблица файловых дескрипторов? Типы файлов в Unix. Утилиты и команды: lsof, fuser, ulimit, strace, pstree, top, pidof, pgrep. В этот раз я решила разобраться, что из себя представляет файловый дескриптор. Ниже — небольшой конспект рассмотренной информации. К […]

Мета

Поиск

Участники

Список участников в формате OPML OPML

Добавить сайт

По-другому

Приборы