Выпущен Perl 5.22.0 RC2

Темы:

Вышел второй релиз кандидат новой стабильной версии Perl 5.22.0. Просмотреть информацию о релизе и загрузить новую версию можно с любого зеркала CPAN или найти ссылки на странице.

Оличия от RC1 заключаются лишь в нескольких правках в perldelta, исправлении бага с NAN_COMPARE_BROKEN для VC6 и сборки с отладочной информацией для платформы VMS, а также поддержке mkstemp() на mingw-w64-v4 (что в теории должно решить проблему со сборкой новой версии Strawberry Perl).

Если не будет найдено серьёзных проблем, то официальный релиз новой стабильной версии Perl состоится 1 июня.

Комментарии

 

Полезные трюки с микрооптимизацией

Темы:

В рассылке perl5-porters был задан вопрос, почему две операции сильно отличаются по скорости (в пользу do):

do { ; }
{ ; }

Zefram указал на то, что пустой блок рассматривается как цикл, который выполняется один раз, и для него формируется фрейм-контекст с поддержкой динамических операций вроде next. В то время как для do устанавливается только область видимости, что гораздо быстрее.

Кроме этого было замечено, что операция ; это отдельная операция, которая устанавливает номер строки. В противовес этому , не имеет подобного оверхеда. Например:

$x = 1; $y = 2; print "$x $y";
$x = 1, $y = 2, print "$x $y";

Оба выражения выполняют одно и то же, но вторая запись будет работать быстрее.

Эта информация сразу вдохновила Питера Рэбиттсона использовать этот простой трюк на практике. Он продемонстрировал коммит, который на 15% увеличивает производительность DBIx::Class просто заменив все ; на , в генерируемом коде для строкового eval. Этот прирост становится заметен на резалтсетах с ≥1000 рядов.

Комментарии

 

Выпущен Perl 5.22.0 RC1

Темы:

Вышел первый релиз кандидат новой стабильной версии Perl 5.22.0. Просмотреть информацию о релизе и загрузить новую версию можно с любого зеркала CPAN или найти ссылки на странице.

Если не будет найдено серьёзных проблем, то официальный релиз новой стабильной версии Perl состоится 1 июня.

Комментарии

 

Берлинский консенсус

Темы:

На днях был опубликован Берлинский консенсус — финальная договорённость по результатам прошедшего Берлинского QA-хакатона. Данный документ описывает новые соглашения и идеи для репозитория CPAN и тулчейна Perl, а также новые рекомендации для CPAN-авторов. Рассмотрим более подробно концепции и тезисы Берлинского консенсуса.

Комментарии

Дальше →  

27-й выпуск журнала Pragmatic Perl

Темы:

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

Pragmatic Perl 27

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

  • От редактора, Вячеслав Тихановский
  • «Отладка приложений на AnyEvent», Владимир Леттиев
    Отладка асинхронных приложений часто затруднена из-за нелинейного характера выполняемого кода, когда ошибки проявляются под нагрузкой или в каких-то исключительных трудновоспроизводимых ситуациях. Привычные инструменты могут быть неудобны и неинформативны. Если приложение построено на основе AnyEvent, то для него уже существуют готовые рецепты отладки.
  • «Операторы Perl 6. Часть 1», Андрей Шитов
    Обзор префиксных, постфиксных и инфиксных операторов Perl 6
  • «Метаоператоры в Perl 6», Андрей Шитов
    Рассмотрены доступные в языке метаоператоры — операторы, расширяющие синтаксические возможности языка, используя другие операторы
  • «Обзор CPAN за апрель 2015 г.», Владимир Леттиев
    Рубрика с обзором интересных новинок CPAN за прошедший месяц.
  • «Интервью с Сюзанной Шмидт», Вячеслав Тихановский
    Сюзанна Шмидт (sushee) — политолог, которая стала Perl-программистом

Комментарии

 

Улучшения в производительности Hash::Ordered

Темы:

Hash::Ordered — это модуль для создания упорядоченных хешей, ключи в которых хранятся в заданном порядке. Поскольку модуль написан на чистом Perl, а упорядоченные хеши --- это объекты, операции над которыми производятся с помощью методов, то подобный хеш работает медленнее, чем обычный хеш. Такова цена сохранения упорядоченности хеша.

Как сообщает Дэвид Голден в новой версии 0.009 сделана оптимизация, которая в некоторых случаях значительно ускоряет работу с упорядоченными хешами. Было проведено сравнение производительности между версиями Hash::Ordered 0.002 и 0.009. Для наглядности представлен график сравнения:

Бенчмарк Hash::Ordered

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

Комментарии

 

AllPerlBooks.com — крупнейший каталог книг о Perl

Темы:

Появился новый сайт AllPerlBooks.com, который является крупнейшим каталогом, содержащим информацию обо всех когда-либо напечатанных книгах о Perl на различных языках мира. Цель сайта показать как много книг о Perl было выпущено, начиная с момента создания языка, и продолжает выпускаться по сей день. На данный момент в каталоге есть данные о 354 книгах и ежедневно каталог пополняется всё новыми экземплярами. К окончанию β-тестирования ожидается около 500 книг. Автором проекта является Андрей Шитов.

Сайт позволяет найти нужные книги по имени автора, издательству, году выпуска, языку, а также теме, например, биоинформатика или регулярные выражения.

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

Комментарии

 

Завершился Берлинский Perl QA-хакатон 2015

Темы:

Perl QA-хакатон — это ежегодное мероприятие, на котором собираются люди, так или иначе занимающиеся вопросами обеспечением качества Perl-кода: тестирование, пакетирование, CPAN и связанные системы. В этом году хакатон проводился с 16 по 19 апреля в Берлине. В нём приняли участие более 30 известных Perl-хакеров, в том числе Рикардо Сигнес, Тацухико Миягава, Дэвид Голден, Лион Тиммерманс, Питэр Рэббитсон.

perlqah2015

Комментарии

Дальше →  

Выпущен Perl 5.21.11

Темы:

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

Комментарии

Дальше →  

Вышли обновления безопасности MovableType 6.0.8 и 5.2.13

Темы:

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

Джон Лайтсей обнаружил уязвимость инъекции строки формата в шаблоны локализации Movable Type. Неаутентифицированный удалённый пользователь получает возможность выполнить произвольный код на сервере с правами учётной записи процесса веб-сервера. Проблема получила идентификатор CVE-2015-0845

Комментарии

 

Исправление серьёзных уязвимостей в Module::Signature

Темы:

Модуль Module::Signature используется многими CPAN-клиентами для проверки GPG-подписи модулей, полученных со CPAN или любого из его зеркал. Джон Лайтсей сообщил, что обнаружил четыре уязвимости в коде модуля:

  1. Module::Signature, из-за некорректного парсинга границ подписанных данных в файле подписи, мог извлечь информацию о файлах из неподписанной части.
  2. При проверке содержимого CPAN-модуля Module::Signature игнорировал некоторые файлы из архива, которые не были указаны в файле подписи, что затрагивает и файлы в каталоге t, которые автоматически выполняются при запуске тестов.
  3. При генерации контрольных сумм из подписанного манифеста Module::Signature использовал open() с двумя параметрами при чтении файлов. Это позволяло встраивать произвольные shell-команды в файле SIGNATURE, которые бы запускались при проверке подписи.
  4. Module::Signature подгружает некоторые модули в процессе работы, модуль Text::Diff может отсутствовать в системе и соответственно может быть загружен из текущего каталога распакованного архива модуля, что может привести к выполнению произвольного кода.

Вышло обновление Module::Signature 0.75, в котором исправлены все перечисленные проблемы.

Комментарии

 

Мартовские результаты CPAN Pull Requests

Темы:

Нил Бауэрс опубликовал очередную статистику по запросам на слияние для CPAN-модулей на github в марте.

График PR, март 2015

Список модулей и результаты кампании #cpanpr в марте доступны на сайте cpan-prc.org. Как следует из отчёта в марте из 138 заданий было выполнено 82, что составило почти 60%. На апрель назначено уже 125 заданий.

По словам Нила, на данный момент в кампании активны 261 человек, ранее максимум активных участников составлял около 380 человек.

Комментарии

 

WenZPerl пожертвовали 10'000 € в разработку Perl 6

Темы:

Согласно сообщению фонда Perl, голландская консалтинговая компания WenZPerl перечислила 10'000 € на разработку Perl 6. Эти средства, а также средства фонда пошли на финансирование гранта на 25'000 $ для Джонатана Уортингтона основного разработчика компилятора Rakudo Perl 6 и MoarVM.

Комментарии

 

26-й выпуск журнала Pragmatic Perl

Темы:

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

Pragmatic Perl 26

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

  • «От редактора», Вячеслав Тихановский
  • «Анонс конференции YAPC::Russia 2015»,
    YAPC::Russia — ежегодная конференция, посвященная языку программирования Perl и его сообществу , которая проводится в Москве (под названием May Perl), Киеве (під назвою Perl Mova) и Санкт-Петербурге.
  • «Работа с WebSocket в Perl», Вячеслав Тихановский
    Рассмотрены несколько подоходов при работе с технологией WebSocket из Perl
  • «Промисы в Perl 6», Андрей Шитов
    Вторая часть обзора возможностей Perl 6 для параллельных и конкуррентных вычислений
  • «Грамматики в Perl 6», Андрей Шитов
    В этой статье рассказано об одной из наиболее мощных возможностей Perl 6 — грамматиках
  • «Обзор CPAN за март 2015 г.», Владимир Леттиев
    Рубрика с обзором интересных новинок CPAN за прошедший месяц.
  • «Интервью с Виктором Турским», Вячеслав Тихановский
    Виктор Турский (koorchik) — украинский Perl-программист, сооснователь компании WebbyLab

Комментарии

 

Поддержка бета-версии Юникод 8.0.0 в Perl

Темы:

Карл Уильямсон реализовал поддержку бета-версии стандарта Юникод 8.0.0 для Perl. Поскольку на данный момент в разрабатываемой ветке blead объявлен фриз и новые фичи не принимаются, то пока реализация доступна лишь в выделенной ветке smoke-me/khw-uni8.

emoji-diversity

Напомним, что финальная версия стандарта Юникод 8.0.0 ожидается в июне 2015 года. Среди новшеств новой версии можно отметить поддержку тонов кожи для emoji-символов, где изображены люди, поддержку нового символа национальной валюты — грузинского лари и множество других новых символов.

Комментарии

 

Android 6 будет работать на Perl 6

Темы:

Как сообщают внутренние источники в Гугл, в связи с судебной тяжбой Оракла против Гугл из-за виртуальной машины Java Dalvik, было принято решение выбрать другую виртуальную машину и язык для платформы Android. MoarVM и язык Perl 6 показались команде Android весьма перспективными и была начата работа над портированием Perl 6 на Android. Это также объясняет неожиданный доклад Ларри Уолла на FOSDEM о том, что релиз Perl 6 состоится на Рождество 2015 года, ведь именно на этот период планируется выход Android 6.0 под кодовым названием Camelia Wagashi. Как стало известно, ранние наработки и исходный код проекта уже просочились в сеть и активно изучаются энтузиастами.

Комментарии

 

Конференция 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 (м. «Аэропорт»). Приходите и зовите своих коллег!

Комментарии