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

Сообщество ru_perl в LiveJournal: Eclipse Perl::Epic PerlTidy

Фигня какая-то с редактором творится. Не получается скопировать уже готовый проект. Делаю так, создаю проект, потом импортирую в него файлы. Вроде всё хорошо, но файлы физические на диске не сохраняются, не изменяются, а в редакторе всё норм.

Как это так?

Ещё не понятно как работает perltidy, приходится ручками делать так:

perltidy -b Dashboard.pm

Нагуглил какие-то опции для perltidy в eclipse:

-l=180 --force-read-binary -i=2 --tabs -et=2 -ci=2 -olc -ibc -hsc -nsfs --delete-old-whitespace -nbbc -bbs --blanks-before-blocks --long-block-line-count=1 -nsob -bar -dnl -anl -pscf=-c -cti=0 -nolq -w -dws -bext=’/’ -csc -csci=15 -cscb -dcsc -iob

Это вообще что за хрень? И работает ли?

Где нибудь есть информация по скрещиванию eclipse и perl?

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

СетевойГибитобой: Массовое добавление и удаление друзей в LiveJournal через XML-RPC

Так как пользоваться консолью ЖЖ для добавления или удаления друзей стало невозможно (эти команды отключили) — сделал небольшой скрипт lj-edit-friends, который позволяет редактировать список друзей для указанного аккаунта через XML-RPC интерфейс ЖЖ. Пользоваться несложно — получить список друзей для добавления/удаления с помощью LJ Add/Remove Friends, сохранить его в файл и обработать через lj-edit-friends. Подробности — […]

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

Хабрахабр: Метки / perl: Объективные критерии качества Perl кода


Захотелось мне объективных критериев качества кода и конечно я вспомнил про свои давние наработки (коллекцию нефункциональных тестов, см. тут и тут).
Ещё тогда была идея оформить их не в виде коллекции тестов, а в виде отдельной утилиты, но удалось сделать только теперь, встречаем perlqual (от perl quality).
Читать дальше →

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

Мини-портал Perl на Opennet: Выпуск Rakudo Star 2016.01, дистрибутива Perl 6

Состоялся релиз пакета Rakudo Star 2016.01, включающего компилятор Rakudo, виртуальную машину MoarVM, документацию, модули и инструменты, необходимые для разработки на языке Perl 6. Это первый выпуск после объявления релиза языка программирования Perl 6. Компилятор соответствует спецификации Perl v6.c, за исключением поддержки расширенных макросов, неблокирующего ввода/вывода и ряда мелких особенностей, которые планируется довести до рабочего состояния в будущих выпусках.

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

PerlNews.Ru: Вышел Rakudo Star 2016.01

Вышел официальный анонс «Rakudo Star» 2016.01 — дистрибутива Perl 6. Поскольку предыдущий релиз вышел в ноябре 2015, то этот релиз является первым стабильным выпуском Perl 6, соответствующим спецификации v6.c.

Этот релиз «Rakudo Star» был выпущен с поддержкой бэкенда MoarVM (все модули проходят тесты на всех поддерживаемых платформах). JVM бэкенд в данной версии не является полнофункциональным, поэтому рекомендуется использовать только бэкенд MoarVM. Загрузить архив с исходным кодом можно здесь.

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

P.S. Доступны для загрузки MSI-инсталляторы для платформ Windows: x86 (без JIT), x86_64 (c JIT).

Темы: Perl6

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

Сообщество ru_perl в LiveJournal: Удаленная работа для PERL-программиста

Приветствую!

Ищу человека для осуществление различных доработок сервиса.
Используем perl/dancer + mysql.
Желательно умение разбираться с html/css/js, понимать что такое bootstrap.

E-mail: aleksandr.khasanov (at) gmail.com

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

PerlNews.Ru: Вышел Rakudo 2016.01

Вышел первый в 2016 году релиз компилятора Perl 6 — Rakudo 2016.01. Это также первый пост-Рождественский релиз, построенный по-прежнему на основе спецификации v6.c. Выпуск задержался на две недели, что связано прежде всего с продолжительным периодом зимних праздников, да и просто разработчикам был необходим отдых после напряжённой работы над первым стабильным релизом.

Данный релиз не имеет новой функциональности и содержит только исправления ошибок и оптимизации. Загрузить архив с исходным кодом можно на сайте rakudo.

Разработчики отмечают в анонсе, что новые релизы Perl 6 в этом году могут содержать новую функциональность, которая не является частью спецификации v6.c. Данные возможности можно будет включать с помощью прагм, работающих в лексической области видимости. При этом будет гарантироваться, что всё, работающее согласно спецификации v6.c, будет продолжать работать. Кроме того ожидаются и инкрементальные изменения самой спецификации.

К сожалению, до сих пор не выпущен новый дистрибутив «Rakudo Star», содержащий стабильный Rakudo, наборы модулей и документацию, как и не выпущены msi-пакеты для установки в системе Windows. Никакого инсайда по этому поводу пока не поступало.

P.S. Для предварительного тестирования доступен первый релиз-кандидат «Rakudo Star» 2016.01-RC0.

P.P.S. Выпущен экстренный релиз Rakudo 2016.01.1, исправляющий проблему в процессе инсталляции модулей CORE. Проблема актуальна если при инсталляции используется параметр DESTDIR, указывающий путь к каталогу для установки (как правило, при сборке rpm/deb пакетов).

Темы: Perl6

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

Хабрахабр: Метки / perl: Вышла версия 1.3 Perl5 плагина для IntelliJ IDEA




Прошло почти два месяца с выхода последней версии плагина и некоторые даже стали интересоваться, не забросил ли я это дело. Нет, не забросил. Разработка идет полным ходом и вот вышла новая версия.

В этом номере: совместимость с 14 и 15 IDEA (и остальными продуктами соответствующих версий), поддержка Switch, Class::Accessor и Mason2.

А теперь, немного подробнее:
Читать дальше →

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

Чтобы не искать: Асинхронный ввод/вывод в Coro::Handle

Сломал мозг, не могу разобраться с Coro::Handlе. :(

Вторник, 26 января

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

Я очень люблю Dancer, но вот потребовалось мне написать маленький сервис, который был бы в одном файле весь целиком и запускался через CGI. И мне не удалось запустить последнюю версию дансера ввиде CGI.

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

Пришлось все сделать на Mojo. Такие дела.

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


image

4 февраля в нашем московском офисе снова соберутся Perl-программисты сообщества Moscow.pm. Участники всемирной ассоциации Perl Mongers регулярно встречаются, чтобы обсуждать актуальные вопросы, рассказывать об интересных случаях из практики и обмениваться опытом. Программу мероприятия читайте под катом.
Читать дальше →

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

PerlNews.Ru: Встреча moscow.pm 4 февраля 2016 г.

Анонсирована встреча Moscow.pm 4 февраля в 18.30 в офисе Mail.Ru Group.

Программа мероприятия:

  • «Технологии конкурентного программирования», Илья Чесноков (программист в UK2 Group)

  • «Учимся рисовать», Дмитрий Симонов (независимый программист)

  • «Index Condition Pushdown», Павел Щербинин (руководитель групп разработки Новости и Hi-Tech в Mail.Ru Group)

Не забудьте зарегистрироваться!

Темы: moscow.pm

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

Сообщество ru_perl в LiveJournal: TinyMCE upload image not PHP!

Всем доброго времени суток. Никто не встречал случайно плагин для редактора tinymce что-бы картинки грузить? Кроме поделок на PHP, ничего существенного не нашёл. Хочется на Perl. Или пэхэпешный код переписывать? Спасибо.

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

PerlNews.Ru: Вышел Perl 5.23.7

Выпущен Perl 5.23.7 — восьмой релиз ветки для разработчиков. В данном релизе исправлено три проблемы, связанные с безопасностью:

  • CVE-2015-8607: функция canonpath() модуля File::Spec не сохраняет taint-флаг для возвращаемого значения (RT#126862). Проблема присутствует в дистрибутиве PathTools, который входил в состав Perl 5.20 и Perl 5.22. Исправлено в PathTools 3.62.

  • CVE-2015-8608: обращение к памяти за пределами границ при обработке путей (RT#126765). Баг специфичен для Win32 платформы, возникает в случае если в пути в качестве буквы диска указан любой символ, отличный от а..z или A..Z. Проблема актуальна для Perl, начиная с версии 5.005_02

  • Доступ к неинициированной памяти в реализации функции crypt() на Win32 RT#126922. Может привести к криптографически слабому результату работы функции.

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

Информацию о других изменениях можно прочитать в perldelta

Темы: Perl

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

Сообщество ru_perl в LiveJournal: Аплоад филе на сервер посредством Mojo

Всем доброго времени суток, в связи с тем что меня забанили в гугле и группе mojo, обращаюсь сюда. Кто-нибудь грузил картинки на сервер через приложение? Образец посмотреть-бы. Спасибо.

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

Pilat66 blog: perl — REST интерфейсы

REST + Mojolicious

Mojolicious::Plugin::REST, Mojolicious::Plugin::RESTful, Mojolicious::Plugin::Restify примерно одинаковые. А вот Mojolicious::Plugin::Swagger2 уже из другой весовой категории.

https://metacpan.org/pod/Mojolicious::Plugin::REST

https://metacpan.org/pod/Mojolicious::Plugin::RESTful

https://metacpan.org/pod/Mojolicious::Plugin::Restify

Swagger2

https://metacpan.org/pod/Mojolicious::Plugin::Swagger2

http://swagger.io/getting-started/ — сам Swagger https://metacpan.org/release/Swagger2 — всё о нём http://wiki.koha-community.org/wiki/New_REST_API_RFC Что такое REST?

Ну и до кучи — про сам REST:

Руководство по созданию RESTful сервиса Что такое RESTful на самом деле RESTful: [...]

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

Catalyst - MVC Perl Framework: Язык программирования Perl

Catalyst - MVC Perl Framework: Особенности работы с файловыми дескрипторами в Perl

Четверг, 31 декабря

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

pp Выпуск 34. Декабрь 2015

http://pragmaticperl.com/issues/34

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

- От редактора, Вячеслав Тихановский
http://pragmaticperl.com/a/19c65174

- Впечатления от воркшопа Saint Perl 2015, Владимир Леттиев
Не изменяя традиции 19 декабря 2015 г. прошёл седьмой ежегодный воркшоп Saint Perl для всех любителей и профессионалов мира Perl в Санкт-Петербурге.
http://pragmaticperl.com/a/03f5a6a7

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

- Управление модулями и прекомпиляция в Perl 6, Владимир Леттиев
25 декабря 2015 г. вышел первый стабильный релиз Rakudo Perl 6, среди новшеств которого совершенно новая система управления модулями и прекомпиляция. Рассмотрим в деталях процесс загрузки, разрешения зависимостей и компиляции модулей.
http://pragmaticperl.com/a/08df5d9c

- Perl 6-винегрет, Андрей Шитов
Новогодний оливье — сборная солянка про разные интересные штуки в Perl 6
http://pragmaticperl.com/a/c5e39c3c

- Использование Rust из Perl, Денис Федосеев
Встраивание Rust в Perl с помощью FFI
http://pragmaticperl.com/a/c8d2c40d

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

- Интервью с Дмитрием Шаматриным, Вячеслав Тихановский
Дмитрий Шаматрин — программист, с недавнего времени организатор Perl-конференций
http://pragmaticperl.com/a/f47a739a

Сообщество ru_perl в LiveJournal: Mojo Категории

Доброго времени суток сообщество, с наступающим!

Вот возникла задачка, решить не могу. Есть блог на mojo, записи складываются в БД, у каждой записи есть категория. Задачка заключается в том, что-бы отсортировать записи по категориям. Само по себе это не сложно, нюанс лишь в ссылке на странице. Нужно придумать ссыль(или способ), которую mojo не перепутает, и вывалит отсортированный список записей. То есть хочется что-бы это выглядело так:

http://domen/blog/category/

На данный момент вот такие роуты:

$r->get('/blog')->to('blog#index');                # Список записей в виде анонсов как в ЖЖ
$r->get('/blog/:id')->to('blog#show');           # Запись по клику на заголовке

Намекните в какую сторону думать, или что/где почитать. Спасибо.

PerlNews.Ru: 34-й выпуск журнала Pragmatic Perl

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

Pragmatic Perl 34

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

  • От редактора, Вячеслав Тихановский

  • Впечатления от воркшопа Saint Perl 2015, Владимир Леттиев
    Не изменяя традиции 19 декабря 2015 г. прошёл седьмой ежегодный воркшоп Saint Perl для всех любителей и профессионалов мира Perl в Санкт-Петербурге

  • Взгляд на 2015 г., Андрей Шитов
    Краткий обзор заметных событий в мире Perl за прошедший год

  • Управление модулями и прекомпиляция в Perl 6, Владимир Леттиев
    25 декабря 2015 г. вышел первый стабильный релиз Rakudo Perl 6, среди новшеств которого совершенно новая система управления модулями и прекомпиляция. Рассмотрим в деталях процесс загрузки, разрешения зависимостей и компиляции модулей

  • Perl 6-винегрет, Андрей Шитов
    Новогодний оливье — сборная солянка про разные интересные штуки в Perl 6

  • Использование Rust из Perl, Денис Федосеев
    Встраивание Rust в Perl с помощью FFI

  • Обзор CPAN за ноябрь 2015 г., Владимир Леттиев
    Рубрика с обзором интересных новинок CPAN за прошедший месяц.

  • Интервью с Дмитрием Шаматриным, Вячеслав Тихановский
    Дмитрий Шаматрин — программист, с недавнего времени организатор Perl-конференций

Темы: PragmaticPerl

Вторник, 29 декабря

Catalyst - MVC Perl Framework: Perl изнутри: файл INTERN.h

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

Catalyst - MVC Perl Framework: Шифрование текста с помощью операции XOR

Суббота, 26 декабря

Мини-портал Perl на Opennet: Состоялся рождественский релиз Perl 6

Увидел свет компилятор Rakudo 2015.12 "коледа", который отмечен Ларри Уоллом (Larry Wall) как первый релиз языка программирования Perl 6. Rakudo является одним из компиляторов Perl 6, преобразующих программы в байткод, который затем выполняется в специальной виртуальной машине. По умолчанию предлагается виртуальная машина MoarVM, в качестве альтернативы может использоваться виртуальная машина JVM (также продолжает развитие проект Parrot, но он не поддерживается в Rakudo, разработка альтернативного компилятора Niecza давно заброшена).

PerlNews.Ru: Вышел Perl 6.0

Как и было обещано, на рождество вышел первый стабильный релиз Perl 6, который получил кодовое имя «Коледа» или по-русски Коляда, т.е. Сочельник — праздник кануна Рождества. Сообщество разработчиков Perl 6 в течении 15 лет шли к этому релизу. Данная версия компилятора соответствует официальной Perl 6 спецификации v6.c «Christmas» и проходит тесты roast.

Вот что пишут в анонсе о языке Perl 6:

  • Сохранил главные ценности Perl: выразительность и способность решать поставленные задачи, он отражает влияние естественного языка и расширяет границы дизайна языка.

  • Имеет чистый современный синтаксис, основанный на схожих конструкциях, но пересмотревший те вещи, которые требовали пересмотра.

  • По-настоящему мультипарадигменный, включающий элегантный объектно-ориентированный, функциональный, процедурный и параллельный подходы в программировании.

  • Служит как эффективный язык-клей: простота вызовов C/C++ (через NativeCall) и Perl5 (с помощью Inline::Perl5).

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

  • Отличная поддержка Юникода со строками, работающих на уровне графем.

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

  • Расширяемое мета-программирование, определяемые пользователем операторы и роли.

Стабильный релиз не означает, что там нет багов или он работает безупречно. Безусловно будут выпускаться новые версии и стабильные релизы, но это релиз самый первый, который ознаменует начало новой эпохи. Спецификация языка и тест roast теперь надолго будет зафиксированы на версии v6.c, а это означает, что синтаксис и фичи языка уже не будут меняться. Будет дописываться документация и выпускаться книги по языку Perl 6, которые можно смело начинать изучать — изменений в обозримом будущем не будет. По крайне мере, не раньше, чем выйдет спецификация языка 6.d (Diwali).

Загрузить компилятор Perl 6 Rakudo 2015.12 можно из rakudo.org/downloads/rakudo/. Релиз дистрибутива Perl 6 «Rakudo Start» с компилятором Rakudo, документацией и модулями вскоре появится в rakudo.org/downloads/star/

Следующий релиз №95 Rakudo Perl 6 ожидается 16 января 2016.

Темы: Perl6

Четверг, 24 декабря

Хабрахабр: Метки / perl: SWAT — DSL для быстрой разработки автоматических тестов web приложений


Вступление


Задача по автоматизации тестирования не нова, но тем не менее имеющиеся средства в области тестирования web приложений могут иметь свои ограничения.

Что, если у нас под сотню различных web приложений, которые необходимо обновить в течение короткого периода времени, а тестов на проверку их работоспособности нет? Разработка UI тестов потребует много времени, а просто сделать запрос curl и проверить что вернулся 200 OK, недостаточно.

Нужен разумный компромисс, простое, но в тоже время достаточное универсальное средство по разработке автоматических тестов. Так на свет появился SWAT.
Читать дальше →

Вторник, 22 декабря

PerlNews.Ru: Perl 5.23: эпизод VII «Пробуждение Фузза»

Вышел седьмой релиз Perl 5.23 для разработчиков с необычным эпиграфом:

      Давным-давно в микросекундах в не очень далёкой галактике...

5.23 эпизод VII ПРОБУЖДЕНИЕ ФУЗЗА

Период волнений. Повстанцы угрожают намерениями форкнуть ПЕРЛ и вернуть галактике скорость и стабильность. Канцлер Рик Хулиган борется за удержание остатков Республики против волны варварства и опустошения нового врага: НАЛЁТЧИКОВ ФУЗЗА.

Тем временем, после 15 лет подготовки и продолжительных ожиданий, Верховный Вождь Тим Подхалим готовит для удара новое разрушительное оружие ПЕРЛ ШЕСТЬТОЧКАНОЛЬ, которое навсегда расколет Республику и возвестит о создании новой Империи частичной типизации...

Под фуззом (fuzz) имеется ввиду фаззер AFL, на который приходится внушительное число обнаруженных багов в разборе кода за последнее время. Имя Рик Хулиган намекает на текущего сопровождающего Perl 5 Рикардо Сигнеса, ну а Тим Подхалим (Tim Toady) наверно не нуждается в пояснении.

А и да, список изменений не особенно внушительный, но стоит обратить внимание на ускорение операций с регистром символов для языков, в которых отсутствует разделение на верхний и нижний регистр (например, китайский), а также внедрена проверка свойств юникода (\p{} и \P{}) в регулярных выражениях на этапе компиляции. Добавлена поддержка платформы OpenIndiana (преемник OpenSolaris). Исправлено несколько ошибок и регрессий.

Темы: Perl StarWars

Понедельник, 21 декабря

PerlNews.Ru: Присуждение награды White Camel 2015

white camel

Награда «Белый верблюд» ежегодно присуждается за выдающиеся нетехнические достижения в Perl. Она была учреждена в 1999 году перл-монгерами и О'Рейли медиа на Перл-конференции и позднее была принята под крыло Фонда Перл. Комитет награды выбирает кандидатов в трёх номинациях: Перл-сообщество, пропаганда Перл и группы пользователей Перл.

В 2015 году наградами были удостоены трое:

  • Группы пользователей ПерлChris Prather (perigrin).
    Неутомимый лидер PM-группы Орландо и организатор «Perl Oasis», «YAPC::NA 2011» в Эшвилле и «YAPC::NA 2014» в Орландо.

  • Пропаганда ПерлSawyer X.
    Практически ни одна конференция не обходится без докладов Sawyer X об удивительном Перл сообществе. Он пишет еженедельные обзоры тем, обсуждаемых в рассылке p5p.

  • Сообщество ПерлSteffen Müller (tsee).
    Стефан хорошо известен своими техническими достижениями, но не менее выдающаяся и его нетехническая помощь сообществу Перл. Он ведёт технический блог Booking.com, в не малой степени благодаря ему, Booking.com ежегодно делает крупные пожертвования для развития Perl.

Темы: community

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

Catalyst - MVC Perl Framework: Обратный отсчёт c Curses

Понедельник, 14 декабря

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

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

Основные изменения:

  • Существенные исправления в работе \b{wb}, \b{sb}, \b{gcb}, в работе которых после релиза Perl 5.22.0 было обнаружено большое количество ошибок, включая падения при проверках границ.
  • Обновлены некоторые модули, включая Win32, где добавлена поддержка Windows 10.
  • Исправлено внушительное число ошибок с крахом Perl-процесса (в основном обнаруженные с помощью фаззера AFL).
  • Исправления в работе с шестнадцатиричными числами с плавающей запятой.

В новую версию не вошло исправление для PadlistNAME, таким образом, Coro по-прежнему не будет работать.

Темы: Perl

Catalyst - MVC Perl Framework: Perl изнутри: файл EXTERN.h

Четверг, 10 декабря

Catalyst - MVC Perl Framework: Настраиваем порядок определения методов при множественном наследовании в Perl

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

Блог программиста — Perl, Ruby, C#: Catalyst::Engine

Методы Примечание: логика работы Catalyst с движками, изменилась, начиная с версии 5.9. В данном случае по большей части рассматривается версия 5.8. Начиная с версии Catalyst 5.9 прекратилась поддержка множества движков, в том числе был удален модуль Catalyst::Engine::HTTP . $self->finalize_body($c) Получает подготовленный $c->response->body и пишет данные в буфер, на вывод. $self->finalize_cookies($c) Создает объект CGI::Simple::Cookie на основе… Read More »

Вторник, 8 декабря

Хабрахабр: Метки / perl: Perl5 плагин для IntelliJ IDEA v1.2: Moose и сигнатуры




Выпущена очередная версия Perl5 плагина для IntelliJ IDEA и прочих IDE от JetBrains. Новая версия добавляет поддержку Method::Signature::Simple и Moose.
Читать дальше →

Catalyst - MVC Perl Framework: Реализуем отложенные функции с помощью автозагрузчика AutoLoader

PerlNews.Ru: Питер Рэббитсон приостанавливает свою краудсорс-кампанию

Питер «ribasushi» Рэббитсон сообщил, что объявленная два месяца назад кампания «год ribasushi» несмотря на неплохой старт в конце концов провалилась. Формально осталось 17 дней до завершения краудсорс-кампании, но собрано оказалось всего $30 000 вместо минимально необходимых $120 000. Нашлось только две крупные компании, которые смогли внести лишь $8 000, большую часть обеспечили два небольших консалтинговых агентства и 40 разработчиков — друзья и знакомые Питера.

Поэтому Питер приостанавливает активное участие в кампании и за оставшиеся дни направит свои усилия на завершение текущих задач и выпуск релизов DBIx::Class, SQL::Abstract и SQL::Translator.

После 25 декабря Питер завершит свою работу над открытыми проектами на CPAN и передаст права на выпуск модулей, которые он поддерживал, достойным кандидатам.

Питер с сожалением замечает, что за последний год ему стало очевидно, что текущий курс, выбранный основными разработчиками языка и тулчейна угрожает всей экосистеме Perl. Практически единственное на данный день преимущество Perl в его стабильности и вездесущности поставлено под удар. Поэтому вся работа Питера для Perl 5 может оказаться бессмысленной тратой времени и ресурсов без противостояния разрушительному тренду. К сожалению, без финансирования со стороны заинтересованного бизнеса этой проблемы не решить.

P.S. Из комментариев к кросс-посту на blogs.perl.org выяснилось, что Питер не единственный, кто в этом году завершит работу над открытыми проектами, также John Napiorkowski (основной контрибьютор Catalyst) решил отойти от разработки.

Темы: funding CPAN

Понедельник, 7 декабря

Мини-портал Perl на Opennet: 19 декабря в Санкт-Петербурге пройдёт семинар для разработчиков на языке Perl

19 декабря в Санкт-Петербурге в седьмой раз пройдёт ежегодный воркшоп "Saint Perl", посвященный современной разработке на языке Perl (дата традиционно приурочена ко дню рождения языка - 18 декабря). Воркшоп состоится на площадке компании DataArt. Для участия необходима регистрация.

Суббота, 5 декабря

Catalyst - MVC Perl Framework: "Постоянные" переменные, state и замыкания

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

Хабрахабр: Метки / perl: 30 лет работы сисадмином


Sandra Henry-Stocker (Unix Dweeb, в данный момент работает в компании TeleCommunication Systems, разрабатывающей инновационные технические решения).

Оглядываясь в прошлое, спустя более 30 лет работы системным администратором Unix, я могу сказать, что это был долгий и интересный путь. В эти годы я конечно не выполняла одно и тоже. Развитие технологий приводили к невероятным изменениям в моей работе. Это были впечатляющие улучшения в “железе”, которое я обслуживала, и изобретение новых программных инструментов, которые я изучала и применяла на практике. На протяжении многих лет я получала невероятное наслаждение от того, насколько много работы я могла сделать в командной строке для выявления и устранения различных проблем и понимания того, как наилучшим образом обеспечить защиту данных моих работодателей. В течении 30 лет я работала с удивительными людьми, при этом была уволена однажды, а также узнала много нового о том, что работает и не работает, как с технической точки зрения, так и с точки зрения карьерного роста.

Профессия и все с ней связанное меняется драматичным образом, но она всегда приносила и будет приносить мне море удовольствия.
Вот мои размышления об изменениях, которые я увидела и тех, которые еще увижу. Читать дальше →

Catalyst - MVC Perl Framework: Операции над множествами в perl

Четверг, 3 декабря

Хабрахабр: Метки / perl: [Из песочницы] Sparrow — perl фреймворк тестирования и мониторинга web приложений


История создания


Sparrow — очень молодой проект. Возник как надстройка над инструментом swat — DSL, написанным на perl для разработки тестовых сценариев различных web приложений. Описание swat — отдельная тема, которую я, возможно, раскрою в следующих публикациях, но, если в двух словах, то swat — это средство для автоматизация web тестирования, базирующееся на использовании утилиты curl и позволяющее создавать произвольные http запросы и валидировать возвращаемый контент.
Читать дальше →

Понедельник, 30 ноября

PerlNews.Ru: 33-й выпуск журнала Pragmatic Perl

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

Pragmatic Perl 33

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

Темы: PragmaticPerl

Воскресенье, 29 ноября

PerlNews.Ru: 24 пул-реквеста

Нил Бауэрс, инициатор соревнования cpanpr, предложил всем, кому мало cpanpr, принять участие в соревновании «24 пул-реквеста», смысл которого схож: за 24 дня до рождества каждый день создавать по одному пул-реквесту к какому-либо проекту на github. Вы можете выбрать любые предложенные Perl-проекты и просто ради интереса попробовать выполнить какие-либо улучшения для них: документация, исправления багов или любые другие полезные вещи. Это станет отличным рождественским подарком для всех открытых проектов.

Темы: cpanpr

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

28 ноября 2015 года был выпущен ноябрьский релиз Perl6-дистрибутива «Rakudo Star» 2015.11. Это первая официальная бета-версия дистрибутива (поскольку октябрьский релиз так и не появился).

Этот релиз «Rakudo Star» был выпущен с поддержкой бэкенда MoarVM (все модули проходят тесты на всех поддерживаемых платформах). JVM бэкенд в данной версии не является полнофункциональным, поэтому рекомендуется использовать только бэкенд MoarVM.

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

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

Темы: Perl6

Суббота, 28 ноября

Блог программиста — Perl, Ruby, C#: Логика работы Catalyst. Часть 1

Заметка по логике работы Catalyst. В данной заметке я не ставлю перед собой цели написать понятный текст :) , не знаю, возможно ли это вообще, когда речь идет о логике Catalyst. Только сохранить для себя важные моменты, куски кода. Но возможно, кому-то пригодится. Попытка разобраться в логике запуска стандартного сервера Catalyst-приложения. Ниже приведено очень много… Read More »

Четверг, 26 ноября

Laziness, Impatience and Hubris: Упрощаем работу с многоуровневыми структурами данных из внешних источников

В Perl, благодаря "самооживлению" ссылок, очень удобна работа с многоуровневыми структурами данных. Например:
 my %foo = ();

my $k = "k";
$foo{$k}{a} = "b";
$foo{$k}{c} = "d";
Однако, если %foo - это внешняя база данных, например BerkeleyDB, то значения необходимо запаковать тем же Storable или JSON.
При этом удобство работы с многоуровневыми структурами данных снижается.

Необходимо извлечь значение, распаковать его, а если значения не было, то создать. Затем после изменения - запаковать и поместить обратно.
 my %foo = ();

my $k = "k";

my $f;
if (my $_f = $foo{$k}) {
$f = decode_json $_f;
} else {
$f = {};
}

$$f{a} = "b";
$$f{c} = "d";

$foo{$k} = encode_json $f;
Теперь представим, что это необходимо делать в разных местах программы.
Проще написать функцию для внесения изменений, которая будет вызываться примерно вот как:
 $foo->($k, sub {
my ($v) = @_;
$$v{a} = "b";
$$v{c} = "d";
return $v;
} );
Немножко многословно. Но в Perl есть "магическая" переменная $_, которая позволяет сделать следующие:
 $foo->($k, sub {
$$_{a} = "b";
$$_{c} = "d";
} );
Соответственно, сама функция будет выглядеть так:
 my %foo = ();

my $foo = sub {
my ($k, $sub) = @_;

local $_;

if (my $_f = $foo{$k}) {
$_ = decode_json $_f;
} else {
$_ = {};
}

$sub->();

$foo{$k} = encode_json $_;
};
Хотя можно и так:
 sub foo(&$);

my %foo = ();

local *foo = sub {
my ($sub, $k) = @_;

local $_;

if (my $_f = $foo{$k}) {
$_ = decode_json $_f;
} else {
$_ = {};
}

$sub->();

$foo{$k} = encode_json $_;
};

foo {
$$_{a} = "b";
$$_{c} = "d";
} "k";
Даже не знаю как лучше... :-)

PerlNews.Ru: Воркшоп «Saint Perl 2015»

19 декабря 2015 года в Санкт-Петербурге состоится 7-й воркшоп «Saint Perl 2015». В этом году он пройдёт в офисе компании DataArt. Спешите зарегистрироваться на сайте конференции event.yapcrussia.org/saintperl7/.

Темы: YAPC

Вторник, 24 ноября

Блог программиста — Perl, Ruby, C#: Catalyst::ScriptRunner

[crayon-56b1e2b8b7bcf426240672/] Модуль отвечает за загрузку и запуск скриптов в пространстве имен приложения (например, MyApp::Script::Server), или в пространстве имен Catalyst (например, Catalyst::Script::Server).   Методы find_script_class($appname, $script_name) На основании переданных данных, ищет и пытается загрузить класс для скрипта. Сначала он попытается найти и загрузить класс “$appname::Script::$script_name” , если попытка окончится неудачно, попробует загрузить “Catalyst::Script::$script_name”. Возвращает имя класса.… Read More »

Суббота, 21 ноября

Блог программиста — Perl, Ruby, C#: Catalyst::Stats

Catalyst::Stats – класс Catalyst, работа со статистикой, измерение времени выполнения отдельных экшенов. Модуль Catalyst::Stats используется по-умолчанию, для вывода информации в логе Сatalyst-приложения. Если вы хотите заменить стандартный модуль чем-то своим, понадобится внести изменения в конфиг MyApp.pm: [crayon-56b1e2b8b82ef016853506/] Кроме того, ваш модуль должен будет реализовать те же самые методы, что и Catalyst::Stats.   Синтаксис [crayon-56b1e2b8b82fa483154539/] Catalyst… Read More »

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

Только что узнал, что у функции split есть третий аргумент...

Мета

Поиск

Участники

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

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

По-другому

Приборы