Воскресенье, 29 марта

Блог программиста — Perl, Ruby, C#: Работа со стандартными потоками ввода-вывода в Unix. Каналы

Конспект, заметки по работе со стандартными потоками ввода-вывода, работа с каналами. Примеры проверены на Debian Linux. Буферизация STDOUT и STDERR в perl. Использование /dev/null . Mknod и mkfifo. Стандартные потоки ввода-вывода: STDIN, STDOUT, STDERR Процесс взаимодействия программы с окружением выполняется в терминах записи и чтения в файл. Так, вывод на экран представляется как запись в […]

Четверг, 26 марта

Хабрахабр: Метки / perl: Установка, настройка и использование сканера безопасности Antidoto


Ранее я писал о двух известных сканерах безопасности общего плана rkhunter и CentOS
На “Хабре” так же есть описание организации работы сканера для вебхостинга — maldet. Теперь хотелось бы рассмотреть реализацию приложения для эвристического обнаружения уязвимостей, вирусов и ботнетов для OpenVZ ОС Linux — Antidoto.


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

Вторник, 24 марта

Меркантильный гуру: Xslate vs CTPP

Делаю один проект на Dancer1 + Xslate.

Раньше у меня никак не доходили руки посмотреть на Xslate в реальной жизни, а теперь пришлось.. Отдельные моменты:

Всё, что есть у CTPP из коробки (причем, в удобной и продуманной форме) можно сделать в Xslate (только руками, коряво и неудобно).

Например, для форматирования дат можно написать свой модуль-плагин во много строчек, а для реализации TMPL_comment можно использовать if $false {...}.

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

Xslate позволяет в шаблоны вставлять в код, от чего некоторые люди могут думать, что это можно использовать.

Конструкции <TMPL_...> всегда казались мне развесистыми и неудобными, но Kolon syntax ничуть не лучше, и даже хуже. Хотя при включенной подсветке html синтаксиса он хотя бы отличается от html - отдельные шаблоны читать так удобнее.

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

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

PerlNews.Ru: Конференция YAPC::Russia 2015 пройдёт 16-17 мая в Москве

Как сообщает Павел Щербинин, ежегодная конференция YAPC::Russia «May Perl» в этом году будет проведена с 16 по 17 мая в Москве в офисе Mail.Ru Group. Участие в конференции бесплатное, только не забудьте зарегистрироваться.

На конференцию приглашены известные Perl-звёзды:

  • Saywer X, израильский Perl-программист, один из разработчиков Dancer/Dancer2, организатор встреч сообщества telaviv.pm.
  • Peter Rabbitson (ribasushi), главный бензопильщик популярного ORM DBIx::Class, регулярный участник и докладчик многих Perl-конференций.

Ожидается около 30 докладов, вы можете выступить спикером, для этого необходимо подать заявку.

Мероприятие состоится по адресу Москва, Ленинградский пр-т, 39, стр. 79 (м. «Аэропорт»). Приходите и зовите своих коллег!

Темы: YAPC

Суббота, 21 марта

PerlNews.Ru: Релиз Perl6-дистрибутива «Rakudo Star» 2015.03

Выпущен очередной релиз полезного и работоспособного Perl6-дистрибутива «Rakudo Star» 2015.03.

«Rakudo Star» выпускается с поддержкой бэкендов MoarVM и JVM. В мире Perl 6 есть различие между языком «Perl 6» и конкретной реализацией языка, такой как «Rakudo Star». Данный релиз содержит компилятор Perl 6 Rakudo и бэкенд MoarVM, а также различные модули, документацию и другие полезные ресурсы от сообщества.

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

Темы: Perl6

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

Вышел очередной релиз Perl ветки 5.21 для разработчиков. Новый релиз содержит изменения в порядка 170 000 строках исходного кода, не считая изменений в автогенерируемых файлах. Полный список изменений можно прочесть в perldelta. Это предпоследний релиз в ветке 5.21, следующий релиз ожидается 20 апреля, после чего в мае должен выйти новый стабильный релиз 5.22.

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

Темы: Perl

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

PerlNews.Ru: Дискуссия о статусе фатальных предупреждений

В рассылке perl5-porters активно обсуждается проблема фатальных предупреждений. Как известно, при использовании конструкции

use warnings FATAL => 'all';

меняется поведение программы, которая теперь генерирует исключение после вывода предупреждений. Есть по крайне мере два серьёзных основания объявить использование фатальных предупреждений нерекомендуемой практикой.

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

Темы: Perl warnings

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

PerlNews.Ru: AnyEvent сломан на Strawberry Perl 5.20

В конце прошлой недели рассылка perl5-porters опять наполнились проклятиями Марка Леманна из-за очередной поломки обратной совместимости в Perl5. Как выяснилось AnyEvent оказался сломан на платформе Windows из-за несовместимых изменений, который произошли в версии 5.19.4.

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

Темы: Perl CPAN facepalm windows

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

Pilat66 blog: Распознание формата даты и времени

Типовая задача — есть строка даты, её надо распрознать. Есть много парсеров DateTime::Format::* , проблема выбрать нужный. Скрипт ниже перебирает все и выдаёт те, которые справились с задачей.

root@superserver:~$ ./find-datetime-parser.pl "Mon, 9 Mar 2015 14:35:49 +0300" Тестируем парсеры для 'Mon, 9 Mar 2015 14:35:49 +0300' Формат распознан 2015-03-09T14:35:49 +0300 DateTime::Format::DateParse Формат распознан 2015-03-09T14:35:49 +0300 DateTime::Format::HTTP [...]

PerlNews.Ru: Сайт соревнования CPAN PR

Соревнование CPAN Pull Requests Challenge обзавелось своим собственным сайтом cpan-prc.org. Исходный код сайта расположен на github, при желании можно предложить свои изменения, исправить ошибки.

На сайте представлен раздел с заданиями назначенными за каждый месяц, например, таблица PR на март. Указано github-имя участника, название дистрибутива, автора, а также ссылки на отправленные пулл-реквесты. Также присутствует хит-лист — список CPAN-дистрибутивов, которые не имеют github-репозитория и не могут быть кандидатом для cpanpr. Указаны количество зависимых от них модулей и их рейтинг. Чем выше рейтинг, тем больше помощи требуется проекту и, соответственно, это потенциальные кандидаты на переезд на github.

Темы: cpanpr

Воскресенье, 8 марта

PerlNews.Ru: Результаты соревнования CPAN Pull Requests в феврале 2015

Нил Бауэрс опубликовал очередные результаты кампании CPAN Pull Requests Challenge (#cpanpr) за февраль.

График PR, февраль 2015

Результаты оказались несколько хуже чем, за январь, но в целом, это второй самый высокий показатель за всё время ведения статистики. Более того спад в феврале наблюдается каждый год, поэтому с учётом такой динамики прирост PR в результате кампании cpanpr составил примерно то же значение, что и в январе.

Темы: CPAN cpanpr

Суббота, 7 марта

PerlNews.Ru: В Perl 5.22 не попадёт новый Test-Simple

Как сообщил Chad Granum, чтобы не создавать спешки и суеты с тестированием обновлённого Test-Simple, в состав Perl 5.22 войдёт проверенная стабильная версия 1.001014. Релиз 1.301001, который содержит значительную переработку архитектуры тестирования и новое модернизированное API, попадёт в разрабатываемую версию Perl уже после релиза Perl 5.22.

Основой нового Test-Simple станет Test::Stream, который станет собирать события всех процессов и тредов теста в одном месте. Раньше все методы, такие как ok, diag, note просто генерировали TAP-вывод, теперь же все подобные события поступают в Test::Stream, позволяя перенаправлять вывод в произвольные файловые дескрипторы в нужной кодировке, выполнять различные хуки до того, как состояние теста обновится. Упростится создание субтестов, вложенных тестов, а также создание собственных тестовых функций, которые теперь получат правильный контекст и не поломают TAP-вывод. Появится возможность легко проводить отладку тестов с выводом стека вызовов в точках, где происходит ошибка.

Темы: CPAN Perl

Среда, 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

Четверг, 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

Мета

Поиск

Участники

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

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

По-другому

Приборы